/* Theme layer: shared layout and brand accents, independently tuned surfaces. */
:root{color-scheme:dark}
.theme-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border:1px solid #355169;border-radius:10px;background:#122130;color:#fcb03b;cursor:pointer;transition:background 180ms,border-color 180ms}
.theme-toggle svg{width:22px;height:22px}.theme-toggle .theme-moon{display:none}
.theme-toggle:hover{background:#1a354b;border-color:#4d99db}.theme-toggle:focus-visible{outline:3px solid #4d99db;outline-offset:3px}
@media(max-width:1080px){.nav-shell{column-gap:10px}.theme-toggle{order:1;margin-left:auto}.nav-shell .nav-toggle{order:2;margin-left:0}.nav-shell .site-nav{order:3}}
@media(min-width:1081px) and (max-width:1350px){.nav-shell{gap:10px}.site-nav a{padding-inline:9px}.nav-shell>.button{padding-inline:14px;white-space:nowrap}}
@media(max-width:380px){.brand img{width:112px}.nav-shell .nav-toggle{min-width:78px;padding-inline:9px}.nav-shell{column-gap:8px}}
@media(max-width:420px){.nav-shell{padding-inline:6px}.nav-shell .brand{padding-left:0}.nav-shell .nav-toggle{width:44px;min-width:44px;padding:10px;flex:none}.nav-toggle strong{display:none}}
html[data-theme=light]{color-scheme:light;--dark:#edf2f7;--dark-950:#f7f9fc;--dark-900:#fff;--dark-800:#edf2f7;--ink:#20232c;--muted:#536176;--muted-2:#617086;--blue:#006cb9;--line:#d6dfe9;--line-strong:#b4c3d3;--glass:#fff;--glass-strong:#edf3f9;--shadow:0 20px 60px #26394c12}
/* White remains a literal colour for CTAs and text over photography. */
html[data-theme=light] body{background:#f7f9fc;color:var(--ink)}
html[data-theme=light] body::before{background-image:linear-gradient(#23384f09 1px,transparent 1px),linear-gradient(90deg,#23384f09 1px,transparent 1px)}
html[data-theme=light] :is(.studio-home,.contact-page,.portfolio-page){background:#f7f9fc}
html[data-theme=light] .site-header{background:#fffffff2;border-color:var(--line)}
html[data-theme=light] .nav-shell{background:none}
html[data-theme=light] .site-nav{color:#455369}
html[data-theme=light] .site-nav a:hover,html[data-theme=light] .site-nav a[aria-current=page]{color:#005d9e;background:#e5f1fb;box-shadow:none}
html[data-theme=light] .connected-link{color:#00639e!important}
html[data-theme=light] .theme-toggle{background:#edf3f9;color:#334a67;border-color:#c5d4e3}
html[data-theme=light] .theme-toggle:hover{background:#deebf7}
html[data-theme=light] .theme-sun{display:none}html[data-theme=light] .theme-moon{display:block}
html[data-theme=light] .nav-shell .nav-toggle{background:#edf3f9;border-color:#c5d4e3;color:#24394f}
html[data-theme=light] .nav-toggle .nav-menu-icon{color:#006cb9}
html[data-theme=light] .nav-shell .nav-toggle[aria-expanded=true]{background:#dfedfa}
html[data-theme=light] .nav-shell .site-nav[data-open]{background:#fff;border-color:#c5d4e3;box-shadow:0 16px 35px #20354a1a}
html[data-theme=light] .nav-shell .site-nav .connected-link{border-color:#c5d4e3}
html[data-theme=light] :is(.page-hero,.editorial-band,.cta-band,.connected-section){background:#edf3f9;color:var(--ink);border-color:var(--line)}
html[data-theme=light] :is(.page-hero p,.studio-intro p,.goal-result p,.portfolio-intro p){color:var(--muted)}
html[data-theme=light] :is(.section-heading h2,.editorial-grid h2,.connected-grid h2,.cta-grid h2,.footer-cta h2,.feature-card h3,.build-card h3,.case-card h3,.insight-card h2,.feature-card h2,.build-card h2,.contact-aside h2,.portfolio-intro h1,.portfolio-project h3){color:var(--ink)}
html[data-theme=light] :is(.studio-intro h1 em,.contact-intro h1 em){color:#007da1}
html[data-theme=light] :is(.text-link,.context-service-link,.goal-result .text-link,.delivery-service-links a,.delivery-links>a,.dialog-service-links>a,.project-story-nav,.inline-project-nav a,.project-bottom>a){color:#00639e}
html[data-theme=light] :is(.text-link,.context-service-link):hover{color:#003d69}
html[data-theme=light] :is(.button-secondary,.enquiry-reset){color:#334a67;background:transparent;border-color:#94a9be}
html[data-theme=light] .button-secondary:hover{background:#e3eef8}
html[data-theme=light] .goal-section{background:#edf3f9;color:var(--ink);border-color:var(--line)}
html[data-theme=light] :is(.goal-section .eyebrow,.studio-intro .eyebrow,.contact-intro .eyebrow,.collection-heading .eyebrow,.portfolio-kicker .eyebrow,.portfolio-next>.eyebrow){color:#00639e}
html[data-theme=light] :is(.goal-options button,.system-node,.project-modes button,.work-filters button,.industry-filters button){color:#536176;border-color:#c6d3e0}
html[data-theme=light] :is(.goal-options button[aria-pressed=true],.portfolio-jump,.collection-end>a,.delivery-group-bottom,.delivery-index small,.delivery-path b,.delivery-links>a>span,.project-meta>a){color:#8d5300}
html[data-theme=light] :is(.feature-card,.build-card,.case-card,.insight-card,.contact-aside,.system-stage,.product-demo,.project-planner,.enquiry-panel,.relationship-project){background:#fff;border-color:var(--line);box-shadow:0 8px 30px #233e5810}
html[data-theme=light] :is(.feature-card,.build-card,.case-card,.insight-card):hover{background:#f2f7fc;border-color:#86b8df}
html[data-theme=light] :is(.system-heading,.demo-topline,.preview-label,.hero-baseline,.hero-proof,.hero-proof small,.project-attribution,.article-byline,.legal-copy .policy-date,.delivery-path,.delivery-index>span,.delivery-index>a,.delivery-group ul,.relationship-project small,.portfolio-context,.portfolio-footnote,.project-meta,.project-bottom,.collection-count,.collection-end,.search-field,.country-field,.edition,.filter-count){color:var(--muted)}
html[data-theme=light] .system-node{background:#f3f7fb}
html[data-theme=light] :is(.system-node[aria-pressed=true],.project-modes button[aria-pressed=true],.work-filters button[aria-pressed=true]){background:#e5f2ff;border-color:#0077be;color:#005d9e}
html[data-theme=light] .system-node>span:first-child{color:#617086}
html[data-theme=light] :is(.service-scope,.solution-scenario,.next-steps,.map-container,.portfolio-context){background:#eaf2f9}
html[data-theme=light] :is(.recognition-block,.recognition-item+.recognition-item,.hero-proof,.hero-proof a,.hero-baseline,.work-showcase,.goal-result li,.goal-options button:last-child,.delivery-group,.delivery-index>a,.delivery-path,.delivery-links>a,.delivery-service-links a,.portfolio-partnership,.project-section,.portfolio-search-row,.project-bottom,.collection-end,.portfolio-next,.ongoing-partnership,.footer-cta,.footer-contact,.contact-links>a,.office-section,.article-body .article-links,.planning-options label,.brief-summary){border-color:#cdd9e5}
html[data-theme=light] :is(.recognition-block h2,.recognition-item div>span,.recognition-item small,.contact-links small,.contact-page .enquiry-note,.next-steps ol,.portfolio-next h2>span,.portfolio-intro h1>span,.delivery-intro h1 span,.studio-principle h2 span){color:var(--muted)}
html[data-theme=light] .recognition-item strong{color:var(--ink)}
html[data-theme=light] .recognition-mark{background:#fff7e8;color:#915500;border-color:#e6cfaa}
html[data-theme=light] .recognition-quality{color:#00639e;background:#eaf4ff;border-color:#bdd6ef}
html[data-theme=light] .recognition-item:hover .recognition-mark{background:#e2effa}
html[data-theme=light] .recognition-item:hover strong,html[data-theme=light] .hero-proof a:hover strong{color:#00639e}
html[data-theme=light] .site-footer{background:#edf2f7}
html[data-theme=light] .footer-cta .eyebrow{color:#8d5300}
html[data-theme=light] :is(.measurement-settings,.footer-grid a,.footer-bottom){color:#455369}
html[data-theme=light] :is(.contact-page .contact-form input,.contact-page .contact-form select,.contact-page .contact-form textarea,.contact-form input,.contact-form select,.contact-form textarea,.portfolio-inputs input,.portfolio-inputs select){background:#fff;color:#20232c;border-color:#a9bbcd}
html[data-theme=light] :is(.contact-form input,.contact-form textarea)::placeholder{color:#64748b}
html[data-theme=light] .contact-form select option{background:#fff;color:#20232c}
html[data-theme=light] .enquiry-status[data-state=error]{color:#a52c22}html[data-theme=light] .enquiry-status[data-state=success]{color:#126542}
html[data-theme=light] :is(.project-planner legend,.brief-summary){color:#00639e}
html[data-theme=light] .planning-options label:has(:checked){background:#e8f3ff;border-color:#0077be}
html[data-theme=light] :is(.measurement-dialog,.certificate-dialog,.project-dialog){background:#fff;color:#20232c;border-color:#b4c3d3;box-shadow:0 25px 100px #18344c33}
html[data-theme=light] :is(.measurement-dialog p,.dialog-content ul){color:#536176}
html[data-theme=light] .measurement-dialog a{color:#00639e}
html[data-theme=light] .measurement-dialog>button{color:#20232c}
html[data-theme=light] .certificate-dialog-header{border-color:#d6dfe9}
html[data-theme=light] .certificate-image-wrap{background:#eaf0f6}
html[data-theme=light] :is(.certificate-dialog-header button,.dialog-close){background:#edf3f9;color:#24394f;border-color:#a9bbcd}
html[data-theme=light] :is(.tag-list li,.tab-list button){color:#455369;background:#edf3f9;border-color:#cdd9e5}
html[data-theme=light] .tab-list button[aria-selected=true]{color:#005d9e;background:#dceeff}
html[data-theme=light] :is(.system-flow span,.service-row h2){color:#20232c}
html[data-theme=light] .card-top span{color:#617086}
html[data-theme=light] .portfolio-empty button{color:#8d5300;border-color:#bb8330}
/* Illustrations and photo overlays keep their own dark palette for legibility. */
html[data-theme=light] :is(.digital-scene,.fleet-scene,.browser-demo){color:#e6f3ff;--muted:#b6cbd9;--ink:#e6f3ff;--blue:#4d99db}
html[data-theme=light] .digital-scene-controls button,html[data-theme=light] .fleet-scene-footer button{color:#d5e7f2}
html[data-theme=light] :is(.cover-caption h2,.cover-small h2,.unavailable-art){color:#fff}
html[data-theme=light] :is(.system-detail,.site-footer h2){color:#20232c}
html[data-theme=light] :is(.footer-contact .contact-links a,.contact-intro nav,.project-index){color:#536176}
html[data-theme=light] .principle-steps span{color:#8d5300}
html[data-theme=light] .system-node>span:first-child{color:#536176}
html[data-theme=light] .portfolio-footnote span{color:#536176}
html[data-theme=light] .industry-filters button[aria-pressed=true]{color:#20232c;background:#f6d89f;border-color:#c8963f}
html[data-theme=light] .cta-band .eyebrow{color:#8d5300}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}
