/* Lumen & Grain — site-2026.css
   4px spacing scale · fluid type · one accent · square, crisp photographs · no decorative motion */
@font-face{font-family:"Fraunces";src:url("../assets/fonts/fraunces-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url("../assets/fonts/fraunces-latin-wght-italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("../assets/fonts/hanken-grotesk-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("../assets/fonts/geist-mono-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces Fallback";src:local("Georgia"),local("Gelasio"),local("Georgia Pro");size-adjust:104%;ascent-override:92%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Hanken Fallback";src:local("Arial"),local("Arimo"),local("Liberation Sans"),local("Helvetica");size-adjust:100%;ascent-override:96%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Geist Mono Fallback";src:local("Consolas"),local("Menlo"),local("DejaVu Sans Mono"),local("Courier New");size-adjust:96%;ascent-override:92%;descent-override:26%;line-gap-override:0%}

:root{
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --gutter:clamp(20px,4vw,64px);--wrap:1320px;--wrap-narrow:760px;
  --sec:72px;
  --f-display:"Fraunces","Fraunces Fallback",Georgia,serif;
  --f-body:"Hanken Grotesk","Hanken Fallback",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --f-mono:"Geist Mono","Geist Mono Fallback",ui-monospace,Consolas,Menlo,monospace;
  --t-display:clamp(3.75rem,1.9rem + 8.6vw,9.5rem);
  --t-h1:clamp(2.75rem,1.6rem + 4.6vw,5.75rem);
  --t-h2:clamp(2rem,1.4rem + 2.6vw,3.75rem);
  --t-h3:clamp(1.375rem,1.2rem + .6vw,1.75rem);
  --t-lead:clamp(1.1875rem,1.08rem + .45vw,1.4375rem);
  --t-body:1.0625rem;--t-small:.9375rem;--t-label:.875rem;
  --header:68px;
  /* night (default) */
  --bg:#0f0d0b;--surface:#16130f;--surface-2:#1f1a15;--line:#2c261f;--line-strong:#7a6e60;
  --fg:#f2eadd;--muted:#b8ac9c;--accent:#e0b06a;--accent-btn:#9a4817;--accent-btn-h:#833a10;--on-accent:#fff;
  --field:#0f0d0b;--danger:#ff9d8a;--ok:#9fd6a8;--shade:rgba(15,13,11,.96);
  color-scheme:dark;
}
@media (min-width:768px){:root{--sec:104px;--header:76px}}
@media (min-width:1280px){:root{--sec:136px}}
[data-theme="light"]{
  --bg:#f5f0e7;--surface:#fbf8f1;--surface-2:#ebe3d4;--line:#d9cdb8;--line-strong:#80725f;
  --fg:#1b1611;--muted:#594d40;--accent:#8f4210;--accent-btn:#9a4817;--accent-btn-h:#833a10;
  --field:#fffdf8;--danger:#a02c12;--ok:#1f6b34;--shade:rgba(245,240,231,.88);
  color-scheme:light;
}
/* regions that stay dark in both themes (the darkroom) */
.night{--bg:#0f0d0b;--surface:#16130f;--surface-2:#1f1a15;--line:#2c261f;--line-strong:#7a6e60;--fg:#f2eadd;--muted:#b8ac9c;--accent:#e0b06a;--field:#0f0d0b;--danger:#ff9d8a;--ok:#9fd6a8;--shade:rgba(15,13,11,.96);color-scheme:dark;background:var(--bg);color:var(--fg)}

*,*::before,*::after{box-sizing:border-box;margin:0}
/* global safety: no decorative motion anywhere */
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header) + var(--s5))}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:var(--t-body);line-height:1.6;font-weight:400;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100svh;display:flex;flex-direction:column}
main{flex:1}
img,picture,svg{display:block;max-inline-size:100%}
img{block-size:auto;border-radius:0}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
::selection{background:var(--accent-btn);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
[hidden]{display:none!important}
html:not(.js) .js-only{display:none}
.js .no-js-note{display:none}
.sr-only{position:absolute!important;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:var(--s4);inset-block-start:-100px;z-index:100;background:var(--fg);color:var(--bg);padding:var(--s3) var(--s5);min-block-size:44px;display:inline-flex;align-items:center;font-weight:600}
.skip-link:focus{inset-block-start:var(--s2)}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:var(--f-display);font-weight:340;line-height:1.06;letter-spacing:-.02em;text-wrap:balance;font-variation-settings:"opsz" 144}
h1{font-size:var(--t-h1);letter-spacing:-.03em}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3);line-height:1.2;letter-spacing:-.01em;font-weight:400}
em{font-style:italic}
p{text-wrap:pretty}
.lead{font-size:var(--t-lead);line-height:1.5;color:var(--muted);max-inline-size:42ch}
.muted{color:var(--muted)}
.mono,.kicker,.label,.meta{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;font-weight:450}
.kicker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);color:var(--accent);line-height:1.5}
.kicker .no{color:var(--muted)}
.label{color:var(--muted)}
.meta{color:var(--muted);line-height:1.5}
.prose>*+*{margin-block-start:var(--s4)}
.prose p{color:var(--muted);max-inline-size:58ch}
.prose a:not(.btn):not(.arrow),.link{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.28em}
.prose a:not(.btn):not(.arrow):hover,.link:hover{color:var(--accent);text-decoration-color:var(--accent)}
.arrow{display:inline-flex;align-items:center;gap:var(--s2);min-block-size:44px;font-weight:600;color:var(--accent);text-decoration:none}
.arrow::after{content:"→"}
.arrow:hover{color:var(--fg)}
.rebate{block-size:12px;background:radial-gradient(circle at 50% 50%,var(--line-strong) 0 2px,transparent 2.5px) 0 0/16px 12px repeat-x;opacity:.55}

/* ---------- layout ---------- */
.wrap{inline-size:100%;max-inline-size:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-inline-size:calc(var(--wrap-narrow) + var(--gutter)*2)}
.section{padding-block:var(--sec)}
.section--tight{padding-block:calc(var(--sec)*.7)}
.surface{background:var(--surface)}
.rule-top{border-block-start:1px solid var(--line)}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--s4) var(--s6);margin-block-end:var(--s7)}
.sec-head>div{display:grid;gap:var(--s4);max-inline-size:40rem}
.grid12{display:grid;gap:var(--s7)}
@media (min-width:1024px){.grid12{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6)}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-block-size:48px;padding:var(--s3) var(--s5);border:1px solid var(--accent-btn);border-radius:2px;background:var(--accent-btn);color:var(--on-accent);font:600 1rem/1.2 var(--f-body);letter-spacing:.01em;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;text-align:center}
.btn:hover{background:var(--accent-btn-h);border-color:var(--accent-btn-h)}
.btn--ghost{background:transparent;border-color:var(--line-strong);color:var(--fg)}
.btn--ghost:hover{background:transparent;border-color:var(--fg);color:var(--fg)}
.btn--block{inline-size:100%}
.btn--sm{min-block-size:44px;padding:var(--s2) var(--s4);font-size:var(--t-small)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s3)}
.btn[disabled]{background:var(--surface-2);border-color:var(--line);color:var(--muted);cursor:not-allowed}
.btn[aria-disabled="true"]{background:var(--surface-2);border-color:var(--line);color:var(--muted)}

/* ---------- header ---------- */
.site-header{position:sticky;inset-block-start:0;z-index:50;background:var(--shade);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-block-end:1px solid var(--line);color:var(--fg)}
.site-header>.wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);block-size:var(--header)}
.brand{display:inline-flex;align-items:center;gap:var(--s3);min-block-size:44px;font-family:var(--f-display);font-size:1.5rem;font-weight:400;letter-spacing:-.015em;text-decoration:none;color:var(--fg);font-variation-settings:"opsz" 144;white-space:nowrap}
.brand em{color:var(--accent);padding-inline:.06em}
.brand svg{inline-size:28px;block-size:28px;color:var(--accent);flex:none}
.nav{display:none;block-size:100%}
.nav>ul{list-style:none;padding:0;display:flex;align-items:stretch;gap:var(--s1);block-size:100%}
.nav>ul>li{position:static;display:flex;align-items:center}
.nav a.nl{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;min-inline-size:44px;padding-inline:var(--s3);color:var(--muted);text-decoration:none;font-weight:500}
.nav a.nl:hover,.nav a.nl[aria-current="page"],.nav li:hover>a.nl{color:var(--fg)}
.nav a.nl[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}
.mega-btn{display:inline-grid;place-items:center;inline-size:44px;block-size:44px;margin-inline-start:-16px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}
.mega-btn:hover{color:var(--fg)}
.mega-btn svg{inline-size:14px;block-size:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.has-mega{position:static}
/* mega panel: hangs off the header's bottom edge, solid, scrolls inside itself on short screens */
.mega{display:none;position:absolute;inset-inline:0;inset-block-start:100%;z-index:2;max-block-size:calc(100svh - var(--header));overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-block-end:1px solid var(--line-strong);box-shadow:0 28px 56px rgba(0,0,0,.45);color:var(--fg)}
.has-mega.is-open>.mega{display:block}
html:not(.js) .has-mega:hover>.mega,html:not(.js) .has-mega:focus-within>.mega{display:block}
.mega-btn[aria-expanded="true"]{color:var(--accent)}
.has-mega.is-open>a.nl{color:var(--fg)}
.mega-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:var(--s8);inline-size:100%;max-inline-size:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding:var(--s7) var(--gutter) var(--s8)}
.mega-main{display:grid;align-content:start;gap:var(--s5);min-inline-size:0}
.mega-head{display:grid;gap:var(--s2);padding-block-end:var(--s4);border-block-end:1px solid var(--line-strong)}
.mega-k{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);line-height:1.4}
.mega-sum{font-family:var(--f-display);font-size:1.625rem;line-height:1.25;letter-spacing:-.01em;max-inline-size:34ch}
.mega-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s7)}
.mega-list a{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s4);align-items:center;min-block-size:96px;padding-block:var(--s3);border-block-end:1px solid var(--line);color:var(--fg);text-decoration:none}
.mega-list picture{display:block;inline-size:72px;block-size:72px;background:var(--surface-2)}
.mega-list img{display:block;inline-size:72px;block-size:72px;object-fit:cover;border-radius:0}
.mega-list .mt{display:grid;gap:2px;min-inline-size:0}
.mega-list .n{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--muted);line-height:1.3}
.mega-list b{font-family:var(--f-display);font-weight:400;font-size:1.25rem;line-height:1.2;letter-spacing:-.01em}
.mega-list small{color:var(--muted);font-size:1rem;line-height:1.35}
.mega-list a:hover b,.mega-list a:focus-visible b{color:var(--accent)}
.mega-list a:focus-visible,.mega-all:focus-visible,.mega-feat:focus-visible{outline-offset:-2px}
.mega-all{display:flex;align-items:center;justify-content:space-between;min-block-size:48px;padding-inline:var(--s4);border:1px solid var(--line-strong);color:var(--fg);font-weight:600;text-decoration:none}
.mega-all::after,.mega-go::after{content:"→"}
.mega-all:hover{border-color:var(--accent);color:var(--accent)}
.mega-feat{display:grid;align-content:start;gap:var(--s2);padding:var(--s4);background:var(--surface-2);border:1px solid var(--line-strong);color:var(--fg);text-decoration:none}
.mega-feat picture{display:block;margin-block-end:var(--s3)}
.mega-feat img{display:block;inline-size:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.mega-fk{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mega-feat b{font-family:var(--f-display);font-weight:400;font-size:1.75rem;line-height:1.15;letter-spacing:-.015em}
.mega-feat small{color:var(--muted);font-size:1rem}
.mega-go{display:inline-flex;align-items:center;gap:var(--s2);min-block-size:44px;margin-block-start:var(--s2);font-weight:600;color:var(--accent)}
.mega-feat:hover{border-color:var(--accent)}
.mega-feat:hover .mega-go{color:var(--fg)}
.hdr-actions{display:flex;align-items:center;gap:var(--s2)}
.hdr-actions .btn{min-block-size:44px;padding-block:var(--s2);white-space:nowrap}
.hdr-actions .btn--cta{display:none}
.tray-pill{display:none;align-items:center;gap:var(--s2);min-block-size:44px;padding-inline:var(--s3);font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--accent);border:1px solid var(--line-strong)}
.tray-pill:hover{border-color:var(--accent)}
.tray-pill.has{display:inline-flex}
.icon-btn{display:inline-grid;place-items:center;inline-size:44px;block-size:44px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--fg);cursor:pointer;-webkit-appearance:none;appearance:none}
.icon-btn:hover{border-color:var(--line-strong)}
.icon-btn svg{inline-size:20px;block-size:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .i-sun{display:none}
[data-theme="light"] .theme-toggle .i-sun{display:block}
[data-theme="light"] .theme-toggle .i-moon{display:none}
.m-menu{position:relative}
.m-menu summary{list-style:none;cursor:pointer}
.m-menu summary::-webkit-details-marker{display:none}
body:has(.m-menu[open]){overflow:hidden}
.m-menu .i-close{display:none}
.m-menu[open] .i-open{display:none}
.m-menu[open] .i-close{display:block}
.m-panel{position:fixed;inset:var(--header) 0 auto 0;block-size:calc(100svh - var(--header));overflow:auto;overscroll-behavior:contain;background:var(--bg);color:var(--fg);border-block-end:1px solid var(--line);padding:var(--s4) var(--gutter) var(--s6)}
.m-panel a:not(.btn){display:flex;align-items:center;justify-content:space-between;min-block-size:56px;border-block-end:1px solid var(--line);font-family:var(--f-display);font-size:1.875rem;font-weight:340;text-decoration:none;color:var(--fg)}
.m-panel a[aria-current="page"]{color:var(--accent)}
.m-panel .btn{margin-block-start:var(--s5);inline-size:100%}
@media (min-width:1100px){
  .nav{display:block}
  .m-menu{display:none}
  .hdr-actions .btn--cta{display:inline-flex}
}
@media (max-width:1099.98px){.mega{display:none!important}}
@media (min-width:1100px) and (max-width:1239.98px){.site-header>.wrap{gap:var(--s3)}.nav a.nl{padding-inline:var(--s2)}.mega-btn{margin-inline-start:-12px}.hdr-actions .btn{padding-inline:var(--s4)}}

/* ---------- stage: dark hero / page head with a faded primary photograph ---------- */
.stage{position:relative;overflow:clip}
.stage-grid{display:grid;gap:var(--s6);align-items:center;padding-block:var(--s7) 0}
.stage-copy{display:grid;gap:var(--s5);align-content:center;padding-block-end:var(--s6)}
.stage h1{margin:0}
.stage h1 em{color:var(--accent)}
.stage .lead{max-inline-size:36ch}
.stage-fig{margin:0;position:relative;inline-size:100%}
.stage-fig img{inline-size:100%;block-size:auto}
.stage-cap{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);margin-block-start:var(--s3);color:var(--muted);font-size:var(--t-small)}
.stage-cap .mono{font-size:var(--t-label)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s2);list-style:none;padding:0;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.crumbs a{display:inline-flex;align-items:center;min-inline-size:44px;min-block-size:44px;text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--accent)}
.crumbs li+li::before{content:"/";margin-inline-end:var(--s2);color:var(--line-strong)}
.crumbs [aria-current]{color:var(--fg)}
@media (min-width:1024px){
  .stage-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6);padding-block:var(--s8) 0;min-block-size:min(78svh,760px)}
  .stage-copy{grid-column:1/span 5;padding-block-end:var(--s8)}
  .stage-fig{grid-column:6/span 7;inline-size:calc(100% + var(--gutter));align-self:end}
}
@media (min-width:1392px){.stage-fig{inline-size:calc(100% + (100vw - var(--wrap))/2)}}
.stage--page .stage-grid{min-block-size:0}
@media (min-width:1024px){.stage--page .stage-grid{min-block-size:480px}.stage--page .stage-copy{padding-block-end:var(--s8)}}
.stage--home .stage-copy h1{font-size:var(--t-display);line-height:.92;letter-spacing:-.04em;font-weight:300}
@media (max-width:1023px){.stage--home .stage-copy h1{white-space:nowrap}}
.facts{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s6);margin-block-start:var(--s2);padding-block-start:var(--s5);border-block-start:1px solid var(--line);list-style:none;padding-inline:0}
.facts li{display:grid;gap:var(--s1);color:var(--muted);font-size:var(--t-small);line-height:1.35}
.facts b{font-family:var(--f-display);font-weight:340;font-size:1.75rem;line-height:1;color:var(--fg)}
.stocks{border-block:1px solid var(--line);background:var(--surface)}
.stocks ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s1) var(--s6);padding-block:var(--s4)}
.stocks li{display:flex;align-items:center;gap:var(--s3);font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.stocks li::before{content:"";inline-size:6px;block-size:6px;background:var(--accent)}
@media (min-width:1280px){.stocks ul{justify-content:space-between}}

/* edge fade: hero and one or two primary photographs only */
.img-fade{-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.04) 2%,rgba(0,0,0,.2) 7%,rgba(0,0,0,.5) 13%,rgba(0,0,0,.78) 20%,rgba(0,0,0,.93) 27%,#000 34%),linear-gradient(to bottom,transparent 0,rgba(0,0,0,.4) 5%,#000 16%,#000 60%,rgba(0,0,0,.6) 78%,rgba(0,0,0,.25) 90%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.04) 2%,rgba(0,0,0,.2) 7%,rgba(0,0,0,.5) 13%,rgba(0,0,0,.78) 20%,rgba(0,0,0,.93) 27%,#000 34%),linear-gradient(to bottom,transparent 0,rgba(0,0,0,.4) 5%,#000 16%,#000 60%,rgba(0,0,0,.6) 78%,rgba(0,0,0,.25) 90%,transparent 100%);mask-composite:intersect}
.img-fade--r{-webkit-mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.04) 2%,rgba(0,0,0,.2) 7%,rgba(0,0,0,.5) 13%,rgba(0,0,0,.78) 20%,rgba(0,0,0,.93) 27%,#000 34%),linear-gradient(to bottom,#000 70%,rgba(0,0,0,.45) 88%,transparent 100%);mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.04) 2%,rgba(0,0,0,.2) 7%,rgba(0,0,0,.5) 13%,rgba(0,0,0,.78) 20%,rgba(0,0,0,.93) 27%,#000 34%),linear-gradient(to bottom,#000 70%,rgba(0,0,0,.45) 88%,transparent 100%)}
@media (max-width:1023.98px){
  .img-fade,.img-fade--r{-webkit-mask-image:linear-gradient(to bottom,#000 55%,rgba(0,0,0,.55) 78%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,rgba(0,0,0,.55) 78%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
}
@media (forced-colors:active){.img-fade,.img-fade--r{-webkit-mask-image:none;mask-image:none}}

/* ---------- figures (crisp, square) ---------- */
.fig{margin:0}
.fig img{inline-size:100%;object-fit:cover;border-radius:0}
.fig figcaption{margin-block-start:var(--s3);color:var(--muted);font-size:var(--t-small);line-height:1.5;display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3)}
.fig .stock{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase}
.r-32 img{aspect-ratio:3/2}.r-43 img{aspect-ratio:4/3}.r-45 img{aspect-ratio:4/5}.r-1 img{aspect-ratio:1}

/* ---------- contact sheet (home + work) ---------- */
.sheet{list-style:none;padding:0;display:grid;gap:var(--s6) var(--s5)}
.sheet a{display:grid;gap:var(--s3);text-decoration:none;color:var(--fg)}
.sheet img{inline-size:100%;aspect-ratio:4/3;object-fit:cover}
.sheet .fr{display:flex;justify-content:space-between;gap:var(--s3);color:var(--muted);font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase}
.sheet h3{font-size:1.75rem;line-height:1.1}
.sheet a:hover h3{color:var(--accent)}
.sheet p{color:var(--muted);font-size:var(--t-small);line-height:1.5}
@media (min-width:640px){.sheet{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){
  .sheet{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s7) var(--s6)}
  .sheet>li{grid-column:span 2}
  .sheet>li:nth-child(1),.sheet>li:nth-child(2){grid-column:span 3}
  .sheet>li:nth-child(1) img,.sheet>li:nth-child(2) img{aspect-ratio:3/2}
}

/* work index */
.filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-block-end:var(--s7)}
.chip{display:inline-flex;align-items:center;min-block-size:44px;padding-inline:var(--s4);border:1px solid var(--line-strong);border-radius:2px;background:transparent;color:var(--fg);font:500 1rem/1 var(--f-body);cursor:pointer;-webkit-appearance:none;appearance:none}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip[aria-pressed="true"]{background:var(--accent-btn);border-color:var(--accent-btn);color:#fff}
.work-grid{list-style:none;padding:0;display:grid;gap:var(--s7) var(--s6)}
.work-grid a{display:grid;gap:var(--s4);text-decoration:none}
.work-grid img{inline-size:100%;aspect-ratio:4/3;object-fit:cover}
.work-grid h2{font-size:clamp(1.75rem,1.4rem + 1.2vw,2.5rem)}
.work-grid a:hover h2{color:var(--accent)}
.work-grid p{color:var(--muted);max-inline-size:50ch}
@media (min-width:768px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-grid>li[data-first]{grid-column:1/-1}.work-grid>li[data-first] img{aspect-ratio:21/9}.work-grid>li[data-first] a{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s6);align-items:end}.work-grid>li[data-first] a>div{padding-block-end:var(--s2)}}
@media (min-width:768px) and (max-width:1023.98px){.work-grid>li[data-first] a{grid-template-columns:1fr}}

/* ---------- essay (home) ---------- */
.essay-grid{display:grid;gap:var(--s7);align-items:center}
.essay-fig{margin:0}
.essay-fig img{inline-size:100%}
.essay-copy{display:grid;gap:var(--s5);align-content:center}
.essay-copy h2{margin:0}
.essay-copy p{color:var(--muted);max-inline-size:50ch}
@media (min-width:1024px){
  .essay-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6)}
  .essay-fig{grid-column:1/span 5}
  .essay-copy{grid-column:7/span 5}
  .essay-grid--r .essay-fig{grid-column:8/span 5;grid-row:1}
  .essay-grid--r .essay-copy{grid-column:1/span 6;grid-row:1}
}
.pull{font-family:var(--f-display);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);line-height:1.25;font-weight:340;font-style:italic;letter-spacing:-.01em;color:var(--fg);border-inline-start:2px solid var(--accent);padding-inline-start:var(--s5);margin-block:var(--s7);max-inline-size:30ch}

/* ---------- shelf (prints) ---------- */
.shelf{list-style:none;padding:0;display:grid;gap:var(--s7) var(--s5)}
@media (min-width:640px){.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.shelf{grid-template-columns:repeat(4,minmax(0,1fr))}.shelf--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8) var(--s7)}}
.print{display:grid;gap:var(--s3);align-content:start;scroll-margin-top:calc(var(--header) + var(--s5))}
.print img{inline-size:100%;aspect-ratio:4/5;object-fit:cover}
.print h3,.print h2{font-size:1.5rem;line-height:1.2;letter-spacing:-.01em;font-weight:400}
.print .meta b{color:var(--fg);font-weight:600}
.print .paper{color:var(--muted);font-size:var(--t-small)}
.print .price{font-family:var(--f-display);font-size:1.75rem;font-weight:340;line-height:1;margin-block:var(--s1)}
.print .seg{margin-block-start:var(--s1)}
.print .btn{margin-block-start:var(--s1)}
.print-note{max-inline-size:62ch;color:var(--muted);margin-block-start:var(--s7)}
.tray{margin-block-start:var(--s7);padding:var(--s5);border:1px solid var(--accent);background:var(--surface);display:grid;gap:var(--s4)}
.tray ul{list-style:none;padding:0;display:grid;gap:0;border-block-start:1px solid var(--line)}
.tray li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4);padding-block:var(--s2);border-block-end:1px solid var(--line)}
.tray .rm{min-block-size:44px;padding-inline:var(--s3);background:transparent;border:0;color:var(--muted);font:500 1rem var(--f-body);text-decoration:underline;text-underline-offset:.25em;cursor:pointer}
.tray .rm:hover{color:var(--accent)}
.tray-in{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center;justify-content:space-between}

/* ---------- ledger rows (sessions, timeline, contact) ---------- */
.ledger{list-style:none;padding:0;border-block-start:1px solid var(--line)}
.session{display:grid;gap:var(--s3) var(--s6);padding-block:var(--s5);border-block-end:1px solid var(--line);scroll-margin-top:calc(var(--header) + var(--s5))}
.session h3,.session h2{margin:0 0 var(--s2);font-size:clamp(1.5rem,1.3rem + .8vw,2rem)}
.session p{color:var(--muted);max-inline-size:52ch}
.session .sm{display:grid;gap:var(--s1);font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-content:start}
.session .buy{display:grid;gap:var(--s3);justify-items:start;align-content:start}
.session .price{font-family:var(--f-display);font-size:1.75rem;font-weight:340;line-height:1}
@media (min-width:900px){.session{grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,2fr);align-items:start}.session .buy{justify-items:end;text-align:end}}
.timeline li{display:grid;gap:var(--s2) var(--s6);padding-block:var(--s5);border-block-end:1px solid var(--line)}
.timeline p{color:var(--muted);max-inline-size:56ch}
@media (min-width:768px){.timeline li{grid-template-columns:120px 1fr;align-items:baseline}}
.steps{list-style:none;padding:0;display:grid;gap:0;counter-reset:s;border-block-start:1px solid var(--line)}
.steps li{display:grid;gap:var(--s2) var(--s6);padding-block:var(--s5);border-block-end:1px solid var(--line)}
.steps h3{margin:0}
.steps p{color:var(--muted);max-inline-size:52ch}
@media (min-width:768px){.steps li{grid-template-columns:72px 200px 1fr;align-items:baseline}}
.split{display:grid;gap:var(--s7);align-items:start}
@media (min-width:1024px){.split{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6)}.split>:first-child{grid-column:1/span 7}.split>:last-child{grid-column:9/span 4}.split--flip>:first-child{grid-column:1/span 4}.split--flip>:last-child{grid-column:6/span 7}.sticky{position:sticky;inset-block-start:calc(var(--header) + var(--s6))}}

/* ---------- article (series + journal) ---------- */
.article{display:grid;gap:var(--s7)}
.article-meta{display:grid;gap:0;align-content:start;border-block-start:1px solid var(--line)}
.article-meta div{display:flex;justify-content:space-between;gap:var(--s4);padding-block:var(--s3);border-block-end:1px solid var(--line)}
.article-meta dt{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.article-meta dd{text-align:end;font-weight:500}
.article-body>*+*{margin-block-start:var(--s5)}
.article-body p{max-inline-size:60ch;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.7;color:var(--muted)}
.article-body p:first-child{color:var(--fg)}
.article-body .drop::first-letter{font-family:var(--f-display);float:inline-start;font-size:4.5em;line-height:.8;padding:.08em .12em 0 0;color:var(--accent);font-weight:340}
@media (min-width:1024px){.article{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6)}.article-meta{grid-column:1/span 3;position:sticky;inset-block-start:calc(var(--header) + var(--s6));align-self:start}.article-body{grid-column:5/span 7}}
.crops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
@media (min-width:768px){.crops{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}}
.crop{overflow:hidden;aspect-ratio:4/5}
.crop img{inline-size:100%;block-size:100%;object-fit:cover;transform:scale(1.9)}
.crop--a img{transform-origin:22% 30%}.crop--b img{transform-origin:70% 22%}.crop--c img{transform-origin:30% 78%}.crop--d img{transform-origin:78% 72%}
.pager{display:grid;gap:var(--s4);border-block-start:1px solid var(--line);margin-block-start:var(--s8);padding-block-start:var(--s6)}
@media (min-width:640px){.pager{grid-template-columns:1fr 1fr}.pager a:last-child{text-align:end;justify-items:end}}
.pager a{display:grid;gap:var(--s1);text-decoration:none;min-block-size:44px}
.pager b{font-family:var(--f-display);font-weight:340;font-size:1.75rem;line-height:1.15}
.pager a:hover b{color:var(--accent)}
.also{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4) var(--s6);padding:var(--s5);border:1px solid var(--line);background:var(--surface)}

/* journal index */
.notes{list-style:none;padding:0;border-block-start:1px solid var(--line)}
.notes a{display:grid;gap:var(--s2) var(--s6);padding-block:var(--s6);border-block-end:1px solid var(--line);text-decoration:none}
.notes h2,.notes h3{font-size:clamp(1.75rem,1.4rem + 1.2vw,2.5rem)}
.notes p{color:var(--muted);max-inline-size:56ch}
.notes a:hover h2,.notes a:hover h3{color:var(--accent)}
@media (min-width:900px){.notes a{grid-template-columns:200px minmax(0,1fr);align-items:baseline}.notes a>div{display:grid;gap:var(--s2)}}

/* ---------- studio note ---------- */
.studio{display:grid;gap:var(--s7)}
.studio h2{margin-block:var(--s3) var(--s4)}
.studio .prose p{max-inline-size:50ch}
.dl{display:grid;border-block-start:1px solid var(--line)}
.dl div{display:grid;gap:var(--s1) var(--s5);padding-block:var(--s3);border-block-end:1px solid var(--line)}
.dl dt{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-self:center}
.dl dd{font-weight:500}
.dl a{display:inline-flex;align-items:center;min-block-size:44px;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.25em}
.dl a:hover{color:var(--accent);text-decoration-color:var(--accent)}
@media (min-width:560px){.dl div{grid-template-columns:120px 1fr}}
@media (min-width:1024px){.studio{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6);align-items:start}.studio>:first-child{grid-column:1/span 5}.studio>.dl{grid-column:7/span 6}}

/* ---------- forms ---------- */
.form{display:grid;gap:var(--s5)}
.form-grid{display:grid;gap:var(--s5)}
@media (min-width:640px){.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:1/-1}}
.field{display:grid;gap:var(--s2);align-content:start}
.field>label,legend{font-size:var(--t-body);font-weight:600;color:var(--fg)}
fieldset{border:0;padding:0;margin:0;min-inline-size:0}
legend{padding:0;margin-block-end:var(--s2)}
.hint{color:var(--muted);font-size:var(--t-small);line-height:1.45}
.err{display:none;color:var(--danger);font-size:var(--t-small);font-weight:600}
.field[data-invalid] .err,.err:not(:empty){display:block}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{inline-size:100%;min-block-size:48px;padding:var(--s3) var(--s4);font:400 1rem/1.4 var(--f-body);color:var(--fg);background:var(--field);border:1px solid var(--line-strong);border-radius:2px;-webkit-appearance:none;appearance:none;font-variant-numeric:tabular-nums}
textarea{min-block-size:140px;resize:vertical;line-height:1.5}
::placeholder{color:var(--muted);opacity:1}
input:hover,select:hover,textarea:hover{border-color:var(--fg)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
[aria-invalid="true"]{border-color:var(--danger)!important}
select{padding-inline-end:var(--s8);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 24px) 50%,calc(100% - 18px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;cursor:pointer}
select option{background:var(--surface);color:var(--fg)}
@supports (appearance:base-select){
  select,::picker(select){appearance:base-select}
  select::picker-icon{display:none}
  select{background-image:none;padding-inline-end:var(--s4);display:flex;align-items:center;justify-content:space-between}
  select::after{content:"";inline-size:8px;block-size:8px;border-inline-end:1.5px solid currentColor;border-block-end:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);flex:none}
  ::picker(select){background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);border-radius:2px;padding:var(--s1);margin-block:var(--s1)}
  option{min-block-size:44px;padding:var(--s2) var(--s3);display:flex;align-items:center;border-radius:0}
  option:hover,option:focus-visible{background:var(--surface-2)}
  option:checked{background:var(--accent-btn);color:#fff}
  option::checkmark{display:none}
}
.check{display:grid;grid-template-columns:24px 1fr;gap:var(--s3);align-items:start;cursor:pointer;min-block-size:44px}
.check input{inline-size:24px;block-size:24px;margin:0;accent-color:var(--accent-btn);cursor:pointer}
.check span{color:var(--muted);font-size:var(--t-small);line-height:1.5;padding-block-start:1px}
.seg{display:flex;flex-wrap:wrap;gap:var(--s2)}
.seg label{position:relative;flex:1 1 0;min-inline-size:72px}
.seg input{position:absolute;inset:0;inline-size:100%;block-size:100%;opacity:0;margin:0;cursor:pointer}
.seg span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-block-size:48px;padding:var(--s2) var(--s3);border:1px solid var(--line-strong);border-radius:2px;font-weight:600;background:var(--field);color:var(--fg);line-height:1.2;text-align:center}
.seg small{display:block;font-size:var(--t-label);font-weight:400;color:var(--muted);line-height:1.3}
.seg input:hover+span{border-color:var(--fg)}
.seg input:checked+span{background:var(--accent-btn);border-color:var(--accent-btn);color:#fff}
.seg input:checked+span small{color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.form-actions{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center}
.form-error{padding:var(--s4);border:1px solid var(--danger);color:var(--danger);font-weight:600}
.confirm{border:1px solid var(--accent);padding:var(--s6);background:var(--surface);display:grid;gap:var(--s4)}
.confirm .code{font-family:var(--f-display);font-size:clamp(2.5rem,2rem + 2vw,3.75rem);line-height:1;letter-spacing:.02em;font-weight:340}
.confirm p{color:var(--muted)}
.form-layout{display:grid;gap:var(--s7)}
@media (min-width:1024px){.form-layout{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6);align-items:start}.form-layout>:first-child{grid-column:1/span 7}.form-layout>:last-child{grid-column:9/span 4;position:sticky;inset-block-start:calc(var(--header) + var(--s6))}}
.aside-block+.aside-block{margin-block-start:var(--s7)}
.aside-block h2{font-size:var(--t-h3);margin-block:var(--s3) var(--s4)}
.aside-block ul{padding-inline-start:var(--s5);color:var(--muted)}
.aside-block li+li{margin-block-start:var(--s2)}
.kit{display:grid;gap:var(--s8);padding-block:var(--s8)}
.kit h2{font-size:var(--t-h3);margin-block-end:var(--s4)}

/* tables */
.table-wrap{overflow-x:auto}
table{inline-size:100%;border-collapse:collapse}
caption{text-align:start}
th,td{padding:var(--s4) var(--s3);text-align:start;border-block-end:1px solid var(--line);vertical-align:baseline}
th{font-family:var(--f-mono);font-size:var(--t-label);font-weight:450;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-block-end-color:var(--line-strong)}
td:first-child,th:first-child{padding-inline-start:0}
td a.link{display:inline-flex;align-items:center;min-block-size:44px}

/* ---------- footer ---------- */
.site-footer{margin-block-start:auto;background:var(--bg);color:var(--fg)}
.f-grid{display:grid;gap:var(--s6) var(--s6);padding-block:var(--s7) var(--s6)}
.f-brand p{color:var(--muted);max-inline-size:32ch;margin-block-start:var(--s3);font-size:var(--t-small)}
.f-brand .brand{font-size:1.75rem}
.f-col h2{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;font-weight:450;color:var(--muted);margin-block-end:var(--s2);line-height:1.4}
.f-col ul{list-style:none;padding:0}
.f-col a{display:inline-flex;align-items:center;min-block-size:44px;min-inline-size:44px;color:var(--fg);text-decoration:none}
.f-col a:hover{color:var(--accent)}
.f-col address{font-size:var(--t-small);line-height:1.6;color:var(--fg)}
.f-col address a{display:inline-flex;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.25em}
.f-index{columns:2;column-gap:var(--s5)}
.f-index li{break-inside:avoid}
.f-col p{color:var(--muted);font-size:var(--t-small);line-height:1.5}
.f-list{display:grid;gap:var(--s3);margin-block-start:var(--s3)}
.f-list .row{display:flex;gap:var(--s2)}
.f-list input{min-inline-size:0;flex:1}
.f-list .btn{flex:none}
.f-list .ok{color:var(--ok);font-weight:600;font-size:var(--t-small)}
.f-bar{border-block-start:1px solid var(--line)}
.f-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--s5);color:var(--muted);font-size:var(--t-small)}
.f-bar a{display:inline-flex;align-items:center;min-block-size:44px;color:var(--muted);text-underline-offset:.25em}
.f-bar a:hover{color:var(--accent)}
.f-bar p{padding-block:var(--s2)}
@media (min-width:640px){.f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.f-brand{grid-column:1/-1}}
@media (min-width:1024px){.f-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.3fr);gap:var(--s7)}.f-brand{grid-column:auto}}

/* ---------- 404 ---------- */
.nf{padding-block:var(--s9);display:grid;gap:var(--s5);justify-items:start}
.nf h1{font-size:var(--t-display);line-height:.95}

/* narrow ledger (inside a split) */
@media (min-width:1024px){
  .split .session{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .split .session .sm{grid-column:1;grid-row:2}
  .split .session .buy{grid-column:2;grid-row:1/span 2;justify-items:end;text-align:end}
}
.check-wrap{display:grid;gap:var(--s2)}
.fig img.wide{aspect-ratio:21/9}
@media (max-width:767.98px){.fig img.wide{aspect-ratio:4/3}}

.ser{display:none}
.shelf--2 .ser{display:inline}
@media (max-width:1099.98px){.shelf--2 .ser{display:none}}
@media (max-width:639.98px){.shelf--2 .ser{display:inline}}
.f-col address{font-style:normal}
.fig.sticky .r-wide{aspect-ratio:4/5;object-position:20% 50%}
.crop picture{display:block;inline-size:100%;block-size:100%}

.seg input{font-size:1rem}
@media (max-width:379.98px){.brand{font-size:1.25rem}.brand svg{display:none}.site-header .wrap{gap:var(--s2)}}
