/* ============================================================
   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) ~70% viewport */
  --carbon:#0E2240;     /* surface contrast — section panels / cards         */
  --carbon-2:#0B1D38;   /* between ink and carbon                            */
  --bone:#E9E5DC;       /* primary text                                     */
  --slate:#93A0B5;      /* secondary text — navy-tinted gray                */
  --slate-dim:#6E7B91;  /* finest print                                     */
  --gold:#C9A867;       /* single accent (the wordmark gold)                */
  --gold-soft:rgba(201,168,103,.38);
  --line:rgba(233,229,220,.10);   /* hairline on dark                       */
  --line-2:rgba(233,229,220,.16);
  --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);}

.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(--bone);}
.hero-h1{
  font-size:clamp(38px,6vw,70px);
  line-height:1.08;
  margin:0;
  font-weight:600;
  letter-spacing:-.028em;
}
.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-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;text-decoration:none;}
.brand-logo{
  height:46px;width:auto;display:block;flex:0 0 auto;
}
.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-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);
}

/* ---------- 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-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-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;}

/* brand logo — subtle lift on hover */
.brand-logo{transition:opacity .25s ease,transform .35s ease;}
.brand:hover .brand-logo{opacity:.85;}

/* 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-logo{opacity:1;}
  .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{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;}
}
