/* Shared light/dark appearance. Artwork and official logo colours stay intact. */
:root{color-scheme:light;--switch-track:#EBF0F3;--switch-border:#73848F;--switch-thumb:#fff;--switch-icon:#47586B;--switch-active:#0E6B7C}
.header-inner{gap:22px}
.main-nav{margin-left:auto}
.header-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:space-around;isolation:isolate;width:64px;height:44px;flex:0 0 64px;padding:7px 5px;border:1px solid var(--switch-border);border-radius:24px;background:var(--switch-track);color:var(--switch-icon);transition:border-color .2s,background .2s;touch-action:manipulation}
.theme-toggle:hover{border-color:var(--teal)}
.theme-toggle:focus-visible{outline:3px solid var(--teal);outline-offset:4px;border-radius:24px}
.theme-toggle-thumb{position:absolute;inset:5px auto 5px 5px;width:32px;border-radius:50%;background:var(--switch-thumb);box-shadow:0 2px 6px #101C2A1A;z-index:-1;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s}
.theme-toggle[aria-checked=true] .theme-toggle-thumb{transform:translateX(20px)}
.theme-toggle svg{width:17px;height:17px;flex:0 0 17px;transition:color .2s}
.theme-icon-sun{color:var(--switch-active)}
.theme-toggle[aria-checked=true] .theme-icon-sun{color:var(--switch-icon)}
.theme-toggle[aria-checked=true] .theme-icon-moon{color:var(--switch-active)}
/* Open the compact navigation before the extra control crowds tablet widths. */
@media(max-width:1000px){
  .header-inner{gap:12px;min-height:76px}
  .header-inner .brand img{height:56px}
  .header-inner .brand-name{font-size:23px}
  .header-inner .brand{gap:11px}
  .header-controls{margin-left:auto;gap:9px}
  .mobile-toggle{display:flex}
  .main-nav{position:absolute;top:100%;left:0;right:0;margin-left:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:18px 20px 23px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px #2028380A;max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);overflow:auto}
  .js .main-nav:not(.is-open){display:none}
  .main-nav>a:not(.btn),.services-menu>summary{padding:12px 6px;min-height:48px;font-size:15px}
  .services-menu>summary{justify-content:space-between}
  .main-nav .btn{font-size:15px;min-height:50px;margin-top:9px}
  .service-dropdown{position:static;min-width:0;box-shadow:none;padding:6px;margin:3px 0 9px}
  .service-dropdown>a{font-size:14px;padding:12px 9px;min-height:65px}
  .service-dropdown small{font-size:12px}
  .no-js .header-inner{flex-wrap:wrap}
  .no-js .main-nav{position:static;max-height:none;box-shadow:none;width:100%;padding-inline:0}
}
@media(max-width:480px){.mobile-toggle{width:44px;justify-content:center;padding:9px;gap:0}.menu-toggle-label{display:none}}
@media(max-width:360px){.header-inner .brand-name{font-size:21px}.header-inner .brand{gap:9px}.header-controls{gap:8px}.theme-toggle{width:60px;flex-basis:60px}.theme-toggle-thumb{width:30px}.theme-toggle[aria-checked=true] .theme-toggle-thumb{transform:translateX(18px)}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle-thumb,.theme-toggle svg{transition:none}}

/* Keep print on the existing light palette, independently of screen preference. */
@media screen{
  :root[data-theme=dark]{
    color-scheme:dark;
    --paper:#0C1420;--white:#101B29;--ink:#E9EFF5;--deep:#F5F8FC;
    --muted:#ADBCCF;--line:#34465B;
    --teal:#7DD9E3;--teal-hover:#A0E7ED;--indigo:#B6C5F7;--magenta:#EDA9DE;
    --soft-teal:#132F3A;--soft-indigo:#222C48;--soft-magenta:#35263F;
    --switch-track:#1B2B3D;--switch-border:#6B829B;--switch-thumb:#344E65;
    --switch-icon:#B8C7D8;--switch-active:#AAEDF1;
    --surface:#142131;--surface-raised:#1B2B3E;--field:#101C2B;
    --field-border:#71859D;--error:#FFA6B8;--error-surface:#321D2C;
  }
  :root[data-theme=dark] ::selection{background:#31586A;color:#F5FAFC}
  :root[data-theme=dark] .site-header{background:#0C1420;border-color:#2B3B50}
  :root[data-theme=dark] .site-header.is-scrolled{background:#0C1420F5;box-shadow:0 9px 28px #00000030}
  :root[data-theme=dark] .brand{background:transparent}
  :root[data-theme=dark] .brand-name{color:var(--ink)}
  :root[data-theme=dark] .service-dropdown{background:var(--surface);box-shadow:0 20px 48px #00000048;border-color:var(--line)}
  :root[data-theme=dark] .service-dropdown>a:hover{background:var(--surface-raised)}
  :root[data-theme=dark] .mobile-toggle{background:var(--surface);border-color:var(--field-border)}
  :root[data-theme=dark] .skip-link{background:var(--surface);color:var(--ink)}
  :root[data-theme=dark] .btn{color:#082D35;box-shadow:0 5px 20px #0000001A}
  :root[data-theme=dark] .btn.secondary{background:var(--surface);color:var(--teal);border-color:var(--field-border);box-shadow:none}
  :root[data-theme=dark] .btn.secondary:hover{background:var(--soft-teal)}
  :root[data-theme=dark] .btn.light{background:#D4F3F6;color:#0E4B59}
  :root[data-theme=dark] .btn.light:hover{background:#F0FCFD}

  /* Openings: layered ink surfaces and restrained pools of service colour. */
  :root[data-theme=dark] .home-hero{background:radial-gradient(ellipse at 85% 45%,#26314C80,transparent 52%),radial-gradient(ellipse at 55% 85%,#123B453B,transparent 50%),linear-gradient(145deg,#0C1420,#101D2C);border-color:var(--line)}
  :root[data-theme=dark] .hero-title em,
  :root[data-theme=dark] .company-hero-copy h1 em{background-image:linear-gradient(105deg,#7DD9E3 10%,#B6C5F7 48%,#EDA9DE 90%)}
  :root[data-theme=dark] .hero-art-halo,
  :root[data-theme=dark] .company-visual-halo{background:radial-gradient(ellipse at 31% 52%,#28738645,transparent 58%),radial-gradient(ellipse at 75% 35%,#616B9D40,transparent 58%),radial-gradient(ellipse at 77% 75%,#9A4B8633,transparent 50%)}
  :root[data-theme=dark] .hero-art-grid,
  :root[data-theme=dark] .company-visual-grid,
  :root[data-theme=dark] .service-scene-grid{opacity:.18}
  :root[data-theme=dark] .hero-service,
  :root[data-theme=dark] .service-scene-chip{background:#17283BED;border-color:#456077;box-shadow:0 8px 25px #00000025}
  :root[data-theme=dark] .sculpture-image,
  :root[data-theme=dark] .service-sculpture,
  :root[data-theme=dark] .company-visual img{filter:drop-shadow(0 20px 34px #00000030)}
  :root[data-theme=dark] .lead,
  :root[data-theme=dark] .service-lead,
  :root[data-theme=dark] .company-contact-lead{color:#C5D3E2}
  :root[data-theme=dark] .page-hero,
  :root[data-theme=dark] .service-experience .service-hero{background:radial-gradient(ellipse at 90% 41%,var(--tint),transparent 58%),linear-gradient(150deg,#0C1420 30%,#132032);border-color:var(--line)}
  :root[data-theme=dark] .service-experience{--service-end:#B6C5F7}
  :root[data-theme=dark] .service-experience.cloud{--service-end:#7DD9E3}
  :root[data-theme=dark] .service-experience.engineering{--service-end:#B6C5F7}
  :root[data-theme=dark] .company-hero{background:radial-gradient(ellipse at 91% 35%,#27355080,transparent 55%),radial-gradient(ellipse at 30% 110%,#173E453D,transparent 58%),#0C1420;border-color:var(--line)}

  /* Homepage cards, process explorer and engagement options. */
  :root[data-theme=dark] .services-section,
  :root[data-theme=dark] .service-capabilities,
  :root[data-theme=dark] .company-principles{background:#101B29}
  :root[data-theme=dark] .service-card{background:linear-gradient(145deg,var(--surface) 55%,var(--tint));box-shadow:0 8px 24px #00000015}
  :root[data-theme=dark] .service-art{background:radial-gradient(ellipse at 50% 60%,#2C425855,transparent 70%),var(--tint)}
  :root[data-theme=dark] .service-card:after{background:linear-gradient(110deg,transparent 35%,#FFFFFF0A 50%,transparent 65%)}
  :root[data-theme=dark] .service-card:hover,
  :root[data-theme=dark] .engagement-card:hover,
  :root[data-theme=dark] .capability-tile:hover,
  :root[data-theme=dark] .company-principle-card:hover,
  :root[data-theme=dark] .company-audience-card:hover{border-color:#7795AD;box-shadow:0 20px 42px #00000030}
  :root[data-theme=dark] .approach-section{background:linear-gradient(180deg,#101B29 65%,#111F2E)}
  :root[data-theme=dark] .journey-number,
  :root[data-theme=dark] .journey-arrow{color:#B6C7D8}
  :root[data-theme=dark] .journey-arrow{border-color:#516A82}
  :root[data-theme=dark] .journey-trigger:hover,
  :root[data-theme=dark] .journey.is-enhanced .journey-trigger,
  :root[data-theme=dark] .journey:not(.is-enhanced) .journey-trigger{background:#142335;border-color:var(--line)}
  :root[data-theme=dark] .journey-trigger[aria-selected=true],
  :root[data-theme=dark] .journey.is-enhanced .journey-trigger[aria-selected=true]{background:#1B3142;border-color:#739FAF;box-shadow:0 8px 24px #00000020}
  :root[data-theme=dark] .journey-trigger[aria-selected=true] .journey-arrow{color:#082D35;background:var(--teal);border-color:var(--teal)}
  :root[data-theme=dark] .journey-panel{background:radial-gradient(ellipse at 80% 30%,#36446460,transparent 60%),radial-gradient(ellipse at 9% 44%,#1B4C5645,transparent 55%),linear-gradient(150deg,#192A3B,#132131);border-color:#3F566F;box-shadow:0 22px 60px #00000022}
  :root[data-theme=dark] .journey-panel:before{opacity:.15}
  :root[data-theme=dark] .journey-panel-top,
  :root[data-theme=dark] .journey-count>span[aria-hidden],
  :root[data-theme=dark] .journey-panel-foot{color:#B3C6D9;border-color:#3F566F}
  :root[data-theme=dark] .engagements{background:radial-gradient(ellipse at 3% 25%,#1B30403B,transparent 48%),var(--paper);border-color:var(--line)}
  :root[data-theme=dark] .engagement-card{background:var(--surface);border-color:var(--line);box-shadow:0 8px 26px #00000015}
  :root[data-theme=dark] .engagement-art,
  :root[data-theme=dark] .company-principle-art{background:radial-gradient(ellipse at 50% 60%,#34486166,transparent 68%)}
  :root[data-theme=dark] .engagement-examples .label,
  :root[data-theme=dark] .engagement-examples li{color:var(--muted)}
  :root[data-theme=dark] .engagement-examples li{background:#101D2C;border-color:#40566F}
  :root[data-theme=dark] .engagement-guidance{background:#142335B3;border-color:var(--line)}
  :root[data-theme=dark] .engagement-guidance-mark{background:var(--soft-teal);border-color:#3E6976}

  /* Service explanations and deliverables use readable, distinct surfaces. */
  :root[data-theme=dark] .service-section-nav,
  :root[data-theme=dark] .service-section-nav a,
  :root[data-theme=dark] .service-arrangements>.wrap,
  :root[data-theme=dark] .service-arrangement-list li{border-color:var(--line)}
  :root[data-theme=dark] .service-section-nav>span{color:var(--muted)}
  :root[data-theme=dark] .capability-tile{background:linear-gradient(150deg,var(--surface) 70%,var(--tint));border-color:var(--line)}
  :root[data-theme=dark] .capability-tile:nth-child(-n+2){background:radial-gradient(ellipse at 100% 10%,var(--tint),transparent 65%),var(--surface)}
  :root[data-theme=dark] .capability-symbol,
  :root[data-theme=dark] .service-dependency-icon{background:#1B2D3E;border-color:#4E6680;box-shadow:none}
  :root[data-theme=dark] .service-scope-note{background:#162638;border-color:var(--line)}
  :root[data-theme=dark] .service-scope-note p,
  :root[data-theme=dark] .service-start-output p{color:#C0CFDF}
  :root[data-theme=dark] .service-starts{background:radial-gradient(ellipse at 3% 5%,var(--tint),transparent 56%),var(--paper)}
  :root[data-theme=dark] .service-start-output{border-color:#536C85}
  :root[data-theme=dark] .service-dependency{background:#17283BC7;border-color:var(--line)}
  :root[data-theme=dark] .service-experience .service-output .sample-sheet,
  :root[data-theme=dark] .sample-sheet,
  :root[data-theme=dark] .decision-sheet,
  :root[data-theme=dark] .company-thinking .company-decision-sheet{background:#192A3B;color:var(--ink);border-color:#516880;box-shadow:0 25px 65px #00000028}
  :root[data-theme=dark] .sample-heading,
  :root[data-theme=dark] .service-output .sample-heading,
  :root[data-theme=dark] .company-decision-sheet .sample-heading{background:linear-gradient(115deg,var(--tint),#203347);border-color:#41576F}
  :root[data-theme=dark] .service-output .sample-heading>span:last-child,
  :root[data-theme=dark] .service-output .sample-summary,
  :root[data-theme=dark] .service-output .finding-grid dd,
  :root[data-theme=dark] .service-output .sample-review span,
  :root[data-theme=dark] .service-output .sample-body>.caption,
  :root[data-theme=dark] .service-output .runbook p,
  :root[data-theme=dark] .company-decision-sheet .sample-heading>span:last-child,
  :root[data-theme=dark] .company-decision-rows dd,
  :root[data-theme=dark] .company-decision-sheet .sample-body>.caption{color:#BCCCDD}
  :root[data-theme=dark] .service-output .sample-review{background:#1D3545;border-color:#4B687C}
  :root[data-theme=dark] .integration-path span{border-color:#755574}
  :root[data-theme=dark] .company-decision-rows,
  :root[data-theme=dark] .company-decision-rows>div{border-color:#41576F}

  /* Existing feature chapters retain their deliberately darker contrast. */
  :root[data-theme=dark] .dark{background:#0A121D;color:#EFF5FA}
  :root[data-theme=dark] .coordination{background:radial-gradient(ellipse at 8% 20%,#13303A,transparent 53%),linear-gradient(130deg,#09111C,#111D2C)}
  :root[data-theme=dark] .scenario{background:linear-gradient(145deg,#1D3040,#142333);border-color:#4A6279}
  :root[data-theme=dark] .service-output{background:radial-gradient(ellipse at 2% 10%,var(--service-glow),transparent 58%),#0A121D;color:#EFF5FA}
  :root[data-theme=dark] .company-thinking{background:radial-gradient(ellipse at 3% 15%,#153741,transparent 58%),linear-gradient(120deg,#09111C,#142134);color:#EFF5FA}
  :root[data-theme=dark] .company-expertise,
  :root[data-theme=dark] .company-expertise-link,
  :root[data-theme=dark] .company-expertise-icon{border-color:var(--line)}
  :root[data-theme=dark] .company-expertise-link{background:#18283ACC}
  :root[data-theme=dark] .company-expertise>.label,
  :root[data-theme=dark] .company-expertise-link small,
  :root[data-theme=dark] .company-card-top{color:var(--muted)}
  :root[data-theme=dark] .company-principle-card,
  :root[data-theme=dark] .company-audience-card{background:linear-gradient(150deg,var(--surface) 60%,#1B2B40);border-color:var(--line)}
  :root[data-theme=dark] .company-audiences{background:radial-gradient(ellipse at 0% 10%,#1A30435C,transparent 55%),var(--paper)}
  :root[data-theme=dark] .company-audience-icon{background:#1B3441;border-color:#456078}

  /* Service visual models. */
  :root[data-theme=dark] .service-model{background:var(--surface);border-color:var(--line)}
  :root[data-theme=dark] .service-model figcaption{background:#142335}
  :root[data-theme=dark] .control-core{background:linear-gradient(135deg,#1A3D47,#142E3B);border-color:#517581}
  :root[data-theme=dark] .environment{background:linear-gradient(140deg,#293552,#202B44);border-color:#647398}
  :root[data-theme=dark] .env-layers span{background:#1C2940;border-color:#657598}
  :root[data-theme=dark] .workflow-node{background:#2D2339;border-color:#8D698B}

  /* Contact: both columns, fields, errors, progress and prepared-email state. */
  :root[data-theme=dark] .company-contact-main,
  :root[data-theme=dark] .contact-section{background:radial-gradient(ellipse at 0% 4%,#15334080,transparent 46%),radial-gradient(ellipse at 90% 0%,#25314C70,transparent 55%),var(--paper)}
  :root[data-theme=dark] .company-contact-workspace,
  :root[data-theme=dark] .contact-form{background:var(--surface);border-color:#455D75;box-shadow:0 24px 70px #00000022}
  :root[data-theme=dark] .company-contact .contact-form{background:var(--surface);border-color:#455D75;box-shadow:none}
  :root[data-theme=dark] .company-contact-aside{background:linear-gradient(150deg,#172F3A,#1A293D 75%,#19283B);border-color:#455D75}
  :root[data-theme=dark] .company-contact-direct,
  :root[data-theme=dark] .company-contact-guidance li{border-color:#41586E}
  :root[data-theme=dark] .company-contact-direct>.label,
  :root[data-theme=dark] .company-contact-reassurance,
  :root[data-theme=dark] .company-contact-art figcaption,
  :root[data-theme=dark] .company-contact .form-intro p,
  :root[data-theme=dark] .company-contact .enquiry-steps li,
  :root[data-theme=dark] .company-contact .helper,
  :root[data-theme=dark] .company-contact .form-note{color:var(--muted)}
  :root[data-theme=dark] .company-contact-guidance li>p,
  :root[data-theme=dark] .company-contact .email-draft>p{color:#C0CFDF}
  :root[data-theme=dark] .company-contact .enquiry-steps,
  :root[data-theme=dark] .company-contact .optional-details{border-color:#41586E}
  :root[data-theme=dark] .company-contact .enquiry-steps li>span{background:#1B2D40;border-color:#71869C}
  :root[data-theme=dark] .company-contact .enquiry-steps li.active{color:var(--teal)}
  :root[data-theme=dark] .company-contact .enquiry-steps li.active>span{background:var(--teal);border-color:var(--teal);color:#082D35}
  :root[data-theme=dark] .field input,
  :root[data-theme=dark] .field select,
  :root[data-theme=dark] .field textarea,
  :root[data-theme=dark] .draft-text,
  :root[data-theme=dark] .company-contact .draft-text{background:var(--field);border-color:var(--field-border);color:var(--ink)}
  :root[data-theme=dark] .field input::placeholder,
  :root[data-theme=dark] .field textarea::placeholder{color:#A4B4C8;opacity:1}
  :root[data-theme=dark] .field input:hover,
  :root[data-theme=dark] .field select:hover,
  :root[data-theme=dark] .field textarea:hover{background:#152638;border-color:var(--teal)}
  :root[data-theme=dark] .field input:focus,
  :root[data-theme=dark] .field select:focus,
  :root[data-theme=dark] .field textarea:focus{background:#122336;border-color:var(--teal);box-shadow:0 0 0 3px #7DD9E325}
  :root[data-theme=dark] .field [aria-invalid=true],
  :root[data-theme=dark] .field [aria-invalid=true]:hover,
  :root[data-theme=dark] .field [aria-invalid=true]:focus{background:var(--error-surface);border-color:var(--error)}
  :root[data-theme=dark] .field [aria-invalid=true]:focus{box-shadow:0 0 0 3px #FFA6B825}
  :root[data-theme=dark] .field-error{color:var(--error)}
  :root[data-theme=dark] .form-summary{background:var(--error-surface);color:#FFBBC8;border-color:#A3667C;border-left-color:var(--error)}
  :root[data-theme=dark] .company-contact .email-draft{background:linear-gradient(140deg,#1B3441,#1E2E46);border-color:#5C7A94}
  :root[data-theme=dark] .noscript-note{background:#2A2D27;border-color:#828975}
  :root[data-theme=dark] .company-contact .noscript-note{background:#1B3441;border-color:var(--teal)}
  :root[data-theme=dark] .field input:-webkit-autofill{ -webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 100px var(--field) inset }

  /* Closing invitation, footer and missing-page screen. */
  :root[data-theme=dark] .closing-surface{background:radial-gradient(ellipse at 95% 10%,#303C5B,transparent 52%),radial-gradient(ellipse at 57% 120%,#164650,transparent 65%),#101E2D;border-color:#4C667E}
  :root[data-theme=dark] .closing-premium .btn{border-color:var(--teal)}
  :root[data-theme=dark] .footer-premium{background:var(--paper)}
  :root[data-theme=dark] .footer-premium .footer-brand{background:var(--surface);border-color:var(--line)}
  :root[data-theme=dark] .footer-premium .footer-invitation .label,
  :root[data-theme=dark] .footer-premium .footer-column h2,
  :root[data-theme=dark] .footer-premium .footer-statement>span:not(.footer-brand-line){color:var(--muted)}
  :root[data-theme=dark] .footer-premium .footer-links,
  :root[data-theme=dark] .footer-premium .footer-statement,
  :root[data-theme=dark] .footer-premium .footer-bottom{border-color:var(--line)}
  @media(max-width:1000px){:root[data-theme=dark] .main-nav{background:#101B29;border-color:var(--line)}}
}
@media print{.header-controls{display:none}}
