
    :root{
      --navy:#0f1f3a;
      --navy-2:#0a1428;
      --navy-3:#071022;
      --ink:#1b2435;
      --gold:#c8a24a;
      --gold-strong:#a5812e;
      --gold-soft:#e6cf9a;
      --gold-ink:#7d5b19;

      --paper:#ffffff;
      --stone:#f6f4ef;
      --muted:#5c6472;
      --muted-2:#818897;

      --line:rgba(15,31,58,.10);
      --line-2:rgba(15,31,58,.16);
      --hair-gold:rgba(200,162,74,.38);
      --line-d:rgba(255,255,255,.12);
      --line-d2:rgba(255,255,255,.16);

      --sh-1: 0 1px 2px rgba(12,17,26,.06), 0 8px 24px rgba(12,17,26,.06);
      --sh-2: 0 2px 4px rgba(12,17,26,.06), 0 18px 40px rgba(12,17,26,.10);
      --sh-navy: 0 24px 60px rgba(8,16,34,.34);

      --radius:20px;
      --radius-2:14px;
      --radius-3:10px;
      --max:1180px;

      --hFont:"Playfair Display", ui-serif, Georgia, "Times New Roman", serif;
      --bFont:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    }

    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    html.js .reveal{ opacity:0; transform:translateY(16px); }
    body{
      margin:0;
      font-family:var(--bFont);
      line-height:1.6;
      color:var(--ink);
      background:
        radial-gradient(1200px 620px at 82% -8%, rgba(200,162,74,.07), transparent 60%),
        linear-gradient(180deg, #ffffff 0%, var(--stone) 100%);
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
      -webkit-text-size-adjust:100%;
      font-optical-sizing:auto;
      color-scheme:light;
    }

    a{ color:inherit; text-decoration:none; }
    a:hover{ color:var(--gold-strong); }
    a:focus-visible, button:focus-visible{ outline:2px solid var(--gold-strong); outline-offset:3px; border-radius:6px; }

    .page{ width:min(100%, var(--max)); margin:0 auto; padding:26px 22px 72px; }

    .skip{ position:absolute; left:-999px; top:-999px; padding:10px 14px; background:var(--navy); color:#f6f6f3; border-radius:10px; z-index:999; }
    .skip:focus{ left:16px; top:12px; }

    /* Eyebrow */
    .eyebrow{ margin:0 0 12px; display:inline-flex; align-items:center; gap:10px; letter-spacing:.20em; text-transform:uppercase; font-size:11.5px; font-weight:700; color:var(--gold-ink); }
    .eyebrow::before{ content:""; width:26px; height:1px; background:var(--gold); display:inline-block; flex:0 0 auto; }
    .eyebrow.on-dark{ color:var(--gold-soft); }
    .eyebrow.on-dark::before{ background:var(--gold-soft); }

    /* ---------- Header ---------- */
    header.top{
      display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px;
      padding:13px 18px; border-radius:var(--radius-2);
      background:rgba(252,251,249,.72); border:1px solid var(--line);
      border-top:1px solid rgba(255,255,255,.9);
      box-shadow:var(--sh-1);
      position:sticky; top:calc(env(safe-area-inset-top,0px) + 12px); z-index:30;
      -webkit-backdrop-filter:saturate(170%) blur(18px); backdrop-filter:saturate(170%) blur(18px);
    }
    .brand{ display:flex; align-items:center; gap:13px; min-width:0; }
    .brand img{ width:54px; height:54px; border-radius:50%; object-fit:cover; box-shadow:0 4px 12px rgba(0,0,0,.14); background:transparent; }
    .brandText{ display:flex; flex-direction:column; gap:2px; min-width:0; }
    .brandName{ margin:0; font-family:var(--hFont); font-weight:600; font-size:19px; letter-spacing:-.2px; color:var(--navy); }
    .tagline{ margin:0; font-size:12.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

    nav.nav{ display:flex; gap:26px; justify-self:center; }
    nav.nav a{ font-size:14px; font-weight:500; color:var(--ink); letter-spacing:.01em; position:relative; padding:4px 0; }
    nav.nav a::after{ content:""; position:absolute; left:0; right:100%; bottom:-2px; height:1.5px; background:var(--gold); transition:right .22s ease; }
    nav.nav a:hover{ color:var(--navy); }
    nav.nav a:hover::after{ right:0; }
    nav.nav a:active{ color:var(--gold-strong); }
    nav.nav a.active{ color:var(--navy); font-weight:600; }
    nav.nav a.active::after{ right:0; }

    /* Mobile menu toggle (hidden on desktop) */
    .navToggle{ display:none; width:44px; height:44px; padding:0; border-radius:11px; border:1px solid var(--line-2); background:rgba(15,31,58,.05); cursor:pointer; align-items:center; justify-content:center; transition:background .18s ease, transform .09s ease-out; }
    .navToggle:hover{ background:rgba(15,31,58,.08); }
    .navToggle:active{ transform:scale(.94); }
    .navToggleBars{ position:relative; display:block; width:20px; height:14px; }
    .navToggleBars span{ position:absolute; left:0; width:20px; height:2px; border-radius:2px; background:var(--navy); transition:transform .25s ease, opacity .18s ease, top .25s ease; }
    .navToggleBars span:nth-child(1){ top:0; }
    .navToggleBars span:nth-child(2){ top:6px; }
    .navToggleBars span:nth-child(3){ top:12px; }
    header.top.nav-open .navToggleBars span:nth-child(1){ top:6px; transform:rotate(45deg); }
    header.top.nav-open .navToggleBars span:nth-child(2){ opacity:0; }
    header.top.nav-open .navToggleBars span:nth-child(3){ top:6px; transform:rotate(-45deg); }

    .actions{ display:flex; gap:10px; align-items:center; justify-content:flex-end; }
    .chip{ padding:10px 15px; border-radius:999px; background:rgba(15,31,58,.05); border:1px solid var(--line-2); font-size:13px; font-weight:500; color:var(--ink); display:inline-flex; align-items:center; gap:8px; transition:transform .14s ease, box-shadow .18s ease, background .18s ease; }
    .chip svg{ width:16px; height:16px; }
    .chip:hover{ color:var(--ink); transform:translateY(-1px); box-shadow:0 8px 16px rgba(15,31,58,.10); background:rgba(15,31,58,.07); }
    .chip:active{ transform:translateY(0) scale(.96); transition:transform .09s ease-out; }
    .chip.primary{ background:linear-gradient(120deg, var(--gold) 0%, var(--gold-strong) 100%); border:0; color:#211803; font-weight:700; box-shadow:0 10px 22px rgba(165,129,46,.30); }
    .chip.primary:hover{ color:#211803; box-shadow:0 14px 28px rgba(165,129,46,.38); }
    .icon-chip{ padding:0; width:44px; height:44px; justify-content:center; color:var(--navy); }

    /* ---------- Buttons ---------- */
    .btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:13px 22px; border-radius:12px; font-weight:600; font-size:15px; border:1px solid var(--line-2); background:#fff; color:var(--ink); box-shadow:var(--sh-1); transition:transform .14s ease, box-shadow .18s ease, background .18s ease, filter .16s ease; }
    .btn svg{ width:17px; height:17px; }
    .btn:hover{ color:var(--ink); transform:translateY(-1px); }
    .btn:active{ transform:translateY(0) scale(.985); transition:transform .09s ease-out; }
    .btn.primary{ background:linear-gradient(120deg, var(--gold) 0%, var(--gold-strong) 100%); color:#211803; border:0; font-weight:700; box-shadow:0 12px 26px rgba(165,129,46,.32); }
    .btn.primary:hover{ color:#211803; box-shadow:0 16px 32px rgba(165,129,46,.40); }
    .btn.ghost{ background:transparent; border-color:var(--line-2); color:var(--navy); box-shadow:none; }
    .btn.ghost:hover{ background:rgba(15,31,58,.05); color:var(--navy); }
    .btn.on-dark{ background:rgba(255,255,255,.06); color:#f4f2ec; border:1px solid rgba(255,255,255,.22); box-shadow:none; }
    .btn.on-dark:hover{ background:rgba(255,255,255,.13); color:#fff; }

    /* ---------- Cinematic Hero ---------- */
    .hero{
      position:relative; margin-top:26px; border-radius:var(--radius); overflow:hidden;
      min-height:clamp(400px, 52vh, 520px);
      display:flex; flex-direction:column; justify-content:center;
      background:
        radial-gradient(760px 420px at 88% 6%, rgba(200,162,74,.16), transparent 60%),
        linear-gradient(158deg, var(--navy) 0%, var(--navy-2) 66%, var(--navy-3) 100%);
      border:1px solid rgba(255,255,255,.10); box-shadow:var(--sh-navy); color:#f4f2ec;
    }
    .hero::after{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg, var(--gold-strong), var(--gold) 45%, transparent 92%); z-index:2; }
    .heroInner{ position:relative; z-index:1; padding:clamp(30px,5vw,58px) clamp(28px,5vw,58px) clamp(24px,3vw,34px); }
    .heroCopy{ max-width:660px; }
    .hero .eyebrow{ color:var(--gold-soft); }
    .hero .eyebrow::before{ background:var(--gold-soft); }
    .hero h1{ margin:0 0 16px; font-family:var(--hFont); font-weight:600; font-size:clamp(36px, 5.2vw, 60px); line-height:1.04; letter-spacing:-1.2px; color:#fbfaf7; }
    .hero h1 .accent{ color:var(--gold-soft); font-style:italic; }
    .hero .lede{ margin:0; color:rgba(244,242,236,.86); font-size:clamp(16px, 2.1vw, 19px); line-height:1.6; max-width:52ch; }
    .heroCta{ margin-top:26px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; }

    .heroStats{
      position:relative; z-index:1;
      padding:20px clamp(28px,5vw,58px) clamp(26px,4vw,40px);
      border-top:1px solid rgba(255,255,255,.16);
      display:grid; grid-template-columns:repeat(3, 1fr); gap:0; align-items:end;
    }
    .heroStat{ padding-right:20px; }
    .heroStat + .heroStat{ border-left:1px solid rgba(255,255,255,.15); padding-left:26px; }
    .heroStat b{ display:block; font-family:var(--hFont); font-weight:600; font-size:clamp(22px,2.6vw,30px); line-height:1; color:#fbfaf7; font-variant-numeric:tabular-nums; letter-spacing:-.4px; }
    .heroStat b .u{ color:var(--gold-soft); }
    .heroStat small{ display:block; margin-top:8px; font-size:11.5px; letter-spacing:.10em; text-transform:uppercase; color:rgba(244,242,236,.72); }

    /* ---------- Engage (dark band) ---------- */
    .engage{
      margin-top:26px; border-radius:var(--radius); padding:clamp(26px,3.5vw,40px);
      background: radial-gradient(560px 320px at 100% 0%, rgba(200,162,74,.14), transparent 60%),
                  linear-gradient(165deg, var(--navy) 0%, var(--navy-2) 70%, var(--navy-3) 100%);
      color:#f4f2ec; border:1px solid rgba(255,255,255,.10); box-shadow:var(--sh-navy);
      display:grid; grid-template-columns:.9fr 1.1fr; gap:34px; align-items:start; position:relative; overflow:hidden;
    }
    .engageLead h2{ margin:0 0 12px; font-family:var(--hFont); font-weight:600; font-size:clamp(22px,2.6vw,28px); letter-spacing:-.3px; }
    .engageLead p{ margin:0 0 18px; color:rgba(244,242,236,.76); font-size:15px; line-height:1.62; max-width:40ch; }
    .callout{ padding:15px 16px; border-radius:12px; background:rgba(0,0,0,.24); border:1px solid rgba(200,162,74,.28); display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-size:13.5px; }
    .callout b{ font-family:var(--hFont); font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-soft); }
    .callout a{ color:#f4f2ec; font-weight:500; }
    .callout a:hover{ color:var(--gold-soft); }
    .callout .sep{ color:rgba(244,242,236,.35); }
    .engageList{ display:flex; flex-direction:column; gap:12px; }
    .item{ padding:15px 16px; border-radius:12px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.09); display:flex; gap:13px; align-items:flex-start; transition:background .18s ease, border-color .18s ease, transform .14s ease; }
    .item:hover{ background:rgba(255,255,255,.07); border-color:rgba(200,162,74,.35); transform:translateX(2px); }
    .dot{ width:9px; height:9px; border-radius:50%; background:var(--gold); margin-top:6px; box-shadow:0 0 0 6px rgba(200,162,74,.16); flex:0 0 auto; }
    .item b{ display:block; font-size:15px; font-weight:600; color:#fbfaf7; }
    .item span{ display:block; margin-top:3px; color:rgba(244,242,236,.74); font-size:13px; line-height:1.5; }

    /* ---------- Sections ---------- */
    .section{ margin-top:60px; }
    .sectionHead{ max-width:70ch; margin-bottom:26px; }
    .sectionHead h2{ margin:0 0 8px; font-family:var(--hFont); font-weight:600; font-size:clamp(26px, 3.2vw, 36px); letter-spacing:-.6px; color:var(--navy); line-height:1.12; }
    .sectionHead p{ margin:0; color:var(--muted); line-height:1.62; font-size:16px; }

    /* Value (editorial + image crops) */
    .value{
      margin-top:52px; display:grid; grid-template-columns:0.9fr 1.1fr; gap:44px; align-items:start;
      padding:clamp(28px,3.5vw,44px); border-radius:var(--radius);
      background:linear-gradient(180deg,#fff,#faf8f3); border:1px solid var(--line); box-shadow:var(--sh-1);
      position:relative; overflow:hidden;
    }
    .value::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg, var(--gold), transparent); }
    .value h2{ margin:0; font-family:var(--hFont); font-weight:600; font-size:clamp(24px,3vw,34px); letter-spacing:-.5px; color:var(--navy); line-height:1.14; }
    .value p{ margin:0; color:var(--muted); font-size:16.5px; line-height:1.7; }
    .value .eyebrow{ margin-bottom:12px; }
    .valueMedia{ position:relative; }
    .valueMedia picture{ box-shadow:var(--sh-2); border-radius:12px; overflow:hidden; }
    .valueMedia picture img{ width:100%; height:100%; object-fit:cover; display:block; }
    .crop-ledger{ position:relative; display:block; width:80%; aspect-ratio:4/5; border:1px solid var(--line-2); }
    .crop-metal{ position:absolute; display:block; width:46%; aspect-ratio:1/1; right:0; bottom:26px; border:2px solid var(--gold); }
    .mediaCap{ margin:16px 0 0; display:flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.04em; color:var(--muted); }
    .mediaCap::before{ content:""; width:22px; height:1px; background:var(--gold); flex:0 0 auto; }

    /* Services (editorial columns) */
    .frameworkTitle{ display:flex; flex-direction:column; gap:8px; margin-bottom:8px; }
    .frameworkTitle h2{ margin:0; font-family:var(--hFont); font-weight:600; font-size:clamp(26px,3.4vw,38px); letter-spacing:-.6px; color:var(--navy); }
    .frameworkRule{ height:1px; background:var(--line-2); margin:22px 0 6px; }
    .framework{ display:grid; grid-template-columns:repeat(3, 1fr); gap:0; }
    .fcol{ padding:26px 30px; border-left:1px solid var(--line); }
    .fcol:first-child{ padding-left:4px; border-left:0; }
    .fnum{ font-family:var(--hFont); font-weight:600; font-size:clamp(40px,4vw,56px); line-height:1; color:var(--gold-strong); letter-spacing:-1px; }
    .fcol .fico{ width:44px; height:44px; border-radius:12px; background:linear-gradient(150deg, var(--navy), var(--navy-2)); display:grid; place-items:center; box-shadow:0 8px 16px rgba(15,31,58,.20); margin:16px 0 16px; }
    .fcol .fico svg{ width:22px; height:22px; stroke:var(--gold-soft); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; fill:none; }
    .fcol:hover .fnum{ color:var(--gold); }
    .fnum{ transition:color .2s ease; }
    .fcol b{ display:block; font-family:var(--hFont); font-weight:600; font-size:20px; letter-spacing:-.2px; color:var(--navy); margin-bottom:8px; line-height:1.15; }
    .fcol span{ color:var(--muted); font-size:14.5px; line-height:1.6; }

    /* Who — card grid */
    .whoGrid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }
    .whoCard{ position:relative; overflow:hidden; display:flex; flex-direction:column; gap:10px; padding:26px 24px; border-radius:var(--radius-2); background:var(--paper); border:1px solid var(--line); box-shadow:var(--sh-1); transition:transform .16s ease, box-shadow .2s ease, border-color .2s ease; }
    .whoCard::before{ content:""; position:absolute; inset:0 0 auto 0; height:2px; background:linear-gradient(90deg, var(--gold), transparent); opacity:0; transition:opacity .2s ease; }
    .whoCard:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--hair-gold); }
    .whoCard:hover::before{ opacity:1; }
    .whoIco{ width:44px; height:44px; border-radius:12px; background:linear-gradient(150deg, var(--navy), var(--navy-2)); display:grid; place-items:center; flex:0 0 auto; box-shadow:0 8px 16px rgba(15,31,58,.20); margin-bottom:2px; }
    .whoIco svg{ width:22px; height:22px; stroke:var(--gold-soft); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; fill:none; }
    .whoCard b{ font-family:var(--hFont); font-weight:600; font-size:18px; color:var(--navy); letter-spacing:-.2px; }
    .whoCard span{ color:var(--muted); font-size:14.5px; line-height:1.6; }

    /* Problem cards */
    .probGrid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
    .probCard{ padding:22px 22px; border-radius:var(--radius-2); background:var(--paper); border:1px solid var(--line); box-shadow:var(--sh-1); transition:transform .16s ease, box-shadow .2s ease, border-color .2s ease; }
    .probCard:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--hair-gold); }
    .probCard b{ display:flex; align-items:flex-start; gap:11px; font-size:16px; color:var(--navy); font-weight:600; margin-bottom:8px; line-height:1.32; }
    .probCard b::before{ content:""; width:8px; height:8px; border-radius:2px; background:var(--gold); margin-top:6px; flex:0 0 auto; box-shadow:0 0 0 4px rgba(200,162,74,.14); }
    .probCard span{ display:block; color:var(--muted); font-size:14px; line-height:1.6; padding-left:19px; }

    /* FAQ accordion */
    .faq{ display:grid; gap:12px; max-width:820px; }
    .faqItem{ border:1px solid var(--line); border-radius:var(--radius-2); background:var(--paper); box-shadow:var(--sh-1); overflow:hidden; transition:border-color .2s ease; }
    .faqItem[open]{ border-color:var(--hair-gold); }
    .faqItem summary{ list-style:none; cursor:pointer; padding:18px 20px; font-family:var(--hFont); font-weight:600; font-size:17px; color:var(--navy); display:flex; align-items:center; justify-content:space-between; gap:14px; }
    .faqItem summary::-webkit-details-marker{ display:none; }
    .faqItem summary::after{ content:""; width:10px; height:10px; border-right:2px solid var(--gold-strong); border-bottom:2px solid var(--gold-strong); transform:translateY(-2px) rotate(45deg); transition:transform .22s ease; flex:0 0 auto; margin-right:4px; }
    .faqItem[open] summary::after{ transform:translateY(2px) rotate(-135deg); }
    .faqItem summary:hover{ color:var(--gold-strong); }
    .faqA{ padding:0 20px 20px; }
    .faqA p{ margin:0; color:var(--muted); font-size:15.5px; line-height:1.65; max-width:66ch; }

    /* Credibility — oversized metrics on navy */
    .record{
      border-radius:var(--radius); padding:clamp(30px,4vw,52px);
      background: radial-gradient(700px 340px at 12% 0%, rgba(200,162,74,.14), transparent 60%),
                  linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 68%, var(--navy-3) 100%);
      color:#f4f2ec; border:1px solid rgba(255,255,255,.10); box-shadow:var(--sh-navy);
      position:relative; overflow:hidden;
    }
    .record .eyebrow{ color:var(--gold-soft); }
    .record .eyebrow::before{ background:var(--gold-soft); }
    .record h2{ margin:0 0 6px; font-family:var(--hFont); font-weight:600; font-size:clamp(24px,3vw,34px); letter-spacing:-.5px; color:#fbfaf7; line-height:1.14; max-width:22ch; }
    .record p{ margin:0; color:rgba(244,242,236,.72); font-size:15px; line-height:1.6; max-width:60ch; }
    .recordNote{ margin:18px 0 0 !important; color:rgba(244,242,236,.5) !important; font-size:12.5px !important; line-height:1.55; max-width:64ch; position:relative; z-index:1; }
    .metrics{ margin-top:34px; padding-top:0; display:grid; grid-template-columns:repeat(6, 1fr); border-top:1px solid rgba(255,255,255,.16); }
    .metric{ padding:26px 18px 6px; border-right:1px solid rgba(255,255,255,.12); }
    .metric:last-child{ border-right:0; padding-right:2px; }
    .metric:first-child{ padding-left:2px; }
    .metric b{ display:block; font-family:var(--hFont); font-weight:700; font-size:clamp(34px,4.4vw,58px); line-height:.98; color:var(--gold-soft); font-variant-numeric:tabular-nums; letter-spacing:-1px; }
    .metric small{ display:block; margin-top:12px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(244,242,236,.74); line-height:1.4; }

    /* Founding partner */
    .partner{ display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:start; padding:clamp(28px,3.5vw,44px); border-radius:var(--radius); background:linear-gradient(180deg,#fff,#faf8f3); border:1px solid var(--line); box-shadow:var(--sh-1); position:relative; overflow:hidden; }
    .partner::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg, var(--gold), transparent); }
    .partner h2{ margin:0 0 4px; font-family:var(--hFont); font-weight:600; font-size:clamp(26px,3.2vw,34px); letter-spacing:-.5px; color:var(--navy); line-height:1.1; }
    .partnerRole{ margin:0 0 16px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-strong); font-weight:700; }
    .partnerBio{ margin:0 0 20px; color:var(--muted); font-size:16px; line-height:1.62; max-width:52ch; }
    .partnerQuote{ margin:0; padding-left:18px; border-left:2px solid var(--gold); font-family:var(--hFont); font-style:italic; font-size:18px; line-height:1.5; color:var(--navy); }
    .cvLabel{ margin:0 0 14px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-ink); font-weight:700; }
    .cvList{ list-style:none; margin:0; padding:0; }
    .cvList li{ padding:14px 0; border-bottom:1px solid var(--line); }
    .cvList li:first-child{ padding-top:0; }
    .cvList li:last-child{ border-bottom:0; padding-bottom:0; }
    .cvList b{ display:block; font-size:15px; color:var(--navy); font-weight:600; margin-bottom:3px; }
    .cvList span{ color:var(--muted); font-size:13.5px; line-height:1.5; }

    /* ---------- Contact — mini minimalist ---------- */
    .contact{
      margin-top:60px; padding:clamp(32px,4.5vw,56px) clamp(26px,4vw,52px); border-radius:var(--radius);
      background: radial-gradient(640px 320px at 50% -20%, rgba(200,162,74,.16), transparent 62%),
                  linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 70%, var(--navy-3) 100%);
      color:#f4f2ec; border:1px solid rgba(255,255,255,.10); box-shadow:var(--sh-navy);
      position:relative; overflow:hidden;
    }
    .contact::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg, transparent, var(--gold) 45%, var(--gold-strong) 55%, transparent); }
    .contactGrid{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(28px,4vw,52px); align-items:start; position:relative; z-index:1; }
    .contact .eyebrow{ color:var(--gold-soft); }
    .contact .eyebrow::before{ background:var(--gold-soft); }
    .contact h2{ margin:0 0 14px; font-family:var(--hFont); font-weight:600; font-size:clamp(26px,3.4vw,40px); letter-spacing:-.5px; line-height:1.1; color:#fbfaf7; }
    .contact p.sub{ margin:0; color:rgba(244,242,236,.80); line-height:1.62; font-size:16px; max-width:44ch; }
    .contactDetails{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
    .contactDetails li{ display:flex; align-items:center; gap:12px; font-size:14.5px; color:rgba(244,242,236,.9); }
    .contactDetails svg{ width:18px; height:18px; stroke:var(--gold-soft); stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }
    .contactDetails a{ color:rgba(244,242,236,.9); }
    .contactDetails a:hover{ color:var(--gold-soft); }
    .avail{ margin-top:22px; display:inline-flex; align-items:center; gap:9px; font-size:13px; color:var(--gold-soft); font-weight:500; }
    .avail .pulse{ width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 0 rgba(200,162,74,.6); animation:pulse 2.4s ease-out infinite; flex:0 0 auto; }
    @keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(200,162,74,.5);} 70%{ box-shadow:0 0 0 10px rgba(200,162,74,0);} 100%{ box-shadow:0 0 0 0 rgba(200,162,74,0);} }
    .contactCta{ margin-top:28px; display:flex; gap:12px; flex-wrap:wrap; }

    /* Contact form */
    .formCard{ background:#fdfcfa; border:1px solid rgba(255,255,255,.14); border-radius:var(--radius-2); box-shadow:0 20px 50px rgba(8,16,34,.32); padding:clamp(22px,2.6vw,30px); color:var(--ink); }
    .formTitle{ font-family:var(--hFont); font-weight:600; color:var(--navy); margin:0 0 16px; font-size:18px; }
    .field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .field{ margin-bottom:15px; text-align:left; }
    .field label{ display:block; font-size:12.5px; font-weight:600; color:var(--navy); margin-bottom:6px; letter-spacing:.01em; }
    .field .req{ color:var(--gold-strong); }
    .field input, .field select, .field textarea{ width:100%; font-family:inherit; font-size:16px; color:var(--ink); padding:11px 13px; border:1px solid var(--line-2); border-radius:10px; background:#fff; min-height:44px; transition:border-color .16s ease, box-shadow .16s ease; }
    .field textarea{ min-height:110px; resize:vertical; line-height:1.5; }
    .field select{ appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235c6472' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
    .field input:hover, .field select:hover, .field textarea:hover{ border-color:rgba(15,31,58,.3); }
    .field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--gold-strong); box-shadow:0 0 0 3px rgba(200,162,74,.2); }
    .field.invalid input, .field.invalid select, .field.invalid textarea{ border-color:#c0392b; }
    .field .err{ display:none; margin-top:6px; font-size:12px; color:#c0392b; }
    .field.invalid .err{ display:block; }
    .formSubmit{ width:100%; margin-top:4px; }
    .formNote{ margin:14px 0 0; font-size:12px; color:#5f6675; line-height:1.55; text-align:left; }
    .formNote a{ color:var(--gold-ink); text-decoration:underline; }
    .formStatus{ margin:12px 0 0; font-size:13.5px; text-align:left; min-height:1px; }
    .formStatus[data-state="error"]{ color:#c0392b; }
    .formSuccess{ text-align:center; padding:20px 6px; }
    .formSuccess .tick{ width:52px; height:52px; border-radius:50%; background:rgba(200,162,74,.16); display:grid; place-items:center; margin:0 auto 14px; }
    .formSuccess .tick svg{ width:26px; height:26px; stroke:var(--gold-strong); stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
    .formSuccess h3{ font-family:var(--hFont); font-weight:600; color:var(--navy); margin:0 0 8px; font-size:20px; }
    .formSuccess p{ color:var(--muted); margin:0; font-size:14.5px; line-height:1.55; }

    footer{ margin-top:26px; padding:26px 6px; text-align:center; color:var(--muted-2); font-size:12.5px; line-height:1.6; }
    .footNav{ display:flex; flex-wrap:wrap; gap:8px 22px; justify-content:center; margin-bottom:12px; }
    .footNav a{ color:var(--muted); font-size:13.5px; font-weight:500; }
    .footNav a:hover{ color:var(--gold-strong); }
    .footMeta{ margin:0; }
    .footMeta .fbrand, footer .fbrand{ color:var(--navy); font-weight:600; }

    /* Keep anchored sections clear of the sticky header */
    section[id]{ scroll-margin-top:104px; }

    .reveal{ transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
    html.js .reveal.in{ opacity:1; transform:none; }

    /* ---------- Responsive ---------- */
    @media (max-width:980px){
      .navToggle{ display:inline-flex; }
      header.top{ display:flex; flex-wrap:wrap; align-items:center; column-gap:12px; row-gap:12px; }
      .brand{ flex:1 1 0; min-width:0; }
      .navToggle{ flex:0 0 auto; margin-left:auto; }
      .actions{ order:5; flex-basis:100%; width:100%; }
      nav.nav{
        order:6; flex-basis:100%; width:100%; flex-direction:column; gap:0; justify-self:stretch;
        max-height:0; opacity:0; overflow:hidden; pointer-events:none;
        transition:max-height .3s ease, opacity .2s ease;
      }
      header.top.nav-open nav.nav{ max-height:320px; opacity:1; pointer-events:auto; margin-top:2px; border-top:1px solid var(--line); }
      nav.nav a{ width:100%; padding:15px 6px; font-size:16px; border-bottom:1px solid var(--line); }
      nav.nav a:last-child{ border-bottom:0; }
      nav.nav a::after{ display:none; }
      nav.nav a.active{ color:var(--gold-strong); }
      .engage{ grid-template-columns:1fr; gap:24px; }
      .value{ grid-template-columns:1fr; gap:28px; }
      .value h2{ max-width:none; }
      .who{ grid-template-columns:1fr; gap:22px; }
      .whoImg{ min-height:0; aspect-ratio:16/10; }
      .partner{ grid-template-columns:1fr; gap:26px; }
      .contactGrid{ grid-template-columns:1fr; }
      .probGrid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
    }
    @media (max-width:820px){
      .framework{ grid-template-columns:1fr; }
      .fcol{ border-left:0; border-top:1px solid var(--line); padding:24px 4px; }
      .fcol:first-child{ border-top:0; padding-top:6px; }
      .metrics{ grid-template-columns:repeat(3, 1fr); }
      .metric:nth-child(3n){ border-right:0; }
      .metric{ border-bottom:1px solid rgba(255,255,255,.10); }
      .metric:nth-child(n+4){ border-bottom:0; }
    }
    @media (max-width:680px){
      .actions{ flex-wrap:wrap; }
      .actions .chip.primary{ flex:1 1 auto; justify-content:center; }
      .tagline{ display:none; }
      .page{ padding:22px 16px 60px; }
      .hero{ min-height:auto; padding:8px 0; }
      .heroStats{ grid-template-columns:1fr; gap:14px; }
      .heroStat{ display:flex; align-items:baseline; gap:12px; padding-right:0; }
      .heroStat + .heroStat{ border-left:0; padding-left:0; }
      .heroStat small{ margin-top:0; }
      .heroCta{ flex-direction:column; align-items:stretch; }
      .heroCta .btn{ width:100%; }
      .section{ margin-top:48px; }
      .valueMedia{ min-height:0; display:grid; grid-template-columns:1.3fr 1fr; gap:12px; }
      .crop-ledger, .crop-metal{ position:static; width:100%; }
      .crop-ledger{ aspect-ratio:3/4; }
      .crop-metal{ aspect-ratio:3/4; right:auto; bottom:auto; }
      .metrics{ grid-template-columns:repeat(2, 1fr); }
      .metric:nth-child(3n){ border-right:1px solid rgba(255,255,255,.12); }
      .metric:nth-child(2n){ border-right:0; }
      .metric{ border-bottom:1px solid rgba(255,255,255,.10); }
      .metric:nth-child(n+5){ border-bottom:0; }
      .contactCta{ flex-direction:column; }
      .contactCta .btn{ width:100%; }
      .field-row{ grid-template-columns:1fr; }
      .whoGrid{ grid-template-columns:1fr; }
      .probGrid{ grid-template-columns:1fr; }
    }
    @media (max-width:420px){
      .hero h1{ font-size:clamp(30px,8.4vw,40px); }
    }

    @media (prefers-reduced-motion:reduce){
      *{ transition:none !important; animation:none !important; scroll-behavior:auto !important; }
      html.js .reveal{ opacity:1; transform:none; }
    }
    /* Frost the glass solid when translucency is unwelcome */
    @media (prefers-reduced-transparency:reduce){
      header.top{ background:#fff; -webkit-backdrop-filter:none; backdrop-filter:none; }
    }
    /* Near-solid surfaces + defined borders for high contrast */
    @media (prefers-contrast:more){
      header.top{ background:#fff; border-color:rgba(15,31,58,.45); -webkit-backdrop-filter:none; backdrop-filter:none; }
      .btn.ghost{ border-color:var(--navy); color:var(--navy); }
      .card, .cred, .value, .whoImg, .valueMedia img{ border-color:rgba(15,31,58,.32); }
      .lede, .sectionHead p, .value p, .fcol span, .whoCard span, .cred span{ color:#39414f; }
      nav.nav a{ color:var(--navy); }
    }

/* ============================================================
   Content-page components (sub-pages: About, Services, Insights,
   Case studies, Privacy, Terms). Merged from prior styles.css.
   ============================================================ */
    .hero::before{ content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(8,16,34,.94) 0%, rgba(8,16,34,.74) 34%, rgba(8,16,34,.22) 66%, rgba(8,16,34,.08) 100%), linear-gradient(0deg, rgba(8,16,34,.86) 0%, rgba(8,16,34,.30) 34%, rgba(8,16,34,0) 66%); }
    .whoImg{ border-radius:var(--radius-2); overflow:hidden; min-height:440px; background:var(--navy-2); border:1px solid var(--line-2); box-shadow:var(--sh-2); }
    .whoImg picture{ display:block; width:100%; height:100%; }
    .whoImg img{ width:100%; height:100%; object-fit:cover; display:block; }
    .whoRows{ display:flex; flex-direction:column; }
    .whoRow{ display:flex; gap:18px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--line); }
    .whoRow:first-child{ padding-top:0; }
    .whoRow:last-child{ border-bottom:0; padding-bottom:0; }
    .whoRow b{ display:block; font-size:16px; color:var(--navy); font-weight:600; margin-bottom:4px; }
    .whoRow span{ color:var(--muted); font-size:14.5px; line-height:1.56; }
    .contactInner{ max-width:660px; margin:0 auto; }
    footer .fbrand{ color:var(--navy); font-weight:600; }
    @media (prefers-contrast:more){ .lede, .sectionHead p, .value p, .fcol span, .whoRow span, .cred span{ color:#39414f; } }
    .doc{ margin-top:26px; }
    .crumbs{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color:var(--muted); margin-bottom:18px; }
    .crumbs a{ color:var(--muted); }
    .crumbs a:hover{ color:var(--gold-strong); }
    .crumbs .sep{ color:var(--line-2); }
    .crumbs [aria-current]{ color:var(--navy); font-weight:500; }
    .docHead{ max-width:64ch; margin:0 auto 40px; }
    .docHead.wide{ max-width:820px; }
    .docHead .eyebrow{ margin-bottom:14px; }
    .docHead h1{ margin:0 0 16px; font-family:var(--hFont); font-weight:600; font-size:clamp(30px,4.4vw,50px); line-height:1.06; letter-spacing:-1px; color:var(--navy); }
    .docHead .standfirst{ margin:0; color:var(--muted); font-size:clamp(17px,2.2vw,20px); line-height:1.55; }
    .docMeta{ margin-top:18px; display:flex; flex-wrap:wrap; gap:8px 16px; font-size:13px; color:var(--muted-2); }
    .docMeta b{ color:var(--navy); font-weight:600; }
    .prose{ max-width:68ch; margin:0 auto; }
    .prose > * + *{ margin-top:1.15em; }
    .prose h2{ position:relative; font-family:var(--hFont); font-weight:600; font-size:clamp(22px,2.8vw,30px); letter-spacing:-.4px; color:var(--navy); line-height:1.18; margin-top:2.4em; padding-top:1.5em; border-top:1px solid var(--line); }
    .prose h2::before{ content:""; position:absolute; top:-1px; left:0; width:44px; height:2px; background:linear-gradient(90deg, var(--gold), var(--gold-strong)); }
    .prose h2:first-of-type{ margin-top:.4em; padding-top:0; border-top:0; }
    .prose h2:first-of-type::before{ display:none; }
    .prose h3{ font-family:var(--hFont); font-weight:600; font-size:19px; color:var(--navy2, var(--navy)); margin-top:1.6em; }
    .prose p, .prose li{ font-size:17px; line-height:1.7; color:#39414f; }
    .prose ol{ padding-left:1.25em; }
    .prose ul{ list-style:none; padding-left:0; }
    .prose ul li{ position:relative; padding-left:1.5em; }
    .prose ul li::before{ content:""; position:absolute; left:0; top:.62em; width:6px; height:6px; border-radius:2px; background:var(--gold); box-shadow:0 0 0 4px rgba(200,162,74,.12); }
    .prose li + li{ margin-top:.5em; }
    .prose strong{ color:var(--navy); font-weight:600; }
    .prose a{ color:var(--gold-strong); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
    .prose a:hover{ color:var(--gold-ink); }
    .prose blockquote{ margin:1.6em 0; padding:4px 0 4px 20px; border-left:3px solid var(--gold); font-family:var(--hFont); font-style:italic; font-size:20px; line-height:1.5; color:var(--navy); }
    .prose .lead{ font-size:19px; line-height:1.6; color:var(--muted); }
    .prose figure{ margin:1.8em 0; }
    .prose table{ width:100%; border-collapse:collapse; font-size:15.5px; margin:1.6em 0; }
    .prose th, .prose td{ text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
    .prose thead th{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-ink); border-bottom:1px solid var(--line-2); }
    .prose tbody td{ color:#39414f; line-height:1.5; }
    .keybox{ margin:2em auto; max-width:68ch; padding:22px 24px; border-radius:var(--radius-2); background:linear-gradient(180deg,#fff,#faf8f3); border:1px solid var(--line); box-shadow:var(--sh-1); position:relative; overflow:hidden; }
    .keybox::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--gold),transparent); }
    .keybox p:first-child{ margin:0 0 8px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-ink); font-weight:700; }
    .keybox p{ margin:0; color:var(--ink); font-size:16px; line-height:1.6; }
    .cardGrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
    .icard{ display:flex; flex-direction:column; gap:8px; padding:24px 22px; border-radius:var(--radius-2); background:var(--paper); border:1px solid var(--line); box-shadow:var(--sh-1); transition:transform .16s ease, box-shadow .2s ease, border-color .2s ease; }
    .icard:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--hair-gold); color:inherit; }
    .icard .tag{ font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-strong); font-weight:700; }
    .icard h3{ margin:0; font-family:var(--hFont); font-weight:600; font-size:19px; line-height:1.2; color:var(--navy); letter-spacing:-.2px; }
    .icard p{ margin:0; color:var(--muted); font-size:14.5px; line-height:1.55; }
    .icard .more{ margin-top:auto; padding-top:6px; font-size:13px; font-weight:600; color:var(--gold-strong); }
    .ctaBand{ margin:56px auto 0; max-width:820px; padding:clamp(28px,4vw,44px); border-radius:var(--radius); text-align:center; background: radial-gradient(600px 300px at 50% -20%, rgba(200,162,74,.16), transparent 62%), linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 70%, var(--navy-3) 100%); color:#f4f2ec; border:1px solid rgba(255,255,255,.10); box-shadow:var(--sh-navy); position:relative; overflow:hidden; }
    .ctaBand::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg, transparent, var(--gold) 45%, var(--gold-strong) 55%, transparent); }
    .ctaBand h2{ margin:0 0 10px; font-family:var(--hFont); font-weight:600; font-size:clamp(22px,3vw,32px); letter-spacing:-.4px; color:#fbfaf7; line-height:1.14; }
    .ctaBand p{ margin:0 auto 22px; color:rgba(244,242,236,.82); font-size:16px; line-height:1.6; max-width:44ch; }
    @media (max-width:820px){ .cardGrid{ grid-template-columns:1fr; } }
    .footMeta .fbrand{ color:var(--navy); font-weight:600; }
    .caseGrid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    .caseCard{ display:flex; flex-direction:column; gap:10px; padding:26px 24px; border-radius:var(--radius-2); background:var(--paper); border:1px solid var(--line); box-shadow:var(--sh-1); position:relative; overflow:hidden; transition:transform .16s ease, box-shadow .2s ease, border-color .2s ease; }
    .caseCard::before{ content:""; position:absolute; inset:0 0 auto 0; height:2px; background:linear-gradient(90deg, var(--gold), transparent); opacity:0; transition:opacity .2s ease; }
    .caseCard:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--hair-gold); }
    .caseCard:hover::before{ opacity:1; }
    .caseTag{ font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-strong); font-weight:700; }
    .caseCard h3{ margin:0; font-family:var(--hFont); font-weight:600; font-size:20px; letter-spacing:-.2px; color:var(--navy); line-height:1.2; }
    .caseCard > p{ margin:0; color:var(--muted); font-size:14.5px; line-height:1.6; }
    .caseMetrics{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px 16px; margin-top:auto; padding-top:16px; border-top:1px solid var(--line); }
    .caseMetric b{ display:block; font-family:var(--hFont); font-weight:700; font-size:19px; color:var(--navy); letter-spacing:-.4px; font-variant-numeric:tabular-nums; line-height:1; }
    .caseMetric span{ display:block; margin-top:5px; font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--muted-2); line-height:1.35; }
    .caseNote{ margin:0 0 6px; font-size:12.5px; color:var(--muted-2); }
    @media (max-width:820px){ .caseGrid{ grid-template-columns:1fr; } }
    .tableWrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:20px 0; }
    .tableWrap table{ margin:0; min-width:560px; }
