/* Appearance control is always available beside navigation, outside mobile menus. */
.theme-toggle{flex:none;order:3;width:44px;height:44px;display:grid;place-items:center;border:1px solid #dce4f1;border-radius:50%;color:#425571;background:linear-gradient(145deg,#fff,#f1f5fc);cursor:pointer;transition:background .2s,border-color .2s}.theme-toggle svg{width:20px;height:20px}.theme-toggle:hover{background:#eaf0ff;border-color:#b7c9ed}.theme-toggle:focus-visible{outline:2px solid #5570dd;outline-offset:4px}.nav-row>.brand{order:0}.nav-row>#navigation{order:1}.mobile-toggle{order:4}.nav-row{gap:22px}.theme-toggle[aria-pressed=true]{background:#142441;color:#b7dfff;border-color:#294361}
@media(max-width:1000px){.theme-toggle{margin-left:auto}.mobile-toggle{margin-left:0}.nav-row{gap:12px}}
@media(max-width:540px){.nav-row{gap:10px}.nav-row .brand{width:190px;max-width:calc(100% - 112px)}.mobile-toggle{font-size:0!important;width:44px;min-width:44px;padding:0;justify-content:center}.mobile-toggle .icon{width:20px}.theme-toggle{width:44px;height:44px}}
/* Tablet utility content remains in one deliberate row. */
@media(min-width:768px) and (max-width:1100px){.contact-inner{width:calc(100% - 40px);gap:12px;min-height:54px}.contact-inner>.utility-left{flex-wrap:nowrap;gap:12px;min-width:0}.utility-left>a,.utility-left>.utility-location{display:flex;width:auto;flex:none;font-size:10px;padding:0!important;margin:0!important;border:0;min-height:44px;white-space:nowrap;gap:6px}.utility-left .icon{width:13px;height:13px}.header-social{padding-right:10px;gap:0}.header-social>a,.header-social>span{width:29px;height:44px}.header-social svg{width:16px;height:16px}.portal-trigger{font-size:10px!important;white-space:nowrap}.portal-trigger .soon{display:block;font-size:8px;border:0;padding:0;margin:0}.contact-inner>.utility-left{flex:1}}
html[data-theme=light]{color-scheme:only light}
html[data-theme=dark]{color-scheme:only dark;--ink:#edf3ff;--muted:#b3c1d8;--paper:#0b1425;--line:#293b54;--studio-muted:#b3c1d8}
html[data-theme=dark] body{background:#0b1425;color:#c4d0e3}
/* The original full-color logo and approved white navigation remain consistent in both modes. */
html[data-theme=dark] .header{color-scheme:only dark;background:#101d32;color:#dce7f8;border-color:#293b54}
html[data-theme=dark] .header .mobile-toggle{background:#1b2e4a;color:#c7dcfc;border-color:#344966}
html[data-theme=dark] .header .site-search{background:#0d192c;border-color:#3b516d}
html[data-theme=dark] .header .site-search input{color:#e1ecff}
html[data-theme=dark] .header .site-search input::placeholder{color:#aabbd4}
html[data-theme=dark] main>section:not(.hero):not(.connected-section){color:#c4d0e3}
html[data-theme=dark] main :is(h2,h3,h4){color:#edf3ff!important}
html[data-theme=dark] main section:not(.hero) :is(p,.muted){color:#b4c3da}
html[data-theme=dark] main :is(.eyebrow,.detail-label,.value-index,.service-index){color:#96b6f8!important}
html[data-theme=dark] :is(.industries-section,.approach-section){background:#0f1b2e}
html[data-theme=dark] :is(.service-card,.service-card.featured,.service-card:has(.service-expand[open]),.industry-detail,.steps article,.guide-questions details){background:linear-gradient(135deg,#17263e,#111e32);border-color:#2b3d58;box-shadow:0 10px 28px #03081424}
html[data-theme=dark] .service-card.featured,html[data-theme=dark] .service-card.featured:has(.service-expand[open]){background:linear-gradient(135deg,#1c2e4c,#15233c)}
html[data-theme=dark] main :is(.service-headline,.service-card.featured .service-headline){color:#dae6fa!important}
html[data-theme=dark] main :is(.service-topics,.service-card.featured .service-topics){color:#a9bdf1!important}
html[data-theme=dark] main :is(.icon-tile,.expand-disc,.industry-icon,.industry-emblem){background:#203553!important;border-color:#344c70!important;box-shadow:none;color:#a8c8ff}
html[data-theme=dark] main :is(.icon-tile .icon,.cap-icon,.text-link,.service-expand summary){color:#a5c5ff!important}
html[data-theme=dark] main :is(.service-connection,.scope-process,.scope-note,.industry-need,.industry-related a){background:#20314c;color:#cbdaf0;border-color:#344968}
html[data-theme=dark] main :is(.service-expand,.service-items article,.industry-bottom,.capability-grid article,.value-section,.value-cards article,.about,.guide-questions details){border-color:#2b3d58!important}
html[data-theme=dark] .industry-link{color:#c2d1e9;border-color:transparent;background:transparent}html[data-theme=dark] .industry-link.selected,html[data-theme=dark] .industry-link:hover{background:#233b60;border-color:#36527b;color:#dceaff}
html[data-theme=dark] .contact-section{background:linear-gradient(115deg,#142440,#123047)}html[data-theme=dark] .contact-invite{background:linear-gradient(120deg,#192a43,#143048);border-color:#34506a;box-shadow:0 15px 40px #02091733}
html[data-theme=dark] footer{background:#0b1425;color:#b4c3da}html[data-theme=dark] footer :is(p,a,button){color:#b4c3da}html[data-theme=dark] footer .brand{background:#fff;padding:10px;border-radius:10px;box-sizing:content-box}html[data-theme=dark] .footer-bottom{border-color:#293b54}html[data-theme=dark] .back-top{background:#1b2b44;border-color:#344963;color:#c3daff}
/* Menus and search are explicit dark surfaces below the white brand navigation. */
html[data-theme=dark] :is(.mega,.mega-detail,.search-results){background:#14223a;color:#dce7f8;border-color:#344865;color-scheme:dark}html[data-theme=dark] .mega-categories{background:#101d32}html[data-theme=dark] .mega-categories button{color:#c3d2eb}html[data-theme=dark] .mega-categories button[aria-selected=true]{background:#263d63;color:#c5dcff;border-color:#8cabff}html[data-theme=dark] .mega :is(h2,h4,strong){color:#e4edff}html[data-theme=dark] .mega :is(p,.mega-description){color:#b4c4de}html[data-theme=dark] .mega :is(.mega-cta,.mega-capabilities article){background:#1b2e4a;border-color:#344966}html[data-theme=dark] .search-links a{color:#d8e5fa;border-color:#32445d}html[data-theme=dark] .search-links a:hover{background:#233b5d}html[data-theme=dark] .search-status{color:#b4c4de}
/* Native dialogs and controls share the same readable palette. */
html[data-theme=dark] dialog,html[data-theme=dark] .dialog-panel{background:#14223a;color:#e4edff;border-color:#334863;color-scheme:dark}html[data-theme=dark] dialog :is(h2,h4,label,strong){color:#edf3ff}html[data-theme=dark] dialog :is(p,.dialog-intro,.prototype-notice),html[data-theme=dark] #service-dialog p{color:#b8c8e0}html[data-theme=dark] .dialog-close{background:#253955;color:#c7dcfc}html[data-theme=dark] .field :is(input,textarea,select){background:#0d192c;color:#edf3ff;border-color:#3c5374;box-shadow:none}html[data-theme=dark] .field :is(input,textarea)::placeholder{color:#91a4bf}html[data-theme=dark] .field :is(input,textarea,select):focus{border-color:#97bbff;outline-color:#97bbff}html[data-theme=dark] dialog :is(.service-dialog-needs,.service-connection){background:#203451;border-color:#344d70}html[data-theme=dark] .service-dialog-capabilities article{border-color:#344863}html[data-theme=dark] .error{color:#ffafba}html[data-theme=dark] #service-dialog .service-back{color:#b2cdff}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}
html[data-theme=dark] main .service-card.featured h3,html[data-theme=dark] main .service-card.featured:has(.service-expand[open]) h3{color:#edf3ff!important}
html[data-theme=dark] .mega .icon{color:#a7c5f5}html[data-theme=dark] .field label :is(span,small){color:#aabbd4}html[data-theme=dark] .guide-questions summary{color:#e3edff}html[data-theme=dark] .guide-questions details[open]{background:#1a2c47}html[data-theme=dark] .guide-questions a{color:#a8caff}
@media(max-width:1000px){html[data-theme=dark] #navigation{background:#14223a;color:#d8e5fa;color-scheme:dark}html[data-theme=dark] #navigation :is(.plain-nav,.nav-disclosure)>*,html[data-theme=dark] #navigation :is(.plain-nav,.nav-disclosure),html[data-theme=dark] #navigation>a{color:#d8e5fa;border-color:#33445e}html[data-theme=dark] .mobile-utility{border-color:#344968}html[data-theme=dark] .mobile-utility :is(a,span,button){color:#b8cae4}html[data-theme=dark] #navigation .site-search{background:#0d192c;border-color:#3b516d}html[data-theme=dark] #navigation .site-search input{background:transparent;color:#e1ecff}html[data-theme=dark] #navigation .site-search .icon{color:#b8cae4}}
html[data-theme=dark] footer :is(.footer-contact,.footer-bottom,.footer-contact span,.footer-bottom span){color:#b4c3da}html[data-theme=dark] .footer-contact .icon{color:#9ab9ef}
/* Soft separators and transparent editorial surfaces replace rectangular bands. */
html[data-theme=dark] .mega .mega-cta{background:transparent;border:0;padding:22px 0 0;position:relative}
html[data-theme=dark] .mega .mega-cta::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#80b3ef40,transparent)}
html[data-theme=dark] .guide-questions details,html[data-theme=dark] .guide-questions details[open]{background:transparent;border:0!important;box-shadow:none;position:relative}
html[data-theme=dark] .guide-questions details::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#77a9e610,#77a9e638,transparent)}
html[data-theme=dark] main :is(.project-guide,.about,.value-section){border-top:0!important;border-bottom:0!important;position:relative}
html[data-theme=dark] main :is(.project-guide,.about)::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#79b9f53d,transparent)}
html[data-theme=dark] .value-section::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#79b9f53d,transparent)}
html[data-theme=dark] main :is(.industry-related,.service-connection,.scope-process){border-color:#82b9f329;color:#bfcee5}
html[data-theme=dark] .service-connection{background:transparent}
html[data-theme=dark] .scope-process li,html[data-theme=dark] .service-connection strong{color:#c3d6ef}
html[data-theme=dark] footer .brand{background:transparent;padding:0;border-radius:0;box-sizing:border-box;position:relative;isolation:isolate}
html[data-theme=dark] footer .brand::before{content:'';position:absolute;inset:-16px -25px;z-index:-1;background:radial-gradient(ellipse,#436bba1f,transparent 70%);pointer-events:none}
html[data-theme=dark] .footer-bottom{border-top:0;position:relative}html[data-theme=dark] .footer-bottom::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#79b9f533,transparent)}
html[data-theme=dark] .guide-questions details,html[data-theme=dark] .guide-questions details[open]{background:transparent!important;box-shadow:none!important}
html[data-theme=dark] .mega .mega-cta{background:transparent!important;border:0!important}
html[data-theme=dark] .steps article>span{color:#95b6e9}
/* Industry explorer: an even, tactile card collection with clear selection. */
.industry-workspace{grid-template-columns:1fr;gap:28px}.industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.industry-grid .industry-link{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;min-height:146px;padding:22px;border:1px solid #dce5f3;border-radius:18px;background:linear-gradient(145deg,#fff,#f6f9ff);box-shadow:0 5px 18px #1e3e6c06;text-align:left;color:#354863;font-size:14px;line-height:1.45;transition:border-color .2s,background .2s,box-shadow .2s}.industry-grid .industry-link:before{display:none}.industry-link .industry-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf3ff;color:#526aca}.industry-grid .industry-link>.icon{display:block;position:absolute;right:18px;top:31px;width:16px;height:16px;color:#8b9bb6}.industry-grid .industry-link.selected{background:linear-gradient(135deg,#edf3ff,#e3edff);border-color:#8aa6e9;box-shadow:inset 0 0 0 1px #8aa6e94d,0 7px 20px #315cad0d;color:#243e77}.industry-grid .industry-link.selected>.icon{color:#405ed5;transform:rotate(90deg)}.industry-grid .industry-link:hover{border-color:#9cb3df;box-shadow:0 8px 23px #1e3e6c12}.industry-grid .industry-link:focus-visible{outline:2px solid #6486e4;outline-offset:3px}.industry-detail{border-radius:24px}
html[data-theme=dark] .industry-grid .industry-link{background:linear-gradient(145deg,#192b45,#142138);border-color:#304764;color:#d0dff4;box-shadow:none}html[data-theme=dark] .industry-grid .industry-link.selected{background:linear-gradient(135deg,#283f65,#1e3554);border-color:#7093ce;box-shadow:inset 0 0 0 1px #8eb9f326;color:#ecf4ff}html[data-theme=dark] .industry-grid .industry-link:hover{border-color:#6485b5}html[data-theme=dark] .industry-grid .industry-link.selected>.icon{color:#abd4ff}
@media(max-width:1000px){.industry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.industry-grid .industry-link{padding:17px;min-height:150px;font-size:13px}.industry-grid .industry-link>.icon{right:13px;top:29px}}
@media(max-width:760px){.industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.industry-grid .industry-link{min-height:145px;padding:18px;font-size:14px}.industry-detail{padding:24px}.industry-grid .industry-link>.icon{top:30px}}
@media(max-width:540px){.hero[data-composition=agency] .hero-copy{text-align:center;align-items:center}.hero[data-composition=agency] .eyebrow.light{justify-content:center!important}.hero[data-composition=agency] .hero-description{margin-left:auto;margin-right:auto}.hero[data-composition=agency] .hero-actions{align-items:center;justify-content:center}.hero[data-composition=agency] .hero-overlay{background:linear-gradient(180deg,#0a1935d9,#10213bc9 65%,#081a3de0)}.industry-grid .industry-link{font-size:12px;min-height:144px;gap:14px;padding:16px}.industry-grid .industry-link>.icon{right:12px;top:28px}}
@media(prefers-reduced-motion:reduce){.industry-grid .industry-link{transition:none}}
html[data-theme=dark] .industry-grid .industry-link .industry-icon .icon{color:#b3d3ff!important}.industries-section{border-top:0!important}

/* Keep icon tiles centered despite the legacy first-span layout rule. */
.industry-grid .industry-link > .industry-icon:first-child{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;margin:0;color:#526aca}
.industry-grid .industry-link .industry-icon > .icon{display:block;width:22px;height:22px;margin:0;flex:none}
.industry-grid .industry-link.selected > .industry-icon:first-child{color:#365ac5;background:#dce7ff}
html[data-theme=dark] .industry-grid .industry-link.selected > .industry-icon:first-child{background:#2e4870!important;color:#c3e1ff}

/* Phone industry accordion: details immediately follow their trigger. */
.industry-detail[hidden]{display:none!important}
@media(max-width:540px){
 .industry-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .industry-grid .industry-link{flex-direction:row;align-items:center;min-height:76px;gap:14px;padding:17px 48px 17px 17px;font-size:14px;border-radius:18px}
 .industry-grid .industry-link>.icon{top:50%;right:18px;margin-top:-8px}
 .industry-grid .industry-detail{min-width:0;width:100%;padding:24px 20px;margin-top:-4px;margin-bottom:8px;border-radius:18px}
 .industry-grid .industry-detail h3{font-size:25px}
 .industry-workspace{gap:0}
}

/* Dark service cards retain readable colors when their details open. */
html[data-theme=dark] main .service-card .service-card-intro>p,
html[data-theme=dark] main .service-card.featured:has(.service-expand[open]) .service-card-intro>p{color:#c0cee3}
html[data-theme=dark] main .service-card .service-card-intro>.service-headline,
html[data-theme=dark] main .service-card.featured:has(.service-expand[open]) .service-card-intro>.service-headline{color:#e0eaff!important}
html[data-theme=dark] main .service-card .service-card-intro>.service-topics,
html[data-theme=dark] main .service-card.featured:has(.service-expand[open]) .service-card-intro>.service-topics{color:#adc7f5!important}
html[data-theme=dark] main .service-card .scope-process{background:linear-gradient(135deg,#29415e66,#24395422);border:1px solid #8bb8f01c;border-radius:16px;box-shadow:none}
html[data-theme=dark] main .service-card .scope-process li{color:#c7d6eb}
html[data-theme=dark] main .service-card .scope-process li::marker{color:#a9c9ff}
html[data-theme=dark] main .service-card .service-connection{background:transparent;border:0;padding:22px 0 0;position:relative;box-shadow:none}
html[data-theme=dark] main .service-card .service-connection::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#8bb8f033,#8bb8f015,transparent)}
html[data-theme=dark] main .service-card .service-connection strong{color:#d7e6ff}
html[data-theme=dark] main .service-card .service-connection p{color:#c0cee3}

/* Industry context is an editorial inset, not a solid rectangular band. */
html[data-theme=dark] main .industry-detail .industry-need{background:transparent;border:0;position:relative;padding:2px 0 2px 17px}
html[data-theme=dark] main .industry-detail .industry-need::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:2px;background:linear-gradient(180deg,#a1c8ff99,#79a8e22e,transparent)}
html[data-theme=dark] main .industry-detail .industry-need>span{color:#a9c9f5}
html[data-theme=dark] main .industry-detail .industry-need p{color:#c0cee3}

/* Match section boundaries to the soft blue editorial separators. */
html[data-theme=dark] .industries-section{border-bottom:0;position:relative}
html[data-theme=dark] .industries-section::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#79b9f53d,transparent);pointer-events:none}

/* Large monitors: the hero fills the first viewport below the actual header. */
@media(min-width:1440px){
 .hero .hero-inner{height:calc(100svh - var(--hero-header-height,142px));min-height:620px;padding-top:clamp(40px,5vh,80px);padding-bottom:28px;gap:30px}
 .hero[data-composition] .hero-copy{height:auto!important;flex:1;min-height:0;justify-content:center}
 .hero .hero-bottom{margin-top:0;flex:0 0 auto}
}
@media(min-width:1920px){
 .hero .hero-copy h1,.hero[data-composition=marketing] .hero-copy h1{font-size:clamp(74px,4vw,96px)}
 .hero[data-composition=agency] .hero-copy{max-width:920px}
 .hero[data-composition=marketing] .hero-copy{max-width:960px}
 .hero[data-composition=operations] .hero-copy{max-width:1180px}
 .hero .hero-description{font-size:18px;max-width:640px}
}

/* Keep authored colors in Android browsers that support auto-dark opt-out.
   Do not disable forced-colors: accessibility contrast remains user-controlled. */
html[data-theme=light] .header{color-scheme:only light}
.hero,.contact-bar{color-scheme:only dark}

html[data-theme=dark] .header .nav-row,html[data-theme=dark] #navigation{background-color:#101d32;color:#dce7f8;color-scheme:only dark}

/* Tablet and desktop: keep the selected industry beside its navigation.
   The phone accordion and its 540px breakpoint remain unchanged. */
@media(min-width:541px){
 .industry-workspace{grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:24px;align-items:start}
 .industry-workspace>.industry-grid{grid-template-columns:minmax(0,1fr);gap:9px;min-width:0}
 .industry-grid .industry-link{flex-direction:row;align-items:center;min-height:72px;padding:14px 36px 14px 14px;gap:12px;font-size:14px;border-radius:15px}
 .industry-grid .industry-link>span:nth-child(2){min-width:0;overflow-wrap:break-word}
 .industry-grid .industry-link>.icon{top:50%;right:12px;margin-top:-8px}
 .industry-grid .industry-link.selected>.icon{transform:none}
 .industry-workspace>.industry-detail{margin:0;min-width:0;align-self:start}
}
@media(min-width:541px) and (max-width:900px){
 .industry-workspace{grid-template-columns:190px minmax(0,1fr);gap:16px}
 .industry-grid .industry-link{padding:12px 27px 12px 11px;gap:9px;font-size:12px;min-height:72px}
 .industry-grid .industry-link>.industry-icon:first-child{width:32px;height:32px;flex-basis:32px;border-radius:10px}
 .industry-grid .industry-link>.icon{right:9px;width:13px}
 .industry-workspace>.industry-detail{padding:22px}
 .industry-detail .capability-grid{grid-template-columns:minmax(0,1fr)}
 .industry-detail h3{font-size:25px}
}

/* Contact invitation: an open frame that belongs to the page surface. */
.contact-section,html[data-theme=dark] .contact-section{background:transparent}
.contact-invite,html[data-theme=dark] .contact-invite{background:transparent;border-color:#cbd8eb;box-shadow:0 8px 24px #18325906}
html[data-theme=dark] .contact-invite{border-color:#354963;box-shadow:0 8px 24px #02081714}
