/* ─────────────────────────────────────────────────────────────
   Industrial Strategic · V5
   Foundation: the ORIGINAL live-site system (v4_original) verbatim –
   ivory paper, ink, claret italic, square buttons, hairline rules,
   sticky blurred header, grayscale photos that bloom on hover.
   Below the foundation: extensions for the new machinery (score,
   quiz, portal, book, tables) written in the same vocabulary, and
   a compatibility layer so ported pages inherit the original look.
   NO border-radius. NO bevels. NO invented colours.
   ───────────────────────────────────────────────────────────── */
:root{
  --paper:#f7f4ec;--paper-2:#f1ecdf;--ink:#1a1c20;--ink-soft:#33363d;
  --claret:#7c2233;--claret-soft:#93374a;--muted:#5d6470;--line:rgba(26,28,32,.12);--line-mid:rgba(26,28,32,.25);
  --gold:#d4a25a;
  --serif:'Fraunces',Georgia,serif;--sans:'Inter',-apple-system,sans-serif;--mono:'IBM Plex Mono',monospace;
  /* aliases so ported pages resolve */
  --paper2:var(--paper-2);--ash:rgba(26,28,32,.16);--hairline:var(--line);--carbon:var(--ink-soft);
  --graphite:var(--muted);--smoke:#8b8e95;--bone:var(--paper-2);--mist:var(--paper-2);--cream:var(--paper);
  --obsidian:var(--ink);--orange-text:var(--claret);--green:#0a7d56;--orange:var(--claret);--amber:var(--gold);--blue:#2f5fb0;
  --font-display:var(--serif);--font-body:var(--sans);--font-mono:var(--mono);
  --radius-card:0;--radius-input:0;--radius-artifact:0;--shadow-artifact:0 0 0 1px var(--line);
  --chrome:var(--sans);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
body>*{width:100%}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px;width:100%}
.eyebrow,.kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--claret);font-weight:600;font-family:var(--sans)}
/* Centred sections cap heading width at 26ch. Without auto margins that
   capped block sits LEFT inside a centred wrap - the heading then reads
   off-centre while the paragraphs beneath look fine. Fix it once here
   rather than with an inline override on every page. */
/* Any capped heading inside a centred container needs auto side margins,
   otherwise the capped block sits LEFT and reads off-centre. Covers the
   .statement wrappers plus bare text-align:center containers (portal
   sign-in, 404, and both instrument result screens). */
.statement h1,.statement h2,.statement h3,
[style*="text-align:center"] > h1,[style*="text-align:center"] > h2,
.wrap[style*="text-align:center"] h1,.wrap[style*="text-align:center"] h2
{margin-left:auto;margin-right:auto}
h1.title,h2.title,h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.12;margin-top:14px;max-width:26ch}
h1.title em,h2.title em,h2 em{font-style:italic;color:var(--claret)}
section{padding:92px 0;border-bottom:1px solid var(--line)}
.photo{filter:grayscale(100%) contrast(1.04) sepia(.12);transition:filter .5s}
.photo:hover{filter:grayscale(0%) contrast(1)}
.mono{font-family:var(--mono)}

/* HEADER (original, sticky) */
header.site{position:sticky;top:0;z-index:100;background:rgba(247,244,236,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{font-family:var(--serif);font-weight:600;font-size:1.3rem;letter-spacing:.14em;text-decoration:none}
.logo span{color:var(--claret)}
nav.links{display:none;gap:28px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
nav.links a{text-decoration:none;transition:color .2s}
nav.links a:hover{color:var(--ink)}
nav.links a.hot{color:var(--claret);font-weight:600}
.btn{display:inline-block;text-decoration:none;padding:14px 28px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border:1px solid var(--ink);color:var(--ink);transition:.2s;background:transparent;cursor:pointer;font-family:var(--sans)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:var(--claret);border-color:var(--claret);color:#fff}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.claret{background:var(--claret);border-color:var(--claret);color:#fff}
.btn.claret:hover{background:var(--ink);border-color:var(--ink)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn.gold:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.nav .btn{display:none;padding:11px 22px}
/* Mobile menu — hamburger + drop panel; replaced by the inline nav at ≥960px */
.navtoggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;margin-right:-11px;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.navtoggle span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .25s ease,opacity .2s ease}
.navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobilemenu{overflow:hidden;max-height:0;background:var(--paper);border-top:1px solid var(--line);transition:max-height .28s ease}
.mobilemenu.open{max-height:480px}
.mobilemenu .wrap{display:flex;flex-direction:column;padding:4px 0 22px}
.mobilemenu a{padding:15px 2px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.mobilemenu a.hot{color:var(--claret);font-weight:600}
.mobilemenu a.btn{margin-top:18px;padding:15px 22px;text-align:center;border-bottom:none;letter-spacing:.08em}
@media(min-width:960px){nav.links{display:flex}.nav .btn{display:inline-block}.navtoggle{display:none}.mobilemenu{display:none}}

/* HERO (original) */
.hero{border-bottom:1px solid var(--line);position:relative}
.hero .wrap{padding:104px 28px 84px}
.hero .eyebrow{display:block;margin-bottom:30px}
h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.9rem,7vw,5.2rem);line-height:1.04;max-width:17ch;letter-spacing:-.01em}
h1 em{font-style:italic;font-weight:400;color:var(--claret)}
.hero .lead{margin-top:30px;font-size:1.14rem;color:var(--muted);max-width:58ch}
.hero .cta{margin-top:42px;display:flex;gap:16px;flex-wrap:wrap}
.lead{font-size:1.14rem;color:var(--muted)}

/* ASCII manicule – animated frames, wit not clip-art */
.asciihand{position:absolute;right:4%;bottom:96px;font-family:var(--mono);font-size:11px;line-height:1.15;color:var(--ink);white-space:pre;user-select:none;display:none;opacity:.85}
@media(min-width:1100px){.asciihand{display:block}}
@media(prefers-reduced-motion:reduce){.asciihand{display:none}}

/* PROOF STRIP (original) */
.proof{background:var(--paper-2);border-bottom:1px solid var(--line);padding:36px 0}
.proof .wrap{display:flex;flex-wrap:wrap;gap:18px 56px;justify-content:space-between}
.stat b{font-family:var(--serif);font-size:2rem;font-weight:500}
.stat span{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2px}

/* DARK BAND (original – ink + gold) */
.band{background:var(--ink);color:var(--paper);border-bottom:none}
.band .wrap{display:grid;grid-template-columns:1fr;gap:30px;align-items:center;padding-top:72px;padding-bottom:72px}
@media(min-width:900px){.band .wrap{grid-template-columns:7fr 4fr}}
.band .eyebrow{color:var(--gold)}
.band h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.15;margin-top:12px}
.band h2 em{font-style:italic;color:var(--gold)}
.band p{color:#b9bcc4;margin-top:16px;max-width:56ch}
.band .right{text-align:left}
@media(min-width:900px){.band .right{text-align:right}}
.band .price{font-family:var(--serif);font-size:1.5rem;margin-bottom:18px}
.band .btn{border-color:var(--gold);color:var(--gold);background:transparent}
.band .btn:hover{background:var(--gold);color:var(--ink)}

/* WHO WE HELP (original) */
.cols3{display:grid;grid-template-columns:1fr;gap:40px;margin-top:52px}
@media(min-width:860px){.cols3{grid-template-columns:repeat(3,1fr)}}
.who h3,.cols3 h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;margin-bottom:10px}
.who .rule,.rule{width:34px;height:2px;background:var(--claret);margin-bottom:18px}
.who p{font-size:.95rem;color:var(--muted)}

/* OFFERS (original broadsheet rows) */
.offers{background:var(--paper-2)}
.offer{display:grid;grid-template-columns:1fr;gap:8px;padding:34px 0;border-top:1px solid var(--line-mid)}
.offer:last-of-type{border-bottom:1px solid var(--line-mid)}
@media(min-width:860px){.offer{grid-template-columns:64px 1fr 320px;gap:36px;align-items:start}}
.offer .num{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--claret)}
.offer h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin-bottom:8px}
.offer p{color:var(--muted);font-size:.97rem;max-width:60ch}
.offer .typ{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding-top:8px}
@media(min-width:860px){.offer .typ{text-align:right}}

/* HOW (original) */
.how .cols3 .num{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--claret);margin-bottom:10px}
.how h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin-bottom:10px}
.how p{font-size:.94rem;color:var(--muted)}

/* RECORD (original) */
.rec-grid{margin-top:48px}
.rec{display:grid;grid-template-columns:1fr;gap:6px;padding:26px 0;border-top:1px solid var(--line)}
.rec:last-child{border-bottom:1px solid var(--line)}
@media(min-width:820px){.rec{grid-template-columns:190px 1fr;gap:30px}}
.rec .cat{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--claret);font-weight:600;padding-top:6px}
.rec h3{font-family:var(--serif);font-weight:500;font-size:1.25rem;margin-bottom:6px}
.rec p{font-size:.93rem;color:var(--muted);max-width:75ch}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:56px}
@media(min-width:860px){.gallery{grid-template-columns:repeat(4,1fr)}}
.gallery figure{position:relative;overflow:hidden;aspect-ratio:4/3}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:14px 14px 10px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#f1ecdf;background:linear-gradient(to top,rgba(26,28,32,.75),transparent)}
a.quiet{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
a.quiet:hover{border-bottom-color:var(--line-mid)}

/* ABOUT (original) */
.about .wrap{display:grid;grid-template-columns:1fr;gap:48px;align-items:start}
@media(min-width:900px){.about .wrap{grid-template-columns:340px 1fr;gap:72px}}
.about .portrait{overflow:hidden}
.about .portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.about .bio p{margin-bottom:16px;color:var(--ink-soft);font-size:1rem}
.about .bio p:first-of-type{font-family:var(--serif);font-size:1.35rem;line-height:1.45;color:var(--ink)}
.marks{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.marks span{font-size:.74rem;letter-spacing:.05em;border:1px solid var(--line-mid);padding:8px 14px;color:var(--ink-soft);background:#fff}

/* CONTACT (original) */
.contact{background:var(--paper-2);border-bottom:none}
.contact .wrap{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:900px){.contact .wrap{grid-template-columns:5fr 6fr;gap:72px}}
.quals{margin:26px 0 30px}
.quals li{list-style:none;display:flex;gap:12px;color:var(--ink-soft);font-size:.95rem;margin-bottom:12px}
.quals li:before{content:'';width:18px;height:1px;background:var(--claret);flex-shrink:0;margin-top:13px}
.details div{margin-bottom:18px;font-size:.95rem}
.details .lab{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.details a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-mid)}
.details a:hover{color:var(--claret);border-color:var(--claret)}
#cal-inline{width:100%;min-height:600px;background:transparent;overflow:auto}

/* FOOTER (original – single row, ink) */
footer{background:var(--ink);color:#9aa0ad;padding:40px 0;margin-top:auto}
footer .wrap{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}
@media(min-width:820px){footer .wrap{flex-direction:row;justify-content:space-between;text-align:left}}
footer .logo{color:var(--paper);font-size:1.05rem}
footer .links{display:flex;gap:18px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
footer .links a{text-decoration:none;color:#9aa0ad}
footer .links a:hover{color:var(--paper)}
footer .small{font-size:.72rem}

/* ═══ EXTENSIONS – new machinery in the original vocabulary ═══ */

/* The gilded score module (ink card, gold bars – the 777 moment) */
.scoremod-dark{background:var(--ink);color:var(--paper);padding:34px 32px;max-width:420px}
.scoremod-dark .slab{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#9aa0ad;display:flex;justify-content:space-between;align-items:center}
.scoremod-dark .slab .free{color:var(--gold);font-weight:600}
.scoremod-dark .num{font-family:var(--serif);font-weight:400;font-size:3.4rem;line-height:1.1;margin:10px 0 16px}
.scoremod-dark .num small{font-size:1.3rem;color:#9a9ea8}
.scorerow{display:flex;justify-content:space-between;font-size:.8rem;color:#b9bcc4;padding:7px 0;border-bottom:1px solid rgba(247,244,236,.12)}
.scorerow .wk{color:var(--gold)}
.scorebar{height:3px;background:rgba(247,244,236,.14);margin:4px 0 10px}
.scorebar i{display:block;height:100%;background:var(--gold)}
.jackpot{font-family:var(--serif);font-style:italic;color:var(--claret);margin-top:18px;font-size:1.02rem}
.scoremod-dark .jackpot{color:var(--gold)}

/* Quiz (original vocabulary: square, hairlines, white cards) */
.qcard{background:#fff;border:1px solid var(--line-mid);padding:44px 44px 36px;margin-top:26px}
.qpillar{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--claret);font-weight:600;margin-bottom:14px}
.qtext{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.3;margin-bottom:8px}
.qhelp{font-size:.95rem;color:var(--muted);margin-bottom:26px}
.scale{display:grid;grid-template-columns:repeat(10,1fr);gap:8px}
.scale button{font-family:var(--mono);font-size:.95rem;padding:13px 0;border:1px solid var(--line-mid);background:#fff;cursor:pointer;transition:all .15s;color:var(--ink)}
.scale button:hover{border-color:var(--ink)}
.scale button.sel{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.progress-rail{height:3px;background:var(--paper-2);margin:10px 0 6px;overflow:hidden}
.progress-rail i{display:block;height:100%;background:var(--claret);width:0%;transition:width .3s ease}
.progress-meta{display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* Tables (method) – uniform columns, all four pillars */
.tablescroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.elements{width:100%;border-collapse:collapse;font-size:.95rem;table-layout:fixed}
table.elements col.c1{width:17%}table.elements col.c2{width:51%}table.elements col.c3{width:32%}
table.elements th{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line-mid)}
table.elements td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-soft)}
table.elements td:first-child{font-family:var(--serif);font-weight:500;color:var(--ink)}
table.elements td.state{font-family:var(--mono);font-size:.82rem;color:var(--muted)}

/* Forms */
input[type=text],input[type=email],input[type=password],textarea,select{border:1px solid var(--line-mid);padding:12px 14px;font-family:var(--sans);font-size:.95rem;background:#fff;color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--ink);outline-offset:0}
.formrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.formrow input{flex:1;min-width:180px}

/* Accessibility */
.skiplink{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--paper);padding:10px 16px;font-size:.78rem}
.skiplink:focus{left:0}
main:focus{outline:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--claret);outline-offset:2px}

/* ═══ Compatibility layer – ported v4 pages inherit the original look ═══ */
.btn-fill{composes:none}
.btn-fill,.pill{display:inline-block;text-decoration:none;padding:14px 28px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border:1px solid var(--ink);background:var(--ink);color:var(--paper);transition:.2s;cursor:pointer;font-family:var(--sans)}
.btn-fill:hover,.pill:hover{background:var(--claret);border-color:var(--claret);color:#fff;text-decoration:none}
.btn-ghost,.pill-ghost{display:inline-block;text-decoration:none;padding:14px 28px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border:1px solid var(--ink);background:transparent;color:var(--ink);transition:.2s;cursor:pointer;font-family:var(--sans)}
.btn-ghost:hover,.pill-ghost:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.btn-claret,.pill-gold{display:inline-block;text-decoration:none;padding:14px 28px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border:1px solid var(--claret);background:var(--claret);color:#fff;transition:.2s;cursor:pointer;font-family:var(--sans)}
.btn-claret:hover,.pill-gold:hover{background:var(--ink);border-color:var(--ink);color:var(--paper);text-decoration:none}
.btn-gold{display:inline-block;text-decoration:none;padding:14px 28px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border:1px solid var(--gold);background:var(--gold);color:var(--ink);transition:.2s;cursor:pointer;font-family:var(--sans)}
.btn-gold:hover{background:var(--paper);border-color:var(--paper);text-decoration:none}
.display{font-family:var(--serif);font-weight:300;letter-spacing:-.01em;line-height:1.08}
h1.display{font-size:clamp(2.9rem,7vw,5.2rem)}
h2.display,.h2.display{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:400}
.card,.card-line{background:#fff;border:1px solid var(--line-mid);padding:24px}
.card-wash{background:var(--paper-2);border:1px solid var(--line);padding:24px}
.card h3{font-family:var(--serif);font-weight:500;font-size:1.2rem;margin-bottom:8px}
.card p{font-size:.95rem;color:var(--muted)}
.grid2{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:860px){.grid2{grid-template-columns:1fr 1fr}}
.grid4{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:860px){.grid4{grid-template-columns:repeat(4,1fr)}}
.split{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:5fr 6fr;gap:56px}}
.statement{text-align:center;max-width:820px;margin:0 auto}
.statement p{color:var(--muted);max-width:38em;margin:22px auto 0;font-size:1.02rem}
.hairline{border:none;border-top:1px solid var(--line)}
.body-muted{color:var(--muted)}
.sub{font-size:1.02rem;color:var(--muted);max-width:44em;margin-bottom:40px}
.prose{max-width:46em}
.prose p{margin:0 0 18px;font-size:1rem;line-height:1.7;color:var(--ink-soft)}
.prose p.big{font-family:var(--serif);font-size:1.35rem;line-height:1.45;color:var(--ink)}
.tag{font-size:.66rem;font-weight:600;letter-spacing:.08em;border:1px solid var(--line-mid);color:var(--muted);background:transparent;padding:3px 8px;text-transform:uppercase}
.dark-band{background:var(--ink);color:var(--paper)}
.dark-band .eyebrow{color:var(--gold)}
.dark-band h2 em,.dark-band .display em{color:var(--gold)}
.dark-band .btn-ghost{border-color:rgba(247,244,236,.55);color:var(--paper)}
.dark-band .btn-ghost:hover{background:rgba(247,244,236,.1)}
.finale{text-align:center}
.bookform{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.bookform input:not([type=checkbox]){flex:1;min-width:220px}
.bookform .consent{flex-basis:100%}
/* optical parity with .recpress: tracked capitals read larger than sentence case,
   so the note is set a step up to carry the same weight on the page */
.booknote{font-size:.82rem;color:var(--muted);margin-top:12px}
.dbar{height:3px;background:var(--paper-2);margin:2px 0 10px;overflow:hidden}
.dbar i{display:block;height:100%;background:var(--claret)}
.srow,.dlabel{display:flex;justify-content:space-between;font-size:.82rem;color:var(--muted);padding:7px 0}
.srow .weak{color:var(--claret);font-weight:600}
.log{border:1px solid var(--line-mid);background:#fff}
.log .loghead{display:flex;justify-content:space-between;border-bottom:1px solid var(--line-mid);padding:10px 16px;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--paper-2)}
.log ul{list-style:none;padding:8px 0}
.log li{display:flex;gap:16px;padding:11px 18px;font-family:var(--mono);font-size:.82rem;line-height:1.5;border-bottom:1px solid var(--line)}
.log li:last-child{border-bottom:none}
.log .t{color:var(--muted);flex:none}
.log .ok{color:var(--green);flex:none}

/* ══ V5.1 — the v4 copy re-set in the original system ══
   Same laws: hairlines not boxes, no radius, no shadows,
   claret on paper, gold on ink. */
h1 em{font-style:italic;color:var(--claret)}
.announce-strip{background:var(--paper-2);border-bottom:1px solid var(--line);text-align:center}
.announce-strip a{display:block;padding:11px 16px;font-size:.78rem;letter-spacing:.06em;text-decoration:none;color:var(--ink-soft)}
.announce-strip a:hover{color:var(--claret)}
.announce-strip .new{color:var(--claret);font-weight:600;text-transform:uppercase;font-size:.68rem;letter-spacing:.14em;margin-right:10px}
.ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}
.cards{display:grid;grid-template-columns:1fr;gap:36px;margin-top:44px}
@media(min-width:900px){.cards{grid-template-columns:repeat(3,1fr)}}
.cards .card{background:transparent;border:0;border-top:1px solid var(--line-mid);padding:22px 0 0}
.cards .card svg{width:26px;height:26px;margin-bottom:14px}
.practice{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.practice b{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--claret);margin-bottom:6px;font-weight:600}
.ladder{display:flex;flex-direction:column}
.rung{border-top:1px solid var(--line-mid);padding:20px 0}
.rung .no{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;color:var(--claret)}
.rung h3{font-family:var(--serif);font-weight:500;font-size:1.18rem;margin:8px 0 6px}
.rung p{font-size:.93rem;color:var(--muted)}
.ladnote{border-top:1px solid var(--line-mid);padding-top:16px;font-size:.85rem;color:var(--muted)}
.arrowlink{color:var(--claret);text-decoration:none;font-weight:500}
.arrowlink:hover{text-decoration:underline}
.arrowlink::after{content:' \2192'}
.recgrid{display:grid;grid-template-columns:1fr;gap:30px 36px;margin-top:46px}
@media(min-width:700px){.recgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.recgrid{grid-template-columns:repeat(3,1fr)}}
.reccard{border-top:1px solid var(--line-mid);padding-top:16px}
.recnum{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.1;margin-bottom:8px}
.recnum.q{font-size:1.9rem;font-style:italic}
.reccard p{font-size:.9rem;color:var(--muted)}
.reccard a.quiet{color:var(--ink-soft)}
.recpress{text-align:center;margin-top:44px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.enggrid{display:grid;grid-template-columns:1fr;gap:30px 36px;margin-top:44px}
@media(min-width:700px){.enggrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.enggrid{grid-template-columns:repeat(3,1fr)}}
.engcard{border-top:1px solid var(--line);padding-top:16px}
.etag{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--claret);font-weight:600;margin-bottom:10px}
.engcard b{font-family:var(--serif);font-weight:500;font-size:1.05rem;display:block;margin-bottom:6px}
.engcard p{font-size:.9rem;color:var(--muted)}
/* the reworked footer: three quiet columns on ink, one hairline base row */
footer{padding:64px 0 28px}
footer .wrap{display:block;text-align:left}
footer .footgrid{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:40px}
@media(min-width:900px){footer .footgrid{grid-template-columns:5fr 3fr 4fr}}
footer .fdesc{font-family:var(--serif);font-size:1.05rem;line-height:1.6;color:#b9bcc4;max-width:32em;margin-top:16px}
footer .fhead{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#9aa0ab;font-weight:600;margin-bottom:14px}
footer .fcol a{display:block;color:#9aa0ad;text-decoration:none;font-size:.88rem;padding:4px 0;letter-spacing:0;text-transform:none}
footer .fcol a:hover{color:var(--paper)}
footer .fcol span{display:block;font-size:.88rem;padding:4px 0}
footer .fbase{border-top:1px solid rgba(247,244,236,.14);padding-top:22px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:.72rem;color:#9aa0ab}
footer .fcol a.fgold{color:var(--gold);font-weight:600}
footer .fcol a.fgold:hover{color:var(--paper)}
footer .fbase a{color:#9aa0ad;text-decoration:none}
footer .fbase a:hover{color:var(--paper)}

/* consent card – quiet, square, bottom-left */
#consent{position:fixed;left:20px;bottom:20px;z-index:200;background:var(--paper);border:1px solid var(--line-mid);padding:20px 22px;max-width:360px}
#consent p{font-size:.85rem;line-height:1.55;color:var(--ink-soft);margin-bottom:14px}
#consent .cbtns{display:flex;gap:8px}
#consent .btn{padding:9px 16px;font-size:.7rem}
@media(max-width:480px){#consent{left:12px;right:12px;bottom:12px;max-width:none}}

/* results-room header furniture */
.roomtag{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.nav .btn.always{display:inline-block;padding:11px 22px}
@media(max-width:560px){.roomtag{display:none}}

/* GDPR consent – unticked box, plain language, never pre-selected */
.consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0 4px;font-size:.82rem;line-height:1.5;color:var(--muted);text-align:left;max-width:46em}
.consent.centred{display:inline-flex;margin-left:auto;margin-right:auto}
.consent input[type=checkbox]{flex:none;width:16px;height:16px;margin-top:2px;accent-color:var(--claret)}
.consent label{cursor:pointer}

/* what arrives, on each ladder rung */
.rung .gets{margin-top:8px;font-size:.88rem;color:var(--ink-soft)}
.rung .gets::before{content:'';display:block;width:22px;height:1px;background:var(--claret);margin-bottom:8px}

/* four-up terms grid – two by two on desktop, never an orphan */
@media(min-width:860px){.cols3.four{grid-template-columns:repeat(2,1fr);gap:40px 56px}}

/* ══ THE CLARET BAND ══
   The site's ONE claret ground, spent on the differentiator and nowhere else.
   Its force is scarcity, exactly as with the ink band: a second claret ground
   anywhere on the site halves the effect of both. Do not reuse.
   The accent here is a lighter gold than --gold, which sits too close to
   claret in value and vibrates against it. */
.band-claret{background:var(--claret);border-bottom:none}
.band-claret .wrap{padding-top:116px;padding-bottom:116px}   /* more room than the section above: this claim carries more */
.band-claret .eyebrow{color:#e8c9a0}
.band-claret h2{color:var(--paper)}
.band-claret h2 em{color:#e8c9a0}
.band-claret p{color:rgba(247,244,236,.88)}
@media(max-width:700px){.band-claret .wrap{padding-top:76px;padding-bottom:76px}}

/* ══ THE TRADEMARK MARK ══
   Fraunces draws ™ close to cap height, which is right at text size and far
   too heavy in display type. Wrap it in .tm for headings ONLY. Inter renders
   ™ correctly in body copy, eyebrows and small print – leave those alone,
   because shrinking them makes the mark disappear. */
.tm{font-size:.55em;vertical-align:.42em;letter-spacing:0}

/* pull-quote – for testimony strong enough to stop the page. Hairline, never a box. */
.pullq{border-top:1px solid var(--line-mid);border-bottom:1px solid var(--line-mid);margin:32px 0;padding:22px 0}
.pullq blockquote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.32rem;line-height:1.5;color:var(--ink);max-width:34em}
.pullq cite{display:block;margin-top:14px;font-family:var(--sans);font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pullq cite .src{display:inline-block;margin-top:5px;letter-spacing:.1em}
.pullq cite a{color:var(--muted)}
.pullq cite a:hover{color:var(--claret)}
