/* ============================================================
   VEBLEN — shared design system
   Editorial Luxury · Fraunces / Newsreader / Schibsted Grotesk
   ============================================================ */
:root{
  --paper:#FAF6EC;
  --paper-2:#F2EADB;
  --paper-3:#EADFCB;
  --ink:#1B1611;
  --ink-2:#5A5044;
  --ink-3:#8B7E6B;
  --gold:#9A7B3F;
  --gold-2:#C9A961;
  --bordeaux:#5B2A28;
  --night:#15110B;
  --night-2:#211A11;
  --line:rgba(27,22,17,0.14);
  --line-2:rgba(27,22,17,0.28);
  --line-light:rgba(250,246,236,0.16);
  --ease:cubic-bezier(.32,.72,0,1);
  --serif:"Fraunces",Georgia,serif;
  --read:"Newsreader",Georgia,serif;
  --grot:"Schibsted Grotesk",ui-sans-serif,system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--read);
  font-optical-sizing:auto;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
::selection{background:var(--gold);color:var(--paper)}

/* film grain */
.grain{
  position:fixed;inset:0;z-index:60;pointer-events:none;
  opacity:.038;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.measure{max-width:680px}

/* ───── shared type ───── */
.eyebrow{
  font-family:var(--grot);font-weight:500;
  font-size:clamp(.62rem,.75vw,.72rem);
  text-transform:uppercase;letter-spacing:.28em;
  color:var(--gold);
}
.eyebrow.muted{color:var(--ink-3)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;font-optical-sizing:auto;line-height:1.04;letter-spacing:-.012em}
.display{font-size:clamp(2.6rem,7.2vw,6rem);line-height:.98;letter-spacing:-.022em}
.h2{font-size:clamp(2rem,4.6vw,3.6rem);letter-spacing:-.018em}
em,.it{font-style:italic}
.lede{font-size:clamp(1.18rem,1.7vw,1.5rem);line-height:1.5;color:var(--ink-2);font-weight:300}
a{color:inherit}

.rule{height:1px;background:var(--line);border:0}
.gold-mark{color:var(--gold)}

/* ───── condensed sticky bar (homepage) ───── */
.bar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px clamp(20px,5vw,72px);
  background:rgba(250,246,236,0);
  border-bottom:1px solid transparent;
  transform:translateY(-100%);
  transition:transform .7s var(--ease),background .7s var(--ease),border-color .7s var(--ease),backdrop-filter .7s var(--ease);
}
.bar.show{
  transform:translateY(0);
  background:rgba(250,246,236,.78);
  backdrop-filter:blur(16px) saturate(1.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  border-bottom:1px solid var(--line);
}
.bar__mark{font-family:var(--serif);font-size:1.25rem;letter-spacing:.14em;font-weight:500;text-decoration:none}
.bar__mark b{color:var(--gold);font-weight:500}
.bar__nav{display:flex;gap:clamp(14px,2.4vw,30px);align-items:center}
.bar__nav a{
  font-family:var(--grot);font-size:.74rem;text-transform:uppercase;
  letter-spacing:.16em;color:var(--ink-2);text-decoration:none;
  transition:color .4s var(--ease);
}
.bar__nav a:hover{color:var(--ink)}
.bar__nav a.cta{
  color:var(--ink);border:1px solid var(--line-2);
  padding:7px 15px;border-radius:100px;
  transition:all .5s var(--ease);
}
.bar__nav a.cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:680px){.bar__nav a:not(.cta){display:none}}

/* ───── article top bar (always visible) ───── */
.topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:15px clamp(20px,5vw,72px);
  background:rgba(250,246,236,.82);
  backdrop-filter:blur(16px) saturate(1.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  border-bottom:1px solid var(--line);
}
.topbar__mark{font-family:var(--serif);font-size:1.3rem;letter-spacing:.14em;font-weight:500;text-decoration:none;display:flex;align-items:center;gap:12px}
.topbar__mark b{color:var(--gold);font-weight:500}
.topbar__mark .back{font-family:var(--grot);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.topbar__nav{display:flex;gap:clamp(14px,2.4vw,30px);align-items:center}
.topbar__nav a{font-family:var(--grot);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-2);text-decoration:none;transition:color .4s var(--ease)}
.topbar__nav a:hover{color:var(--ink)}
.topbar__nav a.cta{color:var(--ink);border:1px solid var(--line-2);padding:7px 15px;border-radius:100px;transition:all .5s var(--ease)}
.topbar__nav a.cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:560px){.topbar__nav a:not(.cta){display:none}.topbar__mark .back{display:none}}

/* reading progress */
.progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:55;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:transform .1s linear}

/* ───── masthead ───── */
.masthead{padding-top:clamp(28px,4vw,48px);text-align:center}
.masthead__top{
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--grot);font-size:.66rem;text-transform:uppercase;
  letter-spacing:.24em;color:var(--ink-3);
  padding-bottom:18px;border-bottom:1px solid var(--line);
}
.masthead__top span:nth-child(2){color:var(--gold)}
@media(max-width:560px){.masthead__top span:first-child,.masthead__top span:last-child{display:none}.masthead__top{justify-content:center}}
.wordmark{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(3.4rem,16vw,11rem);
  letter-spacing:.06em;line-height:1;
  padding:clamp(22px,4vw,44px) 0 clamp(14px,2vw,20px);
  background:linear-gradient(180deg,var(--ink) 0%,#3a3026 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.masthead__tag{
  font-family:var(--grot);font-size:clamp(.66rem,1vw,.8rem);
  text-transform:uppercase;letter-spacing:.42em;color:var(--ink-2);
  padding-bottom:20px;
}
.masthead__tag .d{color:var(--gold);margin:0 .5em}
.masthead__nav{
  display:flex;justify-content:center;gap:clamp(20px,4vw,52px);
  padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-family:var(--grot);font-size:.74rem;text-transform:uppercase;letter-spacing:.2em;
}
.masthead__nav a{color:var(--ink-2);text-decoration:none;position:relative;transition:color .4s var(--ease)}
.masthead__nav a:hover{color:var(--ink)}
.masthead__nav a::after{
  content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--gold);
  transition:width .5s var(--ease);
}
.masthead__nav a:hover::after{width:100%}

/* ───── hero / manifesto ───── */
.hero{padding:clamp(56px,9vw,120px) 0 clamp(48px,7vw,96px);position:relative}
.hero__grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px)}
.hero h1{margin:.5em 0 .1em;max-width:14ch}
.hero .lede{max-width:46ch;margin-top:1.4rem}
.hero__meta{
  margin-top:clamp(36px,5vw,64px);display:flex;gap:clamp(28px,5vw,72px);
  flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--line);
}
.stat{display:flex;flex-direction:column;gap:5px}
.stat b{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:400;color:var(--ink)}
.stat span{font-family:var(--grot);font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-3)}
.scarcity-note{
  margin-top:clamp(40px,6vw,72px);max-width:780px;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.4rem,3vw,2.4rem);line-height:1.28;color:var(--ink);
}
.scarcity-note b{font-style:normal;font-weight:500;color:var(--gold);font-variant:small-caps;letter-spacing:.02em}

/* ───── section scaffold ───── */
section{position:relative}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:clamp(36px,5vw,64px);flex-wrap:wrap}
.sec-head .num{font-family:var(--serif);font-size:1rem;color:var(--gold);font-feature-settings:"tnum"}
.sec-head h2{flex:1 1 auto}
.sec-intro{max-width:60ch;color:var(--ink-2);font-size:clamp(1.05rem,1.4vw,1.22rem)}

/* ───── thesis (dark) ───── */
.thesis{background:var(--night);color:var(--paper);padding:clamp(80px,12vw,170px) 0;margin-top:clamp(40px,6vw,80px);position:relative}
.thesis::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 80% 0%,rgba(201,169,97,.10),transparent 55%),radial-gradient(90% 60% at 0% 100%,rgba(201,169,97,.06),transparent 60%);
}
.thesis .eyebrow{color:var(--gold-2)}
.thesis h2{color:var(--paper)}
.thesis .sec-intro{color:rgba(250,246,236,.62)}
.thesis .sec-head .num{color:var(--gold-2)}
.thesis .rule{background:var(--line-light)}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);margin-top:8px}
@media(max-width:760px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--night);padding:clamp(28px,3.4vw,48px);transition:background .6s var(--ease)}
.pillar:hover{background:var(--night-2)}
.pillar__n{font-family:var(--serif);font-size:1rem;color:var(--gold-2);font-feature-settings:"tnum"}
.pillar h3{font-size:clamp(1.4rem,2.4vw,2rem);margin:18px 0 12px;color:var(--paper)}
.pillar p{color:rgba(250,246,236,.66);font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.58}
.pillar p b{color:var(--gold-2);font-weight:500}

/* ───── the field / indices ───── */
.field{padding:clamp(72px,10vw,140px) 0}
.index{margin-bottom:clamp(60px,8vw,110px)}
.index:last-child{margin-bottom:0}
.index__head{display:flex;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line-2);margin-bottom:8px}
.index__rn{font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.5rem);color:var(--gold);min-width:2.2ch}
.index__title{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.4rem);font-weight:400;flex:1}
.index__desc{font-family:var(--grot);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3);text-align:right;max-width:30ch}
@media(max-width:640px){.index__desc{display:none}}

.entry{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,44px);
  padding:clamp(24px,3vw,38px) clamp(8px,1.4vw,18px);
  border-bottom:1px solid var(--line);
  position:relative;cursor:default;
  transition:background .55s var(--ease),padding-left .55s var(--ease);
}
.entry:hover{background:linear-gradient(90deg,rgba(154,123,63,.05),transparent);padding-left:clamp(14px,2vw,30px)}
a.entry{text-decoration:none;color:inherit;cursor:pointer}
.entry__n{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.6rem);color:var(--ink-3);font-weight:300;line-height:1;font-feature-settings:"tnum";transition:color .55s var(--ease)}
.entry:hover .entry__n{color:var(--gold)}
.entry__name{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.entry__name h3{font-size:clamp(1.45rem,2.6vw,2.15rem);font-weight:400;position:relative;display:inline-block}
.entry__name h3::after{content:"";position:absolute;left:0;bottom:1px;width:0;height:1px;background:var(--gold);transition:width .6s var(--ease)}
.entry:hover .entry__name h3::after{width:100%}
.tag{
  font-family:var(--grot);font-size:.6rem;text-transform:uppercase;letter-spacing:.18em;
  color:var(--gold);border:1px solid rgba(154,123,63,.4);border-radius:100px;
  padding:4px 11px;white-space:nowrap;transition:all .5s var(--ease);
}
.entry:hover .tag{background:var(--gold);color:var(--paper);border-color:var(--gold)}
.entry__thesis{color:var(--ink-2);font-size:clamp(1.02rem,1.25vw,1.16rem);line-height:1.56;max-width:64ch}
.entry__thesis b{color:var(--ink);font-weight:500}
.entry__more{display:inline-block;margin-top:14px;font-family:var(--grot);font-size:.66rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);opacity:0;transform:translateX(-6px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.entry:hover .entry__more{opacity:1;transform:none}
@media(hover:none){.entry__more{opacity:1;transform:none}}

/* ───── featured teardown (homepage) ───── */
.teardown{padding:clamp(72px,10vw,140px) 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.teardown__grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);align-items:start}
@media(min-width:900px){.teardown__grid{grid-template-columns:.85fr 1.15fr;gap:clamp(48px,6vw,90px)}}
.plaque{
  position:sticky;top:96px;
  background:var(--paper-3);border:1px solid var(--line);border-radius:6px;
  padding:6px;
}
.plaque__inner{
  border:1px solid var(--line);border-radius:3px;padding:clamp(28px,3vw,40px);
  background:linear-gradient(165deg,var(--paper) 0%,var(--paper-2) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.plaque .kicker{font-family:var(--grot);font-size:.64rem;text-transform:uppercase;letter-spacing:.26em;color:var(--gold)}
.plaque h3{font-size:clamp(1.9rem,3.4vw,2.8rem);margin:16px 0 18px;line-height:1.02}
.plaque .meta{display:grid;gap:14px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.plaque .meta div{display:flex;justify-content:space-between;gap:12px;font-size:.92rem}
.plaque .meta dt{font-family:var(--grot);font-size:.64rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-3)}
.plaque .meta dd{font-family:var(--read);color:var(--ink);text-align:right}
@media(max-width:899px){.plaque{position:static}}

.article .eyebrow{margin-bottom:14px;display:block}
.article h3{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.04;margin-bottom:8px;max-width:18ch}
.article .dek{color:var(--ink-2);font-size:clamp(1.1rem,1.5vw,1.3rem);font-style:italic;font-weight:300;margin-bottom:32px;max-width:54ch}
.article p{font-size:clamp(1.08rem,1.35vw,1.24rem);line-height:1.66;margin-bottom:1.3em;max-width:64ch;color:#2b251d}
.article p.has-drop::first-letter{
  font-family:var(--serif);float:left;font-size:4.4em;line-height:.78;
  padding:.04em .12em 0 0;color:var(--gold);font-weight:500;
}
.pull{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.26;color:var(--ink);
  margin:clamp(28px,4vw,48px) 0;padding-left:26px;border-left:2px solid var(--gold);max-width:24ch;
}
.article .signoff,.read-more{font-family:var(--grot);font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-3);margin-top:14px;text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.read-more{color:var(--ink);transition:gap .4s var(--ease)}
.read-more .a{color:var(--gold);transition:transform .4s var(--ease)}
.read-more:hover{gap:16px}
.article .signoff .g{color:var(--gold)}

/* more teardowns list (homepage) */
.more{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);padding-top:clamp(28px,3vw,40px)}
.more__label{font-family:var(--grot);font-size:.66rem;text-transform:uppercase;letter-spacing:.24em;color:var(--ink-3);margin-bottom:20px}
.more__item{display:block;text-decoration:none;color:inherit;padding:22px 0;border-top:1px solid var(--line);transition:padding-left .5s var(--ease)}
.more__item:first-of-type{border-top:0}
.more__item:hover{padding-left:10px}
.more__item .t{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.7rem);display:flex;align-items:baseline;gap:12px}
.more__item .t .a{color:var(--gold);font-size:.9em;transition:transform .4s var(--ease)}
.more__item:hover .t .a{transform:translateX(5px)}
.more__item .d{color:var(--ink-2);font-size:1rem;margin-top:6px;max-width:60ch}

/* ───── reading page (teardowns) ───── */
.read{padding:clamp(40px,6vw,80px) 0 0}
.read__hero{max-width:760px;margin:0 auto;text-align:center}
.read__kicker{font-family:var(--grot);font-size:.7rem;text-transform:uppercase;letter-spacing:.26em;color:var(--gold);margin-bottom:22px}
.read__hero h1{font-size:clamp(2.3rem,5.4vw,4.2rem);line-height:1.02;letter-spacing:-.02em}
.read__dek{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.34;color:var(--ink-2);margin-top:22px;max-width:36ch;margin-left:auto;margin-right:auto}
.read__meta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 20px;margin-top:30px;font-family:var(--grot);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-3)}
.read__meta span{position:relative;padding-right:20px}
.read__meta span:not(:last-child)::after{content:"◆";position:absolute;right:0;color:var(--gold);font-size:.5rem;top:.25em}
.read__facts{
  max-width:900px;margin:clamp(40px,5vw,64px) auto 0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;
}
.read__facts div{background:var(--paper);padding:20px 22px}
.read__facts dt{font-family:var(--grot);font-size:.6rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-3);margin-bottom:7px}
.read__facts dd{font-family:var(--serif);font-size:clamp(1rem,1.4vw,1.18rem);color:var(--ink);line-height:1.15}
.read__facts dd small{font-family:var(--grot);font-size:.62rem;letter-spacing:.1em;color:var(--gold);text-transform:uppercase}

.read__body{max-width:680px;margin:clamp(48px,7vw,90px) auto 0}
.read__body>p{font-size:clamp(1.1rem,1.35vw,1.26rem);line-height:1.72;margin-bottom:1.4em;color:#2b251d}
.read__body>p.has-drop::first-letter{font-family:var(--serif);float:left;font-size:4.6em;line-height:.74;padding:.05em .14em 0 0;color:var(--gold);font-weight:500}
.read__body h2{font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.08;margin:clamp(40px,5vw,68px) 0 .6em;max-width:20ch}
.read__body h2 .mark{color:var(--gold);font-size:.7em;font-style:italic;font-weight:300;display:block;margin-bottom:8px;letter-spacing:.02em}
.read__body strong{font-weight:600;color:var(--ink)}
.read__body em{font-style:italic}
.read__body a.inline{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(154,123,63,.4)}
.read__body .pull{max-width:100%;text-align:left}

/* inline stat strip inside articles */
.statline{display:flex;flex-wrap:wrap;gap:clamp(20px,4vw,48px);margin:clamp(30px,4vw,48px) 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.statline div{flex:1 1 120px}
.statline b{display:block;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.4rem);color:var(--ink);line-height:1}
.statline span{font-family:var(--grot);font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);margin-top:8px;display:block;line-height:1.4}

/* pillars callout */
.callout{
  background:var(--night);color:var(--paper);border-radius:6px;padding:6px;
  margin:clamp(40px,5vw,64px) 0;
}
.callout__in{border:1px solid var(--line-light);border-radius:3px;padding:clamp(26px,3vw,40px);background:radial-gradient(120% 100% at 100% 0%,rgba(201,169,97,.1),transparent 60%)}
.callout .k{font-family:var(--grot);font-size:.62rem;text-transform:uppercase;letter-spacing:.24em;color:var(--gold-2);margin-bottom:14px}
.callout p{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.2rem,1.9vw,1.5rem);line-height:1.34;color:var(--paper);margin:0}
.callout .pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.callout .pills span{font-family:var(--grot);font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-2);border:1px solid rgba(201,169,97,.4);border-radius:100px;padding:5px 12px}

/* article foot */
.read__foot{max-width:680px;margin:clamp(48px,6vw,80px) auto 0;padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--line-2)}
.mechanic{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:clamp(24px,3vw,34px)}
.mechanic .k{font-family:var(--grot);font-size:.62rem;text-transform:uppercase;letter-spacing:.24em;color:var(--gold);margin-bottom:12px}
.mechanic p{font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.36;color:var(--ink);margin:0;font-style:italic;font-weight:300}
.gate{font-family:var(--grot);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3);margin-top:26px;text-align:center}
.gate .g{color:var(--gold)}
.nextlink{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px;padding:24px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit;transition:padding-right .4s var(--ease)}
.nextlink:hover{padding-right:8px}
.nextlink .l{font-family:var(--grot);font-size:.64rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3)}
.nextlink .t{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.6rem);margin-top:5px}
.nextlink .a{font-family:var(--serif);font-size:1.6rem;color:var(--gold);transition:transform .4s var(--ease)}
.nextlink:hover .a{transform:translateX(6px)}

/* ───── subscribe ───── */
.subscribe{padding:clamp(80px,12vw,160px) 0}
.sub-card{background:var(--night);color:var(--paper);border-radius:6px;padding:6px;position:relative;overflow:hidden}
.sub-card__inner{
  border:1px solid var(--line-light);border-radius:3px;
  padding:clamp(36px,6vw,84px) clamp(28px,5vw,72px);
  position:relative;
  background:radial-gradient(130% 100% at 100% 0%,rgba(201,169,97,.12),transparent 55%);
}
.sub-card .eyebrow{color:var(--gold-2)}
.sub-card h2{color:var(--paper);font-size:clamp(2rem,4.6vw,3.6rem);margin:16px 0 18px;max-width:16ch}
.sub-card p{color:rgba(250,246,236,.66);max-width:52ch;font-size:clamp(1.05rem,1.4vw,1.2rem);margin-bottom:14px}
.sub-tiers{display:flex;gap:clamp(20px,3vw,40px);flex-wrap:wrap;margin:30px 0 36px}
.tier{flex:1 1 200px}
.tier .p{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.1rem);color:var(--paper)}
.tier .p small{font-size:.9rem;color:var(--gold-2);font-family:var(--grot);letter-spacing:.1em}
.tier .n{font-family:var(--grot);font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-2);margin-bottom:8px}
.tier ul{list-style:none;margin-top:14px;display:grid;gap:9px}
.tier li{color:rgba(250,246,236,.66);font-size:.96rem;padding-left:18px;position:relative}
.tier li::before{content:"◆";position:absolute;left:0;color:var(--gold-2);font-size:.55rem;top:.45em}
.form{display:flex;gap:8px;max-width:520px;margin-top:8px;flex-wrap:wrap}
.form input{
  flex:1 1 240px;background:rgba(250,246,236,.06);border:1px solid var(--line-light);
  border-radius:100px;padding:15px 22px;color:var(--paper);font-family:var(--read);font-size:1rem;
  transition:border-color .5s var(--ease),background .5s var(--ease);
}
.form input::placeholder{color:rgba(250,246,236,.4)}
.form input:focus{outline:none;border-color:var(--gold-2);background:rgba(250,246,236,.1)}
.btn{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--paper);color:var(--ink);border:none;cursor:pointer;
  border-radius:100px;padding:8px 8px 8px 26px;
  font-family:var(--grot);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;
  transition:transform .5s var(--ease),background .5s var(--ease);
}
.btn:hover{background:var(--gold-2)}
.btn:active{transform:scale(.975)}
.btn__ico{
  width:36px;height:36px;border-radius:100px;background:var(--ink);color:var(--paper);
  display:grid;place-items:center;font-size:1rem;
  transition:transform .5s var(--ease);
}
.btn:hover .btn__ico{transform:translate(3px,-3px)}
.form-note{font-family:var(--grot);font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(250,246,236,.4);margin-top:16px}

/* ───── footer ───── */
footer{padding:clamp(56px,8vw,100px) 0 clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}
.foot-mark{font-family:var(--serif);font-size:clamp(2.4rem,6vw,4.5rem);font-weight:500;letter-spacing:.06em;line-height:1;text-decoration:none;color:inherit}
.foot-mark .d{color:var(--gold)}
.colophon{font-family:var(--grot);font-size:.74rem;line-height:1.9;color:var(--ink-3);text-transform:uppercase;letter-spacing:.12em;max-width:34ch;text-align:right}
.colophon b{color:var(--ink-2);font-weight:500}
@media(max-width:640px){.colophon{text-align:left}}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:clamp(40px,5vw,64px);padding-top:26px;border-top:1px solid var(--line);font-family:var(--grot);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-3)}
.foot-bottom a{text-decoration:none;color:inherit}
.disclaimer{max-width:60ch;margin-top:22px;font-family:var(--grot);font-size:.66rem;line-height:1.7;letter-spacing:.04em;color:var(--ink-3)}

/* ───── diagrams / figures ───── */
.fig{margin:clamp(40px,5vw,64px) 0;color:var(--ink)}
.fig svg{display:block;width:100%;height:auto;overflow:visible}
.fig text{font-family:var(--grot);fill:currentColor}
.fig .lbl{font-size:14px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.fig .lbl-sm{font-size:12px;letter-spacing:.04em;opacity:.62;font-weight:500}
.fig .axn{font-size:12px;letter-spacing:.05em;opacity:.55;text-transform:uppercase}
.fig .stroke{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.fig .thin{fill:none;stroke:currentColor;stroke-width:1;opacity:.5}
.fig .dash{stroke-dasharray:4 4}
.fig .node{fill:var(--paper);stroke:currentColor;stroke-width:1.3}
.fig .gstroke{fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linejoin:round}
.fig .gfaint{fill:var(--gold);opacity:.08}
.fig .gfill{fill:var(--gold)}
.fig .gtext{fill:var(--gold)}
.fig marker path{fill:currentColor}
.fig marker.g path{fill:var(--gold)}
.fig--dark{color:var(--paper)}
.fig--dark .node{fill:var(--night)}
.fig--dark .gstroke{stroke:var(--gold-2)}
.fig--dark .gfill,.fig--dark .gtext{fill:var(--gold-2)}
.fig--dark .gfaint{fill:var(--gold-2);opacity:.1}
.fig--dark marker.g path{fill:var(--gold-2)}
.fig__cap{font-family:var(--grot);font-size:.74rem;letter-spacing:.01em;color:var(--ink-3);margin-top:18px;line-height:1.6;max-width:60ch}
.fig__cap b{color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}
.fig--dark .fig__cap{color:rgba(250,246,236,.58)}
.fig--dark .fig__cap b{color:var(--gold-2)}
/* diagram primitives: bars, columns, pyramids, value labels */
.fig .bar{fill:var(--ink);opacity:.82}
.fig .bar-g{fill:var(--gold)}
.fig .baseline{fill:none;stroke:currentColor;stroke-width:1.2}
.fig .col{fill:var(--paper-2);stroke:currentColor;stroke-width:1.2}
.fig .col-g{fill:var(--gold);fill-opacity:.09;stroke:var(--gold);stroke-width:1.6}
.fig .tier{fill:none;stroke:currentColor;stroke-width:1.3}
.fig .tier-g{fill:var(--gold);fill-opacity:.12;stroke:var(--gold);stroke-width:1.6}
.fig .val{font-family:var(--serif);font-size:19px;fill:currentColor}
.fig .val-g{font-family:var(--serif);font-size:19px;fill:var(--gold)}
.fig--dark .bar{fill:var(--paper);opacity:.85}
.fig--dark .col{fill:rgba(250,246,236,.05)}
.fig--dark .val-g{fill:var(--gold-2)}

/* ───── reveal motion ───── */
/* fail-open: reveals only hide when JS has confirmed it can animate them (html.js) */
.js .reveal{opacity:0;transform:translateY(30px);filter:blur(7px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.js .reveal.in{opacity:1;transform:none;filter:none}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important}
  .reveal{opacity:1 !important;transform:none !important;filter:none !important;transition:none !important}
  .bar,.progress{transition:none}
}
