/* ==========================================================================
   THE PINGREE FILES — BRAND LAYER v2.0  ·  "OLD MONEY, OLD EXCUSES"
   Extends v1.0. Palette locked: Blaine Black · Dossier Bone · Tarnished Brass
   · Stamp Red. Adds: engraved-currency guilloche, sterling (silver spoon)
   tint, crest ornaments, icon system, mobile file-index drawer.
   ========================================================================== */

:root{
  --sterling:#C6C2B6;      /* mechanical tint — silver, for spoon/engraving only */
  --sterling-dim:#8C8880;
  --brass-ghost:rgba(169,135,63,.16);
  --engrave:url("assets/engrave.svg");
}

/* ---------- ENGRAVED CURRENCY FIELD (money sections only) --------------- */
.engraved{ position:relative; isolation:isolate; }
.engraved::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:var(--engrave); background-repeat:repeat;
  opacity:.20;
  mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
}
.paper.engraved::before{ opacity:.30; }
.engraved > .wrap{ position:relative; z-index:2; }

/* Rosette — the trust fund, drawn like a bond certificate */
.rosette{ position:relative; display:grid; place-items:center; overflow:hidden; max-width:100%; }
.rosette__art{
  grid-area:1/1; width:100%; max-width:520px; height:auto; display:block;
  opacity:.85; animation:spin 60s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .rosette__art{ animation:none; } }
/* Her face, spinning with the pinwheel — greed in the center of the trust */
.rosette__face{
  grid-area:1/1; position:relative; z-index:1; width:32%; max-width:172px; aspect-ratio:1/1;
  border-radius:50%; overflow:hidden; animation:spin 60s linear infinite;
  box-shadow:0 0 0 3px var(--brass), 0 0 0 6px rgba(169,135,63,.28), 0 6px 22px rgba(0,0,0,.55);
}
@media (prefers-reduced-motion:reduce){ .rosette__face{ animation:none; } }
.rosette__face img{
  display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%;
  filter:contrast(1.14) brightness(.97);
}
.rosette__eye{
  position:absolute; width:17%; height:17%; color:var(--brass-lift);
  filter:drop-shadow(0 0 2px rgba(0,0,0,.85)) drop-shadow(0 0 1px rgba(0,0,0,.85));
  pointer-events:none;
}
.rosette__eye--l{ top:53%; left:46.5%; transform:translate(-50%,-50%); }
.rosette__eye--r{ top:53%; left:67.5%; transform:translate(-50%,-50%); }
.rosette__core{
  position:absolute; inset:0; z-index:2; display:flex; flex-direction:column;
  align-items:center; justify-content:space-between; text-align:center; padding:9% 6%;
}
.rosette__val{
  font-family:var(--mono); font-weight:700; font-variant-numeric:tabular-nums;
  font-size:clamp(24px,4.2vw,44px); line-height:1; letter-spacing:-.03em;
  color:var(--brass-lift); background:rgba(8,7,5,.82); padding:8px 18px; border-radius:10px;
  box-decoration-break:clone;
}
.paper .rosette__val{ color:#5E4A20; }
.rosette__lbl{
  margin-top:10px; background:rgba(8,7,5,.72); padding:7px 16px; border-radius:8px;
  display:inline-block;
}

/* ---------- STERLING SPOON DIVIDER -------------------------------------- */
.orn{
  display:flex; align-items:center; gap:16px;
  margin:clamp(38px,5vw,60px) 0;
}
.orn__rule{ flex:1; height:1px; background:var(--hair); }
.paper .orn__rule{ background:rgba(14,13,11,.2); }
.orn svg{ flex-shrink:0; }

/* ---------- ICON SYSTEM ------------------------------------------------- */
.ico{
  width:34px; height:34px; flex-shrink:0; display:block;
  fill:none; stroke:var(--brass); stroke-width:1.35;
  stroke-linecap:round; stroke-linejoin:round;
}
.paper .ico{ stroke:var(--brass-dim); }
.ico--lg{ width:52px; height:52px; stroke-width:1.15; }
.ico--sm{ width:22px; height:22px; }
.ico--silver{ stroke:var(--sterling); }
.paper .ico--silver{ stroke:var(--sterling-dim); }

/* Icon strip — the elite inventory */
.strip{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px; background:var(--hair); border:1px solid var(--hair);
  margin-top:clamp(28px,3.4vw,40px);
}
@media(min-width:700px){ .strip{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.paper .strip{ background:rgba(14,13,11,.2); border-color:rgba(14,13,11,.24); }
.strip__cell{
  background:var(--black); padding:clamp(18px,2.4vw,26px);
  display:flex; flex-direction:column; gap:12px;
}
.paper .strip__cell{ background:var(--bone); }
.strip__cell h5{
  font-family:var(--body); font-weight:800; font-size:15px; line-height:1.25;
  margin:0; letter-spacing:-.005em;
}
.strip__cell p{ font-size:13.5px; line-height:1.5; color:var(--dim); margin:0; max-width:none; }
.paper .strip__cell p{ color:#4A463E; }

/* ---------- SCROLL PROGRESS + FILE-INDEX DRAWER ------------------------- */
.prog{
  position:fixed; top:0; left:0; height:2px; width:0; z-index:950;
  background:linear-gradient(90deg,var(--brass-dim),var(--brass-lift));
  pointer-events:none;
}
.navbtn{
  display:inline-flex; align-items:center; gap:9px;
  background:none; border:1px solid var(--hair); color:var(--dim);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; padding:8px 12px; cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.navbtn:hover{ color:var(--brass-lift); border-color:var(--brass-dim); }
.navbtn__bars{ display:grid; gap:3px; width:14px; }
.navbtn__bars i{ display:block; height:1.5px; background:currentColor; }
@media(min-width:940px){ .navbtn{ display:none; } }

.drawer{
  position:fixed; inset:0; z-index:990; background:rgba(14,13,11,.985);
  display:flex; flex-direction:column;
  opacity:0; visibility:hidden; transition:opacity .26s ease,visibility .26s;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.drawer.open{ opacity:1; visibility:visible; }
.drawer__top{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:0 var(--gut); height:62px;
  border-bottom:1px solid var(--hair); flex-shrink:0;
}
.drawer__x{
  background:none; border:1px solid var(--hair); color:var(--dim);
  font-family:var(--mono); font-size:14px; line-height:1; padding:9px 13px; cursor:pointer;
}
.drawer__x:hover{ color:var(--brass-lift); border-color:var(--brass-dim); }
.drawer__list{ padding:clamp(18px,4vw,34px) var(--gut) 56px; }
.drawer__list a{
  display:flex; align-items:baseline; gap:14px;
  padding:17px 0; border-bottom:1px solid var(--hair);
  text-decoration:none; color:var(--bone);
}
.drawer__list a span{
  font-family:var(--mono); font-size:11px; letter-spacing:.14em;
  color:var(--brass); flex-shrink:0; width:3.4em;
}
.drawer__list a b{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:21px; line-height:1.05; letter-spacing:.01em;
}
.drawer__list a:active b{ color:var(--brass-lift); }
body.locked{ overflow:hidden; }

/* ---------- HERO PUPPET COMPOSITION ------------------------------------- */
.puppet{ position:relative; padding:0 0 clamp(46px,6vw,58px); }
.puppet__back{
  position:absolute; width:44%; max-width:250px;
  right:0; top:0;
}
.puppet__back .frm{ border:1px solid var(--hair); background:var(--tint-1); }
.puppet__back img{
  width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 18%;
  filter:contrast(1.05) brightness(.55) grayscale(1);
}
.puppet__front{
  position:relative; z-index:3; width:80%; max-width:430px;
  margin-top:clamp(40px,6vw,74px);
}
.puppet__front .frm{ border:1px solid var(--brass-dim); background:var(--tint-1); }
.puppet__front img{
  width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 12%;
  filter:contrast(1.14) brightness(1.0);
}
.plate__cap--tight{ padding:9px 11px; }
.plate__cap--tight .meta{ font-size:10px; letter-spacing:.13em; }

/* the strings: brass line from the patron down over the heir */
.puppet__tie{
  position:relative; z-index:6;
  display:flex; flex-direction:column; align-items:flex-end;
  pointer-events:none;
}
.puppet__tie i{
  display:block; width:1px; height:clamp(26px,4vw,44px);
  background:linear-gradient(to bottom,var(--brass),var(--brass-dim));
  margin-right:22px;
}
.puppet__tie em{
  display:block; width:100%; box-sizing:border-box;
  font-family:var(--mono); font-style:normal; font-size:9.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--brass-lift); text-align:right; line-height:1.75;
  background:var(--black); padding:8px 11px; border:1px solid var(--brass-dim);
}
@media(min-width:1000px){
  .puppet__back{ width:46%; max-width:270px; }
  .puppet__front{ width:74%; max-width:none; }
}
@media(max-width:479px){
  .puppet__back{ width:52%; }
  .puppet__front{ width:82%; margin-top:64px; }
  .puppet__tie em{ font-size:8.5px; letter-spacing:.1em; padding:6px 8px; }
}

/* ---------- THE RECORD — SCORECARDS ------------------------------------- */
.score{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--hair); border:1px solid var(--hair); }
@media(min-width:840px){ .score{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.card{
  background:var(--black); padding:clamp(24px,3vw,34px);
  display:flex; flex-direction:column;
}
.card__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.card .figure{ margin:16px 0 4px; font-size:clamp(38px,5.4vw,58px); }
.card h3{
  font-family:var(--body); font-weight:800; font-size:clamp(17px,1.9vw,20px);
  line-height:1.22; letter-spacing:-.01em; margin:8px 0 14px; max-width:22ch;
}
.card > p{ font-size:15px; line-height:1.52; color:var(--dim); margin:0 0 18px; max-width:none; }
.card__resp{
  margin-top:auto; border-top:1px solid var(--brass-ghost); padding-top:15px;
}
.card__resp b{
  display:block; font-family:var(--mono); font-weight:400; font-size:10px;
  letter-spacing:.17em; text-transform:uppercase; color:var(--brass); margin-bottom:8px;
}
.card__resp p{ font-size:14.5px; line-height:1.5; color:var(--bone); margin:0; max-width:none; font-weight:500; }
.card__src{
  margin-top:14px; font-family:var(--mono); font-size:10px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--faint);
}
.card__src a{ color:var(--brass-dim); }
.card__src a:hover{ color:var(--brass-lift); }

/* ---------- THE EXPRESS ELEVATOR ---------------------------------------- */
.lift{ display:grid; grid-template-columns:1fr; gap:clamp(22px,3vw,34px); margin-top:clamp(28px,3.6vw,42px); }
@media(min-width:760px){ .lift{ grid-template-columns:1fr 1fr; gap:clamp(26px,3vw,44px); } }
.lift__col{ border:1px solid rgba(14,13,11,.26); padding:clamp(20px,2.6vw,28px); }
section:not(.paper) .lift__col{ border-color:var(--hair); }
.lift__col--her{ border-color:var(--brass); border-width:2px; background:rgba(169,135,63,.07); }
.lift__hd{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.lift__hd h4{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:clamp(18px,2.1vw,24px); line-height:1.05; margin:0;
}
.lift__sub{ margin:0 0 20px; }
.rungs{ list-style:none; margin:0; padding:0; }
.rungs li{
  display:flex; gap:14px; align-items:flex-start;
  padding:12px 0; border-top:1px dashed rgba(14,13,11,.24);
  font-size:14.5px; line-height:1.45;
}
section:not(.paper) .rungs li{ border-top-color:var(--hair); }
.rungs li:first-child{ border-top:none; }
.rungs li em{
  font-family:var(--mono); font-style:normal; font-size:11px; letter-spacing:.1em;
  color:var(--brass-dim); flex-shrink:0; width:4.6em; padding-top:3px;
}
section:not(.paper) .rungs li em{ color:var(--brass); }
.lift__col--her .rungs li b{ font-weight:800; }

/* ---------- WEALTH BARS ------------------------------------------------- */
.wbars{ margin-top:clamp(26px,3.2vw,38px); }
.wbar{ margin-bottom:22px; }
.wbar__hd{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:9px; }
.wbar__lbl{ font-size:14.5px; line-height:1.35; font-weight:500; }
.wbar__val{
  font-family:var(--mono); font-weight:700; font-size:clamp(15px,1.7vw,19px);
  font-variant-numeric:tabular-nums; color:var(--brass-lift); white-space:nowrap;
}
.paper .wbar__val{ color:#5E4A20; }
.wbar__track{ height:12px; background:rgba(14,13,11,.14); position:relative; overflow:hidden; }
section:not(.paper) .wbar__track{ background:var(--tint-2); }
.wbar__fill{
  position:absolute; inset:0 auto 0 0; width:var(--w,10%);
  background:var(--brass); opacity:.85;
}
.wbar--you .wbar__fill{ background:var(--sterling-dim); opacity:.65; }
.wbar__note{ margin:8px 0 0; font-size:13px; line-height:1.5; color:var(--dim); max-width:none; }
.paper .wbar__note{ color:#4A463E; }

/* ---------- BIG DISPLAY FIGURE (5x, 32) --------------------------------- */
.bigfig{
  display:flex; align-items:center; gap:clamp(18px,2.6vw,32px);
  border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);
  padding:clamp(20px,3vw,30px) 0; margin:0 0 clamp(26px,3.4vw,36px);
}
.paper .bigfig{ border-color:rgba(14,13,11,.22); }
.bigfig__n{
  font-family:var(--mono); font-weight:700; font-variant-numeric:tabular-nums;
  font-size:clamp(64px,13vw,142px); line-height:.86; letter-spacing:-.055em;
  color:var(--brass-lift); flex-shrink:0;
}
.paper .bigfig__n{ color:var(--brass-dim); }
.bigfig__t{ min-width:0; }
.bigfig__t > strong{
  display:block; font-family:var(--body); font-weight:800;
  font-size:clamp(16px,1.9vw,21px); line-height:1.24; letter-spacing:-.01em;
  margin-bottom:8px;
}
.bigfig__t p{ font-size:14.5px; line-height:1.5; color:var(--dim); margin:0; max-width:40ch; }
.paper .bigfig__t p{ color:#4A463E; }

/* Rate comparison bars */
.cmp{ list-style:none; margin:0 0 6px; padding:0; }
.cmp li{ margin-bottom:18px; }
.cmp__hd{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:7px; }
.cmp__hd span{ font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); }
.cmp__hd b{ font-family:var(--mono); font-weight:700; font-size:16px; color:var(--bone); font-variant-numeric:tabular-nums; }
.paper .cmp__hd b{ color:var(--black); }
.cmp__bar{ height:14px; background:var(--tint-2); position:relative; }
.paper .cmp__bar{ background:rgba(14,13,11,.12); }
.cmp__bar i{ position:absolute; inset:0 auto 0 0; width:var(--w,10%); background:var(--brass); opacity:.8; }
.cmp li.hot .cmp__bar i{ background:var(--stamp-black); opacity:.95; }
.paper .cmp li.hot .cmp__bar i{ background:var(--stamp-bone); }

/* ---------- EMBEDDED LEAD MAINE TAX LIST -------------------------------- */
.taxbox{ border:1px solid var(--hair); background:var(--tint-1); margin:clamp(24px,3vw,34px) 0 0; }
.paper .taxbox{ border-color:rgba(14,13,11,.26); background:rgba(14,13,11,.035); }
.taxbox__hd{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  padding:15px 16px; border-bottom:1px solid var(--hair);
}
.paper .taxbox__hd{ border-bottom-color:rgba(14,13,11,.2); }
.taxbox__hd h5{
  font-family:var(--body); font-weight:800; font-size:15px; margin:0 0 5px; line-height:1.25;
}
.taxbox__scroll{
  max-height:430px; overflow-y:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin; scrollbar-color:var(--brass-dim) transparent;
}
.taxbox__scroll::-webkit-scrollbar{ width:9px; }
.taxbox__scroll::-webkit-scrollbar-thumb{ background:var(--brass-dim); }
.taxbox__scroll::-webkit-scrollbar-track{ background:rgba(0,0,0,.2); }
.taxbox__scroll ol{ list-style:none; margin:0; padding:0; counter-reset:t; }
.taxbox__scroll li{
  display:grid; grid-template-columns:2.6em minmax(0,1fr) auto; gap:10px;
  align-items:baseline; counter-increment:t;
  padding:12px 16px; border-bottom:1px solid var(--hair);
}
.paper .taxbox__scroll li{ border-bottom-color:rgba(14,13,11,.13); }
.taxbox__scroll li::before{
  content:counter(t,decimal-leading-zero);
  font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--brass);
}
.taxbox__scroll li span{ font-size:14.5px; line-height:1.42; min-width:0; }
.taxbox__scroll li b{
  font-family:var(--mono); font-weight:700; font-size:13px; white-space:nowrap;
  color:var(--brass-lift); font-variant-numeric:tabular-nums;
}
.paper .taxbox__scroll li b{ color:#5E4A20; }
.taxbox__ft{
  padding:14px 16px; border-top:1px solid var(--hair);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.11em;
  text-transform:uppercase; color:var(--faint); line-height:1.75;
}
.paper .taxbox__ft{ border-top-color:rgba(14,13,11,.2); color:#6E6A60; }
.taxbox__ft a{ display:inline; padding:4px 0; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.taxbox__fade{
  height:26px; margin-top:-26px; position:relative; pointer-events:none;
  background:linear-gradient(to top,var(--tint-1),transparent);
}
.paper .taxbox__fade{ background:linear-gradient(to top,#DDD7C8,transparent); }

/* ---------- CAMPAIGN STATEMENT (clearly labelled opinion) --------------- */
.stmt{
  border:1px solid var(--brass-dim); background:rgba(169,135,63,.06);
  padding:clamp(22px,3vw,32px); margin-top:clamp(26px,3.2vw,36px);
}
.stmt__tag{
  display:inline-block; font-family:var(--mono); font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--brass); border:1px solid var(--brass-ghost);
  padding:4px 8px; margin-bottom:16px;
}
.stmt p{ font-size:16px; line-height:1.55; margin:0 0 .9em; }
.stmt p:last-child{ margin-bottom:0; }
.stmt strong{ font-weight:800; }

/* ---------- CLOSER ------------------------------------------------------ */
.closer{ position:relative; overflow:hidden; border-top:1px solid var(--hair); }
.closer__grid{
  display:grid; grid-template-columns:1fr; gap:clamp(34px,4.4vw,60px);
  align-items:center; padding:clamp(60px,8vw,110px) 0;
}
@media(min-width:960px){ .closer__grid{ grid-template-columns:minmax(0,1fr) minmax(0,.86fr); } }
.closer h2{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:clamp(32px,5.4vw,66px); line-height:1.02; margin:22px 0 0;
}
.closer h2 .ln{ display:block; }
.closer h2 .ln--stamp{ color:var(--stamp-black); }
.closer h2 .ln--brass{ color:var(--brass); }
.closer__deck{ margin-top:clamp(24px,3vw,36px); max-width:56ch; }
.closer__deck p{ font-size:clamp(16px,1.55vw,19px); line-height:1.55; color:#D6D0C2; }
.closer__deck strong{ color:var(--bone); font-weight:800; }
.recap{ list-style:none; margin:clamp(22px,3vw,30px) 0 0; padding:0; }
.recap li{
  display:flex; gap:14px; align-items:flex-start;
  padding:14px 0; border-top:1px solid var(--hair); font-size:15px; line-height:1.5;
}
.recap li b{ font-family:var(--mono); font-weight:700; color:var(--brass-lift); flex-shrink:0; width:4.3em; font-variant-numeric:tabular-nums; }

/* ---------- MISC -------------------------------------------------------- */
.kicker{
  font-family:var(--body); font-weight:800; font-size:clamp(17px,1.8vw,21px);
  line-height:1.35; letter-spacing:-.01em; max-width:34ch;
}
.transition{
  border-top:2px solid var(--brass); margin-top:clamp(36px,4.6vw,56px);
  padding-top:clamp(20px,2.6vw,28px);
}
.transition p{
  font-family:var(--body); font-weight:800; font-size:clamp(18px,2.2vw,26px);
  line-height:1.3; letter-spacing:-.012em; max-width:30ch; margin:0;
}
.srcpill{
  font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--brass); border:1px solid var(--brass-ghost); padding:3px 7px;
  text-decoration:none; white-space:nowrap; display:inline-block;
}
.srcpill:hover{ background:var(--brass); color:var(--black); }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---------- v2 OVERRIDES ------------------------------------------------ */
.hero h1{ font-size:clamp(40px,6.2vw,82px); line-height:.98; }
@media(min-width:1560px){ .hero h1{ font-size:92px; } }
.hero h1 .ln--stampred{ color:var(--stamp-black); }
.hero__deck p{ max-width:52ch; }
.hero .kicker{ margin-top:clamp(22px,2.6vw,30px); }

@media(min-width:960px){
  .inh{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) !important; align-items:start; }
}
@media(min-width:820px){
  .taxnotes{ grid-template-columns:1fr 1fr !important; }
}
.engraved::before{ -webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent); }
.closer h2 .ln--stamp{ color:var(--stamp-black); }

/* ---------- v2 QA FIXES -------------------------------------------------- */
/* Hero verdict stamp: ink-on-bone plate, set over the dark podium mass so it
   never fights the halftone campaign-sign lettering behind her head. */
.stamp--hero{
  left:-16px; right:auto; top:auto; bottom:clamp(88px,13vw,148px);
  color:var(--stamp-bone); border-color:var(--stamp-bone);
  background:rgba(230,224,210,.93);
  transform:rotate(-7deg); opacity:1;
  box-shadow:0 2px 0 rgba(14,13,11,.35);
}
@media(max-width:479px){
  .stamp--hero{ left:8px; bottom:74px; }
}
/* the patron's label must clear the heir's plate */
.puppet__back .plate__cap--tight{ position:relative; z-index:6; }
/* scorecard figures must keep their brand colour, not inherit the body-copy dim */
.card > p.figure{ color:var(--bone); }
.card > p.figure--brass{ color:var(--brass-lift); }
.card > p.figure--stamp{ color:var(--stamp-black); }
/* the patron should still be recognisable in the shadows */
.puppet__back img{ filter:contrast(1.06) brightness(.72) grayscale(1); }
.sectitle{ max-width:22ch; }
/* floor markers need room — "PENTHOUSE" was colliding with the copy */
.rungs li{ gap:18px; }
.rungs li em{ width:auto; min-width:5.6em; white-space:nowrap; font-size:10px; letter-spacing:.09em; }
@media(max-width:520px){
  .rungs li{ flex-direction:column; gap:6px; }
  .rungs li em{ min-width:0; padding-top:0; }
}
/* mobile: the big figure and its icon share one row, the copy runs full width */
@media(max-width:640px){
  .bigfig{ flex-wrap:wrap; align-items:center; row-gap:14px; }
  .bigfig__n{ order:1; }
  .bigfig .ico--lg{ order:2; margin-left:auto; }
  .bigfig__t{ order:3; flex:1 1 100%; }
  .bigfig__t p{ max-width:none; }
}
/* mobile: comparison labels stack so the value never runs off the edge */
@media(max-width:560px){
  .cmp__hd{ flex-direction:column; align-items:flex-start; gap:3px; }
  .cmp__hd b{ font-size:15px; }
}
/* mobile hero: keep the patron's face readable behind the heir */
@media(max-width:640px){
  .puppet__back{ width:46%; max-width:none; }
  .puppet__front{ width:70%; max-width:none; margin-top:70px; }
  .puppet__back .plate__cap--tight{ flex-direction:column; align-items:flex-start; gap:2px; }
  .puppet__back .plate__cap--tight .meta{ white-space:nowrap; font-size:9px; }
  .puppet__front .plate__cap{ flex-direction:column; align-items:flex-start; gap:3px; }
}
/* tablet: the max-width caps were pulling the plates apart — force the overlap */
@media(min-width:641px) and (max-width:999px){
  .puppet__back{ width:46%; max-width:none; }
  .puppet__front{ width:74%; max-width:none; }
}
/* file index must be fully opaque and sit above everything, including the masthead */
.drawer{ background:#0E0D0B; z-index:1200; }
.drawer__top{ background:#0E0D0B; position:sticky; top:0; z-index:2; }
.drawer__top .meta{ white-space:nowrap; }
body.locked{ overflow:hidden; }

/* ---------- HERO: big title + smaller verdict subtitle ------------------ */
.hero__title{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:clamp(46px,7vw,96px); line-height:.98; letter-spacing:.001em;
  margin:20px 0 0; color:var(--bone);
}
@media(min-width:1560px){ .hero__title{ font-size:108px; } }
.hero__sub{
  margin:clamp(18px,2.4vw,26px) 0 0; display:flex; flex-wrap:wrap; gap:.4em .5em;
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:clamp(18px,2.1vw,26px); letter-spacing:.02em; color:var(--bone);
}
.hero__sub .ln{ display:inline; white-space:nowrap; }
.hero__sub .ln--stampred{ color:var(--stamp-black); }
.hero__sub .ln--brass{ color:var(--brass); }

/* ---------- LADDER vs ELEVATOR — real imagery ---------------------------- */
.liftshot{
  position:relative; margin:0 0 clamp(20px,2.6vw,28px); border:1px solid var(--hair);
  background:var(--tint-1); overflow:hidden;
}
.lift__col--her .liftshot{ border-color:var(--brass-dim); }
.liftshot figcaption{
  display:flex; align-items:center; gap:8px; justify-content:space-between;
  padding:9px 12px; border-top:1px solid var(--hair);
  font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--faint); background:var(--black);
}
.lift__col--her .liftshot figcaption{ border-top-color:var(--brass-dim); }
.liftshot figcaption b{ color:var(--brass-lift); font-weight:800; }

.laddershot img{
  display:block; width:100%; aspect-ratio:3/4; object-fit:cover; object-position:50% 22%;
  filter:contrast(1.12) brightness(.96) grayscale(1);
}

/* the favor circle — money, trust and title, no elevator */
.liftcar__scene{
  position:relative; aspect-ratio:3/4; overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% 8%,rgba(169,135,63,.22),transparent 55%),
    radial-gradient(90% 70% at 50% 100%,rgba(169,135,63,.1),transparent 60%),
    linear-gradient(180deg,#1B1710 0%,#0E0D0B 58%,#080705 100%);
}
.liftcar__riders{ position:absolute; inset:0; }
.rider{ position:absolute; }
.rider img{
  display:block; width:100%; height:100%; object-fit:cover; border:1px solid rgba(169,135,63,.3);
}
.rider--mills{
  left:3%; bottom:8%; width:30%; height:58%; z-index:1;
}
.rider--mills img{ object-position:center 20%; filter:contrast(1.05) brightness(.52) grayscale(1); opacity:.92; }
.rider--chellie{
  right:3%; bottom:8%; width:30%; height:58%; z-index:1;
}
.rider--chellie img{ object-position:center 20%; filter:contrast(1.05) brightness(.52) grayscale(1); opacity:.92; }
.rider--hannah{
  left:27%; bottom:0; width:46%; height:80%; z-index:3;
}
.rider--hannah img{ border-color:var(--brass); object-position:center 16%; filter:contrast(1.16) brightness(1.02); }
.rider__tag{
  position:absolute; bottom:-1px; left:0; right:0; text-align:center; z-index:2;
  font-family:var(--mono); font-size:8.5px; letter-spacing:.14em; color:var(--faint);
  background:rgba(0,0,0,.62); padding:3px 4px; white-space:nowrap;
}
.liftcar__coins{ position:absolute; inset:0; z-index:4; pointer-events:none; }
.liftcar__coin{
  position:absolute; filter:drop-shadow(0 2px 4px rgba(0,0,0,.55));
}
.liftcar__coin--1{ top:5%;  left:12%; width:22px; height:22px; transform:rotate(-14deg); }
.liftcar__coin--2{ top:8%;  left:52%; width:28px; height:28px; transform:rotate(20deg); }
.liftcar__coin--3{ top:26%; left:4%;  width:18px; height:18px; transform:rotate(8deg); }
.liftcar__coin--4{ top:18%; left:86%; width:24px; height:24px; transform:rotate(-22deg); }
.liftcar__coin--5{ top:46%; left:8%;  width:30px; height:30px; transform:rotate(12deg); }
.liftcar__coin--6{ top:38%; left:78%; width:20px; height:20px; transform:rotate(-10deg); }
.liftcar__coin--7{ top:66%; left:40%; width:20px; height:20px; transform:rotate(4deg); }
.liftcar__coin--8{ top:4%;  left:34%; width:16px; height:16px; transform:rotate(-6deg); }
.liftcar__coin--9{ top:58%; left:90%; width:18px; height:18px; transform:rotate(16deg); }
.liftcar__coin--10{ top:72%; left:6%;  width:16px; height:16px; transform:rotate(-18deg); }
/* elitism glyph scatter — spoon, trust seal, jet, owned press, ivy league */
.liftcar__glyph{
  position:absolute; fill:none; stroke:var(--brass); stroke-width:1.4;
  stroke-linecap:round; stroke-linejoin:round; opacity:.82;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));
}
.liftcar__glyph--spoon{ top:15%; left:70%; width:26px; height:26px; transform:rotate(10deg); }
.liftcar__glyph--seal{ top:60%; left:60%; width:30px; height:30px; transform:rotate(-8deg); }
.liftcar__glyph--jet{ top:34%; left:34%; width:30px; height:30px; transform:rotate(-4deg); z-index:4; }
.liftcar__glyph--press{ top:2%; left:2%; width:28px; height:28px; transform:rotate(-6deg); }
.liftcar__glyph--ivy{ top:72%; left:76%; width:26px; height:26px; transform:rotate(6deg); }

@media(max-width:520px){
  .rider--mills{ width:28%; height:52%; }
  .rider--chellie{ width:28%; height:52%; }
  .rider--hannah{ left:26%; width:50%; height:76%; }
  .liftcar__glyph{ transform-origin:center; }
}
