/* ============ TOKENS — majestic corporate navy + metallic gold ============ */
:root{
  /* blue: a graded sapphire system, not one flat mid-blue */
  --abyss:#050D1F;         /* deepest — footer, cover */
  --navy:#0A1B3D;          /* primary field */
  --navy-mid:#122E5E;      /* elevated surfaces */
  --royal:#1B4B93;         /* interactive / accent blue */
  --azure:#8FB4E3;         /* muted text on dark */

  /* gold: metallic, with light + shadow stops so it can behave like foil */
  --gold:#D4AF37;          /* the metal */
  --gold-light:#EFD98A;
  --champagne:#F7EBC2;     /* highlight stop */
  --gold-deep:#8A6A1F;     /* shadow stop */
  --gold-text:#7A5C16;     /* gold that is legible on light surfaces */

  --platinum:#EFF2F7;      /* cool corporate light — deliberately not cream */
  --platinum-dim:#DFE5EE;
  --ink:#0B1526;
  --ink-soft:#42506B;

  --foil:linear-gradient(100deg,var(--gold-deep) 0%,var(--gold) 16%,var(--champagne) 36%,#FFF8DF 47%,
         var(--champagne) 58%,var(--gold) 78%,#A67C21 100%);
  --foil-rule:linear-gradient(90deg,transparent 0%,var(--gold-deep) 8%,var(--gold) 28%,
         var(--champagne) 50%,var(--gold) 72%,var(--gold-deep) 92%,transparent 100%);

  --display:Georgia,"Times New Roman",serif;
  --body:Georgia,"Times New Roman",serif;
  --ledger:Georgia,"Times New Roman",serif;

  --measure:68ch;
  --gutter:clamp(1.25rem,5vw,4.5rem);
  --rule:1px solid color-mix(in srgb,var(--navy) 16%,transparent);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}
body{
  margin:0;background:var(--platinum);color:var(--ink);
  font-family:var(--body);font-size:clamp(1rem,.35vw + .95rem,1.125rem);
  line-height:1.65;font-weight:400;
}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.05;margin:0;letter-spacing:-.015em}
p{margin:0 0 1.1em}
a{color:var(--royal);text-decoration-thickness:1px;text-underline-offset:.18em}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
img{max-width:100%;display:block}

.wrap{max-width:1180px;margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{
  font-family:var(--ledger);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--royal);margin:0 0 1.1rem;font-weight:500;
}
.on-dark .eyebrow{color:var(--gold)}

/* gold foil text — the metal, not a flat yellow */
.foil{color:var(--gold)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .foil{
    background-image:var(--foil);background-size:220% 100%;background-position:0% 50%;
    -webkit-background-clip:text;background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;
  }
  .foil-sweep{animation:sheen 9s ease-in-out infinite}
}
@keyframes sheen{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* burnished gold for LIGHT surfaces — solid, legible (5.55:1); foil is reserved for dark */
.gilt{color:var(--gold-text);font-style:italic}

/* heraldic rule: foil hairline crossed by a gold tick */
.crossrule{height:2px;background:var(--foil-rule);opacity:.55;margin:0}

/* ============ NAV ============ */
.topbar{
  position:sticky;top:0;z-index:60;
  background:color-mix(in srgb,var(--abyss) 92%,transparent);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid color-mix(in srgb,var(--gold) 30%,transparent);
}
.topbar-in{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;
  max-width:1180px;margin-inline:auto;padding:.7rem var(--gutter)}
.mark{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;font-weight:600;
  font-size:.85rem;letter-spacing:.01em}
.mark-glyph{
  flex:none;font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.06em;
  color:var(--abyss);background:linear-gradient(160deg,var(--champagne),var(--gold) 55%,#B8912B);
  padding:.28rem .42rem;line-height:1;border-radius:1px;
}
.navlinks{display:flex;align-items:center;gap:1.4rem;margin:0;padding:0;list-style:none}
.navlinks a{
  color:color-mix(in srgb,#fff 84%,transparent);text-decoration:none;font-family:var(--ledger);
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;transition:color .16s ease;
}
.navlinks a:hover{color:var(--gold)}
.btn{
  display:inline-block;font-family:var(--body);font-weight:600;font-size:.95rem;
  padding:.9rem 1.7rem;border-radius:2px;text-decoration:none;border:1px solid transparent;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
/* gilded button: real metal, with edge + lift */
.btn-gold{
  background:linear-gradient(160deg,var(--champagne) 0%,var(--gold) 42%,#B8912B 100%);
  color:var(--abyss);border-color:color-mix(in srgb,var(--champagne) 70%,transparent);
  box-shadow:0 1px 0 color-mix(in srgb,#FFF8DF 60%,transparent) inset,0 10px 26px -12px rgba(212,175,55,.65);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 1px 0 #FFF8DF inset,0 16px 34px -12px rgba(212,175,55,.85)}
.btn-ghost{border-color:color-mix(in srgb,var(--gold) 70%,transparent);color:var(--gold-light);background:transparent}
.btn-ghost:hover{background:var(--gold);color:var(--abyss);border-color:var(--gold);transform:translateY(-2px)}
.btn-solid{background:var(--royal);color:#fff}
.btn-solid:hover{background:var(--navy-mid);transform:translateY(-2px)}
.nav-cta{padding:.55rem 1.05rem;font-size:.8rem}

/* ============ HERO ============ */
.hero{
  position:relative;color:#fff;overflow:hidden;
  background:
    radial-gradient(120% 90% at 78% 8%, color-mix(in srgb,var(--royal) 55%,transparent) 0%, transparent 62%),
    radial-gradient(90% 70% at 8% 92%, color-mix(in srgb,var(--navy-mid) 70%,transparent) 0%, transparent 60%),
    linear-gradient(168deg,var(--navy) 0%,var(--abyss) 100%);
  padding:clamp(3.6rem,9vw,8rem) 0 clamp(3rem,7vw,5.5rem);
}
/* single off-centre foil column — depth without any flag geometry */
.hero::before{content:"";position:absolute;left:62%;top:-8%;width:1px;height:118%;
  background:linear-gradient(180deg,transparent,var(--gold) 22%,var(--champagne) 50%,var(--gold) 78%,transparent);
  opacity:.34;pointer-events:none;
  box-shadow:0 0 60px 14px color-mix(in srgb,var(--gold) 22%,transparent)}
.hero-in{position:relative;z-index:2;display:grid;gap:clamp(2rem,5vw,4rem);
  grid-template-columns:1fr;align-items:center}
@media(min-width:920px){.hero-in{grid-template-columns:1.15fr .85fr}}

.hero h1{
  font-size:clamp(2.4rem,7.2vw,5.2rem);color:#fff;margin:0 0 1.15rem;text-wrap:balance;
}
.hero h1 .tm{font-size:.4em;vertical-align:super;letter-spacing:0}
.hero h1 em{font-style:italic;font-weight:400}
.deck{font-size:clamp(1.05rem,.5vw + 1rem,1.32rem);max-width:52ch;
  color:color-mix(in srgb,#fff 88%,transparent);margin:0 0 2.1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
.hero-note{
  font-family:var(--ledger);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--azure);margin:1.7rem 0 0
}

/* gilded cover */
.cover{
  position:relative;aspect-ratio:5/7.6;
  background:linear-gradient(155deg,var(--navy-mid) 0%,var(--abyss) 72%);
  border:1px solid color-mix(in srgb,var(--gold) 52%,transparent);
  box-shadow:0 40px 70px -28px rgba(0,0,0,.75),
             0 0 0 1px color-mix(in srgb,var(--champagne) 22%,transparent) inset;
  padding:clamp(1.35rem,2.4vw,2.15rem);display:flex;flex-direction:column;justify-content:space-between;
  max-width:380px;margin-inline:auto;
}
.cover::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--gold) 12%,transparent) 0%,transparent 62%)}
.cover::after{content:"";position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--gold) 34%,transparent);pointer-events:none}
.cover-top{position:relative;z-index:2;font-family:var(--ledger);font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-light)}
.cover-title{position:relative;z-index:2;font-family:var(--display);font-size:clamp(1.5rem,3.1vw,2.15rem);
  line-height:1.02;color:#fff;margin:0}
.cover-title span{display:block;font-style:italic;font-weight:400;font-size:.6em;margin-top:.4em}
.cover-foot{position:relative;z-index:2;font-family:var(--ledger);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--azure);
  border-top:1px solid color-mix(in srgb,var(--gold) 40%,transparent);padding-top:.75rem}

/* ============ SECTIONS ============ */
section{padding:clamp(3.2rem,7vw,6rem) 0}
.sec-head{max-width:var(--measure)}
.sec-head h2{font-size:clamp(1.85rem,3.6vw,3rem);margin:0 0 1rem;text-wrap:balance;color:var(--navy)}
.lede{font-size:clamp(1.02rem,.35vw + .95rem,1.2rem);color:var(--ink-soft);max-width:62ch}
.on-dark{
  color:var(--platinum);
  background:
    radial-gradient(100% 80% at 88% 0%, color-mix(in srgb,var(--royal) 34%,transparent) 0%, transparent 58%),
    linear-gradient(172deg,var(--navy) 0%,var(--abyss) 100%);
}
.on-dark h2,.on-dark h3{color:#fff}
.on-dark .lede{color:color-mix(in srgb,#fff 84%,transparent)}

/* thesis pull-quote */
.thesis blockquote{
  margin:0;font-family:var(--display);font-size:clamp(1.6rem,4.2vw,3.15rem);line-height:1.12;
  color:var(--navy);max-width:26ch;text-wrap:balance;
}
.thesis blockquote em{font-style:italic}
.thesis .attrib{font-family:var(--ledger);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-text);margin-top:1.7rem}
.thesis-grid{display:grid;gap:clamp(1.8rem,4vw,3.5rem);grid-template-columns:1fr}
@media(min-width:860px){.thesis-grid{grid-template-columns:1fr 1fr;align-items:start}}

/* ---- SIGNATURE: four-roles ledger ---- */
.roles-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;padding:0;list-style:none}
.roles-tab{
  font-family:var(--ledger);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  background:transparent;color:color-mix(in srgb,#fff 78%,transparent);cursor:pointer;
  border:1px solid color-mix(in srgb,var(--gold) 34%,transparent);padding:.62rem 1.05rem;border-radius:2px;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.roles-tab:hover{border-color:var(--gold);color:var(--gold-light)}
.roles-tab[aria-selected="true"]{
  background:linear-gradient(160deg,var(--champagne) 0%,var(--gold) 45%,#B8912B 100%);
  color:var(--abyss);border-color:var(--champagne);font-weight:600;
}
.roles{display:grid;gap:1px;background:color-mix(in srgb,var(--gold) 20%,transparent);
  grid-template-columns:1fr;border:1px solid color-mix(in srgb,var(--gold) 24%,transparent)}
@media(min-width:640px){.roles{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.roles{grid-template-columns:repeat(4,1fr)}}
.role{background:var(--navy);padding:1.7rem 1.45rem;position:relative;min-height:100%;
  transition:background .3s ease,box-shadow .3s ease}
.role .num{font-family:var(--ledger);font-size:.7rem;letter-spacing:.16em;color:var(--azure)}
.role h3{font-family:var(--display);font-size:1.35rem;margin:.62rem 0 .55rem;color:#fff}
.role p{font-size:.94rem;margin:0;color:color-mix(in srgb,#fff 82%,transparent)}
.role .state{
  display:inline-block;margin-top:1.05rem;font-family:var(--ledger);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;padding:.32rem .6rem;border-radius:2px;
}
.role[data-held="yes"]{
  background:linear-gradient(160deg,var(--navy-mid) 0%,var(--navy) 100%);
  box-shadow:inset 3px 0 0 var(--gold),0 0 40px -14px color-mix(in srgb,var(--gold) 55%,transparent);
}
.role[data-held="yes"] .state{
  background:linear-gradient(160deg,var(--champagne),var(--gold));color:var(--abyss);font-weight:600;
}
.role[data-held="no"]{background:var(--abyss)}
.role[data-held="no"] .state{background:color-mix(in srgb,#fff 12%,transparent);color:var(--azure)}
.roles-caption{font-size:1rem;color:color-mix(in srgb,#fff 86%,transparent);margin:1.7rem 0 0;max-width:60ch}

/* ---- chapters ledger ---- */
.part{margin:0 0 2.5rem}
.part-label{
  display:flex;align-items:baseline;gap:.85rem;padding-bottom:.55rem;margin-bottom:.2rem;
  border-bottom:2px solid transparent;border-image:var(--foil-rule) 1;
}
.part-label .pn{font-family:var(--ledger);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text)}
.part-label h3{font-family:var(--display);font-size:clamp(1.25rem,2.2vw,1.68rem);color:var(--navy)}
.chapters{list-style:none;margin:0;padding:0}
.chapters li{display:flex;gap:1rem;align-items:baseline;padding:.75rem 0;border-bottom:1px dotted var(--platinum-dim)}
.chapters .cn{font-family:var(--ledger);font-size:.8rem;color:var(--gold-text);flex:none;width:2.4rem;font-weight:500}
.chapters .ct{font-weight:600;color:var(--navy)}
.chapters .cd{display:block;font-size:.92rem;color:var(--ink-soft);font-weight:400;margin-top:.18rem}

/* ---- feature cards ---- */
.split{display:grid;gap:clamp(1.8rem,4vw,3.4rem);grid-template-columns:1fr}
@media(min-width:880px){.split{grid-template-columns:1fr 1fr}}
.card{
  background:#fff;border:var(--rule);border-left:3px solid var(--gold);padding:1.8rem 1.7rem;
  box-shadow:0 18px 40px -30px rgba(11,21,38,.45);
}
.on-dark .card{
  background:color-mix(in srgb,#fff 6%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 22%,transparent);border-left:3px solid var(--gold);
  box-shadow:none;
}
.card h3{font-size:1.28rem;margin:0 0 .62rem;color:var(--navy)}
.on-dark .card h3{color:#fff}
.card p{margin:0;font-size:.97rem;color:var(--ink-soft)}
.on-dark .card p{color:color-mix(in srgb,#fff 84%,transparent)}

/* honest-limits list */
.limits{list-style:none;margin:0;padding:0;display:grid;gap:.95rem}
.limits li{display:flex;gap:.85rem;align-items:flex-start;font-size:1rem}
.limits .tick{flex:none;width:.95rem;height:.95rem;margin-top:.4rem;
  background:linear-gradient(150deg,var(--champagne),var(--gold) 55%,var(--gold-deep));
  transform:rotate(45deg)}

/* ---- author ---- */
.author-grid{display:grid;gap:clamp(1.6rem,4vw,3rem);grid-template-columns:1fr}
@media(min-width:820px){.author-grid{grid-template-columns:.8fr 1.2fr}}
.creds{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;gap:.6rem}
.creds li{font-family:var(--ledger);font-size:.82rem;color:var(--ink-soft);padding-left:1.15rem;position:relative}
.creds li::before{content:"";position:absolute;left:0;top:.55em;width:.55rem;height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-deep))}
.portrait{
  aspect-ratio:4/5;background:linear-gradient(155deg,var(--navy-mid),var(--abyss));
  border:1px solid color-mix(in srgb,var(--gold) 42%,transparent);
  display:grid;place-items:center;color:var(--azure);
  font-family:var(--ledger);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:1rem;
  box-shadow:0 30px 60px -34px rgba(0,0,0,.7);
}

/* ---- order ---- */
.order{
  color:#fff;position:relative;overflow:hidden;
  background:
    radial-gradient(110% 90% at 15% 10%, color-mix(in srgb,var(--royal) 45%,transparent) 0%, transparent 60%),
    linear-gradient(168deg,var(--navy) 0%,var(--abyss) 100%);
}
.order::after{content:"";position:absolute;left:0;top:50%;width:100%;height:2px;
  background:var(--foil-rule);opacity:.5;pointer-events:none}
.order-in{position:relative;z-index:2;max-width:70ch}
.order h2{color:#fff;font-size:clamp(1.9rem,4vw,3.1rem)}
.order .price{font-family:var(--ledger);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin:0 0 1.5rem}
.order-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.9rem 0 0}
.order-fine{font-size:.88rem;color:color-mix(in srgb,#fff 80%,transparent);margin:1.7rem 0 0;max-width:60ch}

.searches{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}
.searches li{display:flex;gap:.6rem;align-items:baseline}
.searches li::before{content:"›";color:var(--gold-text);font-weight:700;flex:none}
.searches code{
  font-family:var(--ledger);font-size:.85rem;color:var(--navy);
  background:color-mix(in srgb,var(--gold) 13%,transparent);
  border:1px solid color-mix(in srgb,var(--gold-deep) 26%,transparent);
  padding:.2rem .45rem;border-radius:2px;
}
.contact-strip{
  margin-top:clamp(2rem,4vw,3rem);padding:clamp(1.4rem,3vw,2rem);
  background:#fff;border:var(--rule);border-top:2px solid transparent;border-image:var(--foil-rule) 1;
  display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;justify-content:space-between;
  box-shadow:0 18px 40px -30px rgba(11,21,38,.45);
}
.contact-strip>div{max-width:62ch}

/* ---- FAQ ---- */
details{border-bottom:var(--rule);padding:1.1rem 0}
summary{cursor:pointer;font-weight:600;font-size:1.03rem;list-style:none;display:flex;gap:.85rem;align-items:baseline;color:var(--navy)}
summary::-webkit-details-marker{display:none}
summary::before{content:"+";font-family:var(--ledger);color:var(--gold-text);flex:none;font-weight:600}
details[open] summary::before{content:"–"}
details p{margin:.9rem 0 0 1.7rem;color:var(--ink-soft);font-size:.97rem;max-width:66ch}

/* ---- footer / disclosure ---- */
.footer{background:var(--abyss);color:color-mix(in srgb,#fff 74%,transparent);
  padding:clamp(2.6rem,6vw,4rem) 0 2.4rem;font-size:.85rem;
  border-top:2px solid transparent;border-image:var(--foil-rule) 1}
.footer h2{font-family:var(--ledger);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin:0 0 1.15rem;font-weight:500}
.footer p{max-width:92ch;line-height:1.6}
.footer .plain{color:color-mix(in srgb,#fff 88%,transparent);border-left:2px solid var(--gold);
  padding-left:1.05rem;margin-top:1.5rem}
.footer-bottom{margin-top:2.2rem;padding-top:1.35rem;border-top:1px solid color-mix(in srgb,var(--gold) 22%,transparent);
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-family:var(--ledger);
  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--azure)}
.skip{position:absolute;left:-9999px}
.skip:focus{position:static;display:inline-block;margin:.5rem;padding:.5rem 1rem;background:var(--gold);color:var(--abyss)}

/* ============ AUTHOR LANDING PAGE ============ */
.author-hero{
  color:#fff;position:relative;overflow:hidden;
  background:
    radial-gradient(110% 90% at 82% 6%, color-mix(in srgb,var(--royal) 48%,transparent) 0%, transparent 60%),
    linear-gradient(168deg,var(--navy) 0%,var(--abyss) 100%);
  padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.4rem,5vw,4rem);
}
.author-hero h1{font-size:clamp(2.2rem,6vw,4rem);color:#fff;margin:0 0 .9rem}
.author-hero .role-line{font-family:var(--ledger);font-size:.8rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);margin:0 0 1.4rem}
.q{max-width:var(--measure)}
.q h2{font-size:clamp(1.35rem,2.6vw,1.9rem);color:var(--navy);margin:0 0 .7rem;text-wrap:balance}
.q .answer{font-size:clamp(1.02rem,.3vw + .98rem,1.14rem);color:var(--ink);font-weight:500}
.q p{color:var(--ink-soft)}
.qblock{padding:1.9rem 0;border-bottom:1px dotted var(--platinum-dim)}
.qblock:last-child{border-bottom:0}
.lic{display:grid;gap:1px;background:color-mix(in srgb,var(--gold) 22%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 26%,transparent);grid-template-columns:1fr;margin-top:1.6rem}
@media(min-width:760px){.lic{grid-template-columns:1fr 1fr}}
.lic-row{background:#fff;padding:1.15rem 1.25rem}
.lic-row .j{font-family:var(--ledger);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text)}
.lic-row .t{font-weight:600;color:var(--navy);margin:.35rem 0 .2rem}
.lic-row .b{font-size:.9rem;color:var(--ink-soft);margin:0}
.verify{background:#fff;border:var(--rule);border-left:3px solid var(--gold);
  padding:clamp(1.3rem,3vw,1.9rem);margin-top:1.8rem}
.verify h3{font-size:1.15rem;margin:0 0 .7rem;color:var(--navy)}
.verify ul{margin:.8rem 0 0;padding-left:1.1rem;color:var(--ink-soft);font-size:.95rem}
.verify li{margin-bottom:.4rem}
.searchgrid{display:grid;gap:.7rem;margin-top:1.4rem}
@media(min-width:700px){.searchgrid{grid-template-columns:1fr 1fr}}
.gbtn{
  display:flex;align-items:center;gap:.7rem;text-decoration:none;
  background:#fff;border:var(--rule);padding:.9rem 1.1rem;border-radius:2px;
  color:var(--navy);font-size:.94rem;font-weight:500;transition:border-color .16s ease,transform .16s ease;
}
.gbtn:hover{border-color:var(--gold);transform:translateY(-1px)}
.gbtn .g{font-family:var(--ledger);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-text);flex:none}
.on-dark .gbtn{background:color-mix(in srgb,#fff 7%,transparent);color:#fff;
  border-color:color-mix(in srgb,var(--gold) 24%,transparent)}
.on-dark .gbtn .g{color:var(--gold)}
.note{font-size:.88rem;color:var(--ink-soft);margin-top:1rem}
.on-dark .note{color:color-mix(in srgb,#fff 76%,transparent)}
.backlink{font-family:var(--ledger);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--royal);text-decoration:none;display:inline-block;margin-bottom:1.6rem}
.backlink:hover{color:var(--gold-text)}

/* Chapter 7 benefit-group breakdown */
.groups{list-style:none;margin:.85rem 0 .2rem;padding:0;display:grid;gap:.3rem;
  border-left:2px solid color-mix(in srgb,var(--gold) 45%,transparent);padding-left:.9rem}
.groups li{display:block;font-size:.88rem;color:var(--ink-soft);padding:0;border:0}
.groups .gr{font-family:var(--ledger);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold-text);margin-right:.5rem}
@media(min-width:760px){.groups{grid-template-columns:1fr 1fr;gap:.3rem 1.4rem}}

/* four-roles: plain-language gloss beside each role name */
.role h3 .gloss{
  display:block;font-family:var(--ledger);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:400;color:var(--azure);margin-top:.4rem;
}
.role[data-held="yes"] h3 .gloss{color:var(--gold-light)}

/* ============ BENEFIT ARTICLES ============ */
.article{max-width:72ch}
.article h2{font-family:var(--display);font-size:clamp(1.3rem,2.4vw,1.75rem);color:var(--navy);
  margin:2.2rem 0 .8rem;line-height:1.15}
.article h2:first-child{margin-top:0}
.article p{color:var(--ink);font-size:clamp(1rem,.3vw + .96rem,1.08rem);line-height:1.72;margin:0 0 1.05em}
.article .blist{list-style:none;margin:.4rem 0 1.3rem;padding:0;display:grid;gap:.55rem;
  border-left:2px solid color-mix(in srgb,var(--gold) 45%,transparent);padding-left:1.1rem}
.article .blist li{color:var(--ink-soft);font-size:.98rem}

/* prev / hub / next */
.prevnext{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  border-top:2px solid transparent;border-image:var(--foil-rule) 1;padding-top:1.4rem}
.pn-link,.pn-hub{font-family:var(--ledger);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;color:var(--royal);padding:.55rem .9rem;border:1px solid var(--platinum-dim);
  border-radius:2px;background:#fff;transition:border-color .16s ease,color .16s ease}
.pn-link:hover,.pn-hub:hover{border-color:var(--gold);color:var(--gold-text)}
.pn-hub{color:var(--gold-text);font-weight:500}

/* ============ BENEFIT HUB GRID ============ */
.bgrid{display:grid;gap:1px;background:color-mix(in srgb,var(--navy) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--navy) 12%,transparent);grid-template-columns:1fr}
@media(min-width:640px){.bgrid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.bgrid{grid-template-columns:1fr 1fr 1fr}}
.bcard{display:flex;gap:.85rem;align-items:flex-start;background:#fff;padding:1.15rem 1.1rem;
  text-decoration:none;transition:background .16s ease,box-shadow .16s ease}
.bcard:hover{background:color-mix(in srgb,var(--gold) 7%,#fff);
  box-shadow:inset 3px 0 0 var(--gold)}
.bcard .bn{font-family:var(--ledger);font-size:.78rem;color:var(--gold-text);flex:none;
  font-weight:500;padding-top:.15rem;min-width:1.9rem}
.bcard .bt{color:var(--navy);font-size:.96rem;line-height:1.4;font-weight:500}

/* ---- Georgia-only tuning: the face is wider, with old-style figures ---- */
body{font-size:clamp(1rem,.32vw + .96rem,1.09rem);line-height:1.68}
h1,h2,h3{letter-spacing:-.005em}
.navlinks a,.eyebrow,.role .num,.chapters .cn,.part-label .pn,.cover-top,.cover-foot,
.footer h2,.footer-bottom,.pn-link,.pn-hub,.bcard .bn,.role .state,.roles-tab,.gbtn .g,
.author-hero .role-line,.lic-row .j,.groups .gr,.backlink{
  font-variant-numeric:lining-nums;
}
.article p{max-width:none}
.article{max-width:68ch}

/* ============ END-OF-PAGE CTA ============ */
.endcta{
  color:#fff;position:relative;overflow:hidden;padding:clamp(2.6rem,5.5vw,4.2rem) 0;
  background:
    radial-gradient(100% 90% at 20% 0%, color-mix(in srgb,var(--royal) 42%,transparent) 0%, transparent 62%),
    linear-gradient(168deg,var(--navy) 0%,var(--abyss) 100%);
  border-top:2px solid transparent;border-image:var(--foil-rule) 1;
}
.endcta-in{max-width:64ch}
.endcta h2{color:#fff;font-size:clamp(1.6rem,3.2vw,2.4rem);margin:0 0 .9rem;text-wrap:balance}
.endcta p{color:color-mix(in srgb,#fff 86%,transparent);margin:0 0 1rem}
.endcta-actions{margin:1.5rem 0 0!important}
.endcta-note{
  font-size:.82rem!important;color:var(--azure)!important;margin:1.3rem 0 0!important;line-height:1.6;
}

/* ---- nav without a brand mark: centred, wraps cleanly on small screens ---- */
.topbar-in{justify-content:center}
.navlinks{flex-wrap:wrap;justify-content:center;row-gap:.5rem}
@media(max-width:520px){
  .navlinks{gap:.9rem}
  .navlinks a{font-size:.7rem}
}
