/* ==========================================================================
   KOBRO — kobro-2026.css
   One stylesheet for Home, Journal and Article. Replaces the stacked
   override layers (brand-2026, clean-2026, editorial-2027, drafting-2026,
   reference-issue-2027, slab, mobile, focus, home-*) on those three pages.
   Screen type scale. No !important, no :not(#dr) specificity hacks.
   ========================================================================== */

/* ---------- 1. fonts ---------- */
@font-face{
  font-family:'Archivo';
  src:url('../assets/fonts/archivo-latin-wdth-normal.woff2') format('woff2-variations');
  font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Archivo';
  src:url('../assets/fonts/archivo-latin-wdth-italic.woff2') format('woff2-variations');
  font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Plex Mono';
  src:url('../assets/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Plex Mono';
  src:url('../assets/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
}

/* ---------- 2. tokens ---------- */
:root{
  --paper:#eeede8;
  --panel:#dcd9cf;
  --ink:#171715;
  --ink-soft:#3a3934;
  --muted:#6b6a64;
  --on-dark:#eeede8;
  --on-dark-muted:#a8a59c;
  --surface:#f4f3ee;
  --feature:#171715;
  --orange:#ed4919;
  --rule:#171715;
  --rule-soft:rgba(23,23,21,.22);
  --rule-dark:#393834;

  --display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --mono:'Plex Mono',ui-monospace,Menlo,monospace;

  --r-ctl:0px;           /* control corners: the drafting system is square */
  --frame:1480px;
  --gutter:clamp(18px,3.34vw,48px);
  --header-h:64px;
  --ease:cubic-bezier(.16,1,.3,1);

  /* compatibility aliases for shared components (map.css, JS-injected bits) */
  --line:var(--rule-soft);--sand:var(--panel);--gold:var(--orange);
  --sans:var(--display);--serif:var(--display);--pad:var(--gutter);--header:var(--header-h);--radius:0px;
}

body.dark{
  --paper:#141413;
  --panel:#23221f;
  --ink:#eeede8;
  --ink-soft:#c9c7bf;
  --muted:#9a988f;
  --rule:#eeede8;
  --rule-soft:rgba(238,237,232,.24);
  --surface:#1d1d1b;
}

/* ---------- 3. base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--display);font-size:16px;line-height:1.5;letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.nav-open,body.drawer-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
h1,h2,h3,p,figure,dl,dd,ol,ul,blockquote{margin:0}
ol,ul{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

.mono{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.reveal{opacity:1;transform:none}

body > main{
  width:min(var(--frame),100%);margin-inline:auto;padding-top:var(--header-h);
  border-inline:1px solid var(--rule-soft);background:var(--paper);
}
body[data-page="home"] > main{width:100%;max-width:none;border-inline:0}

/* ---------- 4. header ---------- */
.site-header{
  position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);
  display:flex;align-items:center;gap:14px;padding-inline:var(--gutter);
  background:var(--orange);color:#171715;border-bottom:1.5px solid #171715;
  transition:box-shadow .24s ease,transform .36s var(--ease),background-color .24s ease;
}
.site-header.scrolled{box-shadow:0 10px 28px rgba(10,10,9,.14)}
.brand-lockup{display:inline-flex;align-items:center;gap:8px;min-width:max-content}
.brand-lockup .brand-word::before{
  content:'KOBRO';font:800 19px/1 var(--display);font-stretch:76%;letter-spacing:-.035em;
}
.brand-lockup .brand-star{order:-1;flex:none;font-size:18px;line-height:1}
.brand-lockup-header{
  height:38px;padding-right:18px;border-right:1px solid rgba(23,23,21,.38);
}
.brand-lockup-header .brand-star{color:#171715;transition:transform .32s var(--ease)}
.brand-lockup-header:hover .brand-star{transform:rotate(45deg) scale(1.08)}
.brand-lockup-footer{gap:12px}
.brand-lockup-footer .brand-word::before{font-size:clamp(34px,5vw,68px)}
.brand-lockup-footer .brand-star{color:var(--orange);font-size:clamp(24px,3.6vw,48px)}

.nav{
  display:flex;align-items:center;gap:3px;margin-left:auto;padding:4px;
  border:1px solid rgba(23,23,21,.36);border-radius:var(--r-ctl);
  background:rgba(238,237,232,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.nav a{
  display:flex;align-items:center;justify-content:center;gap:7px;height:36px;padding-inline:15px;
  border-radius:var(--r-ctl);font-size:13px;font-weight:650;white-space:nowrap;
  transition:color .18s ease,background-color .18s ease,transform .18s var(--ease),box-shadow .18s ease;
}
.nav a:hover{color:#171715;background:rgba(238,237,232,.58);box-shadow:none;transform:translateY(-1px)}
.nav a.active{color:#eeede8;background:#171715;box-shadow:0 2px 0 rgba(23,23,21,.16)}
.nav a.active::before{
  content:'';width:5px;height:5px;flex:none;border-radius:50%;background:var(--orange);
  box-shadow:0 0 0 2px rgba(239,73,31,.16);
}
.site-header .nav a::after{display:none}

.header-actions{
  display:flex;align-items:center;gap:6px;margin-left:0;padding-left:12px;
  border-left:1px solid rgba(23,23,21,.38);
}
.header-member-login{
  display:inline-flex;align-items:center;gap:7px;height:40px;padding-inline:12px;
  border-radius:var(--r-ctl);font-size:13px;font-weight:650;white-space:nowrap;
  transition:background-color .18s ease,transform .18s var(--ease);
}
.header-member-login::before{content:'↗';font:600 11px/1 var(--mono)}
.header-member-login:hover{background:rgba(238,237,232,.58);transform:translateY(-1px)}
.header-actions .icon-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 14px;
  border:1px solid currentColor;border-radius:var(--r-ctl);
  font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;
  transition:color .18s ease,background-color .18s ease,transform .18s var(--ease),box-shadow .18s ease;
}
.header-actions .icon-btn:hover{background:#171715;color:#eeede8;border-color:#171715;transform:translateY(-1px)}
.header-actions .theme-btn{position:relative;width:40px;padding:0;font-size:0;line-height:0;overflow:hidden}
.header-actions .theme-btn::before{
  content:'\2600';position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;
  font:500 16px/1 sans-serif;text-align:center;transform:none;transition:transform .3s var(--ease);
}
body.dark .header-actions .theme-btn::before{content:'\263E';font-size:17px;transform:rotate(-16deg)}
.header-actions [data-cart-open]{background:#171715;color:#eeede8;border-color:#171715;padding:0 10px 0 17px;box-shadow:0 3px 0 rgba(23,23,21,.2)}
.header-actions [data-cart-open]:hover{background:#eeede8;color:#171715;border-color:#171715;box-shadow:0 3px 0 rgba(23,23,21,.12)}
.cart-count{
  display:grid;place-items:center;min-width:21px;height:21px;padding-inline:5px;border-radius:var(--r-ctl);
  background:#eeede8;color:#171715;font:600 11px/1 var(--mono);
}
.header-actions [data-cart-open]:hover .cart-count{background:#171715;color:#eeede8}
.menu-btn{
  display:none;margin-left:auto;height:38px;padding-inline:14px;border:1px solid #171715;border-radius:var(--r-ctl);
  font:600 12px/1 var(--mono);letter-spacing:.08em;
}

.nav-more{position:relative;display:flex;align-items:center}
.nav-more-trigger{
  display:flex;align-items:center;gap:6px;height:36px;padding-inline:15px;border-radius:var(--r-ctl);
  font-size:13px;font-weight:650;
}
.nav-more-trigger:hover{background:rgba(238,237,232,.58)}
.nav-more-trigger.active{background:#171715;color:#eeede8}
.nav-more-panel{
  display:none;position:absolute;top:calc(100% + 12px);right:0;min-width:180px;
  flex-direction:column;padding:6px;background:var(--orange);border:1.5px solid #171715;border-radius:var(--r-ctl);
  box-shadow:0 12px 30px rgba(10,10,9,.18);
}
.nav-more.is-open .nav-more-panel{display:flex}
.nav-more-panel a{height:44px;padding-inline:16px;box-shadow:none}
.nav-more-panel a:hover{background:var(--ink);color:var(--paper)}
.nav-more-panel a.active{color:var(--orange);box-shadow:none}

.member-presence-chip{
  display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;margin-left:0;
  border:1px solid #171715;border-radius:var(--r-ctl);background:rgba(238,237,232,.24);
  transition:background-color .18s ease,transform .18s var(--ease);
}
.member-presence-chip:hover{background:rgba(238,237,232,.58);transform:translateY(-1px)}
.member-presence-chip small{display:block;font:500 10px/1 var(--mono);color:var(--muted)}
.member-presence-chip strong{display:block;font:600 12px/1 var(--mono);letter-spacing:.08em}
.member-presence-chip .member-presence-mark{color:var(--orange)}
.member-presence-chip.is-premium .member-presence-mark{color:currentColor}
.member-presence-chip.is-elite{border-color:var(--orange);background:#171715;color:#eeede8;box-shadow:3px 3px 0 var(--orange)}
.member-presence-chip.is-elite .member-presence-mark{color:var(--orange)}
.member-nav-pulse{
  display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--orange);
}

/* ---------- 5. cart drawer + toast ---------- */
.backdrop{
  position:fixed;inset:0;z-index:490;background:rgba(10,10,9,.5);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.backdrop.open{opacity:1;pointer-events:auto}
.cart-drawer{
  position:fixed;top:0;right:0;z-index:500;width:min(440px,100%);height:100dvh;
  display:flex;flex-direction:column;background:var(--paper);
  border-left:1.5px solid var(--rule);transform:translateX(100%);transition:transform .4s var(--ease);
}
.cart-drawer.open{transform:none}
.cart-head{
  display:flex;align-items:center;justify-content:space-between;
  height:var(--header-h);padding-inline:20px;border-bottom:1.5px solid var(--rule);
}
.cart-head strong{font:800 20px/1 var(--display);font-stretch:76%;letter-spacing:-.03em}
.cart-head .icon-btn{font:500 12px/1 var(--mono);text-transform:uppercase}
.cart-items{flex:1;overflow:auto;padding:16px 20px}
.cart-item{
  display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;
  padding:14px 0;border-bottom:1px solid var(--rule-soft);
}
.cart-item h4{margin:0 0 4px;font:700 16px/1.2 var(--display)}
.cart-thumb{background:var(--panel);aspect-ratio:1;display:grid;place-items:center}
.cart-foot{padding:20px;border-top:1.5px solid var(--rule)}
.cart-total{display:flex;justify-content:space-between;margin-bottom:14px;font-weight:700}
.checkout{
  width:100%;height:52px;border-radius:var(--r-ctl);background:var(--ink);color:var(--paper);
  font:700 15px/1 var(--display);
}
.checkout:hover{background:var(--orange);color:#171715}

.toast{
  position:fixed;left:50%;bottom:28px;z-index:900;
  padding:12px 18px;background:var(--ink);color:var(--paper);
  font:500 12px/1 var(--mono);letter-spacing:.06em;
  transform:translate(-50%,24px);opacity:0;transition:.25s ease;
}
.toast.show{transform:translate(-50%,0);opacity:1}
.toast[data-kind="error"]{background:#a62929;color:#fff}

/* ---------- 6. footer ---------- */
.reference-footer{
  width:min(var(--frame),100%);margin-inline:auto;padding:28px var(--gutter);
  border-top:1.5px solid var(--rule);border-inline:1px solid var(--rule-soft);background:var(--paper);
}
.reference-footer .footer-links{
  display:grid;grid-template-columns:1fr repeat(5,max-content) max-content max-content;
  gap:24px;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.reference-footer a:hover{color:var(--orange)}
.reference-footer .footer-member-login span{color:var(--orange)}
.reference-footer .footer-back-to-top{justify-self:end}
.subpage-footer{margin-top:clamp(48px,8vw,112px)}
.subpage-footer a[aria-current="page"]{color:var(--orange)}

/* ---------- 7. shared page furniture ---------- */
.meta-strip,.journal-edition,.journal-meta-strip{
  display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:16px;
  min-height:44px;font-family:var(--mono);font-size:12px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;
}
.journal-edition > span:last-child,
.journal-meta-strip > span:last-child{text-align:right}

.btn-pill{
  display:inline-flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:52px;padding:0 24px;border-radius:var(--r-ctl);
  background:var(--ink);color:var(--paper);font-weight:600;font-size:16px;
}
.btn-pill:hover{background:var(--orange);color:#171715}

.story-like-badge{
  position:absolute;z-index:4;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:5px;
  min-height:28px;padding:0 9px;border:1px solid #eeede8;border-radius:var(--r-ctl);
  box-shadow:3px 3px 0 var(--orange);background:#171715;color:#eeede8;
  font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;
}
.story-like-badge > span{color:var(--orange);font:700 13px/1 var(--display)}
.story-like-badge b{font-weight:700}
.story-like-badge em{font-style:normal}
.home-feature-image,.home-article-image{position:relative}

.missing{padding:clamp(60px,10vw,140px) var(--gutter)}
.missing h1{font:900 clamp(56px,10vw,140px)/.82 var(--display);font-stretch:75%;letter-spacing:-.04em;margin:18px 0}
.text-link{border-bottom:1px solid currentColor;font-weight:600}

/* ==========================================================================
   8. HOME
   ========================================================================== */
body[data-page="home"]{
  --home-content-max:1800px;
  --home-content-gutter:max(var(--gutter),calc((100vw - var(--home-content-max))/2));
}
.journal-masthead{background:var(--orange);color:#171715;border-bottom:1.5px solid var(--rule)}
.journal-edition{
  min-height:64px;padding-inline:var(--gutter);border-bottom:1.5px solid #171715;
}
.journal-title-row{
  display:flex;align-items:flex-end;min-height:clamp(270px,31vw,760px);
  padding:48px var(--gutter) 0;overflow:hidden;
}
.journal-title-row h1{
  width:100%;margin:0 0 -.035em;font:900 clamp(170px,36vw,1080px)/.64 var(--display);
  font-stretch:64%;letter-spacing:-.085em;white-space:nowrap;
}
.journal-deck{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:40px;align-items:end;padding:48px var(--home-content-gutter) 56px;
  background:var(--paper);color:var(--ink);border-top:1.5px solid var(--rule);
}
.journal-deck p{
  margin:0;font:700 clamp(30px,5.1vw,76px)/1.0 var(--display);letter-spacing:-.035em;
}
.journal-deck p span{
  box-shadow:inset 0 -.085em 0 var(--orange);
}
.journal-deck-action{display:flex;flex-direction:column;gap:14px}
.journal-deck-action a{
  display:flex;align-items:center;justify-content:space-between;
  min-height:56px;padding:0 24px;border-radius:var(--r-ctl);
  background:var(--ink);color:var(--paper);font-weight:600;font-size:16px;
}
.journal-deck-action a:hover{background:var(--orange);color:#171715}
.journal-deck-action small{
  color:var(--muted);font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}

.journal-front{
  position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:28px;padding:96px var(--home-content-gutter) 0;
}
.journal-front::before{
  content:'RECENTLY FILED';position:absolute;top:34px;left:var(--home-content-gutter);
  font:500 12px/1 var(--mono);letter-spacing:.08em;color:var(--muted);
}
.journal-lead-slot{align-self:start}
.journal-lead-story{display:flex;flex-direction:column;border:1.5px solid var(--rule);background:var(--paper)}
.journal-lead-story:hover{background:var(--surface)}
.journal-lead-media{position:relative;display:block;width:100%;height:clamp(320px,29vw,520px);overflow:hidden;background:var(--panel);border-bottom:1.5px solid var(--rule)}
.journal-lead-media img{width:100%;height:100%;object-fit:cover}
.journal-lead-media .plate-placeholder{object-fit:cover;padding:0}
.journal-lead-copy{display:flex;flex-direction:column;gap:14px;padding:22px 16px 26px}
.journal-story-meta{
  display:flex;justify-content:space-between;gap:18px;color:var(--muted);
  font:400 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
.journal-lead-copy h2{
  margin:0;font:800 clamp(34px,4vw,56px)/.96 var(--display);letter-spacing:-.03em;
}
.journal-lead-copy p{margin:0;max-width:58ch;color:var(--muted);font-size:16px;line-height:1.5}

.journal-latest > header{padding-top:2px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  padding-bottom:12px;border-bottom:1.5px solid var(--rule);
}
.journal-latest h2{
  margin:0;font:900 clamp(40px,5vw,72px)/.86 var(--display);font-stretch:75%;letter-spacing:-.04em;
}
.journal-latest > header a{font-weight:600;font-size:15px;border-bottom:1px solid currentColor}
.journal-story-rail{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.journal-rail-story{
  display:grid;grid-template-columns:104px clamp(124px,9vw,168px) minmax(0,1fr);align-items:stretch;
  min-height:clamp(136px,10vw,174px);border:1.5px solid var(--rule);background:var(--surface);
}
.journal-rail-story:hover{background:var(--paper)}
.journal-rail-date{
  display:flex;flex-direction:column;justify-content:space-between;gap:10px;
  padding:14px 16px;border-right:1.5px solid var(--rule);
}
.journal-rail-date small{
  color:var(--muted);font:400 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
.journal-rail-date time{display:grid;align-content:end;gap:1px;font-style:normal}
.journal-rail-date time b{color:var(--orange);font:500 11px/1 var(--mono);letter-spacing:.08em}
.journal-rail-date time strong{font:900 38px/.82 var(--display);font-stretch:75%;letter-spacing:-.04em}
.journal-rail-date time i{color:var(--muted);font:400 10px/1 var(--mono);font-style:normal;letter-spacing:.08em}
.journal-rail-image{
  position:relative;display:block;min-width:0;overflow:hidden;background:var(--panel);border-right:1.5px solid var(--rule);
}
.journal-rail-image .story-like-badge{right:8px;bottom:8px;min-height:25px;padding-inline:7px;box-shadow:2px 2px 0 var(--orange);font-size:9px}
.journal-rail-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease)}
.journal-rail-image .plate-placeholder{object-fit:cover;padding:0}
.journal-rail-story:hover .journal-rail-image img{transform:scale(1.035)}
.journal-rail-copy{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:16px 18px}
.journal-rail-copy small{
  color:var(--muted);font:400 12px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;
}
.journal-rail-copy h3{margin:0;font:800 26px/1.05 var(--display);letter-spacing:-.025em}
.journal-empty{color:var(--muted);font-size:15px}

/* scheduled release / public countdown */
.scheduled-release{margin:56px var(--home-content-gutter) 0}
.scheduled-release-journal{margin-inline:var(--gutter)}
.scheduled-release-card{
  display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);grid-template-rows:auto 1fr;
  overflow:hidden;border:1.5px solid var(--rule);background:var(--paper);color:var(--ink);
  transition:background-color .2s ease;
}
.scheduled-release-card:hover{background:var(--surface)}
.scheduled-release-signal{
  grid-column:1/-1;display:flex;align-items:center;gap:9px;min-height:44px;padding:0 16px;
  border-bottom:1.5px solid var(--rule);color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
}
.scheduled-release-signal i{color:var(--orange);font-style:normal;font-size:15px}.scheduled-release-signal b{margin-left:auto;color:var(--ink);font-weight:600}
.scheduled-release-media{min-height:340px;overflow:hidden;background:var(--panel);border-right:1.5px solid var(--rule)}
.scheduled-release-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.scheduled-release-card:hover .scheduled-release-media img{transform:scale(1.035)}
.scheduled-release-copy{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:36px clamp(24px,3.5vw,52px)}
.scheduled-release-copy>small{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.scheduled-release-copy h2{margin:0;max-width:17ch;font:900 clamp(38px,4.4vw,66px)/.9 var(--display);font-stretch:75%;letter-spacing:-.04em}
.scheduled-release-copy p{margin:0;max-width:58ch;color:var(--muted);font-size:16px;line-height:1.5}
.scheduled-release-copy>time,.article-preview-release{color:var(--orange);font:500 12px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.scheduled-release-copy>em{align-self:flex-start;display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:var(--r-ctl);background:var(--ink);color:var(--paper);font-style:normal;font-weight:700}
.scheduled-release-copy>em:hover{background:var(--orange);color:#171715}
.scheduled-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:660px;border:1px solid var(--rule);background:var(--paper)}
.scheduled-countdown>span{display:grid;gap:7px;padding:14px 16px;border-right:1px solid var(--rule)}
.scheduled-countdown>span:last-child{border-right:0}
.scheduled-countdown strong{color:var(--ink);font:900 clamp(26px,3vw,42px)/.82 var(--display);font-stretch:75%;letter-spacing:-.03em}
.scheduled-countdown>span:first-child strong{color:var(--orange)}
.scheduled-countdown small{color:var(--muted);font:500 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}

.scheduled-article{background:var(--paper)}
.scheduled-article-hero{padding:56px var(--gutter) 72px}
.scheduled-article-kicker{display:flex;align-items:center;gap:9px;padding-bottom:18px;border-bottom:1.5px solid var(--rule);color:var(--muted);font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.scheduled-article-kicker i{color:var(--orange);font-size:18px;font-style:normal}
.scheduled-article-grid{display:grid;grid-template-columns:1fr;gap:44px;padding:52px 0}
.scheduled-article-copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.scheduled-article-copy>small{color:var(--muted);font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.scheduled-article-copy h1{margin:0;max-width:16ch;font:900 clamp(56px,11.6vw,172px)/.82 var(--display);font-stretch:75%;letter-spacing:-.04em}
.scheduled-article-copy p{margin:0;max-width:44ch;color:var(--muted);font-size:clamp(19px,2.2vw,28px);line-height:1.28;font-weight:500}
.scheduled-article-copy>time{color:var(--orange);font:500 12px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.scheduled-article-copy>a{min-height:48px;padding:0 20px;display:inline-flex;align-items:center;border:1.5px solid var(--rule);border-radius:var(--r-ctl);font-weight:700}
.scheduled-article-copy>a:hover{background:var(--ink);color:var(--paper)}
.scheduled-article-cover{margin:0;aspect-ratio:16/8;overflow:hidden;border:1.5px solid var(--rule);background:var(--panel)}
.scheduled-article-cover img{width:100%;height:100%;object-fit:cover}
.scheduled-article-foot{display:flex;justify-content:space-between;gap:18px;padding-top:18px;border-top:1.5px solid var(--rule);color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.article-preview-card.is-scheduled .scheduled-countdown{margin-top:4px}

/* membership card (home) */
.journal-membership{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  margin:120px var(--home-content-gutter);background:var(--feature);color:var(--on-dark);
}
.membership-card-top{
  grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;
  min-height:48px;padding-inline:28px;border-bottom:1px solid var(--rule-dark);
  color:var(--on-dark-muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.membership-card-top span:first-child{color:var(--orange)}
.membership-card-top > span:last-child{text-align:right}
.membership-card-left{
  position:relative;grid-column:span 7;display:flex;flex-direction:column;justify-content:space-between;gap:36px;
  min-height:560px;padding:40px 40px 44px 32px;
}
.membership-card-left > span{
  color:var(--on-dark-muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.membership-card-left i{position:absolute;top:36px;right:40px;font-style:normal;color:var(--orange);font-size:36px;line-height:1}
.membership-card-left h2{
  margin:0;font:900 clamp(56px,10.4vw,152px)/.82 var(--display);font-stretch:75%;letter-spacing:-.045em;
}
.membership-card-left h2 span{color:var(--orange)}
.membership-card-price{
  display:flex;align-items:baseline;gap:12px;padding-top:20px;border-top:1px solid var(--rule-dark);
}
.membership-card-price strong{font:900 64px/.9 var(--display);font-stretch:75%;letter-spacing:-.03em}
.membership-card-price small{
  color:var(--on-dark-muted);font:400 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
.membership-card-right{
  grid-column:span 5;display:flex;flex-direction:column;padding:0 28px 28px;
  border-left:1px solid var(--rule-dark);
}
.membership-card-right ol{counter-reset:benefit}
.membership-card-right li{
  counter-increment:benefit;position:relative;padding:24px 0 24px 46px;
  border-bottom:1px solid var(--rule-dark);
}
.membership-card-right li::before{
  content:'0' counter(benefit);position:absolute;left:0;top:28px;
  color:var(--orange);font:500 12px/1 var(--mono);
}
.membership-card-right li b{display:block;font:800 28px/1.12 var(--display);letter-spacing:-.02em}
.membership-card-right li span{display:block;margin-top:6px;color:var(--on-dark-muted);font-size:15px;line-height:1.45}
.membership-card-cta{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;
  min-height:56px;padding:0 24px;border-radius:var(--r-ctl);background:var(--orange);color:#171715;
  font-weight:700;font-size:16px;
}
.membership-card-cta:hover{background:var(--on-dark);color:#171715}
.membership-card-cta i{font-style:normal}
.membership-card-notes{
  display:flex;justify-content:space-between;gap:16px;margin-top:16px;
  color:var(--on-dark-muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.membership-card-notes a{color:var(--on-dark);border-bottom:1px solid currentColor}

/* ==========================================================================
   9. JOURNAL INDEX
   ========================================================================== */
.journal-meta-strip{
  padding-inline:var(--gutter);border-bottom:1.5px solid var(--rule);color:var(--muted);
}
.journal-hero{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  gap:24px 40px;align-items:end;padding:56px var(--gutter);border-bottom:1.5px solid var(--rule);
}
.journal-page-kicker{
  grid-column:1/-1;color:var(--muted);font-family:var(--mono);font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;
}
.journal-hero h1{
  margin:0;font:900 clamp(96px,20vw,300px)/.78 var(--display);font-stretch:75%;letter-spacing:-.045em;
}
.journal-hero .lede{
  margin:0 0 14px;font-size:clamp(19px,2vw,26px);line-height:1.25;font-weight:500;letter-spacing:-.01em;
}
.journal-hero .roam-bear{display:none}

.journal-page{padding:40px var(--gutter) 0}
.atlas-block{margin-bottom:32px;border:1.5px solid var(--rule)}
.atlas-head{
  display:flex;align-items:center;gap:18px;padding:12px 16px;border-bottom:1.5px solid var(--rule);
}
.atlas-head .mono{color:var(--muted)}
.atlas-head p{margin:0;font-size:15px}
#atlas{min-height:420px}

.journal-controls{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  padding:16px 0;border-top:1.5px solid var(--rule);border-bottom:1.5px solid var(--rule);
}
.filter-row{display:flex;flex-wrap:wrap;gap:8px}
.filter{
  min-height:38px;padding:0 18px;border:1px solid var(--rule-soft);border-radius:var(--r-ctl);
  font-weight:600;font-size:14px;
}
.filter:hover{border-color:var(--ink)}
.filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.journal-result-count{margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.journal-view-toggle{display:flex;border:1.5px solid var(--rule);border-radius:var(--r-ctl);overflow:hidden}
.journal-view-toggle button{
  min-width:74px;padding:10px 18px;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
.journal-view-toggle button + button{border-left:1.5px solid var(--rule)}
.journal-view-toggle button.active{background:var(--orange);color:#171715}

/* image-led journal cards */
.blog-grid{display:flex;flex-direction:column;padding-top:24px}
.post-card{display:block;color:inherit}

.post-card:first-child{
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  grid-template-rows:auto auto 1fr auto auto;
  border:1.5px solid var(--rule);margin-bottom:56px;
}
.post-card:first-child .post-art{
  grid-column:1;grid-row:1/-1;position:relative;
  aspect-ratio:1/1;border-right:1.5px solid var(--rule);background:var(--panel);overflow:hidden;
}
.post-card:first-child .post-art img{width:100%;height:100%;object-fit:cover}
.post-card:first-child .post-art .post-placeholder{object-fit:cover;padding:0}
.post-card:first-child .post-info{
  grid-column:2;grid-row:1;display:flex;justify-content:space-between;gap:16px;align-items:center;
  min-height:40px;padding-inline:20px;border-bottom:1.5px solid var(--rule);
  color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.post-card:first-child h2{
  grid-column:2;grid-row:2;margin:24px 0 0;padding-inline:20px;
  font:900 clamp(40px,5.4vw,88px)/.88 var(--display);font-stretch:75%;letter-spacing:-.04em;
}
.post-card:first-child p{
  grid-column:2;grid-row:3;margin:16px 0 0;padding-inline:20px;max-width:42ch;
  color:var(--muted);font-size:16px;line-height:1.5;
}
.post-card:first-child .post-date,
.post-card:first-child .post-duration{
  grid-column:2;align-self:end;padding-inline:20px;color:var(--muted);
  font:400 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
.post-card:first-child .post-date{grid-row:4;margin-bottom:8px}
.post-card:first-child .post-duration{grid-row:4;justify-self:end;margin-bottom:8px}
.post-card:first-child .post-card-read{
  grid-column:2;grid-row:5;margin:0 20px 22px;font-weight:700;font-size:16px;
  border-bottom:1px solid currentColor;justify-self:start;
}

.post-card:not(:first-child){
  display:grid;
  grid-template-columns:minmax(190px,300px) minmax(0,1fr) 132px;
  grid-template-rows:auto 1fr auto;gap:0;align-items:start;min-height:220px;
  border-bottom:1px solid var(--rule-soft);
}
.post-card:not(:first-child):hover{background:rgba(23,23,21,.03)}
.post-card:not(:first-child) .post-art{
  display:block;grid-column:1;grid-row:1/-1;position:relative;align-self:stretch;
  min-height:220px;border-right:1px solid var(--rule-soft);background:var(--panel);overflow:hidden;
}
.post-card:not(:first-child) .post-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.post-card:not(:first-child) .post-art .post-placeholder{object-fit:cover;padding:0}
.post-card:not(:first-child) .post-info{
  grid-column:2;grid-row:1;padding:20px 24px 8px;color:var(--muted);
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.post-card:not(:first-child) h2{
  grid-column:2;grid-row:2;margin:0;padding:0 24px;
  font:800 clamp(28px,3vw,46px)/.96 var(--display);letter-spacing:-.035em;
}
.post-card:not(:first-child) p{
  grid-column:2;grid-row:3;margin:14px 0 0;padding:0 24px 22px;max-width:58ch;
  color:var(--muted);font-size:15px;line-height:1.45;
}
.post-card:not(:first-child) .post-date,
.post-card:not(:first-child) .post-duration{
  grid-column:3;padding:20px 18px;color:var(--muted);
  font:400 11px/1.25 var(--mono);letter-spacing:.06em;text-transform:uppercase;
}
.post-card:not(:first-child) .post-date{grid-row:1}
.post-card:not(:first-child) .post-duration{grid-row:3;align-self:end;text-align:left}
.post-card:not(:first-child) .post-card-read{
  display:block;grid-column:3;grid-row:2;align-self:end;margin:0 18px 18px;
  font-weight:700;font-size:13px;border-bottom:1px solid currentColor;justify-self:start;
}

.member-ribbon{
  position:absolute;top:16px;right:16px;padding:5px 9px;background:var(--ink);color:var(--paper);
  font:500 11px/1 var(--mono);letter-spacing:.1em;
}
.post-card.is-focus{outline:2px solid var(--orange);outline-offset:4px}

.journal-load-older{
  display:block;margin:36px auto 0;min-height:52px;padding:0 28px;
  border:1.5px solid var(--rule);border-radius:var(--r-ctl);font-weight:600;font-size:16px;
}
.journal-load-older:hover{background:var(--ink);color:var(--paper)}

.journal-access-band{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);
  margin:120px var(--gutter) 0;border-top:2px solid var(--orange);
  background:var(--feature);color:var(--on-dark);overflow:hidden;
}
.journal-access-intro{display:flex;flex-direction:column;justify-content:center;min-height:470px;padding:64px 44px}
.journal-access-intro>.mono{margin-bottom:22px;color:var(--orange);font-size:11px}
.journal-access-intro h2{font:900 clamp(54px,7.4vw,112px)/.82 var(--display);font-stretch:73%;letter-spacing:-.055em}
.journal-access-intro h2 span{color:var(--orange)}
.journal-access-intro p{max-width:38ch;margin-top:28px;color:var(--on-dark-muted);font-size:16px;line-height:1.5}
.journal-access-plans{display:grid;grid-template-columns:1fr 1fr;align-content:stretch;border-left:1px solid var(--rule-dark)}
.journal-access-plan{display:flex;flex-direction:column;min-width:0;padding:38px;border-bottom:1px solid var(--rule-dark);transition:background-color .25s ease,color .25s ease}
.journal-access-plan+.journal-access-plan{border-left:1px solid var(--rule-dark)}
.journal-access-plan small{color:var(--orange);font-size:10px}
.journal-access-plan strong{margin:auto 0 42px;font:800 clamp(28px,3.2vw,48px)/.94 var(--display);letter-spacing:-.04em}
.journal-access-plan>span{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;color:var(--on-dark-muted);font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.journal-access-plan>span b{color:var(--on-dark);font:900 40px/.8 var(--display);letter-spacing:-.04em}
.journal-access-plan>span i{color:var(--orange);font:500 24px/1 var(--display);font-style:normal;transition:transform .25s var(--ease)}
.journal-access-plan:hover{background:var(--orange);color:#171715}
.journal-access-plan:hover small,.journal-access-plan:hover>span,.journal-access-plan:hover>span b,.journal-access-plan:hover>span i{color:#171715}
.journal-access-plan:hover>span i{transform:translateX(7px)}
.journal-access-login{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 38px;color:var(--on-dark-muted);font-size:14px}
.journal-access-login a{color:var(--on-dark);border-bottom:1px solid currentColor;font-weight:700}

/* article preview dialog (opened from journal cards) */
.article-preview-dialog{
  width:min(820px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:22px;border:0;
  background:transparent;color:var(--ink);overflow:auto;
}
.article-preview-dialog::backdrop{
  background:
    radial-gradient(circle at 16% 20%,rgba(237,73,25,.34),transparent 28%),
    radial-gradient(circle at 84% 80%,rgba(238,237,232,.14),transparent 26%),
    rgba(10,10,9,.78);
  -webkit-backdrop-filter:blur(7px) saturate(.75);backdrop-filter:blur(7px) saturate(.75);
}
.article-preview-content{position:relative;isolation:isolate;padding:0 14px 14px 0}
.article-preview-content::before{
  content:'';position:absolute;z-index:-1;inset:14px 0 0 14px;border:2px solid #171715;
  background:
    radial-gradient(circle,#171715 1.2px,transparent 1.4px) 0 0/12px 12px,
    var(--orange);
}
.article-preview-card{
  position:relative;overflow:hidden;border:2px solid var(--rule);background:var(--paper);
  box-shadow:8px 8px 0 rgba(10,10,9,.3);transform:rotate(-.35deg);transform-origin:center;
}
.article-preview-card::after{
  content:'';display:block;height:10px;border-top:2px solid var(--rule);
  background:repeating-linear-gradient(135deg,var(--orange) 0 10px,var(--ink) 10px 20px);
}
.article-preview-close{
  position:absolute;z-index:8;top:6px;right:6px;display:inline-flex;align-items:center;gap:10px;
  min-height:46px;padding:4px 5px 4px 15px;border:2px solid #171715;border-radius:var(--r-ctl);
  box-shadow:4px 4px 0 #171715;background:var(--orange);color:#171715;
  font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.article-preview-close b{
  display:grid;place-items:center;width:34px;height:34px;border:2px solid #171715;border-radius:50%;
  background:#171715;color:#eeede8;font:500 22px/1 var(--display);transition:transform .3s var(--ease);
}
.article-preview-close:hover{transform:translate(2px,2px) rotate(2deg);box-shadow:2px 2px 0 #171715}
.article-preview-close:hover b{transform:rotate(90deg)}
.article-preview-media{aspect-ratio:16/9;background:var(--panel);overflow:hidden;position:relative}
.article-preview-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.article-preview-card:hover .article-preview-media img{transform:scale(1.025)}
.article-preview-media.is-blurred img{filter:blur(14px);transform:scale(1.06)}
.article-preview-lock,.article-preview-ticket{
  position:absolute;left:18px;bottom:18px;padding:9px 12px;border:2px solid #171715;
  box-shadow:4px 4px 0 #171715;background:var(--orange);color:#171715;
  font:500 11px/1 var(--mono);letter-spacing:.1em;transform:rotate(-2deg);
}
.article-preview-likes{right:18px;bottom:18px;left:auto}
.article-preview-copy{position:relative;display:flex;flex-direction:column;gap:14px;padding:32px 34px 34px;background:var(--paper)}
.article-preview-copy::after{
  content:'✦';position:absolute;right:28px;top:22px;color:var(--orange);font-size:38px;line-height:1;
  transform:rotate(14deg);pointer-events:none;
}
.article-preview-meta{
  align-self:flex-start;padding:6px 74px 6px 10px;border-left:5px solid var(--orange);
  color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.article-preview-copy h2{position:relative;margin:0;max-width:15ch;font:900 clamp(32px,5vw,54px)/.9 var(--display);font-stretch:76%;letter-spacing:-.04em}
.article-preview-copy p{margin:0;color:var(--muted);font-size:16px;line-height:1.5}
.article-preview-blurred-copy{filter:blur(4px);opacity:.6;pointer-events:none}
.article-preview-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.article-preview-primary{
  display:inline-flex;align-items:center;min-height:52px;padding:0 24px;border:2px solid #171715;border-radius:var(--r-ctl);
  box-shadow:5px 5px 0 #171715;background:var(--orange);color:#171715;font-weight:800;font-size:16px;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.article-preview-primary:hover{transform:translate(3px,3px) rotate(-1deg);box-shadow:2px 2px 0 #171715}
.article-preview-secondary{
  display:inline-flex;align-items:center;min-height:52px;padding:0 24px;border-radius:var(--r-ctl);
  border:2px solid var(--rule);background:var(--paper);font-weight:700;font-size:16px;
  transition:background-color .2s ease,color .2s ease,transform .2s var(--ease);
}
.article-preview-secondary:hover{background:var(--ink);color:var(--paper);transform:rotate(1deg)}
.article-preview-copy small{color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}

@keyframes kobro-preview-pop{
  from{opacity:0;transform:translateY(26px) rotate(-2.5deg) scale(.95)}
  to{opacity:1;transform:translateY(0) rotate(-.35deg) scale(1)}
}
@keyframes kobro-preview-shadow{
  from{opacity:0;transform:translate(-10px,-8px)}
  to{opacity:1;transform:translate(0,0)}
}
.article-preview-dialog[open] .article-preview-card{animation:kobro-preview-pop .48s var(--ease) both}
.article-preview-dialog[open] .article-preview-content::before{animation:kobro-preview-shadow .55s var(--ease) both}

/* ==========================================================================
   10. ARTICLE
   ========================================================================== */
.article-reader{display:flex;flex-direction:column}
.article-head-v3{padding:56px var(--gutter) 48px}
.article-head-v3 h1{
  margin:0;max-width:16ch;text-transform:none;
  font:900 clamp(56px,11.6vw,172px)/.82 var(--display);font-stretch:75%;letter-spacing:-.04em;
}
.article-head-v3 .dek{
  margin:36px 0 0;max-width:44ch;font-size:clamp(19px,2.2vw,28px);line-height:1.28;font-weight:500;letter-spacing:-.012em;
}
.article-byline{
  display:block;margin-top:28px;padding-top:14px;border-top:1px solid var(--rule-soft);
  color:var(--muted);font-family:var(--mono);font-size:12px;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;
}
.article-cover{
  margin:0 var(--gutter);border:1.5px solid var(--rule);background:var(--panel);
}
.article-cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.article-cover--placeholder img{object-fit:cover;padding:0}

.article-layout{
  width:min(1180px,calc(100% - (var(--gutter) * 2)));margin-inline:auto;padding:72px 0 0;
}
.article-rail{margin-bottom:48px}
.article-rail dl{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-block:1px solid var(--rule-soft)}
.article-rail dl > div{padding:14px 18px;margin:0;border-right:1px solid var(--rule-soft)}
.article-rail dl > div:last-child{border-right:0}
.article-rail dt{
  color:var(--muted);font:400 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
.article-rail dd{margin:8px 0 0;font-size:15px;line-height:1.4}
.article-action-cell{min-width:min(430px,52vw)}
.article-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.article-action{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:126px;min-height:44px;padding:0 18px;
  border:1.5px solid var(--rule);border-radius:var(--r-ctl);background:transparent;color:var(--ink);
  font:650 14px/1 var(--display);letter-spacing:-.01em;
  transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.article-action-icon{display:grid;place-items:center;width:18px;height:18px;font:600 16px/1 var(--display)}
.article-share{background:var(--ink);color:var(--paper)}
.article-share:hover,.article-share.is-confirmed{border-color:var(--orange);background:var(--orange);color:#171715}
.article-like:hover{border-color:var(--orange);color:var(--orange)}
.article-like.is-liked{border-color:var(--orange);background:var(--orange);color:#171715}
.article-like-count{
  display:grid;place-items:center;min-width:25px;height:25px;padding-inline:6px;border-radius:var(--r-ctl);
  background:var(--ink);color:var(--paper);font:600 11px/1 var(--mono);letter-spacing:0;
}
.article-like:not(.is-liked) .article-like-count{background:var(--panel);color:var(--ink)}
.article-like:disabled{cursor:wait;opacity:.68}
.article-action:hover{transform:translateY(-2px);box-shadow:0 7px 0 color-mix(in srgb,var(--ink) 10%,transparent)}
.article-action:focus-visible{outline:3px solid color-mix(in srgb,var(--orange) 44%,transparent);outline-offset:3px}
.article-like.is-popping .article-action-icon{animation:articleLikePop .42s cubic-bezier(.2,.9,.3,1.4)}
@keyframes articleLikePop{50%{transform:scale(1.5) rotate(-8deg)}}

.article-body{width:100%;max-width:920px;margin-inline:auto;font-size:18px;line-height:1.75}
.article-body > p:first-child{font-size:20px;line-height:1.55}
.article-body > p:first-child::first-letter{
  float:left;margin:.05em .14em 0 0;padding:.04em .1em .08em;
  background:var(--orange);color:#171715;
  font:900 96px/.7 var(--display);font-stretch:75%;
}
.article-body p{margin:0 0 1.5em}
.article-body h2{
  max-width:18ch;margin:1.9em 0 .5em;
  font:900 clamp(32px,3.4vw,48px)/.95 var(--display);font-stretch:78%;letter-spacing:-.035em;
}
.article-body h3{margin:1.7em 0 .45em;font:800 24px/1.15 var(--display);letter-spacing:-.02em}
.article-body img{margin:2em 0;width:100%}
.article-body a{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.article-body table{
  display:block;width:100%;margin:2em 0;overflow-x:auto;border:0;border-collapse:separate;border-spacing:0;
  background:var(--paper);font-size:15px;line-height:1.45;
}
.article-body th,.article-body td{min-width:210px;padding:14px 16px;border:0;border-bottom:1px solid var(--rule-soft);text-align:left;vertical-align:top}
.article-body th{background:var(--panel);color:var(--ink);font-weight:800}
.article-body tbody tr:last-child td{border-bottom:0}
.article-body tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel) 70%,transparent)}
.article-body th p,.article-body td p{margin:0}
.article-body blockquote{
  position:relative;margin:2.4em 0;padding:36px 0 36px 84px;
  border-top:1.5px solid var(--rule);border-bottom:1.5px solid var(--rule);
  font:900 clamp(28px,4.4vw,64px)/.98 var(--display);font-stretch:75%;letter-spacing:-.04em;
}
.article-body blockquote::before{
  content:'\201C';position:absolute;left:0;top:10px;color:var(--orange);
  font:900 120px/.7 var(--display);font-stretch:75%;
}

.article-paywall{
  max-width:760px;margin-inline:auto;padding:48px 40px;border:1.5px solid var(--rule);background:var(--panel);
  display:flex;flex-direction:column;gap:16px;align-items:flex-start;
}
.article-paywall .paywall-mark{color:var(--orange);font-size:28px}
.article-paywall .mono{color:var(--muted)}
.article-paywall h2{margin:0;font:900 clamp(32px,4vw,52px)/.92 var(--display);font-stretch:78%;letter-spacing:-.035em}
.article-paywall p{margin:0;max-width:44ch;color:var(--muted);font-size:16px;line-height:1.5}
.paywall-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.paywall-primary{
  display:inline-flex;align-items:center;min-height:52px;padding:0 24px;border-radius:var(--r-ctl);
  background:var(--ink);color:var(--paper);font-weight:700;font-size:16px;
}
.paywall-actions > a:not(.paywall-primary){
  display:inline-flex;align-items:center;min-height:52px;padding:0 24px;border-radius:var(--r-ctl);
  border:1.5px solid var(--rule);font-weight:600;font-size:16px;
}
.article-paywall small{color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}

.article-membership-card{
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  margin:88px var(--gutter) 0;background:var(--feature);color:var(--on-dark);
}
.article-membership-card > div{padding:44px 36px}
.article-membership-card > div + div{
  border-left:1px solid var(--rule-dark);display:flex;flex-direction:column;justify-content:center;
}
.article-membership-card span{
  color:var(--orange);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.article-membership-card h2{
  margin:36px 0 0;font:900 clamp(48px,7.6vw,116px)/.82 var(--display);font-stretch:75%;letter-spacing:-.045em;
}
.article-membership-card h2 span{color:var(--orange);font:inherit}
.article-membership-card p{margin:0 0 24px;color:var(--on-dark-muted);font-size:16px;line-height:1.5}
.article-membership-card > div + div > a{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:56px;padding:0 24px;border-radius:var(--r-ctl);background:var(--orange);color:#171715;
  font-weight:700;font-size:16px;
}
.article-membership-card > div + div > a:hover{background:var(--on-dark);color:#171715}
.article-membership-card i{font-style:normal}
.article-membership-card small{
  display:flex;justify-content:space-between;gap:16px;margin-top:16px;color:var(--on-dark-muted);
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.article-membership-card small a{color:var(--on-dark);border-bottom:1px solid currentColor}

.article-map-feature{margin:56px var(--gutter);border:1.5px solid var(--rule)}
.article-map-feature > header{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;
  padding:14px 16px;border-bottom:1.5px solid var(--rule);
}
.article-map-feature > header .mono{color:var(--muted)}
.article-map-feature > header h2{
  margin:0;font:900 clamp(24px,3vw,40px)/.95 var(--display);font-stretch:78%;letter-spacing:-.035em;
}
.article-map-feature .route-stage{min-height:0;height:auto;max-height:none}

.case-next{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;
  padding:72px var(--gutter);
}
.case-next .mono{color:var(--muted)}
.case-next > a{
  display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;
  padding:20px 0;border-top:1.5px solid var(--rule);border-bottom:1.5px solid var(--rule);
  font:900 clamp(34px,7.2vw,112px)/.86 var(--display);font-stretch:75%;letter-spacing:-.04em;
}
.case-next > a i{font-style:normal;color:var(--orange)}
.case-next-meta,.case-next-footer{color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.case-next-entry{
  display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;
  padding:12px 0 24px;border-bottom:1.5px solid var(--rule);
  font:900 clamp(34px,7.2vw,112px)/.86 var(--display);font-stretch:75%;letter-spacing:-.04em;
}
.case-next-entry i{color:var(--orange);font-style:normal;font-weight:400}
.case-next-footer{display:flex;justify-content:space-between;width:100%}
.case-next-footer a{color:var(--orange)}

/* ==========================================================================
   11. responsive
   ========================================================================== */
@media(max-width:1180px){
  .post-card:not(:first-child){grid-template-columns:64px 130px minmax(0,1fr) 130px 90px}
  .post-card:not(:first-child) .post-duration{display:none}
}

@media(max-width:980px){
  .site-header{gap:12px}
  .brand-lockup-header .brand-word::before{font-size:17px}
  .brand-lockup-header{padding-right:12px}
  .nav a,.nav-more-trigger{padding-inline:10px;font-size:12px}
  .header-actions{gap:6px;margin-left:0;padding-left:8px}
  .header-member-login{font-size:13px}
  .header-actions .theme-btn{display:none}
  .journal-front{grid-template-columns:1fr;padding-top:72px}
  .journal-rail-story{grid-template-columns:110px 190px minmax(0,1fr)}
  .journal-deck{grid-template-columns:1fr}
  .journal-hero{grid-template-columns:1fr}
  .journal-membership,.article-membership-card{grid-template-columns:1fr}
  .membership-card-left,.membership-card-right{grid-column:1;min-height:0}
  .membership-card-right{border-left:0;border-top:1px solid var(--rule-dark);padding-top:8px}
  .membership-card-top{grid-template-columns:1fr 1fr;row-gap:4px;padding-block:10px}
  .membership-card-top > span:last-child{text-align:left}
  .article-membership-card > div + div{border-left:0;border-top:1px solid var(--rule-dark)}
  .journal-access-band{grid-template-columns:1fr}
  .journal-access-intro{min-height:0;padding:52px 32px}
  .journal-access-plans{border-left:0;border-top:1px solid var(--rule-dark)}
  .reference-footer .footer-links{grid-template-columns:1fr repeat(3,max-content);row-gap:14px}
}

@media(max-width:760px){
  :root{--header-h:56px}
  body > main{border-inline:0}
  .brand-lockup-header{height:36px;padding-right:0;border-right:0}
  .nav{
    display:none;position:fixed;inset:var(--header-h) 0 auto;flex-direction:column;align-items:stretch;
    gap:0;margin:0;padding:10px var(--gutter) 18px;background:var(--orange);color:#171715;
    border:0;border-bottom:1.5px solid #171715;border-radius:0;box-shadow:0 18px 34px rgba(10,10,9,.15);
  }
  .nav.open{display:flex}
  .nav a{justify-content:flex-start;height:50px;padding-inline:12px;border-top:1px solid rgba(23,23,21,.22);border-radius:0;font-size:17px}
  .nav > a:first-child{border-top:0}
  .nav a:hover{background:rgba(238,237,232,.42);box-shadow:none;color:#171715;transform:none}
  .nav a.active{padding-left:18px;background:#171715;color:#eeede8;box-shadow:none}
  .nav-more{display:block}
  .nav-more-trigger{display:none}
  .nav-more-panel{display:flex;position:static;min-width:0;padding:0;border:0;background:transparent}
  .nav-more-panel a{height:48px;padding-inline:0;font-size:17px}
  .header-actions{display:none}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .member-presence-chip{display:none}

  .journal-edition,.journal-meta-strip{grid-template-columns:1fr 1fr;row-gap:2px;padding-block:8px}
  .journal-edition > span:last-child,
  .journal-meta-strip > span:last-child{text-align:left}
  .journal-title-row{min-height:44vw;padding-top:28px}
  .journal-title-row h1{font-size:36vw}
  .journal-deck{padding-block:32px 40px;gap:28px}
  .journal-front{padding-top:64px}
  .journal-lead-copy h2{font-size:30px}
  .journal-rail-story{grid-template-columns:64px 104px minmax(0,1fr);min-height:118px}
  .journal-rail-date{padding:12px}
  .journal-rail-date time strong{font-size:30px}
  .journal-rail-copy{padding:12px}
  .journal-rail-copy h3{font-size:18px}
  .journal-rail-copy small{font-size:10px}

  .journal-hero{padding-block:36px}
  .journal-hero h1{font-size:23vw}
  .journal-controls{gap:10px}
  .journal-result-count{margin-left:0;width:100%;order:3}

  .article-preview-dialog{width:calc(100% - 12px);max-height:calc(100dvh - 12px);padding:12px 8px 12px 12px}
  .article-preview-content{padding:0 7px 7px 0}
  .article-preview-content::before{inset:7px 0 0 7px;background-size:9px 9px}
  .article-preview-card{transform:none;box-shadow:4px 4px 0 rgba(10,10,9,.3)}
  .article-preview-dialog[open] .article-preview-card{animation-name:kobro-preview-pop-mobile}
  .article-preview-media{aspect-ratio:4/3}
  .article-preview-lock,.article-preview-ticket{left:12px;bottom:12px;padding:8px 9px;box-shadow:3px 3px 0 #171715;font-size:9px}
  .article-preview-close{top:1px;right:1px;min-height:40px;padding:3px;border-width:1.5px;box-shadow:3px 3px 0 #171715}
  .article-preview-close > span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .article-preview-close b{width:32px;height:32px;border-width:1.5px;font-size:20px}
  .article-preview-copy{gap:12px;padding:24px 20px 26px}
  .article-preview-copy::after{right:18px;top:18px;font-size:30px}
  .article-preview-meta{max-width:calc(100% - 36px);padding-right:8px;font-size:10px}
  .article-preview-copy h2{font-size:clamp(31px,10vw,44px)}
  .article-preview-actions{display:grid;grid-template-columns:1fr}
  .article-preview-primary,.article-preview-secondary{justify-content:center;width:100%}

  .post-card:first-child{grid-template-columns:1fr;grid-template-rows:auto}
  .post-card:first-child .post-art{grid-column:1;grid-row:1;aspect-ratio:4/3;border-right:0;border-bottom:1.5px solid var(--rule)}
  .post-card:first-child .post-info,
  .post-card:first-child h2,
  .post-card:first-child p,
  .post-card:first-child .post-date,
  .post-card:first-child .post-duration,
  .post-card:first-child .post-card-read{grid-column:1;grid-row:auto}
  .post-card:first-child .post-info{border-bottom:0;padding-top:14px}
  .post-card:first-child .post-duration{justify-self:start}
  .post-card:not(:first-child){
    grid-template-columns:116px minmax(0,1fr);grid-template-rows:auto 1fr auto;
    gap:0;padding:16px 0;min-height:148px;align-items:start;
  }
  .post-card:not(:first-child) .post-art{
    grid-column:1;grid-row:1/-1;min-height:116px;align-self:start;aspect-ratio:1/1;border:1px solid var(--rule-soft);
  }
  .post-card:not(:first-child) .post-info{grid-column:2;grid-row:1;padding:2px 0 8px 14px}
  .post-card:not(:first-child) h2{grid-column:2;grid-row:2;padding:0 0 0 14px;font-size:25px}
  .post-card:not(:first-child) p,
  .post-card:not(:first-child) .post-date,
  .post-card:not(:first-child) .post-duration{display:none}
  .post-card:not(:first-child) .post-card-read{
    grid-column:2;grid-row:3;align-self:end;margin:10px 0 1px 14px;font-size:12px;
  }

  .article-head-v3{padding-bottom:32px}
  .article-head-v3 h1{font-size:15vw}
  .article-body{font-size:17px}
  .article-body blockquote{padding:22px 0 22px 44px;font-size:26px}
  .article-body blockquote::before{font-size:52px;top:12px}
  .article-cover,.article-map-feature{margin-inline:var(--gutter)}
  .article-layout{padding-top:48px}
  .article-rail{margin-bottom:36px}
  .article-rail dl{grid-template-columns:1fr}
  .article-rail dl > div{padding:14px 10px;border-right:0}
  .article-rail dl > div + div{border-top:1px solid var(--rule-soft)}
  .article-rail dd{font-size:13px;word-break:break-word}
  .article-action-cell{min-width:0}
  .article-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .article-action{width:100%;min-width:0}
  .article-membership-card > div{padding:32px 20px}
  .journal-membership{margin-inline:var(--gutter)}
  .membership-card-left{padding:28px 20px}
  .membership-card-right{padding-inline:20px}
  .journal-access-band{margin-top:72px}
  .journal-access-intro{padding:42px 20px}.journal-access-intro h2{font-size:58px}
  .journal-access-plans{grid-template-columns:1fr}
  .journal-access-plan{min-height:270px;padding:28px 20px}
  .journal-access-plan+.journal-access-plan{border-left:0}
  .journal-access-plan strong{font-size:34px}
  .journal-access-login{align-items:flex-start;flex-direction:column;padding:22px 20px}
  .reference-footer .footer-links{grid-template-columns:1fr 1fr;row-gap:12px}
  .reference-footer .footer-links > span:first-child{grid-column:1/-1}
  .reference-footer .footer-back-to-top{justify-self:start}
}

@keyframes kobro-preview-pop-mobile{
  from{opacity:0;transform:translateY(20px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto}
}

/* ==========================================================================
   12. SUB PAGES — about, contact, store, product, membership, utility
   Same tokens, rules and type scale as home / journal / article.
   ========================================================================== */

/* ---------- 12.1 shared page shells ---------- */
.page-hero-v3{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  gap:24px 40px;align-items:end;padding:56px var(--gutter);
  border-bottom:1.5px solid var(--rule);overflow:hidden;
}
.page-hero-v3 .crumb{
  grid-column:1/-1;color:var(--muted);font-family:var(--mono);font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;
}
.page-hero-v3 h1{
  margin:0;font:900 clamp(84px,17vw,240px)/.78 var(--display);
  font-stretch:75%;letter-spacing:-.045em;
}
.page-hero-v3 .lede{
  margin:0 0 14px;max-width:34ch;
  font-size:clamp(19px,2.2vw,28px);line-height:1.25;font-weight:500;letter-spacing:-.012em;
}
.page-count{
  align-self:end;justify-self:end;color:var(--muted);
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.page-hero-v3 > img{
  position:absolute;right:var(--gutter);bottom:0;width:auto;max-height:230px;pointer-events:none;
}

.section-v3{padding:72px var(--gutter)}
.section-title-v3{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;
  padding-bottom:16px;margin-bottom:36px;border-bottom:1.5px solid var(--rule);
}
.section-title-v3 .mono{color:var(--muted)}
.section-title-v3 h2{
  margin:0;font:900 clamp(34px,5.4vw,88px)/.88 var(--display);
  font-stretch:75%;letter-spacing:-.04em;
}
.section-title-v3 .right{margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}

/* ---------- 12.2 about ---------- */
.dr-turnaround{margin:0 var(--gutter);border:1.5px solid var(--rule);background:var(--panel)}
.dr-turnaround img{width:100%;height:auto}
.dr-turnaround figcaption{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  padding:12px 16px;border-top:1.5px solid var(--rule);background:var(--paper);
  color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.dr-turnaround figcaption span + span{text-align:center}
.dr-turnaround figcaption span:last-child{text-align:right}

.about-letter{
  display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);
  gap:48px;padding:88px var(--gutter);
}
.about-letter-intro{
  display:flex;flex-direction:column;gap:14px;align-self:start;
  position:sticky;top:calc(var(--header-h) + 24px);
  padding-top:14px;border-top:2px solid var(--rule);
}
.about-letter-intro .mono{color:var(--muted)}
.about-letter-intro h2{
  margin:0;font:900 clamp(40px,4.6vw,72px)/.88 var(--display);font-stretch:75%;letter-spacing:-.04em;
}
.about-letter-place{
  color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.about-letter-copy{max-width:680px;font-size:18px;line-height:1.75}
.about-letter-copy p{margin:0 0 1.5em}
.about-letter-copy > p:first-child{font-size:22px;line-height:1.5;font-weight:500;letter-spacing:-.015em}
.about-letter-signature{
  margin-top:2em;padding-top:18px;border-top:1.5px solid var(--rule);
  font:900 26px/1 var(--display);font-stretch:75%;letter-spacing:-.02em;
}

/* ---------- 12.3 contact ---------- */
.contact-page{display:flex;flex-direction:column;gap:32px}
.contact-switch{display:flex;gap:8px}
.contact-form{
  display:flex;flex-direction:column;gap:20px;max-width:760px;
  padding:36px;border:1.5px solid var(--rule);background:var(--surface);
}
.form-intro{margin:0;color:var(--muted);font-size:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form label{
  display:flex;flex-direction:column;gap:8px;
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;padding:14px 16px;border:1.5px solid var(--rule);background:var(--paper);
  font-family:var(--display);font-size:16px;letter-spacing:-.01em;text-transform:none;color:var(--ink);
}
.contact-form textarea{resize:vertical;min-height:170px;line-height:1.6}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{outline:2px solid var(--orange);outline-offset:1px}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.form-foot button{
  min-height:56px;padding:0 28px;border-radius:var(--r-ctl);background:var(--ink);color:var(--paper);
  font-weight:700;font-size:16px;
}
.form-foot button:hover{background:var(--orange);color:#171715}
.form-status{color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}

/* ---------- 12.4 store ---------- */
.shop-hero{
  min-height:440px;grid-template-rows:auto 1fr auto;background:var(--orange);color:#171715;
}
.shop-kicker{grid-column:1/-1;align-self:start;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.shop-hero h1{grid-column:1;grid-row:2;align-self:end;font-size:clamp(110px,19vw,278px)}
.shop-hero .lede{grid-column:2;grid-row:2;align-self:center;max-width:26ch;color:#171715}
.shop-hero-notes{
  grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(3,max-content);gap:26px;
  padding-top:18px;border-top:1px solid rgba(23,23,21,.55);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
}
.shop-hero-notes span::before{content:'✦';margin-right:8px}
.shop-hero > img{right:33%;max-height:250px;filter:drop-shadow(0 16px 18px rgba(23,23,21,.17))}
.slab-market{padding-top:62px}
.market-intro{
  display:flex;justify-content:space-between;align-items:end;gap:28px;max-width:none;
  margin-bottom:24px;color:var(--muted);font-size:17px;line-height:1.5;
}
.market-intro p{max-width:58ch;margin:0}
.store-availability{flex:none;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.store-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.market-filters{margin:0}
.market-filters .filter{display:inline-flex;align-items:center;gap:10px}
.market-filters .filter small{
  display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:1px solid currentColor;border-radius:var(--r-ctl);
  font:500 10px/1 var(--mono);
}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-card-v3{
  display:flex;flex-direction:column;min-width:0;border:1.5px solid var(--rule);background:var(--surface);overflow:hidden;
}
.product-card-v3:hover{background:var(--paper)}
.product-link{display:block}
.product-image{
  position:relative;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;
  background:var(--panel);border-bottom:1.5px solid var(--rule);
}
.product-image::after{
  content:'';position:absolute;inset:auto 0 0;height:28%;pointer-events:none;
  background:linear-gradient(transparent,rgba(8,8,7,.55));opacity:0;transition:opacity .3s ease;
}
.product-image-action{
  position:absolute;z-index:2;right:14px;bottom:14px;padding:8px 11px;background:var(--paper);color:var(--ink);
  border:1px solid var(--rule);font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;
}
.product-card-v3:hover .product-image::after,
.product-card-v3:focus-within .product-image::after,
.product-card-v3:hover .product-image-action,
.product-card-v3:focus-within .product-image-action{opacity:1;transform:none}
.product-photo{width:100%;height:100%;object-fit:cover}
.product-symbol{width:100%;height:100%;display:block;padding:0}
.product-symbol img{width:100%;height:100%;object-fit:cover}
.product-copy{display:flex;flex:1;flex-direction:column;gap:11px;min-height:226px;padding:20px}
.product-topline{
  display:flex;justify-content:space-between;gap:16px;
  color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.product-stock{display:inline-flex;align-items:center;gap:6px;text-align:right}
.product-stock::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none}
.product-stock.is-sold-out::before{background:var(--muted)}
.product-card-v3 h3{margin:0;font:800 26px/1.05 var(--display);letter-spacing:-.025em}
.product-card-v3 p{margin:0;color:var(--muted);font-size:15px;line-height:1.45}
.product-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:auto;padding-top:14px;border-top:1px solid var(--rule-soft);
}
.price{font:800 20px/1 var(--display);letter-spacing:-.02em}
.product-actions{display:flex;align-items:center;gap:8px}
.product-view{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 13px;
  border:1px solid var(--rule-soft);border-radius:var(--r-ctl);font-size:13px;font-weight:600;
}
.product-view:hover{border-color:var(--ink);background:var(--paper)}
.add-btn{
  min-height:42px;padding:0 16px;border-radius:var(--r-ctl);background:var(--ink);color:var(--paper);
  font-weight:600;font-size:14px;
}
.add-btn:hover{background:var(--orange);color:#171715}
.add-btn[disabled]{background:transparent;color:var(--muted);border:1px solid var(--rule-soft);cursor:not-allowed}
.store-loading,.store-empty{
  grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  min-height:260px;padding:42px;border:1.5px solid var(--rule);background:var(--surface);
}
.store-loading{flex-direction:row;align-items:center;min-height:120px;color:var(--muted)}
.store-loading span{color:var(--orange);animation:storePulse 1.1s ease-in-out infinite alternate}
.store-empty h3{margin:0;font:800 36px/1 var(--display)}
.store-empty p{margin:0;color:var(--muted)}
@keyframes storePulse{to{transform:rotate(45deg) scale(1.15)}}
.store-service-band{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 var(--gutter) 72px;
  border:1.5px solid #3d3c38;background:#171715;color:#f3f0e8;
}
.store-service-band article{min-height:230px;padding:30px;display:flex;flex-direction:column;gap:18px}
.store-service-band article + article{border-left:1px solid #3d3c38}
.store-service-band article > span{color:var(--orange);font:500 11px/1 var(--mono);letter-spacing:.08em}
.store-service-band h2{margin:auto 0 0;font:800 clamp(28px,3vw,46px)/.92 var(--display);letter-spacing:-.035em}
.store-service-band p{margin:0;max-width:34ch;color:#aaa79f;font-size:14px;line-height:1.5}
.store-footer{padding:0}
.store-footer-lead{
  display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) max-content;gap:32px;align-items:center;
  min-height:150px;padding:32px var(--gutter);border-bottom:1px solid var(--rule-soft);
}
.store-footer-lead p{margin:0;max-width:34ch;color:var(--muted);font-size:16px;line-height:1.45}
.store-footer-top{border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.store-footer .footer-links{grid-template-columns:1fr repeat(6,max-content);padding:24px var(--gutter)}
.store-footer .brand-lockup-footer .brand-star{order:-1}
.store-footer .brand-lockup-footer .brand-word::before{font-size:clamp(38px,5vw,70px)}
.store-footer .brand-lockup-footer .brand-star{font-size:clamp(28px,3.5vw,48px)}
.store-footer a:focus-visible,.product-card-v3 a:focus-visible,.product-card-v3 button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.empty-note,.clean-empty{color:var(--muted);font-size:16px}

/* graded-card slab display */
.kobro-slab{
  display:flex;flex-direction:column;gap:10px;width:100%;height:100%;padding:14px;
  background:var(--paper);border:1.5px solid var(--rule);
}
.kobro-slab-label{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;
  padding-bottom:10px;border-bottom:1.5px solid var(--rule);
}
.kobro-slab-brand,.kobro-slab-number,.kobro-slab-grader,.kobro-slab-cert span{
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}
.kobro-slab-title{display:block;font:800 17px/1.1 var(--display);letter-spacing:-.02em}
.kobro-slab-grade{text-align:right}
.kobro-slab-grade b{display:block;font:900 26px/1 var(--display);font-stretch:75%;color:var(--orange)}
.kobro-slab-cert{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px}
.kobro-slab-card{flex:1;display:grid;place-items:center;overflow:hidden;background:var(--panel)}
.kobro-slab-card img{width:100%;height:100%;object-fit:cover}
.kobro-slab-card-empty{display:grid;justify-items:center;gap:10px;padding:24px;color:var(--muted)}
.kobro-slab-card-empty img{width:90px}
.kobro-slab-card-empty .kobro-slab-empty-mark{color:var(--orange);opacity:.85}
.kobro-slab-card-empty span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.kobro-slab-foot{
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
}

/* ---------- 12.5 product detail ---------- */
.product-detail{
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:40px;padding:48px var(--gutter) 0;
}
.product-detail-art{border:1.5px solid var(--rule);background:var(--panel)}
.product-carousel{position:relative}
.product-carousel-stage,.kobro-slab-stage{aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden}
.product-carousel-stage img{width:100%;height:100%;object-fit:cover}
.carousel-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:var(--r-ctl);background:var(--paper);border:1.5px solid var(--rule);
  display:grid;place-items:center;
}
.carousel-prev{left:12px}
.carousel-next{right:12px}
.carousel-count{
  position:absolute;left:12px;bottom:12px;padding:5px 9px;background:var(--ink);color:var(--paper);
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;
}
.product-thumbs{
  display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-top:1.5px solid var(--rule);background:var(--paper);
}
.product-thumbs img,.product-thumbs button{
  width:64px;height:64px;object-fit:cover;border:1.5px solid var(--rule-soft);background:var(--panel);padding:0;
}
.product-thumbs .active,.product-thumbs [aria-current="true"]{border-color:var(--orange)}
.product-detail-copy{display:flex;flex-direction:column;gap:18px}
.crumbs{color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.product-detail-copy h1{
  margin:0;font:900 clamp(36px,5.2vw,76px)/.9 var(--display);font-stretch:78%;letter-spacing:-.04em;
}
.product-detail-copy > p{margin:0;max-width:52ch;color:var(--muted);font-size:17px;line-height:1.55}
.product-detail-price{font:900 40px/1 var(--display);font-stretch:75%;letter-spacing:-.03em}
.product-spec{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1.5px solid var(--rule);
}
.product-spec > div,.product-spec > span{
  display:flex;flex-direction:column;gap:6px;padding:14px 0;border-bottom:1px solid var(--rule-soft);
}
.product-spec dt,.product-spec small{color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.product-spec dd,.product-spec strong{margin:0;font-size:16px;font-weight:600}
.product-variant{
  min-height:52px;padding:0 18px;border:1.5px solid var(--rule);background:var(--paper);font-size:16px;
}
.detail-add{
  display:inline-flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:56px;padding:0 26px;border-radius:var(--r-ctl);background:var(--ink);color:var(--paper);
  font-weight:700;font-size:16px;
}
.detail-add:hover{background:var(--orange);color:#171715}
.product-detail-note{color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.product-more{padding:72px var(--gutter) 0}

/* ---------- 12.6 membership ---------- */
.membership-main{display:flex;flex-direction:column}
.membership-hero{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);min-height:620px;
  border-bottom:1.5px solid var(--rule);
}
.membership-story{
  position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:36px;
  padding:72px var(--gutter) 48px;overflow:hidden;
}
.membership-story img{position:absolute;right:var(--gutter);bottom:0;max-height:260px;width:auto;pointer-events:none}
.membership-story-copy{display:flex;flex-direction:column;gap:22px;position:relative;z-index:1}
.membership-kicker{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}
.membership-kicker i{width:9px;height:9px;border-radius:50%;background:var(--orange)}
.membership-story h1{
  margin:0;max-width:10ch;font:900 clamp(54px,8vw,124px)/.82 var(--display);
  font-stretch:75%;letter-spacing:-.045em;
}
.membership-story p{margin:0;max-width:44ch;font-size:19px;line-height:1.45;color:var(--muted)}
.membership-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;z-index:1;max-width:620px;border-block:1px solid var(--rule-soft)}
.membership-signals span{
  padding:12px 10px;border-right:1px solid var(--rule-soft);text-align:center;
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.membership-signals span:last-child{border-right:0}
.membership-plan{
  display:flex;flex-direction:column;gap:24px;padding:48px 40px;
  background:var(--feature);color:var(--on-dark);border-left:1.5px solid var(--rule);
}
.membership-plan-head{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--orange)}
.membership-plan-dot{width:10px;height:10px;border-radius:50%;background:var(--orange)}
.membership-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}
.membership-price strong{font:900 clamp(38px,4vw,60px)/.9 var(--display);font-stretch:75%;letter-spacing:-.03em}
.membership-price .mono{color:var(--on-dark-muted)}
.membership-deadline{margin:0;color:var(--on-dark-muted);font-size:15px;line-height:1.5}
.membership-plan ul{display:flex;flex-direction:column;gap:0}
.membership-plan li{
  position:relative;padding:16px 0 16px 26px;border-bottom:1px solid var(--rule-dark);font-size:15px;
}
.membership-plan li::before{content:'✦';position:absolute;left:0;top:14px;color:var(--orange);font-size:12px}
.member-plan-cta{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;
  min-height:56px;padding:0 24px;border-radius:var(--r-ctl);background:var(--orange);color:#171715;
  font-weight:700;font-size:16px;
}
.member-plan-cta:hover{background:var(--on-dark);color:#171715}

.membership-desk{
  display:grid;grid-template-columns:minmax(240px,300px) minmax(0,640px);justify-content:center;
  gap:72px;padding:88px var(--gutter) 104px;
}
.membership-intro{display:flex;flex-direction:column;gap:18px;align-self:start}
.membership-intro .mono{color:var(--muted)}
.membership-intro h2{
  margin:0;font:900 clamp(34px,4.2vw,64px)/.88 var(--display);font-stretch:75%;letter-spacing:-.04em;
}
.membership-intro p{margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.membership-assurance{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1.5px solid var(--rule)}
.membership-assurance span{display:flex;gap:10px;font-size:15px}
.membership-assurance i{font-style:normal;color:var(--orange)}
.membership-stack{display:flex;flex-direction:column;gap:20px}
body.has-reader-session .membership-desk{display:block;width:min(900px,100%);margin-inline:auto}
body.has-reader-session .membership-stack{width:100%;max-width:820px;margin-inline:auto}

.member-auth-tabs{display:flex;border:1.5px solid var(--rule);border-radius:var(--r-ctl);overflow:hidden;width:max-content}
.member-auth-tabs button{
  min-width:110px;padding:12px 20px;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
.member-auth-tabs button + button{border-left:1.5px solid var(--rule)}
.member-auth-tabs button[aria-selected="true"]{background:var(--orange);color:#171715}
.member-notice{
  padding:14px 18px;border:1.5px solid var(--orange);background:rgba(224,88,47,.1);font-size:15px;
}
.member-card{
  display:flex;flex-direction:column;gap:18px;padding:36px;
  border:1.5px solid var(--rule);background:var(--surface);
}
.member-card > .mono{color:var(--muted)}
.member-card h2{margin:0;font:900 clamp(28px,3.4vw,48px)/.92 var(--display);font-stretch:78%;letter-spacing:-.035em}
.member-card h3{margin:0;font:800 24px/1.1 var(--display);letter-spacing:-.02em}
.member-card p{margin:0;max-width:52ch;color:var(--muted);font-size:16px;line-height:1.55}
.member-loading-card{align-items:flex-start}
.member-loader{
  width:22px;height:22px;border:2px solid var(--rule-soft);border-top-color:var(--orange);border-radius:50%;
  animation:memberSpin .9s linear infinite;
}
@keyframes memberSpin{to{transform:rotate(360deg)}}

.member-pass{position:relative;padding:28px;background:var(--feature);color:var(--on-dark);overflow:hidden}
.member-pass-grid,.member-pass-orbit,.member-pass-scan{display:none}
.member-pass-top{
  display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;
  border-bottom:1px solid var(--rule-dark);
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-muted);
}
.member-pass-live{display:flex;align-items:center;gap:8px;color:var(--orange)}
.member-pass-live i{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.member-pass-main{display:flex;align-items:center;gap:22px;padding:26px 0}
.member-pass-main img{width:96px;height:auto}
.member-pass-main .mono{color:var(--on-dark-muted)}
.member-pass-main h2{margin:6px 0 8px;font:900 clamp(30px,3.6vw,52px)/.9 var(--display);font-stretch:75%;letter-spacing:-.04em}
.member-pass-main p{margin:0;color:var(--on-dark-muted);font-size:16px}
.member-pass-foot{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
  padding-top:18px;border-top:1px solid var(--rule-dark);
}
.member-pass-foot small{
  display:block;color:var(--on-dark-muted);font:400 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
.member-pass-foot strong{display:block;margin-top:6px;font-size:15px;word-break:break-word}

.member-premium-panel{
  display:flex;flex-direction:column;gap:18px;padding:24px;border:1.5px solid var(--rule);background:var(--paper);
}
.member-premium-panel .mono{color:var(--muted)}
.member-premium-benefits{display:flex;flex-direction:column;gap:10px}
.member-premium-benefits span{display:flex;gap:12px;align-items:baseline;font-size:16px}
.member-premium-benefits i{font-style:normal;color:var(--orange);font-family:var(--mono);font-size:12px}
.member-account-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.member-account-meta .mono{display:block;color:var(--muted);margin-bottom:6px}
.member-account-meta strong{font-size:16px}
.member-actions{display:flex;flex-wrap:wrap;gap:10px}
.member-button{
  display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border-radius:var(--r-ctl);
  background:var(--ink);color:var(--paper);font-weight:700;font-size:16px;
}
.member-button:hover{background:var(--orange);color:#171715}
.member-button.secondary{background:transparent;color:var(--ink);border:1.5px solid var(--rule)}
.member-button.secondary:hover{background:var(--ink);color:var(--paper)}
.member-upgrade-button{background:var(--orange);color:#171715}
.member-form{display:flex;flex-direction:column;gap:16px;max-width:460px}
.member-form label{
  display:flex;flex-direction:column;gap:8px;
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}
.member-form input{
  padding:14px 16px;border:1.5px solid var(--rule);background:var(--paper);
  font-family:var(--display);font-size:16px;text-transform:none;letter-spacing:-.01em;
}
.member-status{margin:0;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.member-inline-switch{
  align-self:flex-start;padding:0;font-weight:600;font-size:15px;border-bottom:1px solid currentColor;
}
.member-security{color:var(--muted);font-size:14px;line-height:1.5}
.membership-success-main{display:grid;place-items:center;padding:96px var(--gutter)}
.membership-success-card{
  display:flex;flex-direction:column;gap:16px;align-items:flex-start;
  max-width:620px;padding:44px;border:1.5px solid var(--rule);background:var(--surface);
}

/* ---------- 12.7 utility pages ---------- */
.missing,.success-page,.redirect-page{
  display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  min-height:56vh;padding:96px var(--gutter);
}
.missing .mono,.success-page .mono,.redirect-page .mono,
.membership-success-card .mono{color:var(--muted)}
.missing h1,.success-page h1,.redirect-page h1,.membership-success-card h1{
  margin:0;max-width:14ch;
  font:900 clamp(48px,9vw,132px)/.84 var(--display);font-stretch:75%;letter-spacing:-.045em;
}
.missing p,.success-page p,.redirect-page p,.membership-success-card p{
  margin:0;max-width:46ch;color:var(--muted);font-size:17px;line-height:1.55;
}
.success-mark{color:var(--orange);font-size:32px;line-height:1}
.mascot-missing img{width:150px;margin-bottom:8px}
.text-link{
  display:inline-flex;align-items:center;min-height:52px;padding:0 24px;margin-top:8px;
  border:1.5px solid var(--rule);border-radius:var(--r-ctl);font-weight:600;font-size:16px;
}
.text-link:hover{background:var(--ink);color:var(--paper)}

/* ---------- 12.8 sub-page responsive ---------- */
@media(max-width:980px){
  .page-hero-v3{grid-template-columns:1fr}
  .page-hero-v3 > img{display:none}
  .shop-hero{grid-template-rows:auto 1fr auto auto;min-height:410px}
  .shop-hero h1{grid-column:1;grid-row:2}
  .shop-hero .lede{grid-column:1;grid-row:3;max-width:38ch;margin-bottom:24px}
  .shop-hero-notes{grid-row:4}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .store-footer-lead{grid-template-columns:1fr 1fr}
  .store-footer-top{grid-column:1/-1;justify-self:start}
  .store-footer .footer-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .store-footer .footer-links > span:first-child{grid-column:1/-1}
  .product-detail{grid-template-columns:1fr}
  .about-letter{grid-template-columns:1fr;gap:28px;padding-block:56px}
  .about-letter-intro{position:static}
  .membership-hero,.membership-desk{grid-template-columns:1fr}
  .membership-plan{border-left:0;border-top:1.5px solid var(--rule)}
  .membership-story img{display:none}
  .membership-desk{gap:32px}
}
@media(max-width:760px){
  .page-hero-v3{padding-block:36px}
  .page-hero-v3 h1{font-size:19vw}
  .shop-hero{min-height:390px;padding-block:28px}
  .shop-hero h1{font-size:25vw}
  .shop-hero-notes{grid-template-columns:1fr;gap:8px;padding-top:14px}
  .section-v3{padding-block:48px}
  .dr-turnaround figcaption{grid-template-columns:repeat(2,1fr);row-gap:6px}
  .dr-turnaround figcaption span:nth-child(even){text-align:right}
  .dr-turnaround figcaption span:nth-child(odd){text-align:left}
  .about-letter-copy{font-size:17px}
  .contact-form{padding:22px}
  .form-row{grid-template-columns:1fr}
  .market-intro{display:block}
  .store-availability{margin-top:14px!important}
  .product-grid{grid-template-columns:1fr}
  .product-copy{min-height:0}
  .store-service-band{grid-template-columns:1fr;margin-bottom:48px}
  .store-service-band article{min-height:190px;padding:24px}
  .store-service-band article + article{border-left:0;border-top:1px solid #3d3c38}
  .store-footer-lead{grid-template-columns:1fr;gap:18px;min-height:0;padding-block:28px}
  .store-footer .footer-links{grid-template-columns:1fr 1fr;gap:12px;padding-block:22px}
  .store-footer .footer-links > span:first-child{grid-column:1/-1}
  .product-spec{grid-template-columns:1fr}
  .member-card,.membership-success-card{padding:22px}
  .member-pass{padding:20px}
  .member-pass-main{flex-direction:column;align-items:flex-start;gap:14px}
  .member-pass-foot{grid-template-columns:1fr;gap:12px}
  .member-account-meta{grid-template-columns:1fr}
  .membership-story,.membership-plan{padding:36px 20px}
  .missing,.success-page,.redirect-page,.membership-success-main{padding:64px var(--gutter)}
  .scheduled-release{margin:36px var(--gutter) 0}
  .scheduled-release-card{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .scheduled-release-signal{grid-column:1}
  .scheduled-release-media{min-height:250px;border-right:0;border-bottom:1px solid var(--rule)}
  .scheduled-release-copy{padding:32px 20px 26px}.scheduled-release-copy h2{font-size:42px}
  .scheduled-countdown>span{padding:12px 8px}.scheduled-countdown strong{font-size:27px}
  .scheduled-article-hero{padding:36px var(--gutter) 48px}.scheduled-article-grid{grid-template-columns:1fr;padding:36px 0;gap:36px}
  .scheduled-article-copy h1{font-size:52px}.scheduled-article-cover{aspect-ratio:16/11}
  .scheduled-article-foot{flex-direction:column}
}

@media(hover:none){
  .product-image-action{opacity:1;transform:none}
}

/* ---------- 13. motion polish ---------- */
body:not(.admin-body) > .site-header{animation:siteHeaderIn .46s cubic-bezier(.2,.75,.2,1) both}
body:not(.admin-body) > main{animation:sitePageIn .56s cubic-bezier(.2,.75,.2,1) both}
.journal-front > *,
.journal-membership,
.section-v3 > *,
.membership-hero > *,
.membership-desk > *,
.about-letter > *,
.contact-layout > *{animation:siteContentIn .62s cubic-bezier(.2,.75,.2,1) both}
.journal-front > :nth-child(2),.membership-hero > :nth-child(2),.membership-desk > :nth-child(2){animation-delay:.08s}

.home-article-card,
.home-feature-card,
.journal-lead-story,
.journal-rail-story,
.post-card,
.product-card-v3,
.member-card,
.article-membership-card{
  transition:transform .24s cubic-bezier(.2,.75,.2,1),box-shadow .24s ease,border-color .24s ease,background-color .24s ease;
}
.home-article-card:hover,
.home-feature-card:hover,
.journal-lead-story:hover,
.journal-rail-story:hover,
.post-card:hover,
.product-card-v3:hover{transform:translateY(-4px);box-shadow:0 9px 0 color-mix(in srgb,var(--ink) 9%,transparent)}
.home-article-card img,
.home-feature-card img,
.journal-lead-story img,
.journal-rail-story img,
.post-card img,
.product-card-v3 img{transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .3s ease}
.home-article-card:hover img,
.home-feature-card:hover img,
.journal-lead-story:hover img,
.journal-rail-story:hover img,
.post-card:hover img,
.product-card-v3:hover img{transform:scale(1.025)}
.member-button,.membership-card-cta,.member-plan-cta,.text-link,.journal-load-older{transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}
.member-button:hover,.membership-card-cta:hover,.member-plan-cta:hover,.text-link:hover,.journal-load-older:hover{transform:translateY(-2px);box-shadow:0 6px 0 color-mix(in srgb,var(--ink) 10%,transparent)}

@keyframes siteHeaderIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes sitePageIn{from{opacity:0}to{opacity:1}}
@keyframes siteContentIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(max-width:760px){
  .home-article-card:hover,.home-feature-card:hover,.journal-lead-story:hover,.journal-rail-story:hover,.post-card:hover,.product-card-v3:hover{transform:none;box-shadow:none}
}

/* ========================================================================== 
   14. KOBRO FULL-SCREEN INDEX
   Compact masthead + an editorial destination menu inspired by a printed
   issue index. The navigation is moved here by app.js on every public page.
   ========================================================================== */
.site-header .header-actions{display:none}
.site-header .menu-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-left:auto;height:40px;padding:0 17px;
  border:1.5px solid #171715;border-radius:var(--r-ctl);background:#171715;color:#eeede8;
  font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  transition:transform .2s var(--ease),background-color .2s ease,color .2s ease;
}
.site-header .menu-btn:hover{transform:translateY(-1px);background:#eeede8;color:#171715}
.site-header .menu-btn>span:first-child{color:var(--orange);font-size:13px;transition:transform .28s var(--ease)}
.site-header .menu-btn:hover>span:first-child{transform:rotate(45deg)}
.site-header .menu-btn[aria-expanded="true"]{background:#eeede8;color:#171715}
.site-header .menu-btn[aria-expanded="true"]>span:first-child{color:#171715;transform:rotate(45deg)}

.site-menu-overlay{
  position:fixed;inset:0;z-index:500;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:var(--orange);color:#171715;
  visibility:hidden;pointer-events:none;clip-path:inset(0 0 100% 0);transform:translate3d(0,-2.5%,0);backface-visibility:hidden;contain:paint;
  transition:clip-path .72s cubic-bezier(.76,0,.2,1),transform .72s cubic-bezier(.76,0,.2,1),visibility 0s linear .72s;
  will-change:clip-path,transform;
}
.site-menu-overlay::before{
  content:'INDEX';position:fixed;right:-.045em;bottom:-.17em;z-index:0;
  font:900 clamp(180px,27vw,540px)/.72 var(--display);font-stretch:68%;letter-spacing:-.075em;
  color:rgba(23,23,21,.045);pointer-events:none;
}
.site-menu-overlay::after{
  content:'';position:fixed;inset:0;z-index:20;background:#171715;pointer-events:none;transform:scaleY(1);transform-origin:top;
}
.site-menu-overlay.is-open{visibility:visible;pointer-events:auto;clip-path:inset(0);transform:none;transition-delay:0s}
.site-menu-overlay.is-open::after{animation:indexCurtainReveal .82s .06s cubic-bezier(.76,0,.2,1) both}
.site-menu-top{
  position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  min-height:74px;padding:0 clamp(18px,3vw,48px);border-bottom:1.5px solid #171715;
}
.site-menu-close{
  justify-self:start;display:inline-flex;align-items:center;gap:13px;padding:10px 0;
  font:650 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
.site-menu-close span{position:relative;width:32px;height:1px;background:#171715;transition:width .25s var(--ease)}
.site-menu-close span::before,.site-menu-close span::after{content:'';position:absolute;left:0;top:0;width:10px;height:1px;background:#171715;transform-origin:left center}
.site-menu-close span::before{transform:rotate(36deg)}.site-menu-close span::after{transform:rotate(-36deg)}
.site-menu-close:hover span{width:42px}
.site-menu-brand{justify-self:center;gap:10px}
.site-menu-brand .brand-word::before{font-size:27px}.site-menu-brand .brand-star{color:#171715;font-size:22px}
.site-menu-actions{justify-self:end;display:flex;align-items:center}
.site-menu-actions .header-actions{display:flex;gap:7px;margin:0;padding:0;border:0}
.site-menu-actions .header-member-login{border:1px solid #171715;background:rgba(238,237,232,.2)}
.site-menu-actions .header-member-login:hover{background:#171715;color:#eeede8}
.site-menu-actions .header-actions .theme-btn{display:inline-flex}
.site-menu-actions .member-presence-chip{margin:0;box-shadow:none}
.site-menu-actions .member-presence-chip.is-elite{box-shadow:3px 3px 0 rgba(23,23,21,.25)}
.site-menu-top>*{opacity:0;transform:translate3d(0,-12px,0);transition:opacity .32s ease,transform .48s var(--ease)}
.site-menu-overlay.is-open .site-menu-top>*{opacity:1;transform:none;transition-delay:.38s}
.site-menu-overlay.is-open .site-menu-brand .brand-star{animation:indexStarTurn .62s .42s var(--ease) both}

.site-menu-grid{
  position:relative;z-index:1;display:grid;grid-template-columns:minmax(210px,.58fr) minmax(430px,1.35fr) minmax(300px,.85fr);
  min-height:calc(100dvh - 122px);border-bottom:1.5px solid #171715;
}
.site-menu-utility{
  display:flex;flex-direction:column;justify-content:space-between;gap:36px;padding:clamp(28px,4vw,58px) clamp(22px,3vw,46px);
  border-right:1.5px solid #171715;
}
.site-menu-utility>div:first-child{display:grid;gap:17px}.site-menu-utility>div:first-child .mono{font-size:10px}
.site-menu-utility p{max-width:22ch;font-size:clamp(18px,1.6vw,25px);font-weight:650;line-height:1.08;letter-spacing:-.025em}
.site-menu-utility nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.site-menu-utility nav a{border-bottom:1px solid transparent;font-size:14px;font-weight:650}
.site-menu-utility nav a:hover{border-bottom-color:#171715}
.site-menu-coordinate{display:grid;gap:7px;font-size:9px}
.site-menu-utility{opacity:0;transform:translate3d(-24px,0,0);transition:opacity .42s ease,transform .58s var(--ease)}
.site-menu-overlay.is-open .site-menu-utility{opacity:1;transform:none;transition-delay:.44s}

.site-menu-overlay .site-menu-nav{
  display:flex;position:static;flex-direction:column;align-items:stretch;align-self:stretch;gap:0;
  margin:0;padding:clamp(22px,3.2vw,48px) clamp(24px,4vw,66px);border:0;border-radius:0;background:transparent;box-shadow:none;
}
.site-menu-overlay .site-menu-nav a{
  position:relative;display:flex;align-items:center;justify-content:flex-start;flex:1;min-height:74px;height:auto;
  padding:5px 64px 5px 52px;border:0;border-bottom:1px solid rgba(23,23,21,.34);border-radius:0;
  color:#171715;font:850 clamp(48px,5.4vw,96px)/.78 var(--display);font-stretch:72%;letter-spacing:-.055em;
  opacity:0;clip-path:inset(100% 0 0);transform:translateY(34px);transition:opacity .38s ease,clip-path .5s var(--ease),transform .5s var(--ease),padding-left .28s var(--ease),color .18s ease;
}
.site-menu-overlay .site-menu-nav a:first-child{border-top:1px solid rgba(23,23,21,.34)}
.site-menu-overlay .site-menu-nav a::before{
  content:attr(data-menu-index);position:absolute;left:0;top:50%;width:auto;height:auto;border:0;border-radius:0;background:transparent;box-shadow:none;
  transform:translateY(-50%);font:600 10px/1 var(--mono);font-stretch:normal;letter-spacing:.08em;
}
.site-menu-overlay .site-menu-nav a::after{
  content:'↗';position:absolute;right:2px;top:50%;transform:translateY(-50%);
  font:500 clamp(22px,2.6vw,40px)/1 var(--display);opacity:0;transition:opacity .18s ease,transform .25s var(--ease);
}
.site-menu-overlay .site-menu-nav a:hover{padding-left:66px;background:transparent;color:#eeede8;box-shadow:none;transform:translateY(0)}
.site-menu-overlay .site-menu-nav a:hover::after{opacity:1;transform:translateY(-50%) rotate(6deg)}
.site-menu-overlay .site-menu-nav a.active{padding-left:66px;background:#171715;color:#eeede8;box-shadow:none}
.site-menu-overlay .site-menu-nav a.active::before{left:16px;color:var(--orange)}
.site-menu-overlay .site-menu-nav a.active::after{opacity:1;right:16px;color:var(--orange)}
.site-menu-overlay.is-open .site-menu-nav a{opacity:1;clip-path:inset(0);transform:none}
.site-menu-overlay.is-open .site-menu-nav a:nth-child(1){transition-delay:.36s}.site-menu-overlay.is-open .site-menu-nav a:nth-child(2){transition-delay:.40s}
.site-menu-overlay.is-open .site-menu-nav a:nth-child(3){transition-delay:.44s}.site-menu-overlay.is-open .site-menu-nav a:nth-child(4){transition-delay:.48s}
.site-menu-overlay.is-open .site-menu-nav a:nth-child(5){transition-delay:.52s}.site-menu-overlay.is-open .site-menu-nav a:nth-child(6){transition-delay:.56s}

.site-menu-feature{
  position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:100%;padding:clamp(26px,3vw,44px);
  overflow:hidden;background:#171715;color:#eeede8;border-left:1.5px solid #171715;
}
.site-menu-feature>.mono{position:relative;z-index:3;color:var(--orange);font-size:9px}
.site-menu-orbit{position:absolute;left:50%;top:45%;width:min(22vw,330px);aspect-ratio:1;border-radius:50%;background:var(--orange);opacity:0;transform:translate(-50%,-50%) scale(.72) rotate(-12deg);transition:opacity .35s ease,transform .7s var(--ease)}
.site-menu-overlay.is-open .site-menu-orbit{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.48s}
.site-menu-feature:hover .site-menu-orbit{transform:translate(-50%,-50%) scale(1.08)}
.site-menu-feature img{position:absolute;left:50%;top:48%;z-index:2;width:min(16vw,250px);max-height:48%;object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(0 18px 20px rgba(0,0,0,.28));transition:transform .55s var(--ease)}
.site-menu-feature:hover img{transform:translate(-50%,-53%) rotate(-2deg) scale(1.035)}
.site-menu-feature strong{position:relative;z-index:1;align-self:end;font:900 clamp(54px,6vw,100px)/.72 var(--display);font-stretch:70%;letter-spacing:-.06em;text-transform:uppercase}
.site-menu-feature strong span{color:var(--orange)}
.site-menu-feature em{position:relative;z-index:3;justify-self:end;padding-top:18px;font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.site-menu-feature{opacity:0;transform:translate3d(24px,0,0);transition:opacity .42s ease,transform .62s var(--ease)}
.site-menu-overlay.is-open .site-menu-feature{opacity:1;transform:none;transition-delay:.48s}
.site-menu-foot{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:48px;padding:0 clamp(18px,3vw,48px);font-size:9px}
.site-menu-foot span:nth-child(2){justify-self:center}.site-menu-foot span:last-child{justify-self:end}
.site-menu-foot{opacity:0;transform:translate3d(0,10px,0);transition:opacity .36s ease,transform .48s var(--ease)}
.site-menu-overlay.is-open .site-menu-foot{opacity:1;transform:none;transition-delay:.62s}

@keyframes indexCurtainReveal{0%,24%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes indexStarTurn{from{transform:rotate(-90deg) scale(.55)}to{transform:rotate(0) scale(1)}}

@media(max-width:1080px){
  .site-menu-grid{grid-template-columns:minmax(180px,.5fr) minmax(390px,1.25fr)}
  .site-menu-feature{display:none}
}
@media(max-width:760px){
  .site-header .menu-btn{margin-left:auto;height:38px;padding-inline:14px}
  .site-menu-top{grid-template-columns:auto 1fr;gap:14px;min-height:62px;padding-inline:16px}
  .site-menu-brand{display:none}
  .site-menu-actions{justify-self:end;min-width:0}
  .site-menu-actions .header-actions{gap:5px}
  .site-menu-actions .header-actions .icon-btn,.site-menu-actions .member-presence-chip{height:36px}
  .site-menu-actions .header-member-login{width:36px;padding:0;justify-content:center;font-size:0}
  .site-menu-actions .header-member-login::before{font-size:12px}
  .site-menu-actions .header-actions [data-cart-open]{padding:0 8px 0 12px;font-size:10px}
  .site-menu-actions .member-presence-chip{padding-inline:11px}
  .site-menu-actions .member-presence-chip strong{font-size:10px}
  .site-menu-close{font-size:10px}.site-menu-close span{width:22px}
  .site-menu-grid{display:flex;flex-direction:column;min-height:0;border-bottom:0}
  .site-menu-overlay .site-menu-nav{order:1;padding:22px 16px 12px}
  .site-menu-overlay .site-menu-nav a{min-height:66px;padding:7px 42px 7px 38px;font-size:clamp(44px,14vw,66px);line-height:.8}
  .site-menu-overlay .site-menu-nav a:hover,.site-menu-overlay .site-menu-nav a.active{padding-left:48px}
  .site-menu-overlay .site-menu-nav a.active::before{left:10px}.site-menu-overlay .site-menu-nav a.active::after{right:10px}
  .site-menu-utility{order:2;display:grid;grid-template-columns:1fr 1fr;min-height:260px;padding:28px 18px;border-right:0;border-top:1.5px solid #171715}
  .site-menu-coordinate{grid-column:1/-1;align-self:end}
  .site-menu-feature{order:3;display:grid;min-height:430px;border-left:0;border-top:1.5px solid #171715}
  .site-menu-orbit{width:230px}.site-menu-feature img{width:175px}.site-menu-feature strong{font-size:66px}
  .site-menu-foot{grid-template-columns:1fr auto;gap:10px;padding:16px 18px;border-top:1.5px solid #171715}
  .site-menu-foot span:nth-child(2){display:none}.site-menu-foot span:last-child{justify-self:end;text-align:right}
}
@media(prefers-reduced-motion:reduce){
  .site-menu-overlay,.site-menu-overlay .site-menu-nav a,.site-menu-feature img,.site-menu-orbit,
  .site-menu-top>*,.site-menu-utility,.site-menu-feature,.site-menu-foot{animation:none!important;transition:none!important}
  .site-menu-overlay::after{display:none}
}

/* ==========================================================================
   15. POLISH PASS — September 27, 2026
   Brings every page back to the drafting rules in BRAND-REFRESH.md:
   square corners (see --r-ctl), no cast shadows, structure from shared
   rules, one signal colour. The orange KOBRO masthead stays the single loud
   moment; everything below it is quieter and more even.
   ========================================================================== */

/* ---------- 15.1 no cast shadows ---------- */
.site-header.scrolled,
.header-actions [data-cart-open],
.header-actions [data-cart-open]:hover,
.nav a.active,
.nav-more-panel,
.member-presence-chip.is-elite{box-shadow:none}
.story-like-badge,
.journal-rail-image .story-like-badge{box-shadow:none}
.shop-hero > img{filter:none}

/* the article preview used to be a tilted sticker; now it sits square */
.article-preview-card,
.article-preview-close,.article-preview-close:hover,
.article-preview-lock,.article-preview-ticket,
.article-preview-primary,.article-preview-primary:hover,
.site-menu-actions .member-presence-chip.is-elite{box-shadow:none;transform:none}

/* ---------- 15.2 controls: one height, one weight ---------- */
.site-header .menu-btn{height:40px;padding-inline:16px;gap:8px;border-width:1.5px}
.site-header .menu-btn:hover{background:#171715;color:#eeede8}
.site-header .menu-btn:hover span[aria-hidden]{color:var(--orange)}
.journal-deck-action a,
.membership-card-cta,
.btn-pill{min-height:56px;padding-inline:22px}
.filter{min-height:40px;padding:0 16px;border-color:var(--rule-soft);font-size:14px}
.filter.active{border-color:var(--ink)}
.market-filters .filter small,
.filter small{border-radius:0;border:0;background:transparent;min-width:0;padding:0;opacity:.6}
.product-view,.add-btn{min-height:40px}
.journal-load-older{min-height:48px;padding-inline:22px}

/* like count: a quiet stamp, not a sticker */
.story-like-badge{
  right:0;bottom:0;min-height:24px;padding:0 8px;gap:5px;
  border:0;border-top:1px solid #171715;border-left:1px solid #171715;
  background:var(--paper);color:var(--ink);font-size:10px;
}
.story-like-badge > span{font-size:11px}
.journal-rail-image .story-like-badge{display:none}

/* ---------- 15.3 home ---------- */
.journal-deck{padding-block:56px 64px}
.journal-deck p{max-width:20ch;text-wrap:balance;line-height:.98}
.journal-deck p span{box-shadow:inset 0 -.07em 0 var(--orange)}
.journal-deck-action small{display:none}

.journal-front{padding-top:72px;gap:32px}
.journal-front::before{content:none}
.journal-lead-copy{gap:12px;padding:22px 24px 28px}
.journal-lead-copy h2{max-width:18ch;text-wrap:balance}

.journal-story-rail{gap:0;margin-top:0}
.journal-rail-story{
  grid-template-columns:84px clamp(132px,10vw,176px) minmax(0,1fr);
  min-height:clamp(132px,9.4vw,164px);
  border-width:0 0 1.5px;background:transparent;
}
.journal-rail-story:hover{background:var(--surface)}
.journal-rail-date{justify-content:flex-end;padding:16px 14px 16px 0;border-right:0}
.journal-rail-date small{display:none}
.journal-rail-image{border-inline:1.5px solid var(--rule)}
.journal-rail-copy{justify-content:flex-end;gap:10px;padding:16px 0 16px 20px}
.journal-rail-copy h3{font-size:clamp(22px,1.7vw,28px);text-wrap:balance}

/* membership card: benefits aren't a sequence, so no numbering */
.membership-card-right li{padding:24px 0}
.membership-card-right li::before{content:none}
.membership-card-left i{font-size:30px}

/* ---------- 15.4 journal ---------- */
.journal-controls{padding-block:14px}
.journal-hero .lede{max-width:28ch;text-wrap:pretty}

/* ---------- 15.5 store ---------- */
.product-grid{gap:0;border-top:1.5px solid var(--rule);border-left:1.5px solid var(--rule)}
.product-card-v3{border-width:0 1.5px 1.5px 0}
.product-image::after{content:none}
.product-image-action{border-width:1px 0 0 1px;right:0;bottom:0}
.product-copy{gap:10px;min-height:0;padding:20px 20px 22px}
.product-card-v3 p{max-width:42ch}
.store-service-band article{min-height:0;padding:32px 30px 36px;gap:14px}
.store-service-band article:hover{background:transparent}

/* ---------- 15.6 about ---------- */
.dr-turnaround figcaption{gap:0;padding-inline:0}
.dr-turnaround figcaption span,
.dr-turnaround figcaption span + span,
.dr-turnaround figcaption span:last-child{text-align:center}

/* ---------- 15.7 page frame reaches the footer ---------- */
.subpage-footer{margin-top:0}
body:not([data-page="home"]) > main{padding-bottom:clamp(48px,6vw,88px)}
.store-service-band{margin-bottom:0}

/* ---------- 15.8 responsive ---------- */
@media(max-width:1180px){
  .journal-rail-story{grid-template-columns:72px 150px minmax(0,1fr)}
}
@media(max-width:760px){
  .journal-deck{padding-block:32px 40px}
  .journal-deck p{max-width:none;font-size:clamp(30px,8.6vw,44px)}
  .journal-front{padding-top:48px}
  .journal-lead-copy{padding:18px 16px 22px}
  .journal-rail-story{grid-template-columns:52px 96px minmax(0,1fr);min-height:112px}
  .journal-rail-date{padding:12px 10px 12px 0}
  .journal-rail-date time strong{font-size:28px}
  .journal-rail-copy{padding:12px 0 12px 14px;gap:6px}
  .journal-rail-copy small{font-size:10px;letter-spacing:.04em}
  .journal-rail-copy h3{font-size:19px;line-height:1.08}
  .membership-card-right li{padding:20px 0}
  .product-grid{border-left:0}
  .product-card-v3{border-left:1.5px solid var(--rule)}
  .dr-turnaround figcaption{grid-template-columns:repeat(4,1fr)}
  .dr-turnaround figcaption span,
  .dr-turnaround figcaption span:nth-child(odd),
  .dr-turnaround figcaption span:nth-child(even){text-align:center;font-size:10px;letter-spacing:.04em}
}

/* dark mode: the ink membership card needs a drawn edge on ink paper */
body.dark .journal-membership{box-shadow:inset 0 0 0 1.5px var(--rule-dark)}

/* ==========================================================================
   16. HEADER + MASTHEAD MOTION — September 27, 2026
   Header: drops in, star spins into place, the wordmark rises out of its
   own line, the Index button
   fills from below. Masthead: a dimension line draws across the orange
   sheet while the wordmark stretches across the full browser width.
   ========================================================================== */
@keyframes kbHeaderDrop{from{transform:translateY(-100%)}to{transform:none}}
@keyframes kbWordRise{from{transform:translateY(115%)}to{transform:none}}
@keyframes kbStarIn{from{transform:rotate(-200deg) scale(0)}to{transform:none}}
@keyframes kbQuickIn{from{opacity:0;transform:translateY(60%)}to{opacity:1;transform:none}}
@keyframes kbRuleDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* header */
body:not(.admin-body) > .site-header{animation:kbHeaderDrop .7s var(--ease) both}
.brand-lockup-header .brand-star{animation:kbStarIn .9s var(--ease) .15s both}
.brand-lockup-header .brand-word{display:inline-flex;overflow:hidden;line-height:1.15}
.brand-lockup-header .brand-word::before{display:inline-block;animation:kbWordRise .65s var(--ease) .28s both}

/* header links were removed Sep 27: the Index button is the site navigation */
.site-header .menu-btn{margin-left:auto}

.site-header .menu-btn{position:relative;overflow:hidden;isolation:isolate;animation:kbQuickIn .6s var(--ease) .7s both}
.site-header .menu-btn::before{
  content:'';position:absolute;inset:0;z-index:-1;background:#eeede8;
  transform:translateY(101%);transition:transform .4s var(--ease);
}
.site-header .menu-btn:hover{transform:none;background:#171715;color:#171715}
.site-header .menu-btn:hover::before{transform:none}
.site-header .menu-btn:hover>span:first-child{color:var(--orange);transform:rotate(90deg)}

/* masthead: drafting marks and a browser-wide wordmark */
.journal-title-row{position:relative}
.journal-title-row h1{position:relative;z-index:1}
.masthead-dimension{
  position:absolute;z-index:2;top:22px;left:var(--gutter);right:var(--gutter);
  display:flex;justify-content:space-between;padding-bottom:9px;
  font-size:11px;letter-spacing:.08em;color:#171715;
}
.masthead-dimension::before,.masthead-dimension::after{content:'';position:absolute;bottom:0}
.masthead-dimension::before{
  left:0;right:0;height:1px;background:#171715;
  transform-origin:0 50%;animation:kbRuleDraw 1.1s var(--ease) .2s both;
}
.masthead-dimension::after{left:0;right:0;height:9px;bottom:-4px;border-inline:1px solid #171715}
.journal-title-row{min-height:clamp(250px,31vw,760px);padding-inline:0}
.journal-title-row h1{
  width:100%;font-size:clamp(170px,36vw,1200px);text-align:center;
}

@media(max-width:760px){
  .masthead-dimension{top:14px;font-size:9px;letter-spacing:.06em}
  .journal-title-row{min-height:max(180px,34vw);padding:44px 0 0}
  .journal-title-row h1{font-size:36vw}
}
@media(prefers-reduced-motion:reduce){
  body:not(.admin-body) > .site-header,.brand-lockup-header .brand-star,.brand-lockup-header .brand-word::before,
  .site-header .menu-btn,.masthead-dimension::before{animation:none}
  .site-header .menu-btn::before{transition:none}
}

/* ==========================================================================
   17. INDEX ROWS — September 27, 2026
   The page names aren't a sequence, so the 01–06 counters give way to the
   brand star: it spins in from the left as a row is pointed at and stays
   lit on the current page. Hovered rows keep graphite text for contrast.
   ========================================================================== */
.site-menu-overlay .site-menu-nav a{padding-left:0}
.site-menu-overlay .site-menu-nav a::before{
  content:'✦';left:0;color:#171715;font:400 .36em/1 var(--display);letter-spacing:0;
  opacity:0;transform:translate(-18px,-50%) rotate(-120deg);
  transition:opacity .25s ease,transform .5s var(--ease),left .28s var(--ease);
}
.site-menu-overlay .site-menu-nav a:hover{padding-left:60px;color:#171715}
.site-menu-overlay .site-menu-nav a:hover::before{opacity:1;transform:translate(0,-50%) rotate(0)}
.site-menu-overlay .site-menu-nav a.active{padding-left:72px;color:#eeede8}
.site-menu-overlay .site-menu-nav a.active::before{left:18px;opacity:1;transform:translate(0,-50%);color:var(--orange)}
@media(max-width:760px){
  .site-menu-overlay .site-menu-nav a{padding-left:0}
  .site-menu-overlay .site-menu-nav a:hover{padding-left:40px}
  .site-menu-overlay .site-menu-nav a.active{padding-left:48px}
  .site-menu-overlay .site-menu-nav a.active::before{left:10px}
}
@media(prefers-reduced-motion:reduce){
  .site-menu-overlay .site-menu-nav a::before{transition:none}
}

/* ==========================================================================
   18. ABOUT + CONTACT — September 27, 2026
   One page: the letter, then "Say hello". contact.html now redirects to
   about#contact. Motion: the KOBRO title rises letter by letter, orange
   shutters lift off the four bear poses one at a time, the signature rule
   draws, the General / Sponsorship switch slides, and each form's fields
   arrive in sequence whenever it is shown.
   ========================================================================== */
.about-hero-title{display:block}
.about-hero-title>span{display:inline-flex;overflow:hidden;padding-bottom:.02em}
.about-hero-title>span>span{display:inline-block}
.about-hero-dot{color:var(--orange)}
.about-hero-side{display:flex;flex-direction:column;gap:22px;align-self:end}
.about-jump{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.about-jump a{position:relative;padding:4px 0}
.about-jump a::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;
  transform:scaleX(.35);transform-origin:0 50%;transition:transform .4s var(--ease);
}
.about-jump a:hover::after{transform:scaleX(1)}
html{scroll-behavior:smooth}
#contact,#aboutLetterTitle{scroll-margin-top:calc(var(--header-h) + 24px)}

/* turnaround: four shutters sit over the four poses */
.dr-turnaround{position:relative}
.dr-shutters{
  position:absolute;left:0;right:0;top:0;aspect-ratio:3/1;
  display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none;
}
.dr-shutters span{background:var(--orange);border-right:1.5px solid #171715;transform:scaleY(0);transform-origin:50% 0}
.dr-shutters span:last-child{border-right:0}
/* keyframes, not transitions: the figure is usually on screen at load, so it
   is marked revealed in the same frame it is set up */
.motion-ready [data-reveal="shutters"]{opacity:1;transform:none;transition:none}
.motion-ready .dr-turnaround .dr-shutters span{transform:scaleY(1)}
.motion-ready .dr-turnaround.is-in .dr-shutters span{
  animation:kbShutterUp .8s cubic-bezier(.76,0,.24,1) both;animation-delay:calc(var(--i) * 130ms + 200ms);
}
.motion-ready .dr-turnaround figcaption span{opacity:0}
.motion-ready .dr-turnaround.is-in figcaption span{animation:kbAboutFade .45s ease both;animation-delay:calc(var(--n,0) * 130ms + 700ms)}
.dr-turnaround figcaption span:nth-child(2){--n:1}
.dr-turnaround figcaption span:nth-child(3){--n:2}
.dr-turnaround figcaption span:nth-child(4){--n:3}
@keyframes kbShutterUp{from{transform:scaleY(1)}to{transform:scaleY(0)}}

/* letter signature: its rule draws, then the name settles */
.motion-ready .about-letter-signature{position:relative;border-top-color:transparent}
.motion-ready .about-letter-signature::before{
  content:'';position:absolute;left:0;right:0;top:-1.5px;height:1.5px;background:var(--rule);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .9s var(--ease) .1s;
}
.motion-ready .about-letter-signature.is-in::before{transform:scaleX(1)}
.motion-ready [data-reveal="sign"]{transform:translate3d(0,12px,0)}
.motion-ready [data-reveal="sign"].is-in{transform:none}

/* contact section mirrors the letter's two columns */
.about-contact{
  display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:48px;
  padding:88px var(--gutter) 24px;border-top:1.5px solid var(--rule);
}
.about-contact-intro{
  display:flex;flex-direction:column;gap:14px;align-self:start;
  position:sticky;top:calc(var(--header-h) + 24px);padding-top:14px;border-top:2px solid var(--rule);
}
.about-contact-intro .mono{color:var(--muted)}
.about-contact-intro h2{margin:0;font:900 clamp(40px,4.6vw,72px)/.88 var(--display);font-stretch:75%;letter-spacing:-.04em}
.about-contact-intro h2 span{color:var(--orange)}
.about-contact-intro p{margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.about-contact-facts{margin:10px 0 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.about-contact-facts div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule-soft)}
.about-contact-facts dt{color:var(--muted)}
.about-contact-facts dd{margin:0;text-align:right}
.about-contact-panel{gap:20px}
.about-contact-panel .contact-form{max-width:none}

/* General / Sponsorship: one ink block slides between the two */
.contact-switch{
  position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;width:min(100%,380px);
  border:1.5px solid var(--rule);
}
.contact-switch::before{
  content:'';position:absolute;top:0;bottom:0;left:0;width:50%;background:var(--ink);
  transition:translate .45s var(--ease);
}
.contact-switch:has([data-form="sponsor"].active)::before{translate:100% 0}
.contact-switch .filter,
.contact-switch .filter.active{
  position:relative;z-index:1;min-height:44px;border:0;background:transparent;
  color:var(--ink);transition:color .3s ease;
}
.contact-switch .filter.active{color:var(--paper)}

/* fields: quiet at rest, a signal underline when active */
.contact-form label{transition:color .2s ease}
.contact-form label:focus-within{color:var(--ink)}
.contact-form input,.contact-form select,.contact-form textarea{transition:border-color .2s ease,box-shadow .25s ease}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  outline:0;border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--orange);
}
.form-foot button{
  background-image:linear-gradient(var(--orange),var(--orange));background-repeat:no-repeat;
  background-position:0 100%;background-size:100% 0;
  transition:background-size .38s var(--ease),color .25s ease;
}
.form-foot button:hover{background-color:var(--ink);background-size:100% 100%;color:#171715}
.form-foot button:disabled{opacity:.6;cursor:progress}
.form-status.ok{color:var(--ok,#2f7d51)}
.form-status.bad{color:var(--bad,#a62929)}

.contact-moved{min-height:40vh}
.contact-moved a{border-bottom:1.5px solid currentColor}

@media(prefers-reduced-motion:no-preference){
  .about-hero-title>span>span{animation:kbAboutLetter .8s var(--ease) both;animation-delay:calc(var(--i) * 60ms + 80ms)}
  .about-hero-dot{animation:kbAboutLetter .8s var(--ease) both,kbAboutDot .5s var(--ease) 1s both}
  .about-hero-side{animation:kbAboutFade .7s ease .45s both}
  .contact-form:not([hidden])>*{animation:kbAboutField .5s var(--ease) both}
  .contact-form:not([hidden])>:nth-child(1){animation-delay:.04s}
  .contact-form:not([hidden])>:nth-child(2){animation-delay:.09s}
  .contact-form:not([hidden])>:nth-child(3){animation-delay:.14s}
  .contact-form:not([hidden])>:nth-child(4){animation-delay:.19s}
  .contact-form:not([hidden])>:nth-child(5){animation-delay:.24s}
  .contact-form:not([hidden])>:nth-child(n+6){animation-delay:.29s}
  .form-status.ok,.form-status.bad{animation:kbAboutField .4s var(--ease) both}
}
@keyframes kbAboutLetter{from{transform:translateY(105%)}to{transform:none}}
@keyframes kbAboutDot{0%{scale:1}50%{scale:1.35}100%{scale:1}}
@keyframes kbAboutFade{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes kbAboutField{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}

@media(max-width:760px){
  .about-contact{grid-template-columns:1fr;gap:28px;padding-block:56px 16px}
  .about-contact-intro{position:static}
  .contact-switch{width:100%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .contact-switch::before,.form-foot button{transition:none}
}

/* ==========================================================================
   19. INDEX TICKER — September 27, 2026
   Hovering a page name wipes an ink band over the row from the edge the
   pointer came in by; inside, the name runs as a ticker with orange stars.
   Leaving retracts the band toward the exit edge. The current page's band
   is orange so it still reads as "you are here". (Replaces the short-lived
   Reframed-style preview.)
   ========================================================================== */
.site-menu-overlay .site-menu-nav a{overflow:hidden}
.menu-label{display:inline-block}
.menu-marquee{
  position:absolute;inset:0;z-index:3;display:flex;align-items:center;overflow:hidden;
  background:#171715;color:#eeede8;pointer-events:none;
  clip-path:inset(100% 0 0 0);transition:clip-path .5s cubic-bezier(.76,0,.24,1);
}
.menu-marquee[data-edge="top"]{clip-path:inset(0 0 100% 0)}
.menu-marquee.is-on{clip-path:inset(0 0 0 0)}
.menu-marquee.no-anim{transition:none}
.menu-marquee-track{display:flex;flex:none;animation:kbTicker 11s linear infinite;animation-play-state:paused}
.menu-marquee.is-on .menu-marquee-track{animation-play-state:running}
.menu-marquee-half{display:flex;flex:none;align-items:center}
.menu-marquee-half span{padding:0 .28em}
.menu-marquee-half i{font-style:normal;font-size:.38em;color:var(--orange);padding:0 .5em}
.site-menu-overlay .site-menu-nav a.active .menu-marquee{background:var(--orange);color:#171715;box-shadow:inset 0 0 0 1.5px #171715}
.site-menu-overlay .site-menu-nav a.active .menu-marquee-half i{color:#171715}
/* keyboard focus shows the band too */
.site-menu-overlay .site-menu-nav a:focus-visible .menu-marquee{clip-path:inset(0 0 0 0)}
.site-menu-overlay .site-menu-nav a:focus-visible .menu-marquee-track{animation-play-state:running}
@keyframes kbTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .menu-marquee{transition:none}
  .menu-marquee-track{animation:none}
}

/* ==========================================================================
   20. POLISH PASS II — September 27, 2026
   Product page gets a real buy panel (the markup renders .product-detail-buy,
   which had no styles), the article measure tightens for reading, and the
   404 page offers ways back.
   ========================================================================== */
/* product */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:22px var(--gutter) 0}
.crumbs a{border-bottom:1px solid transparent;transition:border-color .2s ease}
.crumbs a:hover{border-color:currentColor}
.crumbs b{color:var(--ink);font-weight:500}
.product-detail{gap:clamp(28px,4vw,64px);padding-top:28px;align-items:start}
.product-detail-buy{
  display:flex;flex-direction:column;gap:18px;align-self:start;
  position:sticky;top:calc(var(--header-h) + 24px);padding-top:14px;border-top:2px solid var(--rule);
}
.product-detail-buy .product-topline{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.product-detail-buy h1{margin:0;font:900 clamp(44px,5.4vw,84px)/.86 var(--display);font-stretch:75%;letter-spacing:-.045em;text-wrap:balance}
.product-detail-buy .product-detail-price{font-size:clamp(34px,3vw,44px)}
.product-detail-buy .detail-add{width:100%;min-height:60px;justify-content:space-between}
.product-detail-buy .detail-add::after{content:'→';font-weight:500;transition:translate .3s var(--ease)}
.product-detail-buy .detail-add:hover::after{translate:5px 0}
.product-detail-buy .detail-add[disabled]::after{content:none}
.product-detail-buy .detail-add[disabled]{justify-content:center;background:transparent;color:var(--muted);border:1.5px solid var(--rule-soft);cursor:not-allowed}
.product-detail-buy .product-detail-copy p{margin:0;max-width:52ch;color:var(--muted);font-size:17px;line-height:1.6}
.product-detail-buy .product-spec{margin-top:6px}
.product-detail-art figcaption{padding:10px 14px;border-top:1.5px solid var(--rule);color:var(--muted);font-size:11px;letter-spacing:.08em;background:var(--paper)}
.product-more .section-title-v3{margin-bottom:0}
.product-more .product-grid{display:flex;flex-wrap:wrap;border:0}
.product-more .product-card-v3{flex:0 1 calc(100% / 3);border:1.5px solid var(--rule);margin:0 -1.5px -1.5px 0}

/* article reading */
.article-body{max-width:68ch;font-size:19px;line-height:1.72}
.article-body > p:first-child{font-size:21px}
.article-body blockquote{margin:1.8em 0;padding:28px 0 28px 84px;font-size:clamp(28px,3.6vw,52px);text-wrap:balance}
@media(min-width:1100px){.article-body blockquote{margin-inline:-84px}}
.article-action:hover{transform:none;box-shadow:none}

/* 404 */
.missing-links{display:flex;flex-wrap:wrap;gap:0;margin:8px 0 6px;border:1.5px solid var(--rule)}
.missing-links a{padding:12px 18px;border-right:1.5px solid var(--rule);font-weight:600;font-size:15px;transition:background-color .2s ease,color .2s ease}
.missing-links a:last-child{border-right:0}
.missing-links a:hover{background:var(--ink);color:var(--paper)}

@media(max-width:760px){
  .product-detail-buy{position:static}
  .product-more .product-card-v3{flex-basis:100%}
  .article-body{font-size:18px}
  .missing-links a{flex:1 1 50%;border-bottom:1.5px solid var(--rule)}
}
