/* ============================================================
   ML Global Services LLC — Institutional system
   Palette derived from the company wordmark: deep navy + gold.
   (Reframes the blueprint's "Institutional Monochrome" with the
    logo's own colors instead of ink black.)
   ============================================================ */

:root{
  --ink:#07182E;        /* dominant navy background (logo navy, deepened) ~65% viewport */
  --carbon:#0E2240;     /* surface contrast — section panels / cards         */
  --carbon-2:#0B1D38;   /* between ink and carbon                            */
  --bone:#F4F2EC;       /* primary text — brightened for stronger contrast   */
  --white:#FCFBF8;      /* pure highlight — headlines / emphasis             */
  --slate:#A6B2C6;      /* secondary text — navy-tinted gray                 */
  --slate-dim:#7A8AA1;  /* finest print                                     */
  --gold:#D4B26E;       /* single accent (the wordmark gold), brightened     */
  --gold-deep:#977528;  /* gold for use on light surfaces (AA contrast)      */
  --gold-soft:rgba(212,178,110,.40);
  --paper:#EFEBE1;      /* warm off-white light surface                      */
  --paper-2:#E6E0D3;    /* light surface, hairlines on paper                 */
  --ink-soft:#2A3346;   /* body text on light surfaces                       */
  --line:rgba(244,242,236,.12);   /* hairline on dark                       */
  --line-2:rgba(244,242,236,.18);
  --maxw:720px;
  --readw:640px;
  /* Web-friendly, sans-serif system: warm grotesque for display, neutral humanist for body */
  --serif:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--ink);
  color:var(--bone);
  font-family:var(--sans);
  font-weight:300;
  font-size:17px;
  line-height:1.7;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

::selection{background:var(--gold);color:var(--ink);}

a{color:inherit;}

/* Focus — visible gold ring per accessibility baseline */
a:focus-visible,button:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:4px;
  border-radius:1px;
}

img{max-width:100%;display:block;}

.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;}

/* skip link */
.skip{
  position:absolute;left:-9999px;top:0;
  background:var(--gold);color:var(--ink);
  padding:12px 18px;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;text-decoration:none;z-index:200;
}
.skip:focus{left:16px;top:16px;}

/* ---------- Layout primitives ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.wrap-read{max-width:var(--readw);margin:0 auto;padding:0 32px;}
.wrap-wide{max-width:960px;margin:0 auto;padding:0 32px;}

section{position:relative;}
.bg-ink{background:var(--ink);}
.bg-carbon{background:var(--carbon);}

/* Light surface — warm off-white for contrast & rhythm */
.bg-paper{background:var(--paper);color:var(--ink-soft);}
.bg-paper h1,.bg-paper h2,.bg-paper h3,.bg-paper .stmt,.bg-paper .hero-h1,.bg-paper .page-h1{color:var(--ink);}
.bg-paper p{color:var(--ink-soft);}
.bg-paper p.lead{color:#41506A;}
.bg-paper .eyebrow{color:var(--gold-deep);}
.bg-paper .muted,.bg-paper .fine,.bg-paper .fine-it{color:#5C6478;}
.bg-paper .rule-60,.bg-paper .rule{background:var(--gold-deep);}
.bg-paper .link-gold{color:var(--gold-deep);border-bottom-color:rgba(151,117,40,.4);background-image:linear-gradient(var(--gold-deep),var(--gold-deep));}
.bg-paper .factlist li,.bg-paper dl.entity div{border-bottom-color:var(--paper-2);}
.bg-paper .factlist .k{color:#6A7286;}
.bg-paper dl.entity dt{color:#6A7286;}
.bg-paper .factlist .v,.bg-paper dl.entity dd{color:var(--ink);}
.bg-paper .dlabel{color:var(--gold-deep);}
.bg-paper .factlist li:hover .k,.bg-paper dl.entity div:hover dt{color:var(--ink);}
.bg-paper .factlist li::after,.bg-paper dl.entity div::after{background:var(--gold-deep);}

.pad-xl{padding:160px 0;}
.pad-lg{padding:120px 0;}
.pad-md{padding:80px 0;}

/* ---------- Type ---------- */
.eyebrow{
  font-family:var(--sans);
  font-weight:400;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 28px;
}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;color:var(--white);}
.hero-h1{
  font-size:clamp(40px,6.2vw,74px);
  line-height:1.06;
  margin:0;
  font-weight:500;
  letter-spacing:-.028em;
  color:var(--white);
}
.page-h1{
  font-size:clamp(34px,4.8vw,54px);
  line-height:1.1;
  margin:0;
  font-weight:600;
  letter-spacing:-.025em;
}
.stmt{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.22;
  margin:0;
  color:var(--bone);
  letter-spacing:-.02em;
}
h2.sec{
  font-size:clamp(23px,2.3vw,29px);
  line-height:1.22;
  margin:0 0 22px;
  font-weight:600;
}
h3.sub{
  font-size:18px;
  font-weight:600;
  font-family:var(--serif);
  margin:30px 0 10px;
  color:var(--bone);
  letter-spacing:-.01em;
}

p{margin:0 0 22px;color:var(--bone);text-wrap:pretty;}
p.lead{color:var(--slate);font-size:clamp(16px,1.6vw,18px);}
.muted{color:var(--slate);}
.fine{color:var(--slate-dim);font-size:13px;line-height:1.7;}
.fine-it{color:var(--slate);font-size:14px;font-style:italic;line-height:1.7;}

/* gold rule */
.rule{height:1px;background:var(--gold);border:0;opacity:.55;}
.rule-60{width:60px;height:1px;background:var(--gold);border:0;opacity:.8;margin:36px 0 0;}
.rule-line{height:1px;background:var(--line);border:0;}

/* inline gold text link */
.link-gold{
  color:var(--gold);
  text-decoration:none;
  border-bottom:1px solid var(--gold-soft);
  padding-bottom:2px;
  transition:border-color .2s;
}
.link-gold:hover{border-bottom-color:var(--gold);}

/* ---------- Header ---------- */
.topbar{
  position:sticky;top:0;z-index:100;
  background:rgba(7,24,46,.86);
  backdrop-filter:saturate(140%) blur(10px);
  border-top:2px solid var(--gold);
  border-bottom:1px solid var(--line);
}
.topbar-in{
  max-width:1120px;margin:0 auto;padding:20px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;}
.brand-logo{height:44px;width:auto;display:block;transition:opacity .25s ease;}
.brand:hover .brand-logo{opacity:.82;}
.brand-mark{
  width:38px;height:38px;border-radius:50%;
  background:var(--bone);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}
.brand-mark img{width:30px;height:30px;}
.brand-word{
  font-family:var(--serif);
  font-weight:600;
  font-size:17px;
  letter-spacing:.04em;
  color:var(--bone);
  white-space:nowrap;
}
.primary-nav{display:flex;align-items:center;gap:34px;}
.primary-nav a{
  font-size:14px;letter-spacing:.02em;color:var(--bone);
  text-decoration:none;opacity:.82;transition:opacity .2s,color .2s;
  position:relative;padding:4px 0;white-space:nowrap;
}
.primary-nav a:hover{opacity:1;color:var(--gold);}
.primary-nav a[aria-current="page"]{color:var(--gold);opacity:1;}
.primary-nav a[aria-current="page"]::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold);
}

/* Hamburger — hidden on desktop */
.menu-toggle{
  display:none;
  width:42px;height:42px;border:0;background:transparent;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;padding:0;
}
.menu-toggle span{display:block;height:1.5px;width:24px;background:var(--bone);transition:transform .25s,opacity .2s,background .2s;}
.menu-toggle:hover span{background:var(--gold);}
.menu-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.menu-toggle.is-open span:nth-child(2){opacity:0;}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--ink);
  border-top:1px solid var(--line);
  padding:80px 0 64px;
}
.foot-in{max-width:1120px;margin:0 auto;padding:0 32px;}
.foot-row{
  display:flex;flex-wrap:wrap;gap:48px;
  justify-content:space-between;align-items:flex-start;
}
.foot-brand{flex:0 0 auto;}
.foot-logo{height:42px;width:auto;display:block;margin-bottom:14px;opacity:.92;}
.foot-brand .fw{
  font-family:var(--serif);font-weight:600;font-size:14px;letter-spacing:.06em;
  color:var(--gold);margin:0 0 6px;line-height:1.3;white-space:nowrap;
}
.foot-brand .fc{color:var(--slate);font-size:12px;letter-spacing:.04em;margin:0;}
.foot-nav{
  display:flex;flex-wrap:wrap;gap:10px 0;align-items:center;
  max-width:560px;
}
.foot-nav a{
  font-size:13px;color:var(--bone);text-decoration:none;opacity:.82;
  transition:color .2s,opacity .2s;
}
.foot-nav a:hover{color:var(--gold);opacity:1;}
.foot-nav .dot{color:var(--gold);margin:0 12px;opacity:.7;}
.foot-copy{color:var(--slate);font-size:12px;text-align:right;max-width:220px;}
.foot-legal{
  margin-top:40px;padding-top:28px;border-top:1px solid var(--gold-soft);
  color:var(--slate-dim);font-size:11px;letter-spacing:.03em;line-height:1.8;
}

/* ---------- Entity data list ---------- */
.datagrid{
  display:grid;grid-template-columns:200px 1fr;gap:48px;
  max-width:960px;margin:0 auto;
}
.datagrid .dlabel{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
dl.entity{margin:0;}
dl.entity div{
  display:grid;grid-template-columns:1fr;gap:2px;
  padding:14px 0;border-bottom:1px solid var(--line);
}
dl.entity div:last-child{border-bottom:0;}
dl.entity dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);}
dl.entity dd{margin:0;font-size:15px;color:var(--bone);line-height:1.6;}

/* simple stacked entity list (Formation etc) */
.factlist{list-style:none;margin:0;padding:0;}
.factlist li{
  display:flex;flex-wrap:wrap;gap:6px 16px;
  padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;
}
.factlist li:last-child{border-bottom:0;}
.factlist .k{color:var(--slate);min-width:230px;letter-spacing:.02em;}
.factlist .v{color:var(--bone);}

/* bullet list with gold markers */
ul.gold-bul{list-style:none;margin:0;padding:0;}
ul.gold-bul li{
  position:relative;padding-left:26px;margin:0 0 14px;
  color:var(--slate);line-height:1.7;
}
ul.gold-bul li::before{
  content:"";position:absolute;left:0;top:11px;
  width:7px;height:1px;background:var(--gold);
}

/* ---------- Members ---------- */
.members{
  display:grid;grid-template-columns:repeat(2,1fr);gap:22px;
  max-width:880px;margin:34px 0 44px;
}
.member{
  position:relative;background:var(--white);
  border:1px solid var(--paper-2);border-top:2px solid var(--gold-deep);
  padding:34px 32px;
}
.member .m-mono{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:50%;
  background:var(--ink);color:var(--gold);
  font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.02em;
  margin-bottom:22px;
}
.member .m-name{
  font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:-.01em;
  color:var(--ink);margin:0 0 6px;line-height:1.25;
}
.member .m-role{
  font-size:13px;letter-spacing:.04em;color:var(--gold-deep);margin:0;font-weight:400;
}
.member.is-tbd{background:transparent;border-style:dashed;border-top-style:dashed;}
.member.is-tbd .m-mono{background:transparent;border:1px dashed var(--gold-deep);color:var(--gold-deep);}
.member.is-tbd .m-name{color:#6A7286;}
@media (max-width:680px){.members{grid-template-columns:1fr;}}

/* ---------- Sectors ---------- */
.sectors{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  margin-top:40px;
}
.sector{
  background:var(--ink);padding:38px 32px 34px;
  position:relative;
  transition:background .3s ease;
}
.sector:hover{background:var(--carbon);}
.sector .s-num{
  font-family:var(--serif);font-weight:600;font-size:15px;
  color:var(--gold);letter-spacing:.04em;
  display:block;margin-bottom:38px;
}
.sector .s-name{
  font-family:var(--serif);font-weight:600;font-size:23px;letter-spacing:-.01em;
  color:var(--white);margin:0 0 12px;line-height:1.2;
}
.sector .s-desc{
  font-size:14.5px;line-height:1.65;color:var(--slate);margin:0;
}
.sector::after{
  content:"";position:absolute;left:32px;bottom:0;height:2px;width:0;
  background:var(--gold);transition:width .35s ease;
}
.sector:hover::after{width:40px;}
.bg-carbon .sectors{background:rgba(244,242,236,.14);border-color:rgba(244,242,236,.14);}
.bg-carbon .sector{background:var(--carbon);}
.bg-carbon .sector:hover{background:#11264a;}
@media (max-width:760px){.sectors{grid-template-columns:1fr;}.sector .s-num{margin-bottom:18px;}}

/* ---------- Contact form ---------- */
.cform{max-width:620px;margin-top:36px;}
.cform .frow{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.cform .field{display:flex;flex-direction:column;margin-bottom:22px;}
.cform label{
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--slate);margin-bottom:10px;font-weight:400;
}
.cform label .req{color:var(--gold);margin-left:3px;}
.cform input,.cform select,.cform textarea{
  font-family:var(--sans);font-size:16px;font-weight:300;
  color:var(--bone);background:rgba(244,242,236,.04);
  border:1px solid var(--line-2);border-radius:0;
  padding:14px 16px;width:100%;
  transition:border-color .2s ease, background .2s ease;
  -webkit-appearance:none;appearance:none;
}
.cform textarea{resize:vertical;min-height:140px;line-height:1.6;}
.cform select{
  background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 20px) center,calc(100% - 14px) center;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
  padding-right:42px;cursor:pointer;
}
.cform select option{background:var(--ink);color:var(--bone);}
.cform input::placeholder,.cform textarea::placeholder{color:var(--slate-dim);}
.cform input:focus,.cform select:focus,.cform textarea:focus{
  outline:none;border-color:var(--gold);background:rgba(244,242,236,.06);
}
.cform .submit-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:6px;}
.btn-gold{
  font-family:var(--sans);font-size:14px;letter-spacing:.06em;
  color:var(--ink);background:var(--gold);
  border:1px solid var(--gold);padding:15px 34px;
  cursor:pointer;transition:background .2s ease, transform .2s ease;
}
.btn-gold:hover{background:var(--gold-2,#e0c98a);}
.btn-gold:active{transform:translateY(1px);}
.cform .form-note{font-size:13px;color:var(--slate-dim);margin:0;}
.cform .form-status{
  font-size:14px;color:var(--gold);margin:18px 0 0;
  opacity:0;transform:translateY(4px);transition:opacity .3s ease, transform .3s ease;
}
.cform .form-status.show{opacity:1;transform:none;}
@media (max-width:620px){.cform .frow{grid-template-columns:1fr;gap:0;}}

/* ---------- Legal / TOC ---------- */
.toc{
  background:var(--carbon);border:1px solid var(--line);
  padding:40px 44px;max-width:var(--maxw);margin:0 auto;
}
.toc .eyebrow{margin-bottom:18px;}
.toc ol{margin:0;padding-left:0;list-style:none;counter-reset:toc;}
.toc li{counter-increment:toc;padding:7px 0;font-size:14px;}
.toc li a{color:var(--bone);text-decoration:none;opacity:.85;transition:color .2s;}
.toc li a:hover{color:var(--gold);}
.toc li::before{content:counter(toc,decimal-leading-zero);color:var(--gold);font-variant-numeric:tabular-nums;margin-right:14px;font-size:12px;}

.legal-body{max-width:var(--maxw);margin:0 auto;}
.legal-sec{padding:46px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px;}
.legal-sec:last-of-type{border-bottom:0;}
.legal-sec h2{font-size:clamp(21px,2.1vw,27px);font-weight:600;margin:0 0 18px;color:var(--bone);letter-spacing:-.02em;}
.legal-sec p{font-size:16px;line-height:1.75;color:var(--bone);}
.legal-sec p.muted,.legal-sec .muted{color:var(--slate);}
.legal-meta{color:var(--slate);font-size:13px;letter-spacing:.04em;}
.anchor-num{color:var(--gold);font-variant-numeric:tabular-nums;font-family:var(--sans);font-weight:400;font-size:.62em;letter-spacing:.1em;vertical-align:middle;margin-right:14px;}

table.cookies{width:100%;border-collapse:collapse;margin:8px 0 0;font-size:14px;}
table.cookies th,table.cookies td{
  text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);
  vertical-align:top;color:var(--bone);
}
table.cookies th{color:var(--gold);font-weight:400;font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
table.cookies td{color:var(--slate);}

.warn-badge{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--gold);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
}

/* ---------- Responsive ---------- */
@media (max-width:760px){
  body{font-size:16px;}
  .pad-xl{padding:104px 0;}
  .pad-lg{padding:80px 0;}
  .topbar-in{padding:16px 22px;}
  .wrap,.wrap-read,.wrap-wide{padding:0 24px;}
  .datagrid{grid-template-columns:1fr;gap:20px;}
  .factlist .k{min-width:0;width:100%;}
  .foot-row{flex-direction:column;gap:32px;}
  .foot-copy{text-align:left;max-width:none;}
  .brand-word{font-size:16px;}
  .brand-logo{height:36px;}
  .foot-logo{height:38px;}
  .toc{padding:30px 26px;}

  /* Top nav collapses to a dropdown panel */
  .menu-toggle{display:flex;}
  .primary-nav{
    position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--carbon);
    border-bottom:1px solid var(--line);
    padding:8px 22px 18px;
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    transition:max-height .3s ease,opacity .25s,visibility .25s;
  }
  .primary-nav.is-open{max-height:360px;opacity:1;visibility:visible;}
  .primary-nav a{
    font-size:16px;padding:15px 0;opacity:1;
    border-bottom:1px solid var(--line);
  }
  .primary-nav a:last-child{border-bottom:0;}
  .primary-nav a[aria-current="page"]::after{display:none;}
}

/* ---------- Hero with imagery ---------- */
.hero{position:relative;overflow:hidden;}
.hero > .wrap{position:relative;z-index:2;}
.hero-wrap{
  position:relative;z-index:2;
  width:100%;max-width:1120px;margin:0 auto;
  padding:104px 32px;
}
.hero-h1{max-width:900px;}
.hero-h1 .h-name{font-weight:700;letter-spacing:-.03em;}
.t-gold{color:var(--gold);}
.bg-paper .t-gold{color:var(--gold-deep);}

/* ---------- Reusable image bands (navy veil like the hero) ---------- */
.imgband{position:relative;overflow:hidden;}
.imgband > *:not(.ib-img):not(.ib-veil){position:relative;z-index:2;}
.ib-img{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover;
}
.ib-veil{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(7,24,46,.84) 0%,rgba(7,24,46,.9) 100%);
}
.ib-veil.veil-strong{
  background:
    linear-gradient(180deg,rgba(7,24,46,.9) 0%,rgba(7,24,46,.93) 100%),
    linear-gradient(90deg,rgba(7,24,46,.55),rgba(7,24,46,.12));
}
.ib-veil.veil-left{
  background:
    linear-gradient(90deg,rgba(7,24,46,.95) 0%,rgba(7,24,46,.82) 42%,rgba(7,24,46,.5) 100%),
    linear-gradient(180deg,rgba(7,24,46,.18) 0%,rgba(7,24,46,.24) 55%,rgba(7,24,46,.42) 100%);
}
@media (max-width:760px){
  .ib-veil.veil-left{
    background:
      linear-gradient(180deg,rgba(7,24,46,.82) 0%,rgba(7,24,46,.9) 100%),
      linear-gradient(90deg,rgba(7,24,46,.9),rgba(7,24,46,.6));
  }
}
@media (max-width:760px){
  .hero-wrap{padding:88px 24px;}
}
.hero-img{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;
  object-fit:cover;object-position:72% center;
  transform:scale(1.04);
}
.hero-veil{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg, rgba(7,24,46,.95) 0%, rgba(7,24,46,.82) 40%, rgba(7,24,46,.52) 100%),
    linear-gradient(180deg, rgba(7,24,46,.12) 0%, rgba(7,24,46,.22) 55%, rgba(7,24,46,.42) 100%);
}
@media (max-width:760px){
  .hero-img{object-position:62% center;}
  .hero-veil{
    background:
      linear-gradient(180deg, rgba(7,24,46,.80) 0%, rgba(7,24,46,.88) 100%),
      linear-gradient(90deg, rgba(7,24,46,.92) 0%, rgba(7,24,46,.62) 100%);
  }
}

/* ---------- Interactivity (subtle, institutional) ---------- */
html{scroll-behavior:smooth;}

/* scroll-reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform;}
.reveal.is-in{opacity:1;transform:none;}
.reveal .rule-60{width:0;}
.reveal.is-in .rule-60{width:60px;transition:width .9s ease .25s;}

/* header reacts to scroll */
.topbar{transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;}
.topbar-in{transition:padding .3s ease;}
.topbar.scrolled{background:rgba(7,24,46,.95);box-shadow:0 10px 30px rgba(0,0,0,.32);border-bottom-color:var(--line-2);}
.topbar.scrolled .topbar-in{padding-top:13px;padding-bottom:13px;}

/* globe mark — gold halo + drift on hover */
.brand-mark{transition:box-shadow .35s ease;}
.brand:hover .brand-mark{box-shadow:0 0 0 3px rgba(201,168,103,.30);}
.brand-mark img{transition:transform .65s cubic-bezier(.2,.7,.2,1);}
.brand:hover .brand-mark img{transform:scale(1.06) rotate(-5deg);}

/* TOC active state (scroll-spy) */
.toc li a{transition:color .2s ease,padding-left .2s ease;}
.toc li a.active{color:var(--gold);padding-left:4px;}

/* data rows — gold marker on hover */
.factlist li,dl.entity div{position:relative;transition:padding-left .25s ease;}
.factlist li::after,dl.entity div::after{
  content:"";position:absolute;left:0;top:50%;width:2px;height:0;
  background:var(--gold);transform:translateY(-50%);transition:height .25s ease;
}
.factlist li:hover,dl.entity div:hover{padding-left:16px;}
.factlist li:hover::after,dl.entity div:hover::after{height:62%;}
.factlist li:hover .k,dl.entity div:hover dt{color:var(--bone);transition:color .2s ease;}

/* gold links — animated underline */
.link-gold{background-image:linear-gradient(var(--gold),var(--gold));background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;border-bottom-color:var(--gold-soft);transition:background-size .3s ease,border-color .2s ease;}
.link-gold:hover{background-size:100% 1px;border-bottom-color:transparent;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;}
  .reveal .rule-60{width:60px;}
  .brand:hover .brand-mark img{transform:none;}
  .link-gold{transition:none;}
}

/* ---------- Print (legal pages) ---------- */
@media print{
  :root{--ink:#fff;--carbon:#fff;--bone:#111;--slate:#333;--slate-dim:#555;--gold:#8a6d2f;--line:#ddd;--gold-soft:#ccc;}
  body{background:#fff;color:#111;font-size:11pt;}
  .topbar,.site-footer,.skip,.brand-mark{display:none !important;}
  .toc{background:#f6f6f6;border-color:#ccc;}
  a{color:#111;text-decoration:none;}
  .pad-xl,.pad-lg,.pad-md{padding:18pt 0;}
  .legal-sec{break-inside:avoid;border-color:#ddd;}
  h1,h2,h3{color:#111;}
}
