/* Theme switch and shared dark palette. Light remains the default. */
.theme-toggle{flex:0 0 44px;width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border:1px solid #bbb;border-radius:50%;background:transparent;color:#181818;cursor:pointer}
.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-sun{display:none}
.theme-toggle:focus-visible{outline:3px solid #f5af31;outline-offset:4px}
.theme-toggle:hover{border-color:#b47e1f;background:rgba(245,175,49,.1)}
:root[data-theme="dark"]{--bg:#111214;--bg2:#191b1e;--panel:#202226;--panel2:#26292d;--text:#f5f3ee;--muted:#b6b8bd;--line:#41454c;--ink:#f5f3ee;--paper:#111214;--quiet:#b6b8bd;--purple:#a6afff;--blue:#a6afff;--violet:#a6afff;color-scheme:dark;background:#111214}
:root[data-theme="dark"] body{background:#111214;color:var(--text)}
:root[data-theme="dark"] :is(.nav,.hero,.page-hero,.section){background-color:var(--bg);border-color:var(--line)}
:root[data-theme="dark"] :is(.section.soft,.home-testimonials){background:#191b1e;border-color:var(--line)}
:root[data-theme="dark"] :is(.nav-links,.nav-links a.active,.mobile-toggle,.theme-toggle,.kicker,.icon,.symbol,.symbol-big,.stat b){color:var(--text)}
:root[data-theme="dark"] :is(.mobile-toggle,.theme-toggle,.nav-links){border-color:var(--line)}
:root[data-theme="dark"] .theme-toggle .theme-moon{display:none}
:root[data-theme="dark"] .theme-toggle .theme-sun{display:block}
:root[data-theme="dark"] :is(.card,.case,.portal-card,.cap-card,.cap-stage,.cap-tab,.story-card,.metric,.industry-chip,.industry-stage,.brief-option,.lab-card,.game-panel,.game-choice,.agent-chat,.agent-mini,.agent-msg.bot,.agent-input,.quick-prompt,.agent-launch-label,.dock-btn,.testimonial-card,.result-card,.calc-output){background:var(--panel);color:var(--text);border-color:var(--line)}
:root[data-theme="dark"] :is(.card:hover,.game-choice:hover,.game-choice.selected,.industry-chip.active,.brief-option.selected,.cap-tab.active){background:#2c3036;color:var(--text);border-color:#f5af31}
:root[data-theme="dark"] :is(.card p,.case-body p,.meta,.service-detail p,.service-detail li,.process-section .step p,.testimonial-card p,.form-note,.agent-status,.visual-label,.side-nav a,.breadcrumbs){color:var(--muted)}
:root[data-theme="dark"] :is(.content-block,.step,.process-section .process,.process-section .step,.side-nav a,.cards-3>.card:nth-child(even)){border-color:var(--line)}
:root[data-theme="dark"] .btn-primary{background:#f5af31;color:#171717;border-color:#f5af31}
:root[data-theme="dark"] .btn-primary:hover{background:#ffca69;border-color:#ffca69}
:root[data-theme="dark"] .btn-outline{color:var(--text);border-color:#73777f}
:root[data-theme="dark"] :is(.pill,.cap-tab,.game-choice,.quick-prompt){color:var(--text);border-color:var(--line)}
:root[data-theme="dark"] :is(.pill.is-active,.pill:hover){background:#f5af31;border-color:#f5af31;color:#171717}
:root[data-theme="dark"] :is(input,textarea,select){background:#191b1e;color:var(--text);border-color:#656970}
:root[data-theme="dark"] :is(input,textarea)::placeholder{color:#aeb1b8}
:root[data-theme="dark"] :is(input,textarea,select):focus-visible{outline:2px solid #f5af31;outline-offset:2px}
:root[data-theme="dark"] :is(.agent-messages,.quick-prompts,.reflex-board,.signal-art){background:#191b1e;color:var(--text);border-color:var(--line)}
:root[data-theme="dark"] .agent-head{background:#292d43;color:var(--text)}
:root[data-theme="dark"] .agent-head .agent-status{color:#d3d6e5}
:root[data-theme="dark"] :is(.agent-msg.user,.score-pill){background:#343956;color:#fff}
:root[data-theme="dark"] .band{background:#332831;color:var(--text)}
:root[data-theme="dark"] .band .lead{color:#d6c8d1}
:root[data-theme="dark"] .contact-band{background:#262d15;color:var(--text)}
:root[data-theme="dark"] :is(.accent,.hero-copy h1 .accent){color:var(--text);-webkit-text-fill-color:var(--text);background:linear-gradient(to bottom,transparent 83%,#766019 83%,#766019 95%,transparent 95%)}
:root[data-theme="dark"] .original-concept{background:#242c70;color:#fff}
:root[data-theme="dark"] .home-banner-panel{background:radial-gradient(circle at 85% 50%,rgba(245,175,49,.13),transparent 38%),#1e1d1b}
:root[data-theme="dark"] .hero .home-banner-copy h1{color:var(--text)}
:root[data-theme="dark"] .home-banner-copy :is(.kicker,p){color:#c4beb3}
:root[data-theme="dark"] .home-banner-copy h1 span{color:#f5af31}
:root[data-theme="dark"] .testimonial-number{color:#c9bb9e}
:root[data-theme="dark"] .testimonial-quote-mark{color:#f5af31}
:root[data-theme="dark"] :is(.footer,.marquee){background:#0b0c0e;border-color:var(--line)}
:root[data-theme="dark"] .client-logo-slot{background:#f5f3ee;border-color:#626269}
:root[data-theme="dark"] .client-logo-slot.client-logo-dark-card{background:#232323;border-color:#626269}
/* Additional header control requires the mobile menu slightly earlier. */
@media(min-width:1101px) and (max-width:1280px){
 .nav-inner{position:relative;flex-wrap:wrap;gap:12px;padding:12px 0}
 .nav-inner .mobile-toggle{display:block;margin-left:auto}
 .nav-inner .nav-links{display:none;order:4;flex-basis:100%;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0;max-height:calc(100dvh - 100px);overflow-y:auto;border-top:1px solid #ddd}
 .nav-inner .nav-links.is-open{display:flex}
 .nav-links a{display:block;padding:12px 8px;font-size:16px;white-space:normal}
}
@media(max-width:420px){.nav-inner{gap:8px}.theme-toggle{flex-basis:44px}.nav-inner>.btn{font-size:12px;padding-inline:10px}}

:root[data-theme="dark"] :is(.education-case,.sports-case) .case-body{background:var(--panel);color:var(--text);border-top:3px solid #f5af31}

/* Original white-and-gold footer artwork, without recolouring. */
.footer .imported-logo.footer-brand-logo{filter:none;width:144px;height:auto;object-fit:contain}
/* Keep the desktop menu and actions on one aligned horizontal row. */
.nav .nav-inner{display:grid;grid-template-columns:80px minmax(0,1fr) 44px auto;align-items:center;column-gap:16px;row-gap:0;min-height:88px;padding:0;flex-wrap:nowrap}
.nav .nav-links{display:flex;grid-column:2;grid-row:1;order:0;flex-direction:row;align-items:center;justify-content:center;gap:clamp(10px,1.2vw,20px);width:auto;max-height:none;padding:0;border-top:0;font-size:clamp(12px,1vw,14px)}
.nav .nav-links a{display:inline-flex;align-items:center;white-space:nowrap;padding:8px 0;font-size:inherit;line-height:1.4}
.nav .mobile-toggle{display:none}
.nav .brand{grid-column:1;grid-row:1;align-self:center;display:flex;align-items:center}
.nav .imported-logo{width:80px;height:64px}
.nav .theme-toggle{grid-column:3;grid-row:1;margin:0;align-self:center}
.nav-inner>.btn{grid-column:4;grid-row:1;min-height:44px;white-space:nowrap;font-size:13px;padding:10px 16px;margin:0;align-self:center}
@media(max-width:1024px){
 .nav .nav-inner{grid-template-columns:minmax(0,1fr) auto 44px auto;column-gap:10px;row-gap:0;min-height:78px;padding:8px 0}
 .nav .mobile-toggle{display:block;grid-column:2;grid-row:1;margin:0;min-height:44px;line-height:1.2}
 .nav .theme-toggle{grid-column:3;grid-row:1}
 .nav-inner>.btn{grid-column:4;grid-row:1}
 .nav .nav-links{display:none;grid-column:1/-1;grid-row:2;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 100px);overflow-y:auto;gap:0;padding:8px 0;border-top:1px solid #ddd;width:100%}
 .nav .nav-links.is-open{display:flex}
 .nav .nav-links a{display:block;padding:12px 8px;white-space:normal;font-size:16px}
}
@media(max-width:420px){
 .nav .nav-inner{column-gap:6px;min-height:72px}
 .nav .imported-logo{width:60px;height:48px}
 .nav .mobile-toggle{font-size:12px;padding:8px 10px}
 .nav-inner>.btn{font-size:12px;padding:10px 12px}
}
