/* ======================================================================
   ACCESSIBILITY & THEMES (assets/a11y.js sets data-* on <html>)
   ====================================================================== */
:focus-visible{outline:3px solid var(--or);outline-offset:3px}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1200;background:var(--or);color:var(--ink);font:700 13px 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.06em;padding:12px 16px;border-radius:6px;transition:top .2s}
.skip-link:focus{top:16px}

/* header theme toggle */
.site-header{grid-template-columns:1fr auto 1fr auto;column-gap:12px}
.theme-toggle{all:unset;cursor:pointer;justify-self:end;display:grid;place-items:center;width:42px;height:42px;border-radius:8px;border:1.5px solid rgba(244,240,234,.18);color:var(--cream)}
.theme-toggle:hover{border-color:var(--or);color:var(--or)}
.theme-toggle .mi{width:20px;height:20px}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.theme-toggle{display:none}}

/* launcher + panel */
.a11y{position:fixed;left:18px;bottom:18px;z-index:950}
.a11y-launch{all:unset;cursor:pointer;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--cream);border:2px solid var(--or);box-shadow:0 12px 30px rgba(0,0,0,.4);transition:transform .2s}
.a11y-launch:hover{transform:scale(1.06)}
.a11y-launch .mi{width:26px;height:26px}
.a11y-panel{position:absolute;left:0;bottom:64px;width:min(360px,calc(100vw - 36px));max-height:calc(100vh - 110px);overflow:auto;background:#100D0B;color:#F4F0EA;border:1.5px solid rgba(232,93,4,.5);border-radius:14px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.55);display:grid;gap:14px}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex;justify-content:space-between;align-items:center}
.a11y-head h2{font:700 18px 'Clash Display',sans-serif;text-transform:uppercase;letter-spacing:0;margin:0;color:#F4F0EA}
.a11y-close{all:unset;cursor:pointer;display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:#B9B1A6}
.a11y-close:hover{color:#F4F0EA;background:#1A140F}
.a11y-close .mi{width:18px;height:18px}
.a11y-group{border:0;margin:0;padding:0}
.a11y-group legend{display:flex;align-items:center;gap:8px;font:700 11px 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.12em;color:#B9B1A6;margin-bottom:8px;padding:0}
.a11y-group legend .mi{width:15px;height:15px}
.a11y-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#0A0908;border:1px solid #2A241F;border-radius:10px;padding:4px}
.a11y-seg button{all:unset;cursor:pointer;text-align:center;padding:9px 6px;border-radius:7px;font:600 14px 'General Sans',sans-serif;color:#E9E2D8}
.a11y-seg button[aria-pressed=true]{background:var(--or);color:var(--ink)}
.a11y-seg button:focus-visible,.a11y-toggle:focus-visible,.a11y-reset:focus-visible,.a11y-close:focus-visible,.a11y-launch:focus-visible,.theme-toggle:focus-visible{outline:3px solid var(--or);outline-offset:2px}
.a11y-toggles{display:grid;gap:6px}
.a11y-toggle{all:unset;cursor:pointer;display:grid;grid-template-columns:36px 1fr 38px;align-items:center;gap:10px;padding:10px;border-radius:10px;border:1px solid #2A241F;background:#0A0908}
.a11y-toggle:hover{border-color:rgba(232,93,4,.5)}
.a11y-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#1A140F;color:#F4F0EA}
.a11y-ic .mi{width:18px;height:18px}
.a11y-toggle strong{display:block;font:600 15px 'General Sans',sans-serif;color:#F4F0EA}
.a11y-toggle small{display:block;font-size:12px;color:#A39A90;margin-top:2px}
.a11y-toggle i{width:38px;height:22px;border-radius:99px;background:#2A241F;position:relative;transition:background .2s}
.a11y-toggle i:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#B9B1A6;transition:transform .2s,background .2s}
.a11y-toggle[aria-pressed=true]{border-color:rgba(232,93,4,.6)}
.a11y-toggle[aria-pressed=true] i{background:var(--or)}
.a11y-toggle[aria-pressed=true] i:after{transform:translateX(16px);background:var(--ink)}
.a11y-reset{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-self:start;font:700 12px 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:#B9B1A6;padding:6px 0}
.a11y-reset:hover{color:#F4F0EA}
.a11y-reset .mi{width:16px;height:16px}

/* ---------- Light theme: content turns light; header, hero and footer stay as dark brand frames ---------- */
:root[data-theme=light],:root[data-theme=light] body{background:#F4F0EA;color:#0A0908}
:root[data-theme=light] .site-header{background:#0A0908}
:root[data-theme=light] main>section.hero,:root[data-theme=light] main>section.page-hero{background:#0A0908;color:#F4F0EA}
:root[data-theme=light] .site-footer{background:#0A0908;color:#F4F0EA}
:root[data-theme=light] main>section:not(.hero):not(.page-hero):not(.vibe-lab):not(.chaos-banner):not(.contact):not(.marquee):not(.services):not(.amazon),
:root[data-theme=light] main.legal-page{background:#F4F0EA;color:#0A0908;--muted:#4F4740;--dim:#5E554D;--line:rgba(10,9,8,.14);box-shadow:0 -24px 60px rgba(10,9,8,.07)}
:root[data-theme=light] main.legal-page{background:transparent;box-shadow:none}
:root[data-theme=light] main>section.manifesto{background:#EFE8DE}
:root[data-theme=light] :is(.work,.manifesto,.process,.page-shell,.aeo,.legal-page) .kicker{color:#A64300}
:root[data-theme=light] :is(.aeo-list b,.button-ghost,.explorer-clients li,.explorer-tab strong,.stat strong,.work-headline,.legal-content h2,.svc-icon,.detail-link:hover,.svc-others a:hover .mi,.work-mini h3){color:#0A0908}
:root[data-theme=light] .explorer-tab[aria-selected=true] .tab-icon{color:#0A0908}
:root[data-theme=light] :is(.legal-content,.faq-answer p,.audit-aside li,.detail-card li,.detail-card>p){color:#4F4740}
:root[data-theme=light] :is(.detail-card,.principles article,.svc-deliverables li,.svc-others a,.work-mini,.explorer-panel){background:#fff;color:#0A0908}
:root[data-theme=light] :is(.detail-grid,.principles,.svc-deliverables,.svc-others,.work-mini-grid){background:#E2D9CE;border-color:#E2D9CE}
:root[data-theme=light] :is(.explorer-panel,.explorer-proof div,.aeo-shot img,.work-media img,.svc-icon,.faq-list,.faq-item,.timeline,.timeline article){border-color:#E2D9CE}
:root[data-theme=light] .svc-icon{background:#fff}
:root[data-theme=light] .svc-others .kicker{background:#F4F0EA}
:root[data-theme=light] .svc-others a:hover{background:#F0E7DC;color:#A64300}
:root[data-theme=light] .explorer-tab:hover,:root[data-theme=light] .explorer-tab[aria-selected=true]{background:#EAE2D7}
:root[data-theme=light] .explorer-tabs,:root[data-theme=light] .explorer-tab{border-color:rgba(10,9,8,.12)}
:root[data-theme=light] .work-results li,:root[data-theme=light] .aeo-proof div{background:#fff}
:root[data-theme=light] :is(.work-results strong,.aeo-proof strong,.svc-stat strong,.explorer-proof strong,.work-mini-results strong){color:#C04E02}
:root[data-theme=light] .text-link{border-color:rgba(10,9,8,.35)}
:root[data-theme=light] .case-study{background:#100D0B}

/* ---------- High contrast ---------- */
:root[data-contrast=on]{--muted:#ECE6DE;--dim:#D9D1C6;--line:rgba(244,240,234,.4)}
:root[data-contrast=on][data-theme=light] main>section:not(.hero):not(.page-hero):not(.vibe-lab):not(.chaos-banner):not(.contact):not(.marquee):not(.services):not(.amazon),
:root[data-contrast=on][data-theme=light] main.legal-page{--muted:#1E1915;--dim:#2B2520;--line:rgba(10,9,8,.45)}
:root[data-contrast=on] :is(.button,.nav-cta,.choice-grid span,.explorer-tab,.sig-opt,.channel-card){outline:2px solid currentColor;outline-offset:-2px}
:root[data-contrast=on] :is(.noise,.orb,.lab-blob){display:none}
:root[data-contrast=on] :is(.section-heading>p,.page-lead p,.hero-copy,.page-hero p:not(.kicker)){color:inherit}

/* ---------- Text size (zoom on content keeps the layout intact) ---------- */
:root[data-text="112"] :is(main,.site-footer){zoom:1.12}
:root[data-text="125"] :is(main,.site-footer){zoom:1.25}

/* ---------- Links, font, spacing ---------- */
:root[data-links=on] a:not(.button):not(.brand):not(.nav-cta):not(.explorer-tab){text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px}
:root[data-font=on] body *:not(svg):not(use){font-family:'Atkinson Hyperlegible',Verdana,Arial,sans-serif!important;letter-spacing:normal!important}
:root[data-spacing=on] :is(p,li,dd,label,legend,blockquote,.work-headline){line-height:1.9!important;letter-spacing:.03em!important;word-spacing:.12em!important}

/* ---------- Reduce motion (user choice, on top of the OS setting) ---------- */
:root[data-motion=reduce] *,:root[data-motion=reduce] *:before,:root[data-motion=reduce] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
:root[data-motion=reduce] .reveal{opacity:1!important;transform:none!important}
:root[data-motion=reduce] main>section{transform:none!important}
:root[data-motion=reduce]::view-transition-old(root),:root[data-motion=reduce]::view-transition-new(root){animation:none!important}
:root[data-theme=light] .site-header,:root[data-theme=light] .mobile-menu{color:#F4F0EA}
:root[data-theme=light] main>section.svc-proof{background:#EFE8DE;box-shadow:none}
