
  :root{
    color-scheme: light dark;
    /* Logo-derived palette */
    --indigo:#1B1341;
    --indigo-deep:#120C2E;
    --indigo-royal:#232065;
    --gold:#E8C15A;
    --gold-deep:#C9A227;
    --gold-dim:#8A6D2F;
    --royal:#2E32A8;
    --teal:#0E7C7B;
    --crimson:#A4133C;
    --emerald:#1E7A46;
    --purple:#8B5CF6;
    /* Violet weave (wallpaper-sampled) — gold stays the lead brand colour */
    --violet-deep:#2A0F66;
    --violet:#8B5CF6;
    --violet-strong:#7C3AED;
    --lavender:#C4B5FD;
    --magenta:#A855F7;
    --violet-ink:#6D28D9;
    /* Surfaces — light */
    --bg:#F6F2E9;
    --bg-alt:#EFE8F7;
    --surface:#FFFDF7;
    --surface-2:#F1EADA;
    --ink:#221C40;
    --ink-soft:#4A4368;
    --line:#D9CFB4;
    --line-soft:#E6DEC9;
    --hero-ink:#F3EDDA;
    --hero-ink-soft:#C9C2A8;
    --shadow:0 18px 44px rgba(27,19,65,.12);
  }
  @media (prefers-color-scheme: dark){
    :root{
      --bg:#130D2E;
      --bg-alt:#2A0F66;
      --violet-ink:#C4B5FD;
      --surface:#1E1748;
      --surface-2:#251C52;
      --ink:#EFE9D6;
      --ink-soft:#B9B2CE;
      --line:#3A2E66;
      --line-soft:#2C2352;
      --shadow:0 18px 44px rgba(0,0,0,.42);
    }
  }

  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:92px}
  body{
    background:var(--indigo-deep);
    color:var(--ink);
    font-family:"Jost",system-ui,sans-serif;
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit}
  img{max-width:100%;display:block}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  [hidden]{display:none!important}
  ::selection{background:var(--gold);color:var(--indigo-deep)}

  .wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,44px)}

  /* ---------- top bar ---------- */
  header.site{
    position:fixed;inset:0 0 auto 0;z-index:60;
    transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;
    border-bottom:1px solid transparent;
  }
  header.site.scrolled{
    background:rgba(33,10,78,.93);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-bottom-color:rgba(201,162,39,.35);
    box-shadow:0 8px 30px rgba(0,0,0,.25);
  }
  .bar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
  /* header bar runs wider than the content column so the brand sits
     further left and the nav/Contact reach the far right edge */
  header.site .wrap{max-width:1460px}
  .brand{display:flex;align-items:center;gap:13px;text-decoration:none}
  .brand img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(232,193,90,.55)}
  .brand .bname{font-family:"Cinzel",serif;font-weight:600;letter-spacing:.34em;font-size:19px;color:var(--gold);line-height:1}
  .brand .bsub{display:block;font-family:"Cinzel",serif;letter-spacing:.3em;font-size:9.5px;color:var(--hero-ink-soft);margin-top:5px}
  nav.main{display:flex;align-items:center;gap:16px;flex:none;white-space:nowrap}
  nav.main a.navlink{
    font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;
    color:var(--hero-ink);text-decoration:none;padding:6px 2px;position:relative;
  }
  /* mid-width desktops: tighten further so every item incl. Help stays on one line */
  @media (max-width:1180px){
    nav.main{gap:11px}
    nav.main a.navlink{font-size:10px;letter-spacing:.07em}
    .bar .btn{padding:9px 16px}
  }
  /* narrow-desktop band (821-1000px): tighten further so the one-line bar,
     brand + nav + Contact, fits inside the viewport before the mobile
     nav takes over at 820px - the Contact button must never clip */
  @media (min-width:821px) and (max-width:1000px){
    header.site .wrap{padding:0 20px}
    .bar{gap:14px}
    nav.main{gap:8px}
    nav.main a.navlink{letter-spacing:.04em;padding:6px 0}
    .bar .btn{padding:9px 13px;letter-spacing:.12em}
  }
  nav.main a.navlink::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .3s ease}
  nav.main a.navlink:hover::after{width:100%}
  .btn{
    display:inline-flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer;
    font-family:"Jost",sans-serif;font-size:13.5px;letter-spacing:.16em;text-transform:uppercase;
    padding:13px 26px;border-radius:999px;border:1px solid var(--gold-deep);
    transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;
  }
  .btn-gold{background:linear-gradient(160deg,var(--gold) 0%,var(--gold-deep) 100%);color:var(--indigo-deep);font-weight:500;box-shadow:0 10px 26px rgba(201,162,39,.28)}
  .btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(201,162,39,.36),0 0 30px rgba(139,92,246,.38)}
  .btn-ghost{background:transparent;color:var(--gold)}
  .btn-ghost:hover{background:rgba(139,92,246,.16);border-color:var(--lavender);transform:translateY(-2px)}
  .btn-dark{background:var(--indigo);color:var(--gold);border-color:var(--indigo)}
  .btn-dark:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(139,92,246,.35)}
  .btn-exit{background:transparent;color:var(--gold);border-color:rgba(201,162,39,.5)}
  .btn-exit:hover{background:rgba(139,92,246,.16);border-color:var(--violet)}
  .bar .btn{padding:9px 18px;font-size:12.5px}
  .menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px}
  .menu-toggle span{display:block;width:26px;height:2px;background:var(--gold);margin:5px 0;transition:.3s}

  /* ---------- hero ---------- */
  .hero{
    position:relative;color:var(--hero-ink);
    background:linear-gradient(155deg,var(--violet-deep) 0%,#3B1178 42%,#6D28D9 82%,var(--violet) 118%);
    padding:150px 0 0;overflow:hidden;text-align:center;
  }
  .hero::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(ellipse 62% 46% at 50% 28%,rgba(232,193,90,.20),transparent 65%),
      radial-gradient(ellipse 90% 60% at 50% 115%,rgba(168,85,247,.38),transparent 70%);
  }
  .hero-inner{position:relative;z-index:2}
  .hero .symbol{
    width:min(300px,58vw);height:auto;margin:0 auto;
    filter:drop-shadow(0 24px 48px rgba(0,0,0,.45));
  }
  .hero #heroEye{
    width:min(300px,58vw);aspect-ratio:1/1;height:auto;display:block;margin:0 auto;
    filter:drop-shadow(0 24px 48px rgba(0,0,0,.45));
  }
  .hero .wordmark-eye{
    font-family:"Cinzel",serif;font-weight:600;color:var(--gold);
    font-size:clamp(52px,10vw,104px);letter-spacing:.3em;text-indent:.3em;line-height:1.05;
    margin:14px 0 0;text-shadow:0 8px 46px rgba(168,85,247,.35);
  }
  .hero .wordmark .divider{margin:12px auto 10px}
  .hero .wordmark .sub{margin:0}
  .hero h1{
    font-family:"Cinzel",serif;font-weight:600;color:var(--gold);
    font-size:clamp(52px,10vw,104px);letter-spacing:.3em;text-indent:.3em;line-height:1.05;margin-top:34px;
    text-shadow:0 8px 46px rgba(168,85,247,.35);
  }
  .divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px auto 16px;width:min(420px,72vw)}
  .divider::before,.divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--lavender) 55%,var(--gold-dim))}
  .divider::after{background:linear-gradient(90deg,var(--gold-dim),var(--lavender) 45%,transparent)}
  .divider i{width:9px;height:9px;background:var(--gold-deep);transform:rotate(45deg);display:block;flex:none}
  .hero .sub{font-family:"Cinzel",serif;letter-spacing:.42em;text-indent:.42em;font-size:clamp(12px,2.4vw,17px);color:var(--hero-ink)}
  .hero .tagline{
    font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;
    font-size:clamp(23px,3.6vw,32px);line-height:1.4;color:var(--hero-ink);
    max-width:640px;margin:34px auto 0;
  }
  .hero .tagline em{color:var(--gold);font-style:italic}
  .hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:38px}
  .hero-ctas .t-link{font-size:15px;letter-spacing:.05em;color:var(--hero-ink-soft);text-decoration:underline;text-underline-offset:5px;align-self:center}
  .hero-ctas .t-link:hover{color:var(--gold)}
  .hero-meta{
    margin-top:52px;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--hero-ink-soft);
    display:flex;justify-content:center;gap:14px;flex-wrap:wrap;
  }
  .hero-meta b{color:var(--gold);font-weight:500}
  .hero-meta .dot{color:var(--gold-dim)}
  .skyline{position:relative;z-index:1;margin-top:64px;line-height:0}
  .skyline img{width:100%;height:clamp(240px,42vw,600px);object-fit:cover;object-position:center 9%}
  .skyline::before{
    content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(180deg,var(--violet-deep) 0%,rgba(42,15,102,.35) 34%,transparent 60%),
               linear-gradient(0deg,rgba(18,12,46,.55),transparent 34%);
  }
  .skyline figcaption{
    position:absolute;right:clamp(20px,4vw,44px);bottom:16px;z-index:3;
    font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(243,237,218,.88);
  }

  /* ---------- sections ---------- */
  section{padding:96px 0}
  section.alt{
    background:linear-gradient(160deg,var(--violet-deep) 0%,#241055 60%,#1B1341 115%);
    color:var(--hero-ink);
  }
  /* deep-violet bands: flip text and line colours so copy stays readable */
  section.alt .kicker{color:var(--gold)}
  section.alt .kicker::after{background:linear-gradient(90deg,var(--gold-deep),var(--lavender))}
  section.alt h1.title em,section.alt h2.title em{color:var(--gold)}
  section.alt .lede{color:var(--hero-ink-soft)}
  section.alt .svc-list{border-top-color:rgba(196,181,253,.30)}
  section.alt .svc{border-bottom-color:rgba(196,181,253,.22)}
  section.alt .svc:hover{background:rgba(139,92,246,.16)}
  section.alt .svc .num{color:var(--gold)}
  section.alt .svc .tag{color:var(--hero-ink-soft)}
  section.alt .svc p.body{color:var(--hero-ink-soft)}
  section.alt .perf-asof{color:var(--hero-ink-soft)}
  section.alt .perf-asof::after{background:rgba(196,181,253,.30)}
  section.alt .faq-list{border-top-color:rgba(196,181,253,.30)}
  section.alt .faq-item{border-bottom-color:rgba(196,181,253,.22)}
  section.alt .faq-item summary{color:var(--hero-ink)}
  section.alt .faq-item[open] summary::after{border-color:var(--lavender);color:var(--lavender)}
  section.alt .faq-a{color:var(--hero-ink-soft)}
  section.alt .faq-a strong{color:var(--hero-ink)}
  section.alt .faq-a a{color:var(--gold)}

  /* plain sections take the existing dark indigo tone, alternating with the deep-violet bands */
  #company,#structure,#disclosures,#contact{background:linear-gradient(165deg,var(--indigo) 0%,var(--indigo-deep) 125%);color:var(--hero-ink)}
  #company .kicker,#structure .kicker,#disclosures .kicker,#contact .kicker{color:var(--gold)}
  #company .kicker::after,#structure .kicker::after,#disclosures .kicker::after,#contact .kicker::after{background:linear-gradient(90deg,var(--gold-deep),var(--lavender))}
  #company h1.title em,#structure h1.title em,#disclosures h1.title em,#company h2.title em,#structure h2.title em,#disclosures h2.title em,#contact h1.title em,#contact h2.title em{color:var(--gold)}
  #company .lede,#structure .lede,#disclosures .lede,#contact .lede{color:var(--hero-ink-soft)}
  #company .body p{color:var(--hero-ink-soft)}
  #company .body p strong{color:var(--hero-ink)}
  #company .pull{color:var(--hero-ink)}
  #structure .wall-note{color:var(--hero-ink-soft)}
  #structure .wall-note b{color:var(--hero-ink)}
  #structure .rule{border-bottom-color:rgba(196,181,253,.22)}
  #structure .rule p{color:var(--hero-ink-soft)}
  #contact .contact-rows>div{border-top-color:rgba(196,181,253,.22)}
  #contact .contact-rows .c-label{color:var(--gold)}
  #contact .contact-rows a:hover{color:var(--gold)}
  #contact .c-value span{color:var(--hero-ink-soft) !important}
  /* cards keep the palette ink so their text reads on either section tone, in both modes */
  .glance,.perf,.disc-block,.glossary,.note-card,.help-card,.node{color:var(--ink)}
  .kicker{
    font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-dim-text);
    display:flex;align-items:center;gap:14px;font-weight:500;
  }
  .kicker::after{content:"";height:1px;width:56px;background:linear-gradient(90deg,var(--gold-deep),var(--violet))}
  h1.title,h2.title{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(36px,5vw,52px);font-weight:500;line-height:1.12;margin:16px 0 20px;max-width:22ch;
  }
  h1.title em,h2.title em{color:var(--gold-deep);font-style:italic}
  .lede{font-size:19px;color:var(--ink-soft);max-width:62ch}

  /* company */
  .company-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(36px,5vw,72px);align-items:start}
  .company-grid .body p{margin-bottom:18px;color:var(--ink-soft)}
  .company-grid .body p strong{color:var(--ink);font-weight:500}
  .pull{
    font-family:"Cormorant Garamond",serif;font-size:clamp(26px,3vw,32px);font-style:italic;font-weight:500;
    line-height:1.35;color:var(--ink);margin:30px 0;padding-left:26px;position:relative;
  }
  .pull::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--gold),var(--violet))}
  .glance{
    background:var(--surface);border:1px solid var(--line);border-radius:14px;
    padding:30px 30px 12px;box-shadow:var(--shadow);
  }
  .glance h3,.glance h2{font-family:"Cinzel",serif;font-size:14px;letter-spacing:.26em;color:var(--gold-deep);text-transform:uppercase;margin-bottom:20px}
  .glance dl div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-top:1px solid var(--line-soft)}
  .glance dl div:first-of-type{border-top:0}
  .glance dt{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
  .glance dd{font-weight:500;text-align:right;font-size:15.5px}
  .status-chip{
    display:inline-block;margin-top:6px;padding:3px 12px;border-radius:999px;font-size:12px;letter-spacing:.1em;
    background:rgba(201,162,39,.16);color:var(--gold-deep);border:1px solid rgba(201,162,39,.5);font-weight:500;
  }

  /* services */
  .svc-list{margin-top:56px;border-top:1px solid var(--line)}
  .svc{
    display:grid;grid-template-columns:110px 1fr 1.2fr;gap:clamp(20px,4vw,48px);
    padding:42px 6px;border-bottom:1px solid var(--line);align-items:start;
    transition:background .3s ease;
  }
  .svc:hover{background:var(--surface);box-shadow:inset 3px 0 0 var(--violet)}
  .svc .num{font-family:"Cormorant Garamond",serif;font-size:52px;font-weight:500;line-height:1;color:var(--gold-deep)}
  .svc h3,.svc h2{font-family:"Cormorant Garamond",serif;font-size:29px;font-weight:600;line-height:1.2;margin-bottom:8px}
  .svc .tag{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
  .svc p.body{color:var(--ink-soft)}
  .svc .jewel{display:inline-block;width:9px;height:9px;transform:rotate(45deg);margin-right:9px;vertical-align:1px}
  .j-royal{background:var(--royal)} .j-teal{background:var(--teal)} .j-emerald{background:var(--emerald)} .j-purple{background:var(--purple)}

  /* structure */
  .structure-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,72px);align-items:start;margin-top:56px}
  .diagram{display:flex;flex-direction:column;align-items:center}
  .node{
    width:100%;max-width:430px;background:var(--surface);border:1px solid var(--line);
    border-radius:14px;padding:24px 26px;box-shadow:var(--shadow);text-align:center;
  }
  .node.holdco{background:linear-gradient(170deg,var(--violet-deep) 0%,#5B21B6 135%);color:var(--hero-ink);border-color:var(--gold-deep)}
  .node .n-kind{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim);margin:0}
  .node.holdco .n-kind{color:var(--gold)}
  .node .n-name{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:600;line-height:1.2;margin:6px 0 4px}
  .node .n-desc{font-size:14.5px;color:var(--ink-soft);margin:0}
  .node.holdco .n-desc{color:var(--hero-ink-soft)}
  .connector{display:flex;flex-direction:column;align-items:center;padding:10px 0}
  .connector .stem{width:2px;height:26px;background:linear-gradient(var(--gold-deep),var(--gold-dim))}
  .connector .mech{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:8px 0}
  .mech span{
    font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:999px;
    border:1px solid var(--gold-deep);color:var(--gold-deep);background:var(--surface);
  }
  .opco-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:560px}
  .opco-row .node{max-width:none;padding:20px}
  .opco-row .node .n-name{font-size:22px}
  .venture-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:44px}
  .venture-grid .node{max-width:none;padding:20px}
  .venture-grid .node .n-name{font-size:22px}
  .node .n-name a{color:inherit;text-decoration:none;border-bottom:1px solid var(--gold-deep)}
  .wall-note{margin-top:26px;font-size:14.5px;color:var(--ink-soft);text-align:center;max-width:480px}
  .wall-note b{color:var(--ink);font-weight:500}
  .rules{display:flex;flex-direction:column}
  .rule{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
  .rule:first-child{padding-top:4px}
  .rule .r-num{
    font-family:"Cinzel",serif;font-size:15px;color:var(--gold-deep);
    width:40px;height:40px;border:1px solid var(--gold-deep);border-radius:50%;
    display:flex;align-items:center;justify-content:center;flex:none;
  }
  .rule h4,.rule h2{font-size:16.5px;font-weight:600;letter-spacing:.04em;margin-bottom:4px}
  .rule p{color:var(--ink-soft);font-size:15.5px}

  /* principles */
  .principles{background:linear-gradient(155deg,var(--violet-deep) 0%,#241055 58%,var(--indigo-deep) 115%);color:var(--hero-ink);position:relative;overflow:hidden}
  .principles::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse 55% 45% at 85% 0%,rgba(139,92,246,.5),transparent 65%),
               radial-gradient(ellipse 45% 40% at 5% 100%,rgba(201,162,39,.12),transparent 65%);
  }
  .principles .wrap{position:relative;z-index:1}
  .principles .kicker{color:var(--gold)}
  .principles .kicker::after{background:var(--gold-deep)}
  .principles h2.title{color:var(--hero-ink)}
  .prin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gold-deep);border:1px solid var(--gold-deep);margin-top:52px;border-radius:14px;overflow:hidden}
  .prin{background:var(--indigo-deep);padding:34px 30px;min-height:210px}
  .prin .p-num{font-family:"Cormorant Garamond",serif;font-size:40px;color:var(--gold);line-height:1}
  .prin h3{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:600;margin:14px 0 8px;color:var(--hero-ink)}
  .prin p{font-size:15px;color:var(--hero-ink-soft)}

  /* performance */
  .perf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:52px}
  .perf{
    background:var(--surface);border:1px solid var(--line);border-radius:14px;
    padding:34px 26px 30px;box-shadow:var(--shadow);text-align:center;
  }
  .perf .p-num{font-family:"Cormorant Garamond",serif;font-size:64px;font-weight:600;line-height:1;color:var(--gold-deep)}
  .perf .p-jewel{display:block;width:8px;height:8px;background:linear-gradient(135deg,var(--gold) 0%,var(--magenta) 100%);transform:rotate(45deg);margin:18px auto 14px}
  .perf h3,.perf h2{font-size:15px;font-weight:600;letter-spacing:.08em;line-height:1.45}
  .perf p{font-size:14px;color:var(--ink-soft);margin-top:6px;line-height:1.55}
  .perf-asof{
    margin-top:22px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);
    display:flex;align-items:center;gap:14px;
  }
  .perf-asof::after{content:"";height:1px;flex:1;background:var(--line)}

  /* disclosures */
  .disc-block{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:34px 36px;margin-top:26px;box-shadow:var(--shadow)}
  .disc-block.first{margin-top:48px}
  .disc-head{display:flex;align-items:baseline;gap:18px;margin-bottom:14px;flex-wrap:wrap}
  .disc-head .d-num{font-family:"Cormorant Garamond",serif;font-size:34px;color:var(--gold-deep);line-height:1}
  .disc-head h3,.disc-head h2{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:600}
  .disc-block p,.disc-block li{color:var(--ink-soft);font-size:15.5px}
  .disc-block strong{color:var(--ink);font-weight:500}
  .disc-block p+p{margin-top:12px}
  .disc-block ul{margin:10px 0 0 20px}
  .disc-block li{margin-bottom:6px}
  .glossary{margin-top:26px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:34px 36px;box-shadow:var(--shadow)}
  .glossary h3,.glossary h2{font-family:"Cinzel",serif;font-size:14px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:18px}
  .glossary dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 40px}
  .glossary dl div{display:flex;gap:14px;padding:9px 0;border-top:1px solid var(--line-soft)}
  .glossary dt{font-weight:600;flex:none;width:118px;font-size:14.5px}
  .glossary dd{color:var(--ink-soft);font-size:14.5px}

  /* contact */
  .contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(36px,5vw,72px);align-items:start}
  .contact-rows{margin-top:8px}
  .contact-rows>div{padding:16px 0;border-top:1px solid var(--line)}
  .contact-rows .c-label{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:4px}
  .contact-rows .c-value{font-size:19px;font-weight:500}
  .contact-rows a{text-decoration:none;border-bottom:1px solid var(--gold-deep)}
  .contact-rows a:hover{color:var(--gold-deep)}
  .note-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px;box-shadow:var(--shadow)}
  .note-card h3{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:600;margin-bottom:10px}
  .note-card p{color:var(--ink-soft);font-size:15.5px;margin-bottom:20px}

  /* help */
  .help-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:clamp(36px,5vw,64px);align-items:start;margin-top:52px}
  .faq-list{border-top:1px solid var(--line)}
  .faq-item{border-bottom:1px solid var(--line)}
  .faq-item summary{
    list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
    padding:22px 4px;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:600;line-height:1.25;color:var(--ink);
  }
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{
    content:"+";flex:none;width:30px;height:30px;border:1px solid var(--gold-deep);border-radius:50%;
    display:flex;align-items:center;justify-content:center;font-family:"Jost",sans-serif;font-size:17px;font-weight:400;color:var(--gold-deep);margin-top:1px;
  }
  .faq-item[open] summary::after{content:"−";border-color:var(--violet);color:var(--violet-ink)}
  .faq-item summary:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:4px}
  .faq-a{padding:0 4px 24px;color:var(--ink-soft);font-size:15.5px;max-width:62ch}
  .faq-a strong{color:var(--ink);font-weight:500}
  .faq-a a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}
  .help-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px;box-shadow:var(--shadow)}
  .help-card h3,.help-card h2{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:600;margin-bottom:10px}
  .help-card p{color:var(--ink-soft);font-size:15.5px;margin-bottom:14px}
  .help-card .hc-row{padding:12px 0;border-top:1px solid var(--line-soft)}
  .help-card .hc-row:first-of-type{margin-top:18px}
  .help-card .hc-label{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dim-text);margin-bottom:3px}
  .help-card .hc-value{font-size:16.5px;font-weight:500;line-height:1.4}
  .help-card .hc-value a{color:inherit;text-decoration:none;border-bottom:1px solid var(--gold-deep)}
  .help-card .hc-value a:hover{color:var(--gold-deep)}
  .help-card .hc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
  .help-card .hc-actions .btn{padding:11px 20px;font-size:12.5px}

  /* ai chat */
  .chat-fab{
    position:fixed;right:20px;bottom:20px;z-index:80;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--gold-deep);cursor:pointer;
    background:linear-gradient(160deg,var(--gold) 0%,var(--gold-deep) 100%);color:var(--indigo-deep);
    font-family:"Jost",sans-serif;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
    padding:12px 16px;min-height:40px;border-radius:999px;box-shadow:0 14px 34px rgba(42,15,102,.32),0 0 26px rgba(139,92,246,.35);
  }
  .chat-fab:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(42,15,102,.36),0 0 34px rgba(139,92,246,.5)}
  .chat-fab:focus-visible,.chat-send:focus-visible,.chat-chip:focus-visible,.chat-input:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
  .chat-fab .cf-dot{width:9px;height:9px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 3px rgba(30,122,70,.18);flex:none}
  .chat-fab .cf-close{display:none;font-size:18px;line-height:1}
  .chat-fab .cf-short{display:none}
  body.chat-open .chat-fab .cf-label{ }
  body.chat-open .chat-fab .cf-open{display:none}
  body.chat-open .chat-fab .cf-close{display:inline}
  .chat-panel{
    position:fixed;right:20px;bottom:84px;z-index:79;width:min(400px,calc(100vw - 32px));height:min(600px,calc(100vh - 120px));
    background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 28px 70px rgba(42,15,102,.42);
    display:none;flex-direction:column;overflow:hidden;
  }
  .chat-panel.open{display:flex}
  .chat-head{background:linear-gradient(170deg,var(--violet-deep) 0%,var(--violet-strong) 145%);color:var(--hero-ink);padding:16px 18px 14px;display:flex;gap:12px;align-items:flex-start}
  .chat-head img{width:38px;height:38px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(232,193,90,.6);flex:none}
  .chat-head .ch-title{font-family:"Cinzel",serif;font-size:13px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;line-height:1.3}
  .chat-head .ch-sub{font-size:13px;color:var(--hero-ink-soft);line-height:1.45;margin-top:3px}
  .chat-close{margin-left:auto;background:none;border:1px solid rgba(232,193,90,.45);color:var(--gold);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:17px;line-height:1;flex:none}
  .chat-close:hover{background:rgba(232,193,90,.12)}
  .chat-body{flex:1;overflow-y:auto;padding:16px 14px;background:var(--bg)}
  .chat-msg{display:flex;margin-bottom:10px}
  .chat-msg .bubble{max-width:86%;padding:11px 13px;border-radius:14px;font-size:14.5px;line-height:1.55}
  .chat-msg.assistant{justify-content:flex-start}
  .chat-msg.assistant .bubble{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px;box-shadow:0 6px 18px rgba(139,92,246,.10)}
  .chat-msg.user{justify-content:flex-end}
  .chat-msg.user .bubble{background:linear-gradient(150deg,var(--violet-strong) 0%,var(--violet-deep) 130%);color:var(--hero-ink);border-bottom-right-radius:4px}
  .chat-msg .bubble a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px}
  .chat-msg.user .bubble a{color:var(--gold)}
  .chat-typing{display:none;align-items:center;gap:5px;padding:11px 13px}
  .chat-typing.show{display:inline-flex}
  .chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--violet);opacity:.45;animation:chatBlink 1s infinite}
  .chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}
  @keyframes chatBlink{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
  .chat-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 10px;background:var(--bg)}
  .chat-chip{
    border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;cursor:pointer;
    font-family:"Jost",sans-serif;font-size:12.5px;padding:7px 12px;
  }
  .chat-chip:hover{border-color:var(--violet);color:var(--violet-ink)}
  .chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--surface)}
  .chat-input{flex:1;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font:inherit;font-size:14.5px;padding:11px 14px;min-width:0}
  .chat-input::placeholder{color:var(--ink-soft)}
  .chat-send{border:1px solid var(--gold-deep);background:linear-gradient(160deg,var(--gold) 0%,var(--gold-deep) 100%);color:var(--indigo-deep);border-radius:999px;padding:11px 16px;font-family:"Jost",sans-serif;font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;flex:none}
  .chat-send:hover{box-shadow:0 8px 22px rgba(139,92,246,.40)}
  .chat-note{padding:0 14px 12px;background:var(--surface);font-size:11.5px;line-height:1.5;color:var(--ink-soft)}
  .chat-note a{color:var(--gold-deep)}
  @media (prefers-reduced-motion: reduce){.chat-typing i{animation:none}.chat-fab:hover{transform:none}}
  @media (max-width:560px){
    .chat-panel{right:16px;bottom:76px}
    .chat-fab{right:16px;bottom:16px;padding:13px 12px;font-size:11.5px;letter-spacing:.05em}
    .chat-fab .cf-full{display:none}
    .chat-fab .cf-short{display:inline}
  }

  /* footer */
  footer{background:var(--indigo-deep);color:var(--hero-ink-soft);padding:72px 0 0;position:relative}
  footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-deep) 38%,var(--magenta) 62%,transparent)}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:52px}
  .foot-brand img{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(232,193,90,.5);margin-bottom:16px}
  .foot-brand .f-name{font-family:"Cinzel",serif;color:var(--gold);letter-spacing:.3em;font-size:17px}
  .foot-brand p{font-size:14px;margin-top:12px;max-width:32ch}
  footer h4,footer h2{font-family:"Cinzel",serif;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
  footer ul{list-style:none}
  footer li{margin-bottom:10px}
  footer ul a{color:var(--hero-ink-soft);text-decoration:none;font-size:15px}
  footer ul a:hover{color:var(--gold)}
  footer ul button.legal-link{background:none;border:0;color:var(--hero-ink-soft);font:inherit;font-size:15px;cursor:pointer;padding:0}
  footer ul button.legal-link:hover{color:var(--gold)}
  .foot-bar{border-top:1px solid rgba(201,162,39,.25);padding:22px 0 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;align-items:flex-start}
  .foot-bar .fine{max-width:70ch;color:#8E87AC}
  .foot-bar a.soc{display:inline-flex;align-items:center;gap:5px}
  .foot-bar .soc-icon{width:15px;height:15px;flex:none}
  .foot-legal{display:flex;gap:22px;flex-wrap:wrap}
  .foot-legal button{background:none;border:0;color:var(--hero-ink-soft);font:inherit;font-size:13px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
  .foot-legal button:hover{color:var(--gold)}

  /* modal */
  .modal-backdrop{
    position:fixed;inset:0;background:rgba(10,6,26,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    display:none;align-items:flex-start;justify-content:center;z-index:100;padding:24px;overflow-y:auto;
  }
  .modal-backdrop.open{display:flex}
  .modal{
    background:var(--surface);color:var(--ink);border-radius:16px;max-width:720px;width:100%;
    padding:44px clamp(24px,5vw,52px);margin:auto 0;box-shadow:0 30px 80px rgba(0,0,0,.4);position:relative;
  }
  .modal h2{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:600;margin-bottom:6px}
  .modal .m-updated{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:22px}
  .modal h3{font-family:"Jost",sans-serif;font-size:16px;font-weight:600;letter-spacing:.05em;margin:22px 0 6px}
  .modal p,.modal li{font-size:15px;color:var(--ink-soft)}
  .modal ul{margin:6px 0 0 20px}
  .modal li{margin-bottom:5px}
  .modal-close{
    position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;
    border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font-size:19px;line-height:1;
  }
  .modal-close:hover{border-color:var(--gold-deep);color:var(--gold-deep)}

  /* entrance details stay minimal: content is visible in markup order at
     all times — no scroll-triggered hiding anywhere on the page. */
  .reveal{opacity:1;transform:none}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    .reveal,.btn,.svc,.nav.main a.navlink::after{transition:none}
  }

  /* responsive */
  @media (max-width:960px){
    .prin-grid{grid-template-columns:1fr 1fr}
    .perf-grid{grid-template-columns:1fr 1fr}
    .foot-grid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:820px){
    nav.main{
      position:fixed;top:76px;left:0;right:0;background:rgba(33,10,78,.98);
      flex-direction:column;align-items:flex-start;gap:0;padding:12px 24px 20px;
      border-bottom:1px solid rgba(201,162,39,.35);display:none;
    }
    nav.main.open{display:flex}
    nav.main a.navlink{padding:13px 0;width:100%;border-bottom:1px solid rgba(201,162,39,.14)}
    nav.main .btn{margin-top:14px}
    .menu-toggle{display:block}
    .bar>a.btn,.bar nav.main .btn-on-bar{display:none}
    .company-grid,.structure-grid,.contact-grid,.help-grid{grid-template-columns:1fr}
    .svc{grid-template-columns:64px 1fr}
    .svc p.body{grid-column:2}
    .svc .num{font-size:40px}
    section{padding:72px 0}
  }
  @media (max-width:560px){
    .prin-grid{grid-template-columns:1fr}
    .perf-grid{grid-template-columns:1fr}
    .opco-row{grid-template-columns:1fr}
    .glossary dl{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr}
    .hero{padding-top:120px}
    .disc-block,.glossary{padding:26px 22px}
  }

/* ---- multi-page additions: current-page highlight + overview cards ---- */
.navlink.active{color:var(--gold)}
.navlink.active::after{width:100%}
.btn-gold.active{box-shadow:0 0 0 2px var(--gold-deep),var(--shadow)}
.ov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
@media(max-width:900px){.ov-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.ov-grid{grid-template-columns:1fr}}
a.ov-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);transition:transform .25s ease,box-shadow .25s ease}
a.ov-card:hover{transform:translateY(-3px)}
.ov-card h3{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:600;margin:0 0 8px;color:var(--ink)}
.ov-card p{color:var(--ink-soft);font-size:15px;margin:0 0 14px;line-height:1.55}
.ov-card .ov-go{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}

  /* hero lift on small phones (2026-10-13 fix, owner-approved): tighten the
     hero stack so the CTA row rests clear of the fixed Ask AI pill */
  @media (max-width:560px){
    .hero{padding-top:84px}
    .hero .symbol,.hero #heroEye{width:min(240px,46vw)}
    .hero h1{margin-top:20px}
    .hero .wordmark-eye{margin-top:8px}
    .hero .tagline{margin-top:24px}
    .hero-ctas{margin-top:28px}
  }

/* ---------- Benchmark accessibility pass — 2026-10-15 ---------- */
.skip-link{position:fixed;top:12px;left:12px;z-index:300;background:var(--gold);color:var(--indigo-deep);padding:12px 18px;border-radius:999px;font-weight:600;letter-spacing:.04em;text-decoration:none;transform:translateY(-220%);transition:transform .2s ease;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.skip-link:focus,.skip-link:focus-visible{transform:none;outline:3px solid #fff;outline-offset:3px}
main:focus{outline:none}
/* Consistent visible focus for every interactive element (2026-10-20 a11y
   pass): gold-deep carries on dark grounds (7.77:1), the deep-indigo ring
   carries on light grounds where gold-deep alone is 2.38:1. More specific
   focus rules below (skip link, chat, toolbar, FAQ) still win. */
:focus-visible{outline:3px solid var(--gold-deep);outline-offset:2px;box-shadow:0 0 0 5px rgba(18,12,46,.55)}
.a11y-toolbar{position:relative;z-index:4;margin-top:76px;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}
.a11y-toolbar-inner{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.a11y-toolbar-label{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin-right:4px}
.a11y-toggle,.a11y-statement-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 16px;font:500 12.5px/1 "Jost",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.a11y-toggle{border:1px solid var(--gold-deep);background:transparent;color:var(--ink);cursor:pointer}
.a11y-toggle:hover,.a11y-statement-link:hover{border-color:var(--violet);box-shadow:0 6px 18px rgba(42,15,102,.16)}
.a11y-toggle[aria-pressed="true"]{background:var(--indigo);color:var(--gold);border-color:var(--indigo)}
.a11y-statement-link{border:1px solid transparent;color:var(--gold-deep);text-decoration:underline;text-underline-offset:4px}
.a11y-toggle:focus-visible,.a11y-statement-link:focus-visible{outline:3px solid var(--gold-deep);outline-offset:3px}
html.a11y-large-text body{font-size:19px}
html.a11y-large-text p,html.a11y-large-text li,html.a11y-large-text summary,html.a11y-large-text .lede{font-size:1.12em}
html.a11y-high-contrast{--bg:#fff;--bg-alt:#f4f4f4;--surface:#fff;--surface-2:#eee;--ink:#111;--ink-soft:#333;--line:#666;--line-soft:#bbb;--gold:#8a6500;--gold-deep:#6f5200;--gold-dim:#5f4700;--violet-ink:#3b1470}
html.a11y-high-contrast section:not(.hero):not(.principles),html.a11y-high-contrast .a11y-toolbar{background:#fff!important;color:#111!important}
html.a11y-high-contrast section:not(.hero):not(.principles) :is(p,li,dt,dd,.lede,.faq-a){color:#222!important}
html.a11y-high-contrast .glance,html.a11y-high-contrast .perf,html.a11y-high-contrast .disc-block,html.a11y-high-contrast .glossary,html.a11y-high-contrast .note-card,html.a11y-high-contrast .help-card,html.a11y-high-contrast .node{background:#fff!important;color:#111!important;border-color:#666!important}
html.a11y-reduce-motion{scroll-behavior:auto}
html.a11y-reduce-motion *,html.a11y-reduce-motion *::before,html.a11y-reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
.a11y-page{background:var(--bg);color:var(--ink)}
.a11y-page .a11y-intro{max-width:760px}
.a11y-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.a11y-meta span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font-size:13px;letter-spacing:.06em}
.a11y-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px}
.a11y-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}
.a11y-card h3{font-family:"Cormorant Garamond",serif;font-size:27px;line-height:1.15;margin-bottom:12px}
.a11y-card p,.a11y-card li{color:var(--ink-soft);font-size:15.5px}
.a11y-card ul{margin-left:20px}
.a11y-card li+li{margin-top:7px}
.a11y-feedback{margin-top:18px;background:var(--indigo-deep);color:var(--hero-ink);border-radius:16px;padding:30px}
.a11y-feedback h3{font-family:"Cormorant Garamond",serif;font-size:28px;margin-bottom:8px}
.a11y-feedback p{color:var(--hero-ink-soft)}
.a11y-feedback a{color:var(--gold);font-weight:600}
@media (max-width:700px){.a11y-toolbar{margin-top:76px}.a11y-toolbar-inner{justify-content:flex-start}.a11y-grid{grid-template-columns:1fr}.a11y-card{padding:24px}}
@media (max-width:560px){.hero{padding-top:24px}}

.text-size-toggle{position:fixed;left:18px;bottom:18px;z-index:80;width:56px;height:56px;border-radius:50%;border:1px solid var(--gold-deep);background:var(--indigo);color:var(--gold);font:600 17px/1 "Jost",sans-serif;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 24px rgba(20,8,50,.35)}
.text-size-toggle[aria-pressed="true"]{background:var(--gold);color:var(--indigo)}
.a11y-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

  /* accessibility commitment band (2026-10-18) */
  #commitment{background:linear-gradient(155deg,var(--violet-deep) 0%,#241055 58%,var(--indigo-deep) 115%);color:var(--hero-ink)}
  #commitment h2.title{color:var(--hero-ink)}
  #commitment h2.title em{color:var(--gold)}
  #commitment a{color:var(--gold)}

/* ---------- Five-signal accessibility gate — 2026-10-18 ---------- */
/* Controls are visible by default (no-JS safe); site.js adds
   a11y-hide-controls only when no device signal matches and no
   saved preferences exist. */
html.a11y-hide-controls .a11y-toolbar,html.a11y-hide-controls .text-size-toggle{display:none}
/* Reduced transparency: solid surfaces, no translucency or backdrop blur */
html.a11y-reduce-transparency header.site.scrolled{background:var(--indigo-deep);backdrop-filter:none;-webkit-backdrop-filter:none}
html.a11y-reduce-transparency .modal-backdrop{background:#0A061A;backdrop-filter:none;-webkit-backdrop-filter:none}
html.a11y-reduce-transparency nav.main{background:var(--indigo-deep)}
@media (prefers-reduced-transparency: reduce){
  header.site.scrolled,.modal-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
}
/* Stronger focus outline when the device asks for more contrast
   (site.js also applies the a11y-high-contrast palette for this signal) */
@media (prefers-contrast: more){
  :focus-visible{outline-width:3px}
}
/* Forced colours: the kit palette must never override system colours */
@media (forced-colors: active){
  html.a11y-high-contrast{--bg:Canvas;--bg-alt:Canvas;--surface:Canvas;--surface-2:Canvas;--ink:CanvasText;--ink-soft:CanvasText;--line:CanvasText;--line-soft:CanvasText}
  html.a11y-high-contrast section:not(.hero):not(.principles),html.a11y-high-contrast .a11y-toolbar{background:Canvas!important;color:CanvasText!important}
  html.a11y-high-contrast section:not(.hero):not(.principles) :is(p,li,dt,dd,.lede,.faq-a){color:CanvasText!important}
  html.a11y-high-contrast .glance,html.a11y-high-contrast .perf,html.a11y-high-contrast .disc-block,html.a11y-high-contrast .glossary,html.a11y-high-contrast .note-card,html.a11y-high-contrast .help-card,html.a11y-high-contrast .node{background:Canvas!important;color:CanvasText!important;border-color:CanvasText!important}
  .a11y-toggle[aria-pressed="true"]{background:Highlight;color:HighlightText;border-color:Highlight}
  /* 2026-10-24 (brief 770): complete the map — the text-role tokens and
     hero inks also resolve to system colours, with or without the kit
     class, so no author colour survives into forced colours. */
  :root{--gold-text:CanvasText;--gold-dim-text:CanvasText;--hero-ink:CanvasText;--hero-ink-soft:CanvasText;--violet-ink:CanvasText}
}
/* Inverted colours: re-invert imagery so pictures read as intended */
@media (inverted-colors: inverted){
  img,video{filter:invert(1)}
}

/* ---------- Accessibility audit pass — 2026-10-20 ---------- */
/* Hero animation pause/play control (WCAG 2.2.2): a quiet text button in
   the hero; hero-eye.js reveals it only when the animation can run. */
.hero-motion-toggle{margin-top:18px;background:none;border:0;cursor:pointer;font:inherit;font-size:13.5px;letter-spacing:.08em;color:var(--hero-ink-soft);text-decoration:underline;text-underline-offset:5px}
.hero-motion-toggle:hover{color:var(--gold)}
/* Large text must reach hard-coded components too, not just body copy */
html.a11y-large-text .btn{font-size:15px}
html.a11y-large-text nav.main a.navlink{font-size:12px}
html.a11y-large-text .kicker{font-size:13.5px}
html.a11y-large-text .chat-input,html.a11y-large-text .chat-msg .bubble{font-size:16px}
html.a11y-large-text footer ul a,html.a11y-large-text .foot-bar{font-size:16px}
html.a11y-large-text .a11y-toggle,html.a11y-large-text .a11y-statement-link{font-size:14px}
html.a11y-large-text .consent-short,html.a11y-large-text .consent-banner p{font-size:16px}
/* High-contrast repairs: the HC palette darkens the gold variables for
   light grounds, which silently broke every gold-on-dark use (measured
   2.90–3.53:1). On dark grounds the light brand gold is restored, gold
   gradient buttons take white text, and the footer fine print lifts to
   the standard soft ink. Default view is untouched. */
html.a11y-high-contrast .brand .bname,html.a11y-high-contrast footer h4,html.a11y-high-contrast footer h2,html.a11y-high-contrast .foot-brand .f-name,html.a11y-high-contrast .hero h1,html.a11y-high-contrast .hero .wordmark-eye,html.a11y-high-contrast .hero .tagline em,html.a11y-high-contrast .prin .p-num,html.a11y-high-contrast .principles .kicker,html.a11y-high-contrast .a11y-feedback a,html.a11y-high-contrast .chat-head .ch-title,html.a11y-high-contrast .chat-close,html.a11y-high-contrast .consent-banner h2,html.a11y-high-contrast .consent-cats strong,html.a11y-high-contrast .btn-exit,html.a11y-high-contrast .btn-dark{color:#E8C15A}
html.a11y-high-contrast .a11y-toggle[aria-pressed="true"]{color:#E8C15A}
html.a11y-high-contrast .text-size-toggle{color:#E8C15A}
html.a11y-high-contrast .text-size-toggle[aria-pressed="true"]{background:#6F5200;color:#fff}
html.a11y-high-contrast .btn-gold,html.a11y-high-contrast .chat-fab,html.a11y-high-contrast .chat-send{color:#fff}
html.a11y-high-contrast .skip-link{background:#6F5200;color:#fff}
html.a11y-high-contrast footer .fine,html.a11y-high-contrast .foot-bar .fine{color:#C9C2A8}

/* ---------- WCAG 2.2 AA + compliance fix staging — 2026-10-20 (briefs 611/614) ---------- */
/* Text-role gold tokens. The brand golds are display colours; where a
   gold carries small text instead, these text values apply. Light
   --gold-text #80651B: 5.44:1 on --surface, 5.16:1 on --bg, 4.77:1 on
   the status-chip tint. Dark --gold-text is the current --gold-deep
   (6.83:1 on the dark surface), so dark rendering is unchanged.
   --gold-dim-text lifts only the dark value, to #B08D3E (5.29:1 on
   #1E1748); its light value was the current --gold-dim (4.79:1 on
   --surface) until the 2026-10-24 high-contrast pass (brief 770)
   lifted it to #7E6128 (5.18:1 on --bg, 5.69:1 on --surface) and
   pointed .kicker and .hc-label at the token. Decorative gold —
   gradients, borders, dividers, the hero — is untouched. */
:root{--gold-text:#80651B;--gold-dim-text:#7E6128}
/* FSA M3 guard (FULL SCALE AUDIT 2026-10-25): the light-scheme
   --gold-dim-text (#7E6128) measures 3.25:1 on #120C2E and 2.85:1 on
   #1E1748 — below AA for the small labels this token carries. No live
   element pairs it with a dark ground today (dark sections flip their
   kickers to --gold; the token's other roles sit on light surfaces at
   5.69:1 — element-measured on both the dc0c555b and cfb9e03d trees),
   but the pairing was one missed flip away from recurring. Inside
   every dark-ground context the token is now pinned to its dark-scheme
   value #B08D3E (6.02:1 on #120C2E, 5.29:1 on #1E1748, 4.95:1 on
   violet-deep), so the failure is structurally impossible. Dark
   scheme already resolves #B08D3E there: zero visual change. */
#company,#disclosures,#contact,#overview,.not-found,#trade-performance,#outlook,#commitment,.principles,.prin,footer,.node.holdco,.a11y-feedback,.hero{--gold-dim-text:#B08D3E}
/* Card exception: the palette-ink cards (.node and its siblings) keep
   light surfaces inside dark sections, so inside a card the light
   value is restored — in the light scheme only; dark-scheme cards sit
   on dark surfaces, where #B08D3E already applies. (#structure and
   #ventures are deliberately NOT in the guard list: their dark-ground
   kickers are flipped to --gold, and their token roles live on the
   light venture cards.) */
@media (prefers-color-scheme: light){
  .node,.glance,.perf,.disc-block,.glossary,.note-card,.help-card,.modal{--gold-dim-text:#7E6128}
}
@media (prefers-color-scheme: dark){
  :root{--gold-text:#C9A227;--gold-dim-text:#B08D3E}
}
/* E-1 flip (1.4.3): #overview, #ventures and the 404 section sit
   directly on the dark body ground; in the light scheme their copy
   otherwise keeps the light inks (title measured 1.17:1, lede 2.05:1,
   kicker 3.86:1 on --indigo-deep). They now take the same dark flip as
   the page-id sections: title ink 16.75:1, soft ink 11.11:1, kicker
   gold 7.77:1. Cards inside keep the palette ink, as elsewhere. */
#overview,#ventures{color:var(--hero-ink)}
#overview .kicker,#ventures .kicker{color:var(--gold)}
#overview .kicker::after,#ventures .kicker::after{background:linear-gradient(90deg,var(--gold-deep),var(--lavender))}
#overview h2.title em,#ventures h2.title em{color:var(--gold)}
#overview .lede,#ventures .lede{color:var(--hero-ink-soft)}
.not-found{color:var(--hero-ink)}
.not-found .kicker{color:var(--gold)}
.not-found .kicker::after{background:linear-gradient(90deg,var(--gold-deep),var(--lavender))}
.not-found h1.title em{color:var(--gold)}
.not-found .lede{color:var(--hero-ink-soft)}
/* Gold small text (1.4.3, audit E-2/E-3 — owner-approved): the listed
   text roles take the text tokens. .rule .r-num is deliberately NOT
   listed: its ground is the dark #structure gradient in both schemes,
   where --gold-deep already measures 7.14–7.77:1. */
.glance h2,.glance h3,.svc .num,.perf .p-num,.disc-head .d-num,.glossary h2,.glossary h3,.mech span,.ov-card .ov-go,.a11y-toolbar-label,.a11y-statement-link,.status-chip,.chat-msg .bubble a,.chat-note a{color:var(--gold-text)}
.node .n-kind,.modal .m-updated{color:var(--gold-dim-text)}
/* E-5 non-text contrast (1.4.11): chat field/chip/bubble boundaries
   and the toolbar toggle border take a dedicated border colour —
   --gold-dim in the light scheme (4.55:1 on --bg, 4.79:1 on
   --surface), --gold-deep in the dark scheme (7.61:1 on --bg, 6.83:1
   on --surface) — clear of the 3:1 minimum in both schemes. */
.chat-input,.chat-chip,.chat-msg.assistant .bubble{border-color:var(--gold-dim)}
.a11y-toggle{border-color:var(--gold-dim)}
@media (prefers-color-scheme: dark){
  .chat-input,.chat-chip,.chat-msg.assistant .bubble{border-color:var(--gold-deep)}
  .a11y-toggle{border-color:var(--gold-deep)}
}
/* E-7 target size (2.5.8): the hero pause/play toggle gains a 28px
   target (was ≈22.3px); footer list links/buttons gain the audit's
   2px vertical padding (≈24.75px → ≈28.75px). */
.hero-motion-toggle{min-height:28px;padding:5px 10px}
footer ul a,footer ul button.legal-link{padding-top:2px;padding-bottom:2px}

/* ---------- High-contrast readability pass — 2026-10-24 (brief 770, owner finding) ----------
   Audit: AUDIT.md in this tree (fresh-pull pairing inventory, WCAG 2.2 AA).
   The HC kit forces light grounds in both OS schemes, but three colour
   paths still served the dark grounds' palette onto the forced white:
   (1) the 2026-10-20 repair list above painted literal #E8C15A (1.72:1 on
   white) onto kickers and FAQ links that live inside the forced-white
   sections — those selectors are removed from that list and take the
   deep text gold #6F5200 here (7.28:1); its dark-ground members are
   untouched. (2) --gold-text / --gold-dim-text were never redefined by
   the HC palette, so a dark OS scheme leaked #C9A227 / #B08D3E onto the
   white (2.42:1 / 3.12:1) — under HC those tokens only ever land on
   white, so they are pinned to #6F5200. (3) Structural collisions: the
   help FAQ summary kept hero-ink on the forced white (1.17:1), the
   contact value spans kept hero-ink-soft under !important (1.78:1), and
   the accessibility feedback band's paragraphs were forced to #222 on
   its own indigo ground (1.18:1). The focus ring gains a dual halo so
   it carries on dark grounds too, and ::selection joins the palette. */
html.a11y-high-contrast{--gold-text:#6F5200;--gold-dim-text:#6F5200}
html.a11y-high-contrast section.alt .kicker,html.a11y-high-contrast #company .kicker,html.a11y-high-contrast #structure .kicker,html.a11y-high-contrast #disclosures .kicker,html.a11y-high-contrast #contact .kicker,html.a11y-high-contrast section.alt .faq-a a,html.a11y-high-contrast .node.holdco .n-kind{color:#6F5200}
html.a11y-high-contrast section.alt .faq-item summary{color:#111111}
html.a11y-high-contrast section.alt .faq-item summary::after{border-color:#6F5200;color:#6F5200}
html.a11y-high-contrast #contact .c-value span{color:#333333!important}
html.a11y-high-contrast section:not(.hero):not(.principles) .a11y-feedback p{color:#C9C2A8!important}
html.a11y-high-contrast ::selection{background:#6F5200;color:#FFFFFF}
html.a11y-high-contrast :focus-visible{outline-color:#6F5200;box-shadow:0 0 0 2px #FFFFFF,0 0 0 6px #6F5200}
html.a11y-high-contrast .hero-meta .dot{color:#E8C15A}
  /* ---------- house outlook (weekly post, first entry 2026-10-24) ---------- */
  .outlook-entry{display:grid;grid-template-columns:1fr;gap:48px;align-items:start;margin-top:40px}
  .outlook-date{font-family:"Cinzel",serif;letter-spacing:.18em;font-size:13px;color:var(--gold);text-transform:uppercase;margin:0 0 14px}
  .outlook-text h3{font-family:"Cinzel",serif;font-weight:600;font-size:26px;line-height:1.3;color:var(--hero-ink);margin:0 0 18px}
  .outlook-text p{color:var(--hero-ink-soft);line-height:1.7;margin:0 0 16px}
  .outlook-tags{color:var(--gold);letter-spacing:.04em}
  @media (max-width:820px){
    .outlook-entry{grid-template-columns:1fr;gap:32px}
  }
  /* brief 770, outlook completion: the rule above reads
     var(--hero-ink) directly, a token the HC palette never pins —
     on the forced white the h3 sat at 1.17:1. Pin it to the same
     #222 ink the kit forces onto the band's <p> elements
     (15.91:1 on the white). (The brief 770 figcaption rule went
     with the outlook card images in brief 1183, 2026-10-26.) */
  html.a11y-high-contrast .outlook-text h3{color:#222}

/* ---------- trade performance (brief 720, 2026-10-23; contrast fix brief 722, 2026-10-23) ----------
   This section sits directly on the dark body ground (indigo-deep), like #overview and
   #ventures, so it takes the same flip they use: hero inks and gold, never the light-scheme
   --ink tokens (measured 1.17:1 here before the fix). Do not regenerate with --ink colours. */
#trade-performance{color:var(--hero-ink)}
#trade-performance .kicker{color:var(--gold)}
#trade-performance .kicker::after{background:linear-gradient(90deg,var(--gold-deep),var(--lavender))}
#trade-performance h2.title em{color:var(--gold)}
#trade-performance .lede{color:var(--hero-ink-soft)}
#trade-performance .tp-paper{background:var(--gold);color:var(--indigo-deep);padding:12px 16px;border-radius:10px;font-family:Jost,sans-serif}
#trade-performance .tp-headline{font-family:Jost,sans-serif;color:var(--hero-ink-soft)}
#trade-performance .tp-total{font-size:1.35rem;color:var(--hero-ink)}
#trade-performance .tp-h3{font-family:Cinzel,serif;color:var(--hero-ink);margin:40px 0 12px}
#trade-performance .tp-chart{background:#1E1748;border:1px solid rgba(196,181,253,.30);border-radius:14px;padding:18px;margin:0 0 14px}
#trade-performance .tp-chart svg{width:100%;height:auto;display:block}
#trade-performance .tp-chart figcaption{color:#CFC8E8;font-family:Jost,sans-serif;font-size:.92rem;margin-top:10px}
#trade-performance .tp-legend{color:#EFEAF9;font-family:Jost,sans-serif;list-style:none;padding:0;margin:10px 0 0}
#trade-performance .tp-pie-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:820px){#trade-performance .tp-pie-grid{grid-template-columns:1fr 1fr}}
#trade-performance .tp-pie-grid .tp-chart svg{max-width:360px;margin:0 auto}
#trade-performance .tp-table-wrap{overflow-x:auto;margin:0 0 26px}
#trade-performance .tp-table{border-collapse:collapse;width:100%;font-family:Jost,sans-serif;color:var(--hero-ink)}
#trade-performance .tp-table caption{text-align:left;font-weight:600;padding:6px 0;color:var(--hero-ink)}
#trade-performance .tp-table th,#trade-performance .tp-table td{border:1px solid rgba(196,181,253,.30);padding:6px 10px;text-align:left;white-space:nowrap}
#trade-performance .tp-notes{font-family:Jost,sans-serif;color:var(--hero-ink-soft)}

  /* ---------- outlook deck — flush card stack (brief 998, 2026-10-25) ----------
     Owner-directed redesign of the brief 772/776 carousel, whose
     absolute centre-line geometry (cards 84–92% wide shifted only
     12–14% sideways) laid every behind card's text, captions and
     hashtag lines across the front card — the overlap defect the
     owner photographed on his phone. Every deck now reads as one
     squared deck of cards held in the hand (the owner's reference
     photo): all entries share ONE footprint in a CSS grid stack
     (grid-area 1/1), the front entry fully visible, each entry
     behind it lifted a uniform 3px per place of depth, so the
     stack's depth shows ONLY as fine aligned edge lines along the
     top of the deck — no fan, no side peeks, no unit's content
     over another unit's content. Entries carry a solid panel and
     border, so a behind card's visible 3px slice is border and
     panel only; every entry stretches to the tallest entry's
     height, so nothing protrudes below or beside the front card.
     Navigation (buttons, arrow keys, swipe) sends the front card
     ALL THE WAY TO THE BACK and brings the next card forward;
     assets/outlook-deck.js drives depth, z-order and the
     "Card X of N" status. Without the script's .deck-on class —
     scripts off, reduced motion requested, or the site's own
     reduce-motion setting on — the entries read as a plain
     sequential list: every unit fully reachable and readable in
     order, and no card is ever removed from the accessibility
     tree in any state (information parity). Colours come only
     from the house tokens pinned in brief 770.

     V2 FIX PASS (2026-10-25, after the owner's post-deploy phone
     screenshots showed all eight entries' text still interleaved
     on his iPhone): the 3px-lift design relied on the front
     card's opaque panel covering the behind cards, and on the
     phone actually running these files — the page referenced
     site.css at the same ?v=13 URL as before the rebuild and
     outlook-deck.js with no version at all, so a cached old
     stylesheet was free to keep the fan-era painting alive.
     V2 removes both trusts: behind entries are never painted
     (opacity:0, pointer-events:none — see the rules below), the
     deck edge is drawn by the viewport's own ::before, and
     index.html now versions every first-party CSS/JS reference
     (?v=20261025-2) so no cache can hold the old assets. */
  .outlook-controls{display:none}
  .outlook-deck.deck-on .outlook-viewport{display:grid;position:relative;margin-top:40px;padding-top:24px;touch-action:pan-y}
  /* v2 (2026-10-25 fix pass): the deck's layered edge is drawn by
     the viewport itself, never by the behind cards. One fine gold
     line per card behind the front (--deck-steps, set by
     outlook-deck.js from the deck's card count), stepped 3px
     apart in the padding zone above the front card: 7 lines for
     8 cards, flush and uniform, present and identical whether
     or not any behind card is painted. */
  .outlook-deck.deck-on .outlook-viewport::before{content:"";position:absolute;left:0;right:0;top:calc(24px - var(--deck-steps,0)*3px);height:calc(var(--deck-steps,0)*3px);background:repeating-linear-gradient(to bottom,var(--gold-deep) 0,var(--gold-deep) 1px,rgba(0,0,0,0) 1px,rgba(0,0,0,0) 3px);border-radius:18px 18px 0 0;pointer-events:none}
  /* v2: in deck mode ONLY the front entry is painted. Behind
     entries are opacity:0 and take no pointer input, so ghosting
     — a behind card's text or images showing through — is
     impossible on any engine, not merely unlikely. They are NOT
     display:none or visibility:hidden: every card stays in the
     accessibility tree and keyboard-reachable (information
     parity), and focus landing in a behind card brings it to
     the front via outlook-deck.js. The front entry alone is
     fully opaque; stepping the deck cross-fades the pair. */
  .outlook-deck.deck-on .outlook-entry{grid-area:1/1;align-self:stretch;align-content:start;width:100%;margin-top:0;background:linear-gradient(165deg,#221259 0%,var(--indigo) 72%);border:1px solid var(--gold-deep);border-radius:18px;padding:26px 26px 30px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .35s ease}
  .outlook-deck.deck-on .outlook-entry.outlook-front{opacity:1;pointer-events:auto}
  .outlook-deck.deck-on .outlook-viewport:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
  .outlook-deck.deck-on .outlook-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:26px}
  .outlook-deck.deck-single .outlook-controls{display:none}
  .outlook-btn{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 auto;border-radius:999px;border:1px solid var(--gold-deep);background:rgba(0,0,0,.18);color:var(--gold);font-size:22px;line-height:1;cursor:pointer}
  .outlook-btn:hover{border-color:var(--gold)}
  .outlook-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
  .outlook-status{margin:0;min-width:110px;text-align:center;font-size:14px;letter-spacing:.08em;color:var(--hero-ink-soft)}
  /* brief 770 palette: on the forced white the buttons take the
     pinned deep gold (7.28:1), same as the section kickers. */
  html.a11y-high-contrast .outlook-btn{color:#6F5200;border-color:#6F5200;background:transparent}
  html.a11y-high-contrast .outlook-deck.deck-on .outlook-entry{background:#fff;border-color:#222}
  /* Reduced motion flattens the deck to the plain sequential
     list — every unit in order, nothing stacked, no controls. */
  @media (prefers-reduced-motion: reduce){
    .outlook-deck.deck-on .outlook-viewport{display:block;padding-top:0}
    .outlook-deck.deck-on .outlook-viewport::before{display:none}
    .outlook-deck.deck-on .outlook-entry{transform:none;height:auto;margin-top:40px;background:none;border:0;border-radius:0;padding:0;overflow:visible;box-shadow:none;transition:none;opacity:1;pointer-events:auto}
    .outlook-deck.deck-on .outlook-controls{display:none}
  }
  html.a11y-reduce-motion .outlook-deck.deck-on .outlook-viewport{display:block;padding-top:0}
  html.a11y-reduce-motion .outlook-deck.deck-on .outlook-viewport::before{display:none}
  html.a11y-reduce-motion .outlook-deck.deck-on .outlook-entry{transform:none;height:auto;margin-top:40px;background:none;border:0;border-radius:0;padding:0;overflow:visible;box-shadow:none;transition:none;opacity:1;pointer-events:auto}
  html.a11y-reduce-motion .outlook-deck.deck-on .outlook-controls{display:none}
  @media (forced-colors: active){
    .outlook-btn{border:1px solid ButtonText;color:ButtonText;background:transparent}
    .outlook-deck.deck-on .outlook-entry{border:1px solid ButtonText;background:Canvas}
    .outlook-deck.deck-on .outlook-viewport:focus-visible{outline-color:Highlight}
    .outlook-btn:focus-visible{outline-color:Highlight}
  }

  /* ---------- outlook horizons (brief 776, 2026-10-25) ----------
     Each horizon gets its own headed deck under the section
     title; a horizon the desk has not published yet carries one
     factual note card (single column, no market content) until
     its first real outlook replaces it. */
  .outlook-horizon{margin-top:64px}
  .outlook-horizon-title{font-family:"Cormorant Garamond",serif;font-size:clamp(28px,3.6vw,38px);font-weight:500;line-height:1.15;margin:14px 0 0;color:var(--hero-ink)}
  .outlook-horizon-title em{color:var(--gold);font-style:italic}
  .outlook-horizon .outlook-deck.deck-on .outlook-viewport{margin-top:26px}
  .outlook-entry.outlook-entry--note{grid-template-columns:1fr}
  .outlook-entry--note .outlook-text{max-width:58ch}
  .outlook-entry--note .outlook-text p:first-child{font-size:19px;color:var(--hero-ink)}

  /* ---------- outlook chart views (brief 992, 2026-10-25) ----------
     Each deck entry carries the pair's chart under its card: the
     desk's mapped levels on OANDA candles, emblem watermark at centre. */
  .outlook-chart{grid-column:1/-1;margin:0}
  .outlook-chart img{display:block;width:100%;height:auto;border:1px solid var(--gold-deep);border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.35)}
  .outlook-chart figcaption{margin-top:12px;font-size:13px;color:var(--hero-ink-soft);letter-spacing:.06em}
  html.a11y-high-contrast .outlook-chart figcaption{color:#222}

  /* ---------- outlook chart full view (brief 1183, 2026-10-26) ----------
     Owner's order: each entry's chart opens alone, full screen —
     the picture and the close button, nothing else. The overlay
     rides the site's own modal shell (site.js opens and closes
     every .modal-backdrop: focus in, focus returned, scroll
     locked, Esc, Tab trap); outlook-deck.js fills the picture
     from the clicked chart and adds close-on-any-click. The
     decorative outlook card images that used to sit beside the
     text are gone (brief 1183): the text is the picture. */
  .outlook-chart-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:14px}
  .outlook-chart-open:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
  html.a11y-high-contrast .outlook-chart-open:focus-visible{outline-color:#6F5200}
  .chart-view{align-items:center}
  .chart-view-frame{position:relative;margin:0;max-width:min(1400px,96vw)}
  .chart-view-frame img{display:block;max-width:100%;max-height:92vh;width:auto;height:auto;margin:0 auto;border:1px solid var(--gold-deep);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
  @media (forced-colors: active){
    .outlook-chart-open{border:1px solid ButtonText}
    .outlook-chart-open:focus-visible{outline-color:Highlight}
    .chart-view-frame img{border-color:ButtonText}
  }
