*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#0b0b0d;--ink-2:#111114;--ink-3:#17171c;
  --paper:#ece9e3;--muted:#8d8983;--faint:#5a5751;
  --line:rgba(236,233,227,.08);--line-strong:rgba(236,233,227,.16);
  --gold:#c9a97c;--gold-dim:rgba(201,169,124,.35);
  --serif:Georgia,"Times New Roman",Times,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);--max:1360px;
}
html{scroll-behavior:smooth}
body{min-height:100vh;display:flex;flex-direction:column;background:var(--ink);color:var(--paper);
  font-family:var(--sans);font-size:15px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto;transition:opacity .6s var(--ease)}
img.is-loading{opacity:0}
::selection{background:var(--gold-dim);color:var(--paper)}

/* Nav */
.site-nav{position:sticky;top:0;z-index:300;background:rgba(11,11,13,.86);
  backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid var(--line)}
.nav-inner{max-width:var(--max);margin:0 auto;padding:1.15rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:baseline;gap:.7rem;font-family:var(--serif);font-size:1.05rem;letter-spacing:.02em}
.brand em{font-style:italic;color:var(--gold)}
.brand small{font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;color:var(--faint);text-transform:uppercase}
.nav-links{display:flex;gap:2rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav-links a{position:relative;padding:.25rem 0;transition:color .3s var(--ease)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .35s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:var(--paper)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse 60% 80% at 20% 0%,rgba(201,169,124,.07),transparent 60%),
             radial-gradient(ellipse 50% 70% at 90% 20%,rgba(255,255,255,.035),transparent 65%),var(--ink)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:120px 120px;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 20%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 20%,transparent 75%);opacity:.5}
.hero-inner{position:relative;max-width:var(--max);margin:0 auto;padding:7.5rem 2.5rem 6rem;
  display:grid;grid-template-columns:1.4fr 1fr;gap:4rem;align-items:end}
.hero-label{font-family:var(--mono);font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:1.6rem}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,7vw,5.4rem);line-height:.98;letter-spacing:-.02em;margin-bottom:1.6rem}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-sub{max-width:34ch;color:var(--muted);font-size:1.02rem;font-weight:300;line-height:1.7}
.hero-meta{display:flex;flex-direction:column;gap:.9rem;padding-left:2rem;border-left:1px solid var(--line);
  font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted)}
.hero-meta span{display:flex;justify-content:space-between;gap:1rem}
.hero-meta b{color:var(--paper);font-weight:400}

/* Section */
.section{max-width:var(--max);margin:0 auto;padding:5.5rem 2.5rem}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;
  padding-bottom:1.4rem;margin-bottom:3rem;border-bottom:1px solid var(--line)}
.section-head h2{font-family:var(--serif);font-size:1.35rem;font-weight:400;letter-spacing:.01em}
.section-head h2 em{font-style:italic;color:var(--gold)}
.section-head a{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .3s}
.section-head a:hover{color:var(--paper)}

/* Collections strip */
.collections{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.collection{position:relative;display:block;overflow:hidden;border:1px solid var(--line);border-radius:2px;
  background:var(--ink-2);transition:border-color .4s var(--ease),transform .5s var(--ease)}
.collection:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.collection-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink-3)}
.collection-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03);
  transition:transform 1.2s var(--ease),filter .6s}
.collection:hover .collection-media img{transform:scale(1.04);filter:saturate(1) contrast(1.05)}
.collection-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(11,11,13,.72) 0%,transparent 55%)}
.collection-body{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.5rem}
.collection-no{font-family:var(--mono);font-size:.62rem;letter-spacing:.24em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem}
.collection-title{font-family:var(--serif);font-size:1.3rem;font-weight:400;letter-spacing:.01em}
.collection-count{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--muted);margin-top:.3rem}

/* Plates grid */
.plates{display:grid;grid-template-columns:repeat(12,1fr);gap:2.5rem 2rem}
.plate{grid-column:span 4;display:block}
.plate:nth-child(1),.plate:nth-child(6){grid-column:span 6}
.plate:nth-child(2),.plate:nth-child(5){grid-column:span 3}
.plate:nth-child(3),.plate:nth-child(4){grid-column:span 3}
.plate-media{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--ink-3);
  border:1px solid var(--line);border-radius:2px}
.plate-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03) brightness(.99);
  transition:transform 1.4s var(--ease),filter .7s}
.plate:hover .plate-media img{transform:scale(1.035);filter:saturate(1) contrast(1.05)}
.plate-media::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 80px rgba(0,0,0,.35)}
.plate-no{position:absolute;top:.9rem;left:1rem;z-index:2;font-family:var(--mono);font-size:.62rem;
  letter-spacing:.18em;color:rgba(236,233,227,.85);text-shadow:0 1px 8px rgba(0,0,0,.6)}
.plate-body{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:.9rem}
.plate-title{font-family:var(--serif);font-size:1.02rem;font-weight:400;letter-spacing:.01em;transition:color .3s}
.plate:hover .plate-title{color:var(--gold)}
.plate-place{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;color:var(--faint);white-space:nowrap}

/* Journal teaser */
.journal-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem}
.entry{display:block;padding:1.6rem 0 0;border-top:1px solid var(--line)}
.entry-meta{display:flex;gap:1.2rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;
  color:var(--faint);text-transform:uppercase;margin-bottom:.7rem}
.entry h3{font-family:var(--serif);font-size:1.35rem;font-weight:400;letter-spacing:.01em;margin-bottom:.6rem;transition:color .3s}
.entry:hover h3{color:var(--gold)}
.entry p{color:var(--muted);font-size:.92rem;font-weight:300;line-height:1.7}

/* Contact */
.contact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink-2)}
.contact-inner{max-width:var(--max);margin:0 auto;padding:4rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.contact h2{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;letter-spacing:-.01em}
.contact h2 em{font-style:italic;color:var(--gold)}
.contact a.mail{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;
  padding:.85rem 1.6rem;border:1px solid var(--line-strong);border-radius:2px;
  transition:border-color .3s,color .3s,background .3s}
.contact a.mail:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,169,124,.05)}

/* Footer */
footer{border-top:1px solid var(--line);margin-top:auto}
.footer-inner{max-width:var(--max);margin:0 auto;padding:2.5rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--faint)}
.footer-links{display:flex;gap:1.6rem}
.footer-links a:hover{color:var(--paper)}
.ssi-time{color:var(--faint)}

/* Plate detail */
.plate-page{max-width:1240px;margin:0 auto;padding:3rem 2.5rem 6rem}
.plate-crumb{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--muted);
  padding-bottom:1.4rem;margin-bottom:2.5rem;border-bottom:1px solid var(--line)}
.plate-crumb a:hover{color:var(--paper)}
.plate-hero{position:relative;display:block;border:1px solid var(--line);border-radius:2px;
  overflow:hidden;background:var(--ink-3)}
.plate-hero img{width:100%;filter:saturate(.92) contrast(1.03)}
.plate-hero .plate-no{top:1.1rem;left:1.3rem;font-size:.7rem}
.plate-caption{text-align:center;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;color:var(--faint);margin-top:.8rem}
.plate-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:4rem;margin-top:3.5rem}
.plate-lead h1{font-family:var(--serif);font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:400;
  letter-spacing:-.01em;line-height:1.15;margin-bottom:1.1rem}
.plate-lead .lede{font-size:1rem;line-height:1.85;color:var(--muted);font-weight:300;max-width:46ch}
.spec{margin-top:2.2rem;border-top:1px solid var(--line)}
.spec-row{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:.72rem;letter-spacing:.04em}
.spec-row dt{color:var(--faint);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;padding-top:.1rem}
.spec-row dd{color:var(--paper);margin:0}
.spec-row dd a{color:var(--gold);border-bottom:1px solid var(--gold-dim)}
.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.4rem;
  border-top:1px solid var(--line);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--muted)}
.pager a:hover{color:var(--gold)}
.btn-collection{display:inline-block;margin-top:1.6rem;font-family:var(--mono);font-size:.68rem;
  letter-spacing:.1em;color:var(--gold);border-bottom:1px solid var(--gold-dim);padding-bottom:.2rem}

/* Collection page */
.collection-page{max-width:1240px;margin:0 auto;padding:3.5rem 2.5rem 6rem}
.collection-head{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;
  padding-bottom:2.5rem;margin-bottom:3.5rem;border-bottom:1px solid var(--line)}
.collection-head .kicker{font-family:var(--mono);font-size:.64rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.collection-head h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:400;
  letter-spacing:-.02em;line-height:1;margin-bottom:1.2rem}
.collection-head h1 em{font-style:italic;color:var(--gold)}
.collection-head p{color:var(--muted);font-size:1rem;font-weight:300;line-height:1.8;max-width:48ch}
.collection-count-line{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--faint);margin-top:1.2rem}
.collection-plates{display:flex;flex-direction:column;gap:5rem}
.cplate{display:grid;grid-template-columns:1.5fr 1fr;gap:3.5rem;align-items:center}
.cplate:nth-child(even){grid-template-columns:1fr 1.5fr}
.cplate:nth-child(even) .cplate-media{order:2}
.cplate-media{position:relative;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--ink-3)}
.cplate-media img{width:100%;filter:saturate(.9) contrast(1.03);transition:transform 1.4s var(--ease)}
.cplate:hover .cplate-media img{transform:scale(1.02)}
.cplate-body .cplate-no{font-family:var(--mono);font-size:.64rem;letter-spacing:.22em;color:var(--gold);margin-bottom:.8rem}
.cplate-body h2{font-family:var(--serif);font-size:1.8rem;font-weight:400;letter-spacing:-.01em;margin-bottom:.8rem}
.cplate-body p{color:var(--muted);font-size:.94rem;font-weight:300;line-height:1.8;margin-bottom:1.4rem}
.cplate-body .cplate-meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--faint);
  display:flex;flex-direction:column;gap:.35rem}
.cplate-body .cplate-meta a{color:var(--gold);align-self:flex-start;margin-top:.6rem;border-bottom:1px solid var(--gold-dim)}

/* Journal */
.journal-page{max-width:920px;margin:0 auto;padding:4rem 2.5rem 7rem}
.journal-page > .kicker{font-family:var(--mono);font-size:.66rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.journal-page > h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:400;
  letter-spacing:-.02em;margin-bottom:3rem}
.journal-page > h1 em{font-style:italic;color:var(--gold)}
.jlist{display:flex;flex-direction:column}
.jitem{display:grid;grid-template-columns:140px 1fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line);
  transition:padding-left .4s var(--ease)}
.jitem:hover{padding-left:.6rem}
.jitem .jdate{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--faint);padding-top:.4rem}
.jitem h2{font-family:var(--serif);font-size:1.5rem;font-weight:400;letter-spacing:.01em;margin-bottom:.5rem;transition:color .3s}
.jitem:hover h2{color:var(--gold)}
.jitem p{color:var(--muted);font-size:.94rem;font-weight:300;line-height:1.7}
.jitem .jread{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;color:var(--faint);margin-top:.7rem}

/* Article */
.article{max-width:720px;margin:0 auto;padding:4rem 2.5rem 7rem}
.article .kicker{font-family:var(--mono);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.article h1{font-family:var(--serif);font-size:clamp(2rem,4.5vw,3rem);font-weight:400;letter-spacing:-.01em;line-height:1.15;margin-bottom:1rem}
.article .ameta{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--faint);
  padding-bottom:2rem;margin-bottom:2.5rem;border-bottom:1px solid var(--line);display:flex;gap:1.4rem;flex-wrap:wrap}
.article .abody p{font-size:1.02rem;line-height:1.9;color:#c9c5bd;margin-bottom:1.4rem;font-weight:300}
.article .abody p:first-of-type::first-letter{font-family:var(--serif);font-size:3.4rem;float:left;
  line-height:.9;padding:.2rem .6rem 0 0;color:var(--gold)}
.article .back{display:inline-block;margin-top:2.5rem;font-family:var(--mono);font-size:.7rem;
  letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.2rem}
.article .back:hover{color:var(--gold);border-color:var(--gold-dim)}

/* About */
.about-page{max-width:820px;margin:0 auto;padding:4.5rem 2.5rem 7rem}
.about-page .kicker{font-family:var(--mono);font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem}
.about-page h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:400;letter-spacing:-.02em;line-height:1.1;margin-bottom:2.5rem}
.about-page h1 em{font-style:italic;color:var(--gold)}
.about-page .abody p{font-size:1.04rem;line-height:1.9;color:#c9c5bd;margin-bottom:1.5rem;font-weight:300}
.about-page .sig{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold);margin-top:3rem}
.gear{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line);
  display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 3rem}
.gear h3{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.gear ul{list-style:none}
.gear li{font-family:var(--mono);font-size:.76rem;letter-spacing:.03em;color:var(--muted);padding:.35rem 0;border-bottom:1px solid var(--line)}

/* Error */
.error-page{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem}
.error-page .kicker{font-family:var(--mono);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.error-page h1{font-family:var(--serif);font-size:clamp(4rem,12vw,8rem);font-weight:400;letter-spacing:-.04em;line-height:1;margin-bottom:1rem}
.error-page p{color:var(--muted);font-weight:300;margin-bottom:2rem}
.error-page a{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;border-bottom:1px solid var(--line-strong);padding-bottom:.2rem}
.error-page a:hover{color:var(--gold);border-color:var(--gold-dim)}

/* Lightbox */
dialog#lightbox{border:none;padding:0;background:transparent;max-width:100vw;max-height:100vh}
dialog#lightbox::backdrop{background:rgba(5,5,7,.92);backdrop-filter:blur(6px)}
dialog#lightbox img{max-width:92vw;max-height:88vh;width:auto;height:auto;
  box-shadow:0 30px 80px rgba(0,0,0,.6);border:1px solid var(--line)}
dialog#lightbox button{position:fixed;top:1.5rem;right:1.5rem;background:none;
  border:1px solid var(--line-strong);color:var(--paper);width:2.6rem;height:2.6rem;
  border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1;transition:border-color .3s,color .3s}
dialog#lightbox button:hover{border-color:var(--gold);color:var(--gold)}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-reveal].in{opacity:1;transform:none}

/* Responsive */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:2.5rem;padding:5.5rem 2rem 4.5rem}
  .hero-meta{padding-left:0;border-left:none;border-top:1px solid var(--line);padding-top:1.4rem}
  .collections{grid-template-columns:1fr 1fr}
  .plate,.plate:nth-child(n){grid-column:span 6}
  .plate-grid{grid-template-columns:1fr;gap:2.5rem}
  .collection-head{grid-template-columns:1fr;gap:1.5rem}
  .cplate,.cplate:nth-child(even){grid-template-columns:1fr;gap:1.8rem}
  .cplate:nth-child(even) .cplate-media{order:0}
}
@media(max-width:680px){
  .nav-inner{padding:1rem 1.25rem}
  .nav-links{gap:1.2rem;font-size:.62rem}
  .brand small{display:none}
  .hero-inner{padding:4rem 1.25rem 3.5rem}
  .section{padding:3.5rem 1.25rem}
  .collections{grid-template-columns:1fr}
  .plate,.plate:nth-child(n){grid-column:span 12}
  .journal-strip{grid-template-columns:1fr}
  .contact-inner,.footer-inner{padding-left:1.25rem;padding-right:1.25rem;flex-direction:column;align-items:flex-start}
  .plate-page,.collection-page,.journal-page,.article,.about-page{padding-left:1.25rem;padding-right:1.25rem}
  .jitem{grid-template-columns:1fr;gap:.6rem}
  .gear{grid-template-columns:1fr}
  .spec-row{grid-template-columns:100px 1fr}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1;transform:none}
}
