/* Lightened S2A palette */
:root {
  --color-bg:#16130f;
  --color-bg-raised:#211c16;
  --color-bg-subtle:#2a241d;
  --color-text:#f2ece3;
  --color-text-muted:#c7bbab;
  --color-text-faint:#9e907e;
  --color-accent:#b99157;
  --color-accent-dark:#8d6a3d;
  --color-link:#cfa86d;
  --color-link-hover:#fff7ec;
  --color-border:#3c342a;
  --color-border-soft:rgba(242,236,227,0.12);
  --font-serif:"Playfair Display",Georgia,serif;
  --font-sans:"Inter",system-ui,sans-serif;
  --space-4:1rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-12:3rem;
  --space-16:4rem;
  --space-24:6rem;
  --max-width:1040px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--color-bg);scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at top right, rgba(185,145,87,.10), transparent 30%),
    linear-gradient(180deg,#211b15 0%,#17130f 45%,#1d1812 100%);
  color:var(--color-text);
  font-family:var(--font-sans);
  line-height:1.7;
}
.container{max-width:var(--max-width);margin:auto;padding-inline:2rem}
a{color:var(--color-link);text-decoration:none;transition:.15s ease}
a:hover{color:var(--color-link-hover)}
h1,h2,h3{font-family:var(--font-serif);font-weight:700;line-height:1.1;color:var(--color-text)}
p{max-width:720px}
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(24,20,16,.72);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--color-border-soft);
}
.site-header .container{
  display:flex;align-items:center;justify-content:space-between;
  padding-block:1.25rem;
}
.site-nav{display:flex;gap:1.5rem}
.site-nav a,.lang-switch{
  color:var(--color-text-muted);
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.site-logo{font-size:1.5rem;color:var(--color-text);font-family:var(--font-serif)}
.site-logo span{color:var(--color-accent)}
main{padding-bottom:var(--space-24)}
.hero--home{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero--home::before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(22,19,15,.78) 0%, rgba(22,19,15,.52) 36%, rgba(22,19,15,.18) 72%, rgba(22,19,15,.08) 100%),
    url('/assets/img/hero-home-original.jpeg');
  background-size:cover;
  background-position:center right;
  filter:brightness(.98) saturate(.92);
}
.hero--home::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(22,19,15,0) 0%, rgba(22,19,15,.08) 58%, #17130f 100%);
}
.hero--home .container{position:relative;z-index:2}
.hero__symbol{
  margin-bottom:1.5rem;
  color:rgba(242,236,227,.55);
  letter-spacing:.4em;
}
.hero__eyebrow{
  color:rgba(242,236,227,.72);
  text-transform:uppercase;
  letter-spacing:.28em;
  margin-bottom:2rem;
  font-size:.8rem;
}
.hero__title{
  font-size:clamp(4rem,10vw,8rem);
  margin-bottom:2rem;
  letter-spacing:.04em;
}
.hero__subtitle{
  color:rgba(242,236,227,.82);
  font-size:1.2rem;
  line-height:1.9;
}
.home-manifesto{
  margin-top:-4rem;
  padding-top:8rem;
  padding-bottom:5rem;
  background:linear-gradient(180deg,#17130f 0%, #1d1812 100%);
}
.home-manifesto p{
  font-family:var(--font-serif);
  font-size:clamp(1.5rem,3vw,2.2rem);
  line-height:1.6;
  color:#f0e8dd;
  margin-bottom:1.5rem;
}
.featured-block{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
.featured-item,.card{
  border-top:1px solid var(--color-border-soft);
  border-bottom:1px solid var(--color-border-soft);
  background:rgba(255,255,255,.02);
}
.featured-item{padding:2rem 0}
.featured-item__label,.card__tag{
  color:var(--color-text-faint);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
}
.featured-item__title,.card__title{margin:.8rem 0;color:var(--color-text)}
.featured-item__desc,.card__meta{color:var(--color-text-muted)}
.card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  padding:1.75rem 0;
}
.article-header{
  padding:6rem 0 3rem;
  border-bottom:1px solid var(--color-border-soft);
  margin-bottom:3rem;
}
.article-header__type,.article-header__meta{color:var(--color-text-muted)}
.tool-meta td,.tool-meta th{
  border-bottom:1px solid var(--color-border-soft);
  padding:1rem;
}
.tool-meta th{color:var(--color-text-muted);text-align:left;width:35%}
.site-footer{
  margin-top:6rem;
  border-top:1px solid var(--color-border-soft);
  background:rgba(255,255,255,.02);
}
.site-footer .container{
  display:flex;justify-content:space-between;align-items:center;
  padding-block:2rem;
}
.site-footer__copy,.site-footer__links a{color:var(--color-text-faint)}
.article-body h2{margin:2.5rem 0 1rem;font-size:1.25rem}
.article-body p,.article-body li{color:var(--color-text-muted);margin-bottom:.75rem}
.article-body ul,.article-body ol{padding-left:1.5rem;margin-bottom:1rem}
.related{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border-soft)}
.related__title{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-faint);margin-bottom:1rem}
.related__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}
.related__list a{color:var(--color-link);font-size:.92rem}
.catalog-intro{padding:var(--space-8) 0}
.catalog-lead{font-family:var(--font-serif);font-size:clamp(1.2rem,2.5vw,1.6rem);line-height:1.6;color:var(--color-text);margin-bottom:1.5rem;max-width:800px}
.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0}
.catalog-note h2{font-size:1.1rem;margin:.5rem 0;font-family:var(--font-serif);color:var(--color-text)}
.catalog-note p{color:var(--color-text-muted);font-size:.92rem}
.catalog-note .featured-item__label{display:block;margin-bottom:.5rem}
.catalog-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.85rem}
.catalog-table thead th{color:var(--color-text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;padding:.6rem 1rem;border-bottom:1px solid var(--color-border);text-align:left;font-family:var(--font-sans);font-weight:600}
.catalog-table tbody td{padding:.55rem 1rem;border-bottom:1px solid var(--color-border-soft);vertical-align:top;color:var(--color-text-muted)}
.catalog-table tbody tr:last-child td{border-bottom:none}
.catalog-table tbody tr:hover td{background:rgba(255,255,255,.025)}
.catalog-rarity{white-space:nowrap;color:var(--color-accent);letter-spacing:.05em}
.catalog-rarity small{color:var(--color-text-faint);font-size:.7rem;font-family:var(--font-sans)}
.catalog-note-cell{color:var(--color-text-faint);font-size:.82rem}
.catalog-owned td{background:rgba(185,145,87,.06)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.25rem;margin:1.5rem 0}
.gallery-card{display:block;text-decoration:none;background:rgba(255,255,255,.03);border:1px solid var(--color-border-soft);overflow:hidden;transition:border-color .15s ease}
.gallery-card:hover{border-color:var(--color-accent)}
.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--color-bg-subtle)}
.gallery-card__placeholder{width:100%;aspect-ratio:4/3;background:var(--color-bg-subtle)}
.gallery-card__body{padding:.65rem .9rem}
.gallery-card__title{color:var(--color-text);font-size:.88rem;font-weight:600}
.gallery-card__meta{color:var(--color-text-faint);font-size:.75rem;margin-top:.2rem}
.cat-filters{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}
.cat-filter-btn{padding:.3rem .85rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);transition:.15s ease}
.cat-filter-btn.active,.cat-filter-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:rgba(185,145,87,.06)}
.card-list{display:flex;flex-direction:column}
.card-list .card+.card{border-top:none}
/* Objects */
.object-list{display:flex;flex-direction:column;gap:0;margin-top:1rem}
.object-card{display:grid;grid-template-columns:5rem 1fr;gap:1.5rem;align-items:start;padding:1.5rem 0;border-top:1px solid var(--color-border-soft);text-decoration:none;transition:.15s ease}
.object-card:last-child{border-bottom:1px solid var(--color-border-soft)}
.object-card:hover .object-card__title{color:var(--color-link-hover)}
.object-card__date{color:var(--color-text-faint);font-size:.78rem;letter-spacing:.06em;padding-top:.15rem;white-space:nowrap}
.object-card__title{color:var(--color-text);font-size:1rem;font-family:var(--font-serif);margin-bottom:.3rem}
.object-card__meta{color:var(--color-text-faint);font-size:.8rem}
.object-hero{position:relative;width:100%}
.object-hero__placeholder{min-height:60vh;background:linear-gradient(160deg,#1e1810 0%,#15120d 100%);display:flex;align-items:flex-end}
.object-hero__text{padding:3rem 2rem;max-width:var(--max-width);width:100%;margin:0 auto}
.object-hero__eyebrow{color:var(--color-text-faint);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem}
.object-hero__title{font-family:var(--font-serif);font-size:clamp(2.5rem,7vw,5rem);line-height:1.05;color:var(--color-text);margin-bottom:1rem}
.object-hero__sub{color:var(--color-text-muted);font-size:1rem;letter-spacing:.08em}
.object-section{padding:3rem 0;border-bottom:1px solid var(--color-border-soft)}
.object-section:last-of-type{border-bottom:none}
.object-section__title{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint);margin-bottom:1.5rem}
.object-lead{font-family:var(--font-serif);font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:1.55;color:var(--color-text);max-width:680px}
.object-body p{color:var(--color-text-muted);max-width:640px;margin-bottom:.9rem;line-height:1.75}
.object-body p:last-child{margin-bottom:0}
.object-meta-footer{display:flex;gap:2rem;padding:2.5rem 0;color:var(--color-text-faint);font-size:.78rem;letter-spacing:.08em}
.object-hero--photo{min-height:70vh;display:flex;align-items:flex-end;overflow:hidden;position:relative;background-size:cover;background-position:center}
.object-hero--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,19,15,0) 0%,rgba(22,19,15,.5) 50%,rgba(22,19,15,.92) 100%)}
.object-hero--photo .object-hero__text{position:relative;z-index:1;padding:3rem 2rem;max-width:var(--max-width);width:100%;margin:0 auto}
.object-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:3rem 0}
.object-photo-grid img{width:100%;display:block;object-fit:cover;aspect-ratio:4/3}
@media(max-width:768px){.object-photo-grid{grid-template-columns:1fr}}
@media(max-width:768px){.object-card{grid-template-columns:4rem 1fr;gap:1rem}.object-hero__placeholder{min-height:50vh}.object-meta-footer{flex-direction:column;gap:.75rem}}
@media(max-width:768px){.catalog-grid{grid-template-columns:1fr}.catalog-table{font-size:.78rem}.catalog-table thead th,.catalog-table tbody td{padding:.4rem .6rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem}}
@media (max-width:768px){
  .container{padding-inline:1.25rem}
  .site-header .container,.site-footer .container{flex-direction:column;align-items:flex-start;gap:1rem}
  .site-nav{flex-wrap:wrap;gap:1rem}
  .featured-block{grid-template-columns:1fr}
  .card{grid-template-columns:1fr}
  .hero--home{
    min-height:82vh;
  }
  .hero--home::before{
    background:
      linear-gradient(180deg, rgba(22,19,15,.62) 0%, rgba(22,19,15,.34) 45%, #17130f 100%),
      url('/assets/img/hero-home-original.jpeg');
    background-size:cover;
    background-position:65% center;
  }
}
.object-reactions{display:flex;align-items:center;gap:1rem;padding:1.5rem 0 2.5rem;border-top:1px solid var(--color-border-soft)}
.reaction-btn{display:inline-flex;align-items:center;gap:.45rem;background:none;border:1px solid var(--color-border);color:var(--color-text-muted);padding:.4rem .9rem;font-size:.8rem;letter-spacing:.05em;cursor:pointer;font-family:var(--font-sans);transition:.15s ease}
.reaction-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}
.reaction-btn--active{border-color:var(--color-accent);color:var(--color-accent);background:rgba(185,145,87,.07)}
.reaction-count{font-size:.75rem;opacity:.7;min-width:1.4em;display:inline-block}
.share-btn{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--color-text-faint);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-family:var(--font-sans);margin-left:auto;padding:.4rem 0;transition:.15s ease}
.share-btn:hover{color:var(--color-text-muted)}