:root { color-scheme:light; --ink:#10223a; --navy:#07182d; --navy-soft:#0b2441; --blue:#2f73c9; --orange:#f3a83d; --paper:#f6f8fb; --white:#fff; --muted:#607086; --line:#dce4ed; }
html[data-theme="dark"] { color-scheme:dark; --ink:#edf4fb; --paper:#0b2441; --white:#07182d; --muted:#b8c8da; --line:#294764; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:82px; }
body { margin:0; background:var(--white); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; transition:background-color .25s ease,color .25s ease; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }

.site-header { position:sticky; top:0; z-index:100; background:var(--navy); color:white; transition:box-shadow .25s ease; }
.site-header.is-compact { background:transparent; box-shadow:none; pointer-events:none; }
.header-inner { position:relative; min-height:102px; display:flex; align-items:center; justify-content:space-between; gap:32px; transition:min-height .25s ease; }
.brand { width:225px; flex:0 0 auto; transition:width .25s ease; }
.brand img { width:100%; }
.brand .logo-compact { display:none; width:83.5%; }
.site-header.is-compact .header-inner { min-height:64px; justify-content:flex-end; }
.site-header.is-compact .brand { display:none; }
nav { display:flex; gap:34px; margin-left:auto; }
nav a { color:#b9c5d4; font-size:14px; font-weight:600; transition:color .2s ease; }
nav a:hover,nav a:focus-visible { color:white; }
.nav-active { color:white!important; }
.header-actions { display:flex; align-items:center; gap:12px; }
.compact-nav-home { display:none; }
.theme-toggle { width:44px; height:44px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:white; background:var(--navy-soft); cursor:pointer; font:700 19px/1 inherit; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.theme-toggle:hover,.theme-toggle:focus-visible { border-color:rgba(255,255,255,.55); background:#103154; transform:translateY(-1px); }
.menu-toggle { width:38px; height:38px; display:none; place-items:center; flex:0 0 auto; padding:0; border:0; border-radius:0; color:var(--orange); background:transparent; cursor:pointer; filter:drop-shadow(0 1px 2px rgba(3,18,35,.38)); }
.menu-toggle span,.menu-toggle::before,.menu-toggle::after { content:""; width:18px; height:2px; display:block; border-radius:2px; background:currentColor; transition:transform .2s ease,opacity .2s ease; }
.menu-toggle span { margin-block:4px; }
.site-header.menu-open .menu-toggle::before { transform:translateY(6px) rotate(45deg); }
.site-header.menu-open .menu-toggle span { opacity:0; }
.site-header.menu-open .menu-toggle::after { transform:translateY(-6px) rotate(-45deg); }
.site-header.is-compact .header-actions { pointer-events:auto; animation:compact-controls-in .16s ease .22s both; }
.site-header.is-compact .button-small { min-height:38px; display:inline-flex; padding-inline:17px; }
.site-header.is-compact .menu-toggle { width:38px; height:38px; display:grid; border:0; border-radius:0; color:var(--orange); background:transparent; filter:drop-shadow(0 1px 2px rgba(3,18,35,.42)); }
.site-header.is-compact.controls-hidden .header-actions { animation:none; opacity:0; transform:translateY(-12px); pointer-events:none; }
.site-header.is-compact nav { position:absolute; top:calc(100% + 5px); left:auto; right:0; width:min(270px,calc(100vw - 48px)); display:none; align-items:stretch; flex-direction:column; gap:0; margin:0; padding:12px 18px; border:1px solid rgba(255,255,255,.13); border-radius:8px; background:rgba(7,24,45,.94); box-shadow:0 18px 42px rgba(3,18,35,.28); backdrop-filter:blur(10px); pointer-events:auto; }
.site-header.is-compact nav a { padding:10px 2px; color:#edf4fb; font-size:15px; text-shadow:none; }
.site-header.is-compact .compact-nav-home { display:block; }
.site-header.is-compact.menu-open nav { display:flex; }
@keyframes compact-controls-in { from { opacity:0; transform:translateY(-7px); } to { opacity:1; transform:translateY(0); } }

.button { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:54px; padding:0 24px; border-radius:5px; font-size:15px; font-weight:750; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-small { min-height:44px; padding-inline:20px; font-size:14px; }
.button-light { color:var(--navy); background:white; }
.button-primary { color:white; background:var(--blue); box-shadow:0 15px 35px rgba(26,93,172,.28); }
.button-primary:hover { background:#2466b7; }
.button-accent { min-width:226px; color:#172131; background:var(--orange); }

.hero { position:relative; overflow:hidden; color:white; background:linear-gradient(125deg,#07182d 0%,#0b2441 58%,#0f3158 100%); }
.hero::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to right,transparent,black); }
.hero-glow { position:absolute; right:-190px; bottom:-290px; width:520px; height:520px; border-radius:50%; background:rgba(65,137,222,.32); }
.hero-grid { position:relative; min-height:650px; padding-block:90px; display:grid; grid-template-columns:1.22fr .78fr; gap:86px; align-items:center; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 22px; color:#b6c6d9; font-size:12px; line-height:1; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow span { width:28px; height:2px; background:var(--orange); }
.eyebrow-dark { color:var(--blue); }
.hero h1 { max-width:720px; margin:0; font-size:clamp(47px,5vw,73px); line-height:1.04; letter-spacing:-.05em; font-weight:760; }
h1 em,.approach-intro em { color:var(--orange); font-style:normal; }
.hero h1 em { display:block; }
.hero-lead { max-width:650px; margin:29px 0 0; color:#c3cfdd; font-size:19px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:39px; }
.text-link { color:#d6e0ea; font-size:14px; font-weight:700; }
.text-link span { margin-left:8px; color:var(--orange); }
.hero-card { padding:36px 36px 34px; border:1px solid rgba(255,255,255,.15); border-top:3px solid var(--orange); background:rgba(7,24,45,.72); box-shadow:0 24px 55px rgba(3,18,35,.34); backdrop-filter:blur(7px); }
.card-kicker { margin:0 0 18px; color:var(--orange); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hero-card h2 { margin:0; font-size:25px; line-height:1.35; letter-spacing:-.02em; }
.hero-card ul { display:grid; gap:17px; margin:28px 0 0; padding:25px 0 0; border-top:1px solid rgba(255,255,255,.13); list-style:none; color:#cfdae6; font-size:14px; }
.hero-card li { display:flex; gap:13px; }
.hero-card li span { color:var(--orange); font-weight:900; }

.outcome-strip { border-bottom:1px solid var(--line); background:var(--paper); }
.outcome-list { min-height:88px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; }
.outcome-list div { min-height:30px; display:flex; align-items:center; justify-content:center; gap:12px; border-right:1px solid var(--line); color:#42536a; font-size:13px; font-weight:750; }
.outcome-list div:first-child { border-left:1px solid var(--line); }
.outcome-list span { width:7px; height:7px; border-radius:50%; background:var(--orange); }

.section { padding-block:116px; }
.split-heading { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:80px; margin-bottom:57px; }
.section-heading h2,.about-grid h2 { margin:0; font-size:clamp(37px,4vw,54px); line-height:1.1; letter-spacing:-.045em; }
.split-heading>p { max-width:450px; margin:0 0 3px; color:var(--muted); font-size:17px; line-height:1.75; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { min-height:310px; padding:31px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:white; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.service-card:hover { position:relative; z-index:1; transform:translateY(-4px); border-color:transparent; box-shadow:0 20px 55px rgba(23,51,83,.12); }
.service-number { color:var(--orange); font-size:12px; font-weight:900; letter-spacing:.1em; }
.service-card h3 { margin:39px 0 15px; font-size:22px; letter-spacing:-.025em; }
.service-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.75; }
.service-card a { display:inline-flex; gap:8px; margin-top:24px; color:var(--blue); font-size:13px; font-weight:800; }

.approach-section { padding-block:115px; color:white; background:var(--navy); }
.approach-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:110px; }
.approach-intro h2 { margin:0; font-size:clamp(40px,4.5vw,59px); line-height:1.1; letter-spacing:-.05em; }
.steps { margin:0; padding:0; list-style:none; }
.steps li { display:grid; grid-template-columns:58px 1fr; gap:24px; padding:0 0 31px; margin-bottom:31px; border-bottom:1px solid rgba(255,255,255,.14); }
.steps li:last-child { margin-bottom:0; }
.steps>li>span { width:45px; height:45px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:var(--orange); font-size:11px; font-weight:850; }
.steps h3 { margin:1px 0 8px; font-size:21px; }
.steps p { margin:0; color:#b9c6d6; font-size:14px; line-height:1.7; }

.about-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:110px; align-items:start; }
.about-copy { padding-top:29px; }
.about-copy>p { margin:0 0 22px; color:var(--muted); font-size:17px; line-height:1.78; }
.location { margin-top:40px; padding-top:28px; border-top:1px solid var(--line); color:var(--ink); font-size:14px; font-weight:750; }
.location span { margin-right:10px; color:var(--orange); font-size:12px; }
.contact-section { padding-block:110px; color:white; background:linear-gradient(135deg,#0b2340 0%,#07182d 75%); }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:95px; align-items:start; }
.contact-copy { position:sticky; top:40px; }
.contact-copy h2 { max-width:530px; margin:0; font-size:clamp(40px,4vw,56px); line-height:1.08; letter-spacing:-.048em; }
.contact-copy>p:not(.eyebrow) { max-width:500px; margin:26px 0 0; color:#b9c8d9; font-size:16px; line-height:1.75; }
.contact-phone { margin-top:42px; padding-top:30px; border-top:1px solid rgba(255,255,255,.14); }
.contact-label { display:block; margin-bottom:8px; color:#8ea3ba; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.contact-phone a { display:inline-flex; align-items:center; gap:11px; font-size:30px; font-weight:760; letter-spacing:-.02em; }
.social-row { display:flex; gap:26px; margin-top:27px; }
.social-row a { display:inline-flex; align-items:center; gap:8px; color:#c9d6e3; font-size:14px; font-weight:700; }
.social-row a span { color:var(--orange); }
.link-icon { width:19px; height:19px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.contact-form { padding:40px; border-top:3px solid var(--orange); border-radius:3px; color:var(--ink); background:white; box-shadow:0 28px 70px rgba(3,18,35,.38); }
.form-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:30px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.form-heading span { font-size:24px; font-weight:780; letter-spacing:-.025em; }
.form-heading p { margin:0; color:#7d8a99; font-size:11px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-form label { display:grid; gap:8px; margin-bottom:20px; color:#405269; font-size:12px; font-weight:760; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid #ced8e3; border-radius:4px; outline:none; color:var(--ink); background:#fbfcfe; font:inherit; font-size:14px; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.contact-form input,.contact-form select { height:49px; padding:0 13px; }
.contact-form textarea { min-height:132px; padding:13px; resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--blue); background:white; box-shadow:0 0 0 3px rgba(47,115,201,.13); }
.contact-form button { width:100%; border:0; cursor:pointer; }
.form-note { margin:15px 0 0; color:#7e8a99; font-size:10px; line-height:1.55; text-align:center; }
.form-message { margin:-8px 0 24px; padding:12px 14px; border-radius:4px; font-size:13px; line-height:1.5; }
.form-success { color:#155a3b; background:#e9f8f0; }
.form-error { color:#7b3e13; background:#fff2e5; }
.form-verification { min-height:65px; margin:2px 0 20px; overflow:hidden; }
.form-verification iframe { max-width:100%; }
.contact-form button:disabled { cursor:wait; opacity:.7; }
.honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }

.work-hero { color:white; background:linear-gradient(125deg,#07182d 0%,#0b2441 62%,#0f3158 100%); }
.work-hero-grid { min-height:420px; padding-block:82px; display:grid; grid-template-columns:1.2fr .8fr; gap:90px; align-items:end; }
.work-hero h1 { max-width:760px; margin:0; font-size:clamp(46px,5vw,68px); line-height:1.04; letter-spacing:-.05em; }
.work-hero-grid>p { margin:0 0 7px; color:#c2cede; font-size:18px; line-height:1.7; }
.work-intro { max-width:760px; margin-bottom:54px; }
.work-intro h2 { margin:0; font-size:clamp(38px,4vw,53px); line-height:1.1; letter-spacing:-.045em; }
.opportunity-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.opportunity-card { min-height:435px; padding:40px; border:1px solid var(--line); border-top:3px solid var(--blue); background:#fff; }
.featured-card { border-top-color:var(--orange); box-shadow:0 22px 55px rgba(23,51,83,.11); }
.opportunity-tag { color:var(--blue); font-size:11px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.featured-card .opportunity-tag { color:var(--orange); }
.opportunity-card h3 { margin:28px 0 17px; font-size:29px; letter-spacing:-.035em; }
.opportunity-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.72; }
.opportunity-card ul { display:grid; gap:11px; margin:25px 0 0; padding:23px 0 0; border-top:1px solid var(--line); list-style:none; color:#405269; font-size:13px; }
.opportunity-card li::before { content:"✓"; margin-right:10px; color:var(--orange); font-weight:900; }
.opportunity-card a { display:inline-flex; gap:8px; margin-top:28px; color:var(--blue); font-size:13px; font-weight:800; }
.work-form-section { padding-block:110px; color:white; background:linear-gradient(135deg,#0b2340 0%,#07182d 75%); }
.work-form-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; align-items:start; }
.work-form-copy { position:sticky; top:40px; }
.work-form-copy h2 { margin:0; font-size:clamp(40px,4vw,55px); line-height:1.08; letter-spacing:-.05em; }
.work-form-copy>p:not(.eyebrow) { margin:24px 0 0; color:#b9c8d9; font-size:16px; line-height:1.75; }
.privacy-note { margin-top:38px; padding:25px 0 0; border-top:1px solid rgba(255,255,255,.14); color:#8fa3b9; font-size:13px; line-height:1.7; }
.privacy-note strong { color:white; }
.upload-field { padding:16px; border:1px dashed #b8c6d6; border-radius:4px; background:#f7f9fc; }
.upload-field>span { display:block; color:#8997a7; font-size:10px; font-weight:500; }
.upload-field input { height:auto; padding:9px 0 0; border:0; background:transparent; font-size:12px; }

.service-hero { color:white; background:linear-gradient(125deg,#07182d 0%,#0b2441 62%,#0f3158 100%); }
.service-hero-grid { min-height:510px; padding-block:78px; display:grid; grid-template-columns:1.16fr .84fr; gap:88px; align-items:center; }
.service-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 26px; color:#99abc0; font-size:12px; font-weight:700; }
.service-breadcrumb a:hover { color:white; }
.service-hero h1 { max-width:760px; margin:0; font-size:clamp(46px,5vw,68px); line-height:1.04; letter-spacing:-.05em; }
.service-lead { max-width:720px; margin:28px 0 0; color:#c2cede; font-size:18px; line-height:1.72; }
.service-hero .hero-actions { margin-top:34px; }
.service-hero-panel { padding:34px; border:1px solid rgba(255,255,255,.15); border-top:3px solid var(--orange); background:rgba(7,24,45,.7); box-shadow:0 24px 55px rgba(3,18,35,.32); }
.service-hero-panel strong { display:block; margin-bottom:22px; color:var(--orange); font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.service-hero-panel ul { display:grid; gap:15px; margin:0; padding:0; list-style:none; color:#d0dbe7; font-size:14px; line-height:1.55; }
.service-hero-panel li { display:flex; gap:12px; }
.service-hero-panel li::before { content:"✓"; color:var(--orange); font-weight:900; }
.detail-outcomes { border-bottom:1px solid var(--line); background:var(--paper); }
.detail-outcome-grid { min-height:92px; display:grid; grid-template-columns:repeat(3,1fr); }
.detail-outcome { display:flex; align-items:center; gap:14px; padding:20px 28px; border-right:1px solid var(--line); color:#42536a; font-size:14px; font-weight:760; }
.detail-outcome:first-child { border-left:1px solid var(--line); }
.detail-outcome span { color:var(--orange); font-size:19px; }
.service-intro-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:100px; align-items:start; }
.service-intro-grid h2 { margin:0; font-size:clamp(38px,4vw,54px); line-height:1.08; letter-spacing:-.045em; }
.service-intro-copy p { margin:0 0 20px; color:var(--muted); font-size:17px; line-height:1.8; }
.service-intro-copy p:last-child { margin-bottom:0; }
.capability-section { padding-block:108px; background:var(--paper); }
.capability-heading { max-width:760px; margin-bottom:52px; }
.capability-heading h2 { margin:0; font-size:clamp(37px,4vw,52px); line-height:1.1; letter-spacing:-.045em; }
.capability-heading>p:not(.eyebrow) { margin:20px 0 0; color:var(--muted); font-size:17px; line-height:1.75; }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.capability-card { min-height:310px; padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); }
.capability-number { color:var(--orange); font-size:11px; font-weight:900; letter-spacing:.12em; }
.capability-card h3 { margin:30px 0 15px; font-size:21px; line-height:1.25; letter-spacing:-.025em; }
.capability-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.72; }
.capability-card ul { display:grid; gap:9px; margin:19px 0 0; padding:18px 0 0; border-top:1px solid var(--line); list-style:none; color:var(--muted); font-size:13px; line-height:1.55; }
.capability-card li { position:relative; padding-left:16px; }
.capability-card li::before { content:""; position:absolute; top:.62em; left:0; width:5px; height:5px; border-radius:50%; background:var(--blue); }
.engagement-section { padding-block:108px; }
.engagement-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:100px; align-items:start; }
.engagement-grid h2 { margin:0; font-size:clamp(38px,4vw,53px); line-height:1.08; letter-spacing:-.045em; }
.engagement-list { border-top:1px solid var(--line); }
.engagement-item { display:grid; grid-template-columns:46px 1fr; gap:22px; padding:25px 0; border-bottom:1px solid var(--line); }
.engagement-item>span { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--blue); border-radius:50%; color:var(--blue); font-size:11px; font-weight:850; }
.engagement-item h3 { margin:0 0 7px; font-size:19px; }
.engagement-item p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.related-services { padding-block:95px; background:var(--paper); }
.related-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:36px; }
.related-heading h2 { margin:0; font-size:clamp(34px,3.6vw,46px); letter-spacing:-.04em; }
.related-heading>a { color:var(--blue); font-size:13px; font-weight:800; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.related-card { min-height:150px; display:flex; flex-direction:column; justify-content:space-between; gap:25px; padding:25px; border:1px solid var(--line); background:var(--white); transition:transform .2s ease,box-shadow .2s ease; }
.related-card:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(23,51,83,.1); }
.related-card span { color:var(--orange); font-size:11px; font-weight:900; letter-spacing:.12em; }
.related-card strong { display:flex; align-items:end; justify-content:space-between; gap:15px; font-size:17px; line-height:1.3; }
.related-card strong i { color:var(--blue); font-style:normal; }
.service-cta { padding-block:82px; color:white; background:linear-gradient(125deg,#0b2441,#07182d); }
.service-cta-grid { display:flex; align-items:center; justify-content:space-between; gap:55px; }
.service-cta h2 { max-width:730px; margin:0; font-size:clamp(35px,4vw,50px); line-height:1.1; letter-spacing:-.045em; }
.service-cta p { max-width:650px; margin:17px 0 0; color:#b9c8d9; font-size:16px; line-height:1.7; }
.service-cta .button { flex:0 0 auto; }

footer { color:white; background:var(--navy); }
.footer-top { padding-block:76px 60px; display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.footer-brand img { width:260px; }
.footer-brand p { max-width:380px; margin:24px 0 0; color:#8795a6; font-size:14px; line-height:1.65; }
.footer-links { display:grid; grid-template-columns:1fr 1.5fr; gap:60px; }
.footer-links div { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-links strong { margin-bottom:8px; color:#8190a2; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.footer-links a { color:#c8d1dc; font-size:14px; }
.footer-links a.icon-link { display:inline-flex; align-items:center; gap:9px; }
.footer-links .link-icon { width:17px; height:17px; }
.footer-links a:hover { color:white; }
.footer-bottom { min-height:72px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-top:1px solid #1b2735; color:#6f7d8d; font-size:12px; }
.footer-location { justify-self:end; }
.theme-selector { display:flex; align-items:center; justify-content:center; }
.theme-choice { width:34px; height:34px; display:grid; place-items:center; padding:2px; border:0; color:inherit; background:transparent; cursor:pointer; opacity:.72; transition:color .2s ease,opacity .2s ease,transform .2s ease; }
.theme-choice:hover,.theme-choice:focus-visible { opacity:1; transform:translateY(-1px); }
.single-theme-toggle { color:var(--blue); opacity:1; }
.theme-icon { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.theme-icon-sun { display:none; }

html[data-theme="light"] .site-header { color:var(--ink); background:#eef0f2; }
html[data-theme="light"] .site-header.is-compact { background:transparent; box-shadow:none; }
html[data-theme="light"] .site-header.is-compact nav { border-color:rgba(74,94,114,.18); background:rgba(238,240,242,.95); box-shadow:0 18px 42px rgba(41,70,99,.18); }
html[data-theme="light"] .site-header.is-compact nav a { color:var(--ink); }
html[data-theme="light"] .site-header.is-compact .menu-toggle { border:0; color:var(--blue); background:transparent; }
html[data-theme="light"] nav a { color:#52667c; }
html[data-theme="light"] nav a:hover,
html[data-theme="light"] nav a:focus-visible,
html[data-theme="light"] .nav-active { color:var(--ink)!important; }
html[data-theme="light"] .theme-toggle { border-color:#bcc4cc; color:var(--ink); background:#dde1e5; }
html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .theme-toggle:focus-visible { border-color:#8795a3; background:#d1d6db; }
html[data-theme="light"] .menu-toggle { border:0; color:var(--blue); background:transparent; }
html[data-theme="light"] .button-light { color:white; background:var(--blue); }
html[data-theme="light"] .hero,
html[data-theme="light"] .work-hero,
html[data-theme="light"] .service-hero { color:var(--ink); background:linear-gradient(125deg,#f5f6f7 0%,#e9ecef 58%,#d9dee3 100%); }
html[data-theme="light"] .hero::before { opacity:.45; background-image:linear-gradient(rgba(32,68,104,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(32,68,104,.09) 1px,transparent 1px); }
html[data-theme="light"] .hero-glow { background:rgba(74,131,192,.14); }
html[data-theme="light"] .eyebrow { color:#526b84; }
html[data-theme="light"] .approach-section .eyebrow { color:#405a74; }
html[data-theme="light"] .hero-lead,
html[data-theme="light"] .work-hero-grid>p,
html[data-theme="light"] .service-lead { color:#405a74; }
html[data-theme="light"] h1 em,
html[data-theme="light"] .card-kicker,
html[data-theme="light"] .service-number,
html[data-theme="light"] .approach-intro em,
html[data-theme="light"] .featured-card .opportunity-tag { color:var(--blue); }
html[data-theme="light"] .text-link { color:#294c70; }
html[data-theme="light"] .hero-card { border-color:rgba(37,68,99,.18); border-top-color:var(--orange); color:var(--ink); background:rgba(255,255,255,.72); box-shadow:0 24px 55px rgba(41,70,99,.18); }
html[data-theme="light"] .hero-card ul { border-top-color:rgba(37,68,99,.14); color:#40576f; }
html[data-theme="light"] .service-breadcrumb { color:#607890; }
html[data-theme="light"] .service-breadcrumb a:hover { color:var(--ink); }
html[data-theme="light"] .service-hero-panel { border-color:rgba(37,68,99,.18); border-top-color:var(--orange); color:var(--ink); background:rgba(255,255,255,.72); box-shadow:0 24px 55px rgba(41,70,99,.18); }
html[data-theme="light"] .service-hero-panel strong { color:var(--blue); }
html[data-theme="light"] .service-hero-panel ul { color:#40576f; }
html[data-theme="light"] .service-hero-panel li::before { color:var(--blue); }
html[data-theme="light"] .approach-section { color:var(--ink); background:#e4e7ea; }
html[data-theme="light"] .steps li { border-bottom-color:#b8c8d7; }
html[data-theme="light"] .steps>li>span { border-color:var(--blue); color:white; background:var(--blue); }
html[data-theme="light"] .steps p { color:#50677e; }
html[data-theme="light"] .contact-section,
html[data-theme="light"] .work-form-section { color:var(--ink); background:linear-gradient(135deg,#eef0f2 0%,#dfe3e7 75%); }
html[data-theme="light"] .contact-copy>p:not(.eyebrow),
html[data-theme="light"] .work-form-copy>p:not(.eyebrow) { color:#50677e; }
html[data-theme="light"] .contact-phone,
html[data-theme="light"] .privacy-note { border-top-color:#b6c6d5; }
html[data-theme="light"] .contact-label,
html[data-theme="light"] .privacy-note { color:#607890; }
html[data-theme="light"] .privacy-note strong { color:var(--ink); }
html[data-theme="light"] .social-row a { color:#385573; }
html[data-theme="light"] .service-cta { color:var(--ink); background:linear-gradient(135deg,#eef0f2 0%,#dfe3e7 75%); }
html[data-theme="light"] .service-cta p { color:#50677e; }
html[data-theme="light"] .form-heading p,
html[data-theme="light"] .form-note { color:#52667c; }
html[data-theme="light"] .upload-field>span { color:#52667c; }
html[data-theme="light"] footer { color:var(--ink); background:#eef0f2; }
html[data-theme="light"] .footer-brand p,
html[data-theme="light"] .footer-links strong,
html[data-theme="light"] .footer-bottom { color:#586d82; }
html[data-theme="light"] .footer-links a { color:#2f4c69; }
html[data-theme="light"] .footer-links a:hover { color:var(--ink); }
html[data-theme="light"] .footer-bottom { border-top-color:#b4c4d3; }

html[data-theme="dark"] .single-theme-toggle { color:var(--orange); }
html[data-theme="dark"] .theme-icon-moon { display:none; }
html[data-theme="dark"] .theme-icon-sun { display:block; }

html[data-theme="dark"] .outcome-strip { background:var(--navy-soft); }
html[data-theme="dark"] .outcome-list div { color:#d0dbe8; }
html[data-theme="dark"] .section { background:var(--navy); }
html[data-theme="dark"] .service-card,
html[data-theme="dark"] .opportunity-card { background:var(--navy-soft); }
html[data-theme="dark"] .detail-outcomes,
html[data-theme="dark"] .capability-section,
html[data-theme="dark"] .related-services { background:var(--navy-soft); }
html[data-theme="dark"] .capability-card,
html[data-theme="dark"] .related-card { background:var(--navy); }
html[data-theme="dark"] .detail-outcome { color:#d0dbe8; }
html[data-theme="dark"] .related-card:hover { box-shadow:0 16px 36px rgba(3,18,35,.35); }
html[data-theme="dark"] .service-card:hover { box-shadow:0 20px 55px rgba(3,18,35,.35); }
html[data-theme="dark"] .opportunity-card ul { color:#c8d4e1; }
html[data-theme="dark"] .featured-card { box-shadow:0 22px 55px rgba(3,18,35,.32); }
html[data-theme="dark"] .contact-form { color:#edf4fb; background:var(--navy-soft); }
html[data-theme="dark"] .contact-form label { color:#d2dce7; }
html[data-theme="dark"] .form-heading p,
html[data-theme="dark"] .form-note { color:#9fb0c2; }
html[data-theme="dark"] .contact-form input,
html[data-theme="dark"] .contact-form select,
html[data-theme="dark"] .contact-form textarea { border-color:#355473; color:#edf4fb; background:#102d4d; }
html[data-theme="dark"] .contact-form input:focus,
html[data-theme="dark"] .contact-form select:focus,
html[data-theme="dark"] .contact-form textarea:focus { background:#163a60; }
html[data-theme="dark"] .upload-field { border-color:#4b6b89; background:#102d4d; }
html[data-theme="dark"] .upload-field>span { color:#a9b9ca; }
html[data-theme="dark"] .form-success { color:#b9efd2; background:#154936; }
html[data-theme="dark"] .form-error { color:#ffd2ae; background:#633719; }

@media (max-width:900px) {
  .header-inner { gap:18px; }
  .brand { width:155px; }
  nav { display:flex; gap:18px; }
  nav a { font-size:12px; }
  .button-small { display:none; }
  .hero-grid { grid-template-columns:1fr; gap:55px; }
  .hero-card { max-width:600px; }
  .split-heading,.approach-grid,.about-grid { grid-template-columns:1fr; gap:50px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .outcome-list { grid-template-columns:repeat(2,1fr); }
  .outcome-list div:nth-child(3) { border-left:1px solid var(--line); }
  .contact-grid { grid-template-columns:1fr; gap:55px; }
  .contact-copy { position:static; }
  .work-hero-grid,.work-form-grid { grid-template-columns:1fr; gap:52px; }
  .work-form-copy { position:static; }
  .service-hero-grid,.service-intro-grid,.engagement-grid { grid-template-columns:1fr; gap:52px; }
  .service-hero-panel { max-width:620px; }
  .capability-grid { grid-template-columns:repeat(2,1fr); }
  .related-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px) {
  .header-inner { position:relative; }
  .header-actions { gap:8px; }
  .button-small { min-height:38px; display:inline-flex; padding-inline:14px; font-size:13px; }
  nav { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; gap:0; margin:0; padding:12px 22px 20px; border-top:1px solid rgba(255,255,255,.12); background:var(--navy); box-shadow:0 18px 35px rgba(3,18,35,.22); }
  nav a { padding:11px 0; font-size:14px; }
  .site-header.menu-open nav { display:flex; }
  .menu-toggle { display:grid; }
  html[data-theme="light"] nav { border-top-color:#c8d0d8; background:#eef0f2; box-shadow:0 18px 35px rgba(41,70,99,.16); }
}
@media (max-width:620px) {
  .shell { width:min(100% - 34px,1180px); }
  .header-inner { min-height:86px; gap:14px; }
  .brand { width:145px; }
  .site-header.is-compact .header-inner { min-height:60px; }
  .hero-grid { min-height:auto; padding-block:70px; }
  .hero h1 { font-size:45px; }
  .hero-lead { font-size:17px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:24px; }
  .hero-card { padding:28px 25px; }
  .outcome-list { grid-template-columns:1fr; padding-block:8px; }
  .outcome-list div { min-height:48px; justify-content:flex-start; padding-left:20px; border-left:1px solid var(--line); }
  .section { padding-block:82px; }
  .split-heading { margin-bottom:42px; }
  .services-grid { grid-template-columns:1fr; }
  .service-card { min-height:285px; }
  .approach-section { padding-block:82px; }
  .steps li { grid-template-columns:48px 1fr; gap:17px; }
  .about-copy { padding-top:0; }
  .contact-section { padding-block:82px; }
  .contact-form { padding:28px 22px; }
  .form-heading { align-items:flex-start; flex-direction:column; gap:7px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .work-hero-grid { min-height:auto; padding-block:70px; }
  .work-hero h1 { font-size:43px; }
  .opportunity-grid { grid-template-columns:1fr; }
  .opportunity-card { min-height:auto; padding:32px 27px; }
  .work-form-section { padding-block:82px; }
  .service-hero-grid { min-height:auto; padding-block:68px; }
  .service-hero h1 { font-size:43px; }
  .service-lead { font-size:17px; }
  .detail-outcome-grid { grid-template-columns:1fr; padding-block:8px; }
  .detail-outcome { min-height:58px; padding:13px 20px; border-left:1px solid var(--line); }
  .capability-section,.engagement-section { padding-block:82px; }
  .capability-grid,.related-grid { grid-template-columns:1fr; }
  .capability-card { min-height:auto; padding:29px 26px; }
  .related-services { padding-block:76px; }
  .related-heading { align-items:flex-start; flex-direction:column; gap:18px; }
  .service-cta { padding-block:70px; }
  .service-cta-grid { align-items:flex-start; flex-direction:column; gap:30px; }
  .footer-top { grid-template-columns:1fr; gap:54px; }
  .footer-links { grid-template-columns:1fr; gap:38px; }
  .footer-bottom { min-height:auto; grid-template-columns:1fr auto; justify-items:stretch; gap:14px 20px; padding-block:20px; text-align:left; }
  .footer-copyright { grid-column:1/-1; }
  .footer-location { grid-column:1; grid-row:2; justify-self:start; align-self:center; }
  .theme-selector { grid-column:2; grid-row:2; justify-self:end; }
  .theme-choice { width:32px; height:32px; }
  .theme-icon { width:27px; height:27px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{transition-duration:.01ms!important} }
