@font-face{font-family:Inter;src:url(fonts/inter.woff2) format('woff2');font-weight:100 900;font-display:optional}
@font-face{font-family:Manrope;src:url(fonts/manrope.woff2) format('woff2');font-weight:200 800;font-display:optional}
:root{--navy:#11315c;--ink:#142c49;--blue:#2159bb;--muted:#526175;--line:#d7dfe8;--paper:#f3f5f7;--white:#fff;--max:1248px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 Inter,Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(42px,4.65vw,68px)}h2{font-size:clamp(32px,3.3vw,48px)}h3{font-size:26px;letter-spacing:-.025em}p{color:var(--muted)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}a:active,button:active{transform:translateY(1px)}a:hover{color:var(--blue)}button:disabled{cursor:not-allowed;opacity:.55}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin-bottom:24px}.eyebrow:before{content:'';width:24px;height:2px;background:currentColor}.section{padding:104px 0}.light{background:var(--paper)}.skip{position:fixed;top:-80px;left:24px;background:#fff;padding:12px;z-index:100}.skip:focus{top:12px}.header{border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:10}.header-inner{height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo{display:flex;align-items:center;min-height:44px}.logo img{width:202px;height:auto}.nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:500}.nav>a:not(.button){padding:12px 0}.nav a[aria-current=page]{color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:15px 24px;min-height:52px;background:var(--navy);color:#fff;border:1px solid var(--navy);font-size:14px;font-weight:600;border-radius:2px;cursor:pointer;line-height:1.5;transition:background .18s,color .18s}.button:hover{color:#fff;background:var(--blue);border-color:var(--blue)}.button.secondary{background:transparent;color:var(--navy);border-color:var(--line)}.button.secondary:hover{border-color:var(--navy);background:var(--paper)}.arrow{font-size:20px;font-weight:400;line-height:1}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:10px 16px;min-height:44px}.hero{padding:88px 0 72px;background:#fafbfc;overflow:hidden}.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:center}.hero-copy{max-width:710px}.hero-copy>p{font-size:18px;max-width:560px;margin-top:28px;line-height:1.75}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}.hero .eyebrow{font-size:11px}.hero-figure{min-width:0;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.flow{width:100%;height:auto;overflow:visible}.figure-caption{display:flex;justify-content:space-between;margin:24px 20px 0;font:11px/1.5 Inter,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.figure-caption span:first-child{color:var(--blue)}.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid var(--line);padding-top:24px}.pillar{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:600}.pillar span{font-size:11px;color:var(--blue);font-weight:500}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:48px}.intro-grid h2{max-width:880px;font-size:clamp(30px,3vw,42px);line-height:1.3}.section-top{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:48px}.section-top h2{max-width:640px}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:14px;font-weight:600;border-bottom:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:start;min-height:350px;background:#fff;transition:background .2s}.service-card:hover{background:#f8faff}.card-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:40px}.card-top span{font-size:12px;color:var(--muted)}.icon{width:40px;height:40px;color:var(--blue)}.service-card h3{font-size:25px;max-width:300px}.service-card p{margin:20px 0 24px;font-size:15px}.service-card .text-link{margin-top:auto}.service-note{padding:32px;background:var(--navy);color:#fff;border-right:1px solid var(--navy);border-bottom:1px solid var(--navy);display:flex;flex-direction:column;align-items:start;justify-content:center}.service-note h3{font-size:32px;line-height:1.25;max-width:260px}.service-note .text-link{margin-top:32px;border-color:#6b809b}.service-note a:hover{color:#fff}.why-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:104px}.why-grid .lead{margin-top:24px;max-width:420px;font-size:18px}.principle{border-top:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:48px 1fr;gap:16px}.principle .num{font-size:12px;color:var(--blue);padding-top:4px}.principle h3{font-size:24px}.principle p{margin-top:16px;font-size:15px}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:48px}.step{border-top:2px solid var(--navy);padding-top:20px}.step span{color:var(--blue);font-size:12px}.step h3{margin:24px 0 16px;font-size:24px}.step p{font-size:14px}.cta{padding:72px 0;background:var(--navy);color:#fff}.cta-inner{display:grid;grid-template-columns:1fr auto;gap:64px;align-items:center}.cta h2{max-width:780px;font-size:clamp(32px,3vw,44px)}.cta p{color:#c9d5e5;margin-top:24px}.cta .button{background:#fff;border-color:#fff;color:var(--navy)}.cta .button:hover{background:#e0e9f6}.footer{padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:64px}.footer .logo img{width:200px}.footer p{font-size:14px;max-width:320px;margin-top:24px}.footer h3{font-family:Inter,Arial,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 20px}.footer-links{display:flex;flex-direction:column;align-items:start}.footer-links a{min-height:44px;font-size:14px}.footer-bottom{border-top:1px solid var(--line);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.page-hero{padding:72px 0 80px;background:var(--paper)}.breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:48px}.breadcrumb a{min-height:44px;display:flex;align-items:center}.breadcrumb span{align-self:center}.page-hero h1{max-width:960px;font-size:clamp(40px,4.4vw,64px)}.page-hero .lead{font-size:19px;max-width:780px;margin-top:28px}.split-section{display:grid;grid-template-columns:1fr 2fr;gap:64px}.split-section+.split-section{margin-top:80px}.split-section h2{font-size:32px}.prose p+p{margin-top:24px}.prose p{font-size:18px;line-height:1.8}.included{list-style:none;margin:0;padding:0}.included li{display:flex;gap:24px;border-top:1px solid var(--line);padding:24px 0}.included li span{font-size:12px;color:var(--blue);padding-top:4px}.outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.outcomes p{border-top:1px solid var(--line);padding-top:24px;font-size:18px;color:var(--navy)}.audience{display:grid;grid-template-columns:1fr 1fr;gap:24px}.audience article{border-top:1px solid var(--line);padding-top:24px}.audience p{margin-top:16px}.contact-layout{display:grid;grid-template-columns:5fr 7fr;gap:96px;padding:88px 0 104px}.contact-copy h1{font-size:clamp(40px,4vw,58px)}.contact-copy>p{margin-top:24px;font-size:18px}.contact-note{border-top:1px solid var(--line);padding-top:24px;margin-top:48px}.contact-note h2{font-size:24px}.contact-note p{margin-top:16px;font-size:15px}.contact-form{padding:40px;background:var(--paper);border:1px solid var(--line)}.form-head{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.form-head h2{font-size:28px}.form-head p{font-size:14px;margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:600}label span{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;min-height:48px;background:#fff;border:1px solid #aab8c9;border-radius:2px;padding:12px;color:var(--ink)}textarea{resize:vertical;min-height:128px}input:hover,select:hover,textarea:hover{border-color:var(--navy)}input:disabled{background:#e8edf2}.form-foot{margin-top:24px;font-size:12px}.form-status{margin-top:16px;padding:16px;border-left:3px solid var(--blue);background:#e9effa;color:var(--navy);font-size:14px}.form-status:empty{display:none}.form-status.error{background:#fff0ee;border-color:#ae3029;color:#8d2520}.honeypot{position:absolute;left:-10000px}.related{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}.related a{padding:12px 16px;border:1px solid var(--line);font-size:14px;min-height:44px}.related a:hover{border-color:var(--blue)}.no-results{padding:96px 0}.design-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.swatch{height:100px;border:1px solid var(--line);margin-bottom:16px}.admin-bar .header{margin-top:0}
@media(min-width:1600px){.hero{padding-top:112px;padding-bottom:88px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.nav{gap:20px}.header-inner{gap:24px}.logo img{width:170px}.nav .button{padding:12px 16px}.hero-grid{grid-template-columns:1.3fr 1fr}.hero h1{font-size:50px}.service-card{padding:24px}.why-grid{gap:56px}.contact-layout{gap:48px}.contact-form{padding:28px}.process-grid{gap:16px}}
@media(max-width:800px){.header-inner{height:88px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:88px;left:0;width:100%;background:#fff;padding:24px 32px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav>a:not(.button){min-height:44px;padding:12px}.hero{padding:64px 0 40px}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:660px}.hero h1{font-size:clamp(42px,7vw,64px)}.hero-figure{max-width:480px;width:100%;margin:16px auto 0}.hero-figure .flow{max-height:300px}.figure-caption{margin-top:8px}.pillars{margin-top:40px}.section{padding:72px 0}.intro-grid,.why-grid,.split-section,.contact-layout{grid-template-columns:1fr;gap:32px}.intro-grid .eyebrow{margin:0}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:340px}.section-top{align-items:start}.section-top h2{font-size:36px}.process-grid{grid-template-columns:repeat(3,1fr);gap:32px}.cta-inner{grid-template-columns:1fr;gap:32px}.cta-inner .button{justify-self:start}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}.contact-layout{padding:64px 0}.contact-copy h1{max-width:600px}.contact-note{margin-top:32px}.contact-form{max-width:680px}.outcomes{gap:24px}.breadcrumb{margin-bottom:24px}.page-hero{padding:40px 0 56px}}
@media(max-width:520px){.wrap{width:calc(100% - 40px)}.header-inner{height:80px}.logo img{width:160px}.nav{top:80px;padding:20px}.hero{padding-top:48px}.hero h1{font-size:43px;letter-spacing:-.05em}.hero-copy>p{font-size:16px}.hero .eyebrow{font-size:10px;letter-spacing:.09em}.actions{gap:12px}.actions .button{padding:14px 18px;font-size:13px;gap:14px}.hero-figure{max-width:360px}.hero-figure .flow{max-height:260px}.pillars{gap:12px}.pillar{font-size:12px;gap:8px}.pillar span{font-size:10px}.section{padding:56px 0}.section-top{flex-direction:column;gap:16px;margin-bottom:32px}.section-top h2{font-size:34px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:28px}.card-top{margin-bottom:24px}.service-card p{margin:16px 0}.service-note{padding:32px;min-height:240px}.intro-grid h2{font-size:29px;line-height:1.35}.process-grid{grid-template-columns:1fr;gap:24px}.step{display:grid;grid-template-columns:32px 1fr;gap:12px;padding-top:20px}.step h3{margin:0}.step p{grid-column:2}.cta{padding:48px 0}.footer{padding-top:48px}.footer-grid{gap:32px 24px}.footer-bottom{flex-direction:column;gap:8px}.page-hero h1{font-size:41px}.page-hero .lead{font-size:17px}.split-section{gap:24px}.split-section+.split-section{margin-top:56px}.prose p{font-size:16px}.outcomes,.audience{grid-template-columns:1fr}.contact-layout{padding:48px 0}.contact-copy h1{font-size:40px}.contact-form{padding:24px 20px}.form-grid{grid-template-columns:1fr;gap:20px}.field.full{grid-column:auto}.contact-copy>p{font-size:16px}.contact-form .button{width:100%}.design-swatches{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.menu-toggle{color:var(--ink)}.menu-icon{width:16px;height:16px;margin-left:8px;vertical-align:middle}
[aria-disabled=true]{opacity:.55;pointer-events:none;cursor:not-allowed}
input:user-invalid,select:user-invalid,textarea:user-invalid,[aria-invalid=true]{border-color:#ae3029}

/* Editorial refinement: preserve the original structure and brand language. */
:root { --line:rgba(17,49,92,.14); --paper:#f5f6f7; }
body { line-height:1.75; }
h1,h2,h3 { letter-spacing:-.038em; }
h2 { line-height:1.18; text-wrap:balance; }
h3 { line-height:1.24; }
p { text-wrap:pretty; }
.section { padding:112px 0; }
.eyebrow { font-size:11px; letter-spacing:.12em; margin-bottom:28px; }
.eyebrow:before { width:20px; height:1px; }
.header-inner { height:96px; }
.logo img { width:190px; }
.nav { gap:36px; }
.nav>a:not(.button) { position:relative; }
.nav>a:not(.button):after { content:''; position:absolute; bottom:7px; left:0; width:100%; height:1px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.nav>a:not(.button):hover:after,.nav>a[aria-current=page]:after { transform:scaleX(1); }
.button { min-height:52px; padding:14px 24px; font-weight:500; border-radius:0; gap:28px; transition:background .2s,border-color .2s,color .2s; }
.button .arrow,.text-link .arrow { transition:transform .2s; }
.button:hover .arrow,.text-link:hover .arrow { transform:translate(2px,-2px); }
.nav .button { font-size:13px; min-height:48px; padding:12px 20px; }
.button.secondary { border-color:rgba(17,49,92,.23); }
.hero { padding:88px 0 48px; background:#fafbfc; }
.hero-grid { grid-template-columns:7fr 5fr; gap:48px; }
.hero h1 { font-size:clamp(48px,4.35vw,64px); line-height:1.13; max-width:680px; letter-spacing:-.045em; }
.hero-opening { display:block; }
.hero-copy>p { max-width:49ch; margin-top:32px; font-size:17px; line-height:1.8; }
.hero .actions { margin-top:36px; gap:16px; }
.hero-figure { max-width:460px; width:100%; justify-self:end; }
.hero-figure .flow { margin-top:8px; }
.figure-caption { font-size:10px; margin:20px 12px 0; letter-spacing:.1em; }
.pillars { margin-top:56px; padding:24px 0 8px; }
.pillar { font-weight:500; gap:16px; }
.mission-section { padding:96px 0 104px; }
.intro-grid { grid-template-columns:3fr 9fr; gap:72px; align-items:start; }
.intro-grid .eyebrow { margin-top:10px; }
.intro-grid h2 { font-size:clamp(30px,2.65vw,39px); line-height:1.36; max-width:860px; letter-spacing:-.032em; text-wrap:pretty; }
.services-section { background:#f5f6f7; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-top { margin-bottom:56px; }
.section-top h2 { font-size:clamp(32px,3.05vw,44px); max-width:670px; }
.text-link { border-bottom:1px solid rgba(17,49,92,.22); font-size:13px; font-weight:500; padding-bottom:3px; gap:20px; }
.service-grid { border-left:0; border-top:1px solid rgba(17,49,92,.22); }
.service-card { position:relative; background:transparent; min-height:376px; padding:36px 36px 32px; border-bottom:1px solid var(--line); transition:background .2s; }
.service-card:nth-child(3n) { border-right:0; }
.service-card:hover { background:rgba(255,255,255,.72); }
.card-top { margin-bottom:32px; }
.card-top .icon { width:32px; height:32px; }
.card-top span { font-size:11px; letter-spacing:.1em; }
.service-card h3 { font-size:26px; max-width:18ch; letter-spacing:-.032em; line-height:1.22; }
.service-card p { font-size:15px; line-height:1.8; margin:20px 0 28px; max-width:34ch; }
.service-card .text-link { width:100%; justify-content:space-between; border:0; padding-top:8px; }
.service-note { padding:36px; border:0; align-items:stretch; }
.service-note h3 { font-size:30px; line-height:1.3; letter-spacing:-.03em; }
.service-note .text-link { justify-content:space-between; padding:12px 0; margin-top:36px; }
.why-grid { grid-template-columns:5fr 6fr; gap:112px; }
.why-grid h2 { font-size:clamp(32px,3vw,44px); max-width:470px; }
.why-grid .lead { font-size:16px; line-height:1.8; max-width:48ch; }
.principle { padding:32px 0; grid-template-columns:32px 1fr; gap:24px; }
.principle:first-child { border-top-color:rgba(17,49,92,.3); }
.principle h3 { font-size:24px; line-height:1.25; }
.principle p { line-height:1.8; max-width:52ch; }
.editorial-photo { margin:0; overflow:hidden; background:#e8eced; }
.editorial-photo img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.72); }
.home-editorial-photo { aspect-ratio:16/9; margin-top:32px; }
.home-editorial-photo img { object-position:50% 48%; }
.process-section { background:#eff3f6; border-top:1px solid var(--line); }
.process-section h2 { font-size:clamp(32px,3vw,43px); line-height:1.25; }
.process-grid { gap:32px; margin-top:56px; }
.step { border-top:1px solid rgba(17,49,92,.42); padding-top:24px; }
.step h3 { font-size:23px; margin-top:28px; }
.step p { line-height:1.8; }
.cta { padding:80px 0; }
.cta h2 { font-size:clamp(32px,2.9vw,42px); line-height:1.24; max-width:740px; }
.cta p { font-size:15px; line-height:1.8; margin-top:24px; }
.footer { padding-top:72px; }
.footer-grid { gap:80px; }
.footer-links a { line-height:1.6; padding:10px 0; }
.footer-bottom { margin-top:56px; }
.page-hero { padding:48px 0 88px; background:#f6f7f8; }
.breadcrumb { margin-bottom:40px; gap:16px; }
.page-hero h1 { line-height:1.15; letter-spacing:-.04em; max-width:920px; }
.page-hero .lead { font-size:18px; line-height:1.85; max-width:66ch; }
.page-hero-layout { display:grid; grid-template-columns:1fr; gap:64px; }
.service-hero .page-hero-layout { grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:80px; align-items:center; }
.page-hero-copy { min-width:0; }
.keep-phrase { white-space:nowrap; }
.service-hero h1 { font-size:clamp(40px,3.55vw,52px); max-width:20ch; text-wrap:balance; }
.service-hero .lead { max-width:56ch; font-size:17px; }
.service-hero-photo { aspect-ratio:5/4; align-self:center; width:100%; min-width:0; }
[data-page=managed-services] .service-hero-photo { aspect-ratio:1; }
[data-page=managed-services] .service-hero-photo img { object-position:50% 64%; }
[data-page=ai-enablement] .service-hero-photo { aspect-ratio:1; }
[data-page=talent-placement] .service-hero-photo img { object-position:40% 50%; }
[data-page=ai-enablement] .service-hero .page-hero-layout,
[data-page=talent-placement] .service-hero .page-hero-layout { grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
[data-page=ai-enablement] .service-hero-photo,
[data-page=talent-placement] .service-hero-photo { order:-1; }
.service-content .split-section { grid-template-columns:4fr 7fr; gap:112px; }
.service-content .split-section+.split-section { margin-top:96px; padding-top:64px; border-top:1px solid var(--line); }
.split-section h2 { font-size:34px; line-height:1.24; max-width:20ch; }
.prose p { font-size:17px; line-height:1.9; max-width:65ch; }
.included li { gap:32px; padding:24px 0; font-size:16px; line-height:1.8; }
.included li:first-child { border-top:0; padding-top:0; }
.outcomes-section { background:#f2f4f5; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.outcomes-section h2 { font-size:40px; }
.outcomes { gap:64px; margin-top:48px; }
.outcomes p { font-size:18px; line-height:1.7; padding-top:28px; }
.related { gap:16px 32px; }
.related a { border:0; border-bottom:1px solid var(--line); padding:12px 0; }
.about-photo { aspect-ratio:16/5; margin-bottom:88px; }
.about-photo img { object-position:50% 46%; }
.principles-photo { aspect-ratio:5/4; margin-top:32px; }
.contact-layout { padding:80px 0 112px; gap:112px; grid-template-columns:5fr 6fr; }
.contact-copy h1 { font-size:clamp(40px,3.65vw,54px); line-height:1.18; max-width:14ch; text-wrap:balance; }
.contact-copy>p { font-size:17px; line-height:1.85; margin-top:32px; max-width:47ch; }
.contact-note { padding:28px 32px; margin-top:40px; border-top:1px solid rgba(17,49,92,.25); background:#f5f6f7; }
.contact-note h2 { font-size:23px; }
.contact-note p { font-size:14px; line-height:1.85; }
.contact-form { border:0; border-left:1px solid var(--line); background:#fff; padding:8px 0 0 48px; }
.form-head { padding-bottom:32px; margin-bottom:32px; }
.form-head h2 { font-size:29px; }
.form-head p { line-height:1.75; }
.form-grid { gap:28px 24px; }
.field { gap:12px; }
input,select,textarea { border-color:#a7b3c0; border-radius:0; padding:12px 14px; min-height:50px; transition:border-color .2s; }
textarea { min-height:144px; }
.form-foot { margin-top:28px; line-height:1.75; }
.contact-form .actions { margin-top:28px; }

@media(max-width:1100px) {
  .nav { gap:24px; }
  .hero-grid { gap:32px; }
  .hero h1 { font-size:53px; }
  .section { padding:88px 0; }
  .intro-grid,.why-grid,.service-hero .page-hero-layout,.service-content .split-section { gap:64px; }
  .service-card { padding:28px; }
  .service-card h3 { font-size:24px; }
  .contact-layout { gap:64px; }
  .contact-form { padding-left:32px; }
}
@media(max-width:800px) {
  .header-inner { height:88px; }
  .logo img { width:172px; }
  .nav { gap:12px; }
  .nav>a:not(.button):after { display:none; }
  .hero { padding:64px 0 32px; }
  .hero-grid { grid-template-columns:1fr; gap:32px; }
  .hero h1 { font-size:clamp(42px,6.7vw,54px); max-width:640px; }
  .hero-figure { max-width:410px; justify-self:center; margin-top:0; }
  .hero-figure .flow { max-height:280px; }
  .section { padding:72px 0; }
  .mission-section { padding:64px 0 72px; }
  .intro-grid,.why-grid { grid-template-columns:1fr; gap:40px; }
  .intro-grid .eyebrow { margin:0; }
  .intro-grid h2 { font-size:32px; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .service-card { min-height:340px; }
  .service-card:nth-child(3n) { border-right:1px solid var(--line); }
  .service-card:nth-child(2n) { border-right:0; }
  .section-top { margin-bottom:40px; }
  .why-grid>div:first-child { max-width:620px; }
  .home-editorial-photo { aspect-ratio:16/8; margin-top:28px; }
  .why-grid .lead { max-width:60ch; }
  .process-grid { grid-template-columns:repeat(3,1fr); gap:32px; margin-top:40px; }
  .service-hero .page-hero-layout { grid-template-columns:1fr; gap:40px; }
  [data-page=ai-enablement] .service-hero .page-hero-layout,
  [data-page=talent-placement] .service-hero .page-hero-layout { grid-template-columns:1fr; }
  [data-page=ai-enablement] .service-hero-photo,
  [data-page=talent-placement] .service-hero-photo { order:0; }
  .service-hero h1 { font-size:48px; max-width:24ch; }
  .service-hero-photo,[data-page=managed-services] .service-hero-photo,[data-page=ai-enablement] .service-hero-photo { aspect-ratio:16/8; min-height:0; max-height:none; }
  .page-hero { padding:32px 0 56px; }
  .service-content .split-section { grid-template-columns:1fr; gap:32px; }
  .service-content .split-section+.split-section { margin-top:56px; padding-top:48px; }
  .outcomes { gap:32px; }
  .outcomes p { font-size:16px; }
  .about-photo { aspect-ratio:16/8; margin-bottom:56px; }
  .principles-photo { max-width:600px; aspect-ratio:16/8; }
  .contact-layout { grid-template-columns:1fr; gap:48px; padding:56px 0 72px; }
  .contact-copy h1 { max-width:21ch; font-size:48px; }
  .contact-copy>p { max-width:62ch; }
  .contact-note { margin-top:32px; max-width:620px; }
  .contact-form { border-left:0; border-top:1px solid var(--line); padding:40px 0 0; max-width:none; }
  .footer-grid { gap:40px; }
}
@media(max-width:520px) {
  .wrap { width:calc(100% - 48px); }
  .header-inner { height:80px; }
  .logo img { width:156px; }
  .menu-toggle { padding:10px 12px; font-size:14px; }
  .hero { padding-top:44px; }
  .hero h1 { font-size:clamp(33px,9.7vw,40px); line-height:1.15; max-width:100%; }
  .hero-middle,.hero-closing { display:block; }
  .hero .eyebrow { font-size:9px; gap:8px; letter-spacing:.07em; margin-bottom:24px; }
  .hero .eyebrow:before { width:16px; }
  .hero-copy>p { margin-top:24px; font-size:16px; line-height:1.8; }
  .hero .actions { display:grid; grid-template-columns:1fr; gap:8px; margin-top:28px; }
  .hero .button { font-size:14px; justify-content:space-between; padding:14px 20px; }
  .hero .button.secondary { border:0; padding:10px 0; min-height:44px; justify-content:start; gap:24px; background:transparent; }
  .hero-figure { max-width:310px; }
  .hero-figure .flow { max-height:244px; }
  .figure-caption { font-size:8px; margin:8px 0 0; letter-spacing:.05em; }
  .pillars { margin-top:32px; padding-top:20px; }
  .pillar { gap:8px; font-size:12px; }
  .section { padding:56px 0; }
  .mission-section { padding:56px 0 64px; }
  .intro-grid { gap:24px; }
  .intro-grid h2 { font-size:27px; line-height:1.42; }
  .eyebrow { font-size:10px; margin-bottom:20px; }
  .section-top h2,.why-grid h2 { font-size:32px; line-height:1.25; }
  .section-top { gap:20px; margin-bottom:32px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card,.service-card:nth-child(3n) { border-right:0; min-height:0; padding:28px 0; }
  .service-card:hover { background:transparent; }
  .card-top { margin-bottom:20px; }
  .card-top .icon { width:28px; height:28px; }
  .service-card h3 { max-width:24ch; font-size:25px; }
  .service-card p { max-width:100%; margin:16px 0 20px; }
  .service-card .text-link { padding:0; }
  .service-note { padding:32px; min-height:240px; margin-top:24px; }
  .service-note h3 { font-size:29px; }
  .why-grid { gap:40px; }
  .why-grid .lead { font-size:15px; }
  .principle { padding:24px 0; grid-template-columns:24px 1fr; gap:16px; }
  .principle h3 { font-size:23px; }
  .home-editorial-photo { aspect-ratio:4/3; margin-top:24px; }
  .process-section h2 { font-size:31px; }
  .process-grid { grid-template-columns:1fr; gap:28px; margin-top:32px; }
  .step { grid-template-columns:32px 1fr; padding-top:20px; gap:12px; }
  .step h3 { margin:0; }
  .cta { padding:56px 0; }
  .cta h2 { font-size:31px; line-height:1.28; }
  .cta p { font-size:14px; }
  .cta-inner { gap:28px; }
  .page-hero { padding:24px 0 48px; }
  .breadcrumb { font-size:11px; gap:12px; margin-bottom:24px; }
  .page-hero h1,.service-hero h1 { font-size:36px; line-height:1.17; max-width:100%; }
  .page-hero .lead,.service-hero .lead { font-size:16px; margin-top:24px; line-height:1.8; }
  .service-hero .page-hero-layout { gap:32px; }
  .service-hero-photo,[data-page=managed-services] .service-hero-photo,[data-page=ai-enablement] .service-hero-photo { aspect-ratio:4/3; }
  .split-section h2 { font-size:29px; }
  .prose p { font-size:16px; line-height:1.85; }
  .included li { gap:20px; font-size:15px; padding:20px 0; }
  .outcomes-section h2 { font-size:31px; }
  .outcomes { margin-top:32px; gap:24px; }
  .outcomes p { font-size:17px; padding-top:20px; }
  .related { gap:12px; flex-direction:column; align-items:start; }
  .about-photo { aspect-ratio:4/3; margin-bottom:40px; }
  .principles-photo { aspect-ratio:4/3; margin-top:24px; }
  .contact-layout { padding:44px 0 56px; gap:40px; }
  .contact-copy h1 { font-size:37px; max-width:100%; }
  .contact-copy>p { font-size:16px; margin-top:24px; }
  .contact-note { padding:24px; }
  .contact-form { padding-top:32px; }
  .form-head { margin-bottom:28px; padding-bottom:24px; }
  .form-head h2 { font-size:27px; }
  .form-grid { gap:24px; }
  .field { gap:10px; }
  .footer { padding-top:56px; }
  .footer-grid { gap:32px 24px; }
  .footer-links a { font-size:13px; }
}

/* Art direction: a shared, restrained system for composition and motion. */
:root {
  --navy:#11315c; --navy-deep:#0c2648; --blue:#2159bb;
  --white:#fff; --paper:#f3f6f8; --surface-blue:#edf2f8;
  --ink:#142c49; --muted:#526175; --on-navy:#d1dceb;
  --line:rgba(17,49,92,.14); --line-strong:rgba(17,49,92,.28);
  --line-inverse:rgba(255,255,255,.24);
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px;
  --space-5:48px; --space-6:64px; --space-7:88px; --space-8:112px;
  --max:1248px; --measure:66ch; --gutter:48px;
  --font-body:Inter,Arial,sans-serif; --font-display:Manrope,Arial,sans-serif;
  --type-display:clamp(40px,4.35vw,64px); --type-section:clamp(32px,3.05vw,44px);
  --radius:0; --ratio-landscape:16/9; --ratio-editorial:4/5;
  --micro:190ms; --standard:300ms; --reveal:650ms;
  --ease:cubic-bezier(.22,.61,.36,1);
}
html { scroll-padding-top:112px; }
body { font-family:var(--font-body); }
h1,h2,h3 { font-family:var(--font-display); }
h2 { font-size:var(--type-section); }
.prose p { max-width:var(--measure); }
.section { padding-block:var(--space-8); }
.button,input,select,textarea { border-radius:var(--radius); }
.button { transition:background var(--micro) var(--ease),border-color var(--micro) var(--ease),color var(--micro) var(--ease); }
.button .arrow,.text-link .arrow,.service-note .text-link span { transition:transform var(--micro) var(--ease); }
.button:hover .arrow,.text-link:hover .arrow,.service-note .text-link:hover span { transform:translate(3px,-3px); }
.nav>a:not(.button):after { transition:transform var(--micro) var(--ease); }
.nav>a:not(.button):focus-visible:after { transform:scaleX(1); }
.nav>a[aria-current] { color:var(--blue); }
.nav>a[aria-current]:after { transform:scaleX(1); }
.header { position:sticky; top:0; background:var(--white); border-color:transparent; transition:border-color var(--standard) var(--ease); }
.header-inner { height:96px; transition:height var(--standard) var(--ease); }
.header.is-scrolled { border-color:var(--line); }
.header.is-scrolled .header-inner { height:78px; }
.admin-bar .header { top:32px; }
.nav { gap:34px; }
.nav .button { background:transparent; color:var(--navy); border-color:var(--line-strong); }
.nav .button:hover { background:var(--navy); color:var(--white); border-color:var(--navy); }
.hero h1 { font-size:var(--type-display); }
.hero-grid { gap:var(--space-5); }
.hero-figure { padding:16px 0 16px 16px; border-left:1px solid var(--line); }
.figure-caption { margin-inline:20px 8px; }
.mission-section { background:var(--navy-deep); color:var(--white); padding-block:var(--space-7); }
.mission-section .eyebrow { color:var(--on-navy); }
.mission-section h2 { font-weight:400; line-height:1.4; letter-spacing:-.025em; }
.services-section { background:var(--white); border-top:0; }
.service-grid { column-gap:32px; border-top:0; }
.service-card { border:0; border-top:1px solid var(--line-strong); min-height:392px; padding:32px 8px 40px 0; }
.service-card:nth-child(3n) { border-right:0; }
.service-card h3 { max-width:20ch; }
.service-card p { max-width:37ch; }
.service-card:hover,.service-card:focus-within { background:transparent; }
.service-card .icon { transition:color var(--micro) var(--ease); }
.service-card:hover .text-link .arrow,.service-card:focus-within .text-link .arrow { transform:translate(3px,-3px); }
.service-card .text-link { border-top:1px solid var(--line); padding-top:16px; }
.service-note { margin-block:0 32px; padding:40px 32px; background:var(--navy); }
.service-note h3 { font-weight:400; }
.why-section { background:var(--paper); border-bottom:1px solid var(--line); }
.why-grid { gap:96px; }
.why-section .why-grid>div:last-child { padding-top:56px; }
.editorial-photo { position:relative; background:var(--surface-blue); }
.editorial-photo picture { display:block; width:100%; height:100%; }
.editorial-photo img { object-position:var(--focal,50% 50%); filter:saturate(.8); transition:transform 700ms var(--ease); }
.photo-knowledge { --focal:50% 58%; }
.photo-review { --focal:48% 48%; }
.photo-planning { --focal:50% 52%; }
.photo-collaboration { --focal:50% 52%; }
.home-editorial-photo { aspect-ratio:var(--ratio-landscape); margin-top:40px; }
.home-editorial-photo:after { content:''; position:absolute; inset:auto 0 0 auto; width:56px; height:1px; background:var(--blue); }
.process-section { background:var(--white); border-top:0; }
.step { position:relative; border-top-color:var(--line-strong); }
.step:before { content:''; position:absolute; top:-1px; left:0; width:32px; height:1px; background:var(--blue); transform-origin:left; }
.page-hero { background:var(--paper); border-bottom:1px solid var(--line); }
.service-hero h1 { font-weight:400; line-height:1.16; max-width:22ch; }
.service-hero .page-hero-layout { gap:72px; align-items:start; }
.service-hero-copy { padding-top:8px; }
.service-hero-photo { aspect-ratio:var(--ratio-editorial); margin-top:8px; }
.service-hero-photo:before { content:''; position:absolute; inset:0 auto auto 0; width:40px; height:1px; background:var(--blue); z-index:1; }
[data-page=data-migration] .service-hero-photo { margin-top:64px; aspect-ratio:5/4; }
[data-page=managed-services] .service-hero-photo { aspect-ratio:4/3; margin-top:64px; }
[data-page=managed-services] .service-hero-photo img { object-position:var(--focal); }
[data-page=ai-enablement] .service-hero-photo { aspect-ratio:4/5; }
[data-page=talent-placement] .service-hero-photo { aspect-ratio:5/4; margin-top:24px; }
[data-page=services] .page-hero-layout { grid-template-columns:1fr; gap:48px; }
[data-page=services] .page-hero-copy { max-width:860px; }
[data-page=services] .service-hero h1 { font-size:clamp(40px,4.4vw,62px); }
[data-page=services] .service-hero-photo { aspect-ratio:21/8; width:calc(100% - 112px); justify-self:end; margin-top:0; }
[data-page=services] .service-hero-photo img { object-position:50% 46%; }
.service-content .split-section:first-child .prose { border-left:2px solid var(--blue); padding-left:32px; }
.service-content .split-section+.split-section { padding-top:72px; }
.outcomes-section { background:var(--navy-deep); color:var(--white); border:0; }
.outcomes-section .eyebrow { color:var(--on-navy); }
.outcomes-section h2 { font-weight:400; max-width:22ch; }
.outcomes p { color:var(--on-navy); border-color:var(--line-inverse); font-size:18px; }
.related { display:grid; grid-template-columns:1fr 1fr; gap:0 64px; margin-top:48px; }
.related a { display:block; padding:22px 0; font-size:17px; transition:color var(--micro) var(--ease),border-color var(--micro) var(--ease); }
.related a:hover { border-color:var(--blue); }
.about-photo { width:calc(100% + 48px); margin-left:-24px; aspect-ratio:21/8; margin-bottom:96px; }
.about-content .split-section { grid-template-columns:4fr 7fr; gap:112px; }
.about-content .split-section+.split-section { border-top:1px solid var(--line); padding-top:72px; margin-top:88px; }
[data-page=why-deservio] .principles-photo { aspect-ratio:4/5; }
[data-page=why-deservio] .why-grid>div:last-child { padding-top:64px; }
.contact-note { background:var(--surface-blue); border-color:var(--line-strong); }
.contact-copy h1 { font-weight:400; }
.cta { background:var(--navy); padding-block:var(--space-7); }
.cta h2 { font-weight:400; }
.footer { border-top:1px solid var(--line); }

/* One-shot entrances: no hidden waiting state and no continuous distraction. */
@keyframes editorial-enter { from { opacity:.4; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes image-enter { from { clip-path:inset(0 0 10% 0); } to { clip-path:inset(0); } }
@keyframes line-enter { from { transform:scaleX(.25); } to { transform:scaleX(1); } }
@keyframes flow-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes flow-resolve { 0%,100% { transform:translateY(0); } 45% { transform:translateY(-4px); } }
@media(prefers-reduced-motion:no-preference) {
  .reveal-enter { animation:editorial-enter var(--reveal) var(--ease) var(--reveal-delay,0ms) backwards; }
  .image-enter { animation:image-enter 750ms var(--ease); }
  .step.reveal-enter:before { animation:line-enter var(--reveal) var(--ease); }
  .flow-enter .flow-input,.flow-enter .flow-output { stroke-dasharray:1; animation:flow-draw 1200ms var(--ease) both; }
  .flow-enter .flow-output { animation-delay:650ms; animation-duration:700ms; }
  .flow-enter .flow-transform { animation:flow-resolve 1400ms var(--ease); }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .editorial-photo:hover img { transform:scale(1.025); }
}
@media(max-width:1100px) {
  .nav { gap:24px; }
  .section { padding-block:var(--space-7); }
  .why-grid,.service-hero .page-hero-layout,.about-content .split-section { gap:56px; }
  .service-card { min-height:390px; }
  .about-photo { width:100%; margin-left:0; }
}
@media(max-width:800px) {
  html { scroll-padding-top:96px; }
  .header-inner { height:88px; }
  .header.is-scrolled .header-inner { height:76px; }
  .nav { top:100%; padding:16px 32px 32px; gap:0; max-height:calc(100vh - 88px); max-height:calc(100dvh - 88px); overflow-y:auto; overscroll-behavior:contain; }
  .admin-bar .nav { max-height:calc(100dvh - 134px); }
  .nav>a:not(.button) { border-top:1px solid var(--line); padding:18px 0; font-size:20px; font-family:var(--font-display); }
  .nav .button { margin-top:20px; background:var(--navy); color:var(--white); }
  .menu-toggle[aria-expanded=true] { border-color:var(--navy); }
  html:not(.js) .header { position:relative; }
  html:not(.js) .header .header-inner { height:auto; flex-wrap:wrap; padding-block:20px; gap:12px; }
  html:not(.js) .header .menu-toggle { display:none; }
  html:not(.js) .header .nav { display:flex; position:static; width:100%; max-height:none; overflow:visible; padding:12px 0 0; }
  .hero-figure { padding:0; border:0; justify-self:center; }
  .section { padding-block:72px; }
  .mission-section { padding-block:64px; }
  .service-card,.service-card:nth-child(3n) { border-right:0; }
  .service-note { margin-bottom:24px; }
  .why-grid,.about-content .split-section { grid-template-columns:1fr; gap:40px; }
  .why-section .why-grid>div:last-child,[data-page=why-deservio] .why-grid>div:last-child { padding-top:0; }
  .service-hero .page-hero-layout { gap:40px; }
  .service-hero-photo,[data-page=data-migration] .service-hero-photo,[data-page=managed-services] .service-hero-photo,[data-page=ai-enablement] .service-hero-photo,[data-page=talent-placement] .service-hero-photo { aspect-ratio:16/9; margin-top:0; }
  [data-page=services] .service-hero-photo { width:100%; aspect-ratio:16/9; }
  .photo-knowledge { --focal:50% 57%; }
  .service-content .split-section:first-child .prose { padding-left:24px; }
  .outcomes { gap:32px; }
  .outcomes p { font-size:16px; }
  .about-photo { aspect-ratio:16/9; margin-bottom:64px; }
  [data-page=why-deservio] .principles-photo { aspect-ratio:16/9; }
  .about-content .split-section+.split-section { padding-top:48px; margin-top:64px; }
  .related { gap:0 32px; }
  .cta { padding-block:64px; }
}
@media(max-width:782px) { .admin-bar .header { top:46px; } }
@media(max-width:600px) { .admin-bar .header { top:0; } }
@media(max-width:520px) {
  .header-inner { height:80px; }
  .header.is-scrolled .header-inner { height:72px; }
  .nav { padding-inline:24px; }
  .hero h1 { font-size:clamp(33px,9.7vw,40px); }
  .section { padding-block:64px; }
  .mission-section { padding-block:56px; }
  .mission-section h2 { font-size:27px; }
  .service-grid { gap:0; }
  .service-card { min-height:0; padding:28px 0 36px; }
  .service-note { margin-block:12px 0; }
  .service-hero-photo,[data-page=data-migration] .service-hero-photo,[data-page=managed-services] .service-hero-photo,[data-page=ai-enablement] .service-hero-photo,[data-page=talent-placement] .service-hero-photo,[data-page=services] .service-hero-photo { aspect-ratio:4/3; }
  [data-page=ai-enablement] .service-hero-photo { aspect-ratio:4/5; }
  .service-hero h1,[data-page=services] .service-hero h1 { font-size:36px; }
  .service-content .split-section+.split-section { padding-top:40px; }
  .home-editorial-photo,.about-photo,[data-page=why-deservio] .principles-photo { aspect-ratio:4/3; }
  .outcomes p { font-size:17px; }
  .related { grid-template-columns:1fr; margin-top:32px; }
  .related a { font-size:16px; padding-block:20px; }
  .cta { padding-block:56px; }
}
/* Keep navigation composed at intermediate tablet widths and on narrow phones. */
.menu-toggle { flex-shrink:0; white-space:nowrap; }
.nav>a { white-space:nowrap; }
.related a { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.related .arrow { flex-shrink:0; transition:transform var(--micro) var(--ease); }
.related a:hover .arrow,.related a:focus-visible .arrow { transform:translate(3px,-3px); }
@media(max-width:960px) {
  .header-inner { height:88px; }
  .header.is-scrolled .header-inner { height:76px; }
  .menu-toggle { display:inline-flex; align-items:center; gap:8px; }
  .menu-icon { margin-left:0; }
  .nav { display:none; position:absolute; top:100%; left:0; width:100%; background:var(--white); padding:16px 32px 32px; border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:0; max-height:calc(100vh - 88px); max-height:calc(100dvh - 88px); overflow-y:auto; overscroll-behavior:contain; }
  .nav.open { display:flex; }
  .admin-bar .nav { max-height:calc(100dvh - 134px); }
  .nav>a:not(.button) { border-top:1px solid var(--line); padding:18px 0; font-size:20px; font-family:var(--font-display); }
  .nav>a:not(.button):after { display:none; }
  .nav .button { margin-top:20px; background:var(--navy); color:var(--white); }
  .menu-toggle[aria-expanded=true] { border-color:var(--navy); }
  html:not(.js) .header { position:relative; }
  html:not(.js) .header .header-inner { height:auto; flex-wrap:wrap; padding-block:20px; gap:12px; }
  html:not(.js) .header .menu-toggle { display:none; }
  html:not(.js) .header .nav { display:flex; position:static; width:100%; max-height:none; overflow:visible; padding:12px 0 0; }
}
@media(max-width:520px) {
  .header-inner { height:80px; gap:12px; }
  .header.is-scrolled .header-inner { height:72px; }
  .nav { padding-inline:24px; }
}
@media(max-width:360px) {
  .header .logo img { width:144px; }
  .hero h1 { font-size:clamp(30px,9.3vw,33px); }
}
@media(min-width:801px) and (max-width:1100px) {
  .figure-caption { flex-direction:column; gap:6px; margin-inline:12px; }
  .figure-caption span { white-space:nowrap; }
}

.page-index { display:flex; align-items:center; flex-wrap:wrap; gap:12px 32px; margin-top:48px; padding-top:20px; border-top:1px solid var(--line); }
.page-index>span { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-right:auto; }
.page-index a { font-size:13px; min-height:44px; display:flex; align-items:center; padding-block:8px; border-bottom:1px solid transparent; transition:color var(--micro) var(--ease),border-color var(--micro) var(--ease); }
.page-index a:hover,.page-index a:focus-visible { border-bottom-color:var(--blue); color:var(--blue); }
h2[tabindex="-1"]:focus-visible { outline:2px solid var(--blue); outline-offset:8px; }
.outcomes-section h2[tabindex="-1"]:focus-visible { outline-color:var(--white); }
.admin-bar h2[tabindex="-1"] { scroll-margin-top:46px; }
@media(max-width:800px) {
  .page-index { gap:8px 24px; margin-top:32px; }
  .page-index>span { width:100%; }
}
@media(max-width:520px) {
  .page-index { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
  .page-index>span { grid-column:1/-1; margin-bottom:4px; }
}

/* A larger photographic anchor within the existing homepage Why section. */
.home-why-heading { display:grid; grid-template-columns:5fr 6fr; gap:96px; align-items:start; }
.home-why-heading .eyebrow { margin-top:10px; }
.home-why-heading h2 { max-width:22ch; font-size:var(--type-section); }
.why-section .home-editorial-photo { aspect-ratio:21/8; width:100%; margin:48px 0 64px; }
.why-section .why-grid>div:last-child { padding-top:0; }
.why-section .why-grid .lead { margin-top:0; max-width:50ch; font-size:17px; }

/* Service diagrams repeat the brand's precise input → process → outcome language. */
.service-flow { margin:64px 0 72px; padding:28px 32px 36px; background:var(--paper); border-block:1px solid var(--line); }
.service-flow-caption { display:flex; justify-content:space-between; gap:24px; padding-bottom:20px; border-bottom:1px solid var(--line); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.service-flow-caption>span:first-child { color:var(--blue); }
.flow-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:32px 0 0; gap:0; }
.flow-stages li { position:relative; min-width:0; }
.flow-node { display:block; width:120px; height:80px; color:var(--navy); margin:0 auto 24px; }
.flow-stage-label { display:flex; align-items:baseline; gap:12px; max-width:260px; margin-inline:auto; padding-inline:12px; }
.flow-stage-label span { font-size:10px; color:var(--blue); }
.flow-stage-label strong { font-family:var(--font-display); font-size:20px; line-height:1.3; letter-spacing:-.02em; font-weight:400; }
.stage-connector { position:absolute; top:34px; left:calc(50% + 60px); width:calc(100% - 120px); height:12px; color:var(--blue); }
.service-content .service-flow+.split-section { margin-top:0; padding-top:0; border-top:0; }
[data-page=enterprise-service-management] .service-hero .page-hero-layout { grid-template-columns:minmax(0,6fr) minmax(0,5fr); }
[data-page=data-migration] .service-hero .page-hero-layout { grid-template-columns:1fr; gap:48px; }
[data-page=data-migration] .page-hero-copy { max-width:900px; }
[data-page=data-migration] .service-hero .lead { max-width:65ch; }
[data-page=data-migration] .service-hero-photo { aspect-ratio:21/8; width:calc(100% - 176px); justify-self:end; margin-top:0; }
[data-page=managed-services] .service-hero .page-hero-layout { grid-template-columns:minmax(0,5fr) minmax(0,6fr); align-items:center; }
[data-page=managed-services] .service-hero-photo { margin-top:0; aspect-ratio:16/11; }
[data-page=talent-placement] .service-hero-photo { aspect-ratio:4/5; }
@media(prefers-reduced-motion:no-preference) {
  .flow-enter .flow-link { stroke-dasharray:1; animation:flow-draw 900ms var(--ease) both; }
  .flow-enter li:nth-child(2) .flow-link { animation-delay:180ms; }
}
@media(max-width:1100px) {
  .home-why-heading { gap:56px; }
  .flow-stage-label strong { font-size:18px; }
}
@media(max-width:800px) {
  .home-why-heading { grid-template-columns:1fr; gap:16px; }
  .home-why-heading .eyebrow { margin:0; }
  .home-why-heading h2 { max-width:25ch; }
  .why-section .home-editorial-photo { aspect-ratio:16/9; margin:32px 0 40px; }
  .service-flow { padding:24px; margin:48px 0; }
  .flow-stage-label { padding-inline:8px; }
  .flow-node { width:96px; height:64px; }
  .stage-connector { top:26px; left:calc(50% + 48px); width:calc(100% - 96px); }
  [data-page=enterprise-service-management] .service-hero .page-hero-layout,
  [data-page=managed-services] .service-hero .page-hero-layout { grid-template-columns:1fr; }
  [data-page=data-migration] .service-hero-photo,[data-page=managed-services] .service-hero-photo,[data-page=talent-placement] .service-hero-photo { width:100%; aspect-ratio:16/9; }
}
@media(max-width:520px) {
  .home-why-heading h2 { font-size:32px; max-width:22ch; }
  .why-section .home-editorial-photo { aspect-ratio:4/3; margin:28px 0 32px; }
  .why-section .why-grid .lead { font-size:16px; }
  .service-flow { padding:24px 16px 28px; }
  .service-flow-caption { flex-direction:column; gap:8px; font-size:10px; }
  .flow-stages { grid-template-columns:1fr; gap:40px; margin-top:24px; }
  .flow-stages li { display:grid; grid-template-columns:88px minmax(0,1fr); gap:16px; align-items:center; }
  .flow-node { width:88px; height:60px; margin:0; }
  .flow-stage-label { display:block; padding:0; margin:0; }
  .flow-stage-label span { display:block; margin-bottom:8px; }
  .flow-stage-label strong { display:block; font-size:18px; }
  .stage-connector { top:calc(100% + 14px); left:24px; width:40px; height:12px; transform:rotate(90deg); }
  [data-page=data-migration] .service-hero-photo,[data-page=managed-services] .service-hero-photo,[data-page=talent-placement] .service-hero-photo { aspect-ratio:4/3; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
  .reveal-enter,.image-enter { opacity:1; transform:none; clip-path:none; }
  .flow-input,.flow-output,.flow-link { stroke-dasharray:none; stroke-dashoffset:0; }
}

/* Phone composition: readable measures and compact, deliberate hierarchy. */
@media(max-width:520px) {
  .section { padding-block:52px; }
  .eyebrow { line-height:1.5; }
  .hero .eyebrow { font-size:10px; letter-spacing:.055em; }
  .hero-copy>p,.page-hero .lead,.contact-copy>p,.prose p { line-height:1.7; }
  .hero-grid { gap:24px; }
  .hero-figure { max-width:260px; margin-top:0; }
  .hero-figure .flow { max-height:200px; }
  .figure-caption { flex-direction:column; align-items:center; gap:4px; font-size:10px; letter-spacing:.06em; }
  .pillars { margin-top:24px; }
  .intro-grid h2 { font-size:25px; line-height:1.38; }
  .section-top h2,.home-why-heading h2,.why-grid h2,.process-section h2,
  .outcomes-section h2,.cta h2 { font-size:clamp(28px,7.7vw,32px); line-height:1.24; }
  .page-hero h1,.service-hero h1,[data-page=services] .service-hero h1,
  .contact-copy h1 { font-size:clamp(30px,8.5vw,36px); line-height:1.18; text-wrap:balance; }
  .breadcrumb { gap:8px 12px; line-height:1.5; margin-bottom:20px; }
  .breadcrumb>span[aria-current] { max-width:calc(100% - 72px); }
  .service-hero .page-hero-layout,[data-page=data-migration] .service-hero .page-hero-layout { gap:28px; }
  .service-hero .actions .button,.cta-inner>.button { width:100%; justify-content:space-between; padding-inline:20px; font-size:14px; }
  [data-page=ai-enablement] .service-hero-photo { aspect-ratio:4/3; }
  .service-card { display:grid; grid-template-columns:minmax(0,1fr) 36px; column-gap:20px; padding:24px 0 28px; }
  .service-card .card-top { grid-column:2; grid-row:1; flex-direction:column; align-items:center; gap:10px; margin:0; }
  .service-card h3 { grid-column:1; grid-row:1; font-size:24px; max-width:19ch; }
  .service-card p,.service-card .text-link { grid-column:1/-1; }
  .service-card p { line-height:1.7; margin:16px 0 12px; }
  .service-note { padding:24px; min-height:0; }
  .service-note h3 { font-size:27px; }
  .principle { grid-template-columns:20px minmax(0,1fr); gap:12px; padding:24px 0; }
  .principle h3 { font-size:22px; }
  .principle p { line-height:1.7; margin-top:12px; }
  .step h3 { font-size:22px; }
  .step p { line-height:1.7; }
  .service-content .split-section:first-child .prose { padding-left:16px; }
  .included li { gap:14px; line-height:1.7; }
  .service-flow { margin-block:36px; }
  .flow-stages { gap:32px; }
  .flow-stages li { grid-template-columns:72px minmax(0,1fr); gap:12px; }
  .flow-node { width:72px; height:52px; }
  .flow-stage-label strong { font-size:17px; }
  .flow-stage-label span { margin-bottom:4px; }
  .stage-connector { left:16px; top:calc(100% + 10px); width:32px; }
  .outcomes p { font-size:16px; line-height:1.7; }
  .page-index { gap:4px 12px; margin-top:28px; padding-top:16px; }
  .page-index a { font-size:13px; line-height:1.5; }
  .related a { line-height:1.5; gap:16px; }
  .contact-layout { padding-top:36px; gap:32px; }
  .contact-note { padding:20px; margin-top:28px; }
  .contact-note h2 { font-size:22px; }
  .contact-form { padding-top:28px; }
  .form-grid { gap:20px; }
  .field { gap:8px; }
  input,select,textarea { font-size:16px; }
  .footer-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:28px 20px; }
  .footer-brand { grid-column:1/-1; }
  .footer-links { align-items:stretch; }
  .footer-links a { font-size:14px; }
  .footer h3 { margin-bottom:12px; }
  .footer-bottom { margin-top:32px; }
}
@media(max-width:360px) {
  .wrap { width:calc(100% - 40px); }
  .nav { padding-inline:20px; }
  .hero-figure { max-width:240px; }
  .hero-figure .flow { max-height:184px; }
}

/* Native WordPress menu markup uses the same existing navigation geometry. */
.nav-list,.footer-menu,.nav-list .sub-menu,.footer-menu .sub-menu { list-style:none; padding:0; margin:0; }
.nav-list { display:flex; align-items:center; gap:34px; }
.nav-list li { position:relative; }
.legal-hero h1 { max-width:900px; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,760px); gap:64px; align-items:start; }
.legal-index { border-top:1px solid var(--line); padding-top:20px; }
.legal-index summary { cursor:pointer; color:var(--navy); font-size:15px; font-weight:600; padding-bottom:12px; }
.legal-index nav { display:grid; }
.legal-index a { padding:10px 0; font-size:13px; line-height:1.5; border-bottom:1px solid var(--line); }
.legal-index a:hover { color:var(--blue); }
.legal-copy { min-width:0; overflow-wrap:anywhere; }
.legal-copy h2 { font-size:28px; line-height:1.3; margin:48px 0 20px; padding-top:24px; border-top:1px solid var(--line); scroll-margin-top:130px; }
.legal-copy h2:first-child { margin-top:0; }
.legal-copy p,.legal-copy li { font-size:16px; line-height:1.85; }
.legal-copy p { margin:0 0 20px; }
.legal-copy ul { padding-left:22px; margin:20px 0; }
.legal-copy li+li { margin-top:10px; }
.legal-copy a,.form-foot a { text-decoration:underline; text-underline-offset:3px; }
.legal-copy .wp-block-group { padding:24px; background:var(--paper); border:1px solid var(--line); margin-bottom:40px; }
@media(max-width:900px) { .legal-layout { grid-template-columns:1fr; gap:32px; } .legal-index { max-width:760px; } }
@media(max-width:520px) { .legal-copy h2 { font-size:24px; margin-top:36px; scroll-margin-top:100px; } .legal-copy .wp-block-group { padding:20px; } }
.nav-list>li>a { display:block; padding:12px 0; font-size:14px; font-weight:500; white-space:nowrap; }
.nav-list a[aria-current],.nav-list .current-menu-item>a,.nav-list .current-menu-ancestor>a { color:var(--blue); text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:1px; }
.nav-list>li>a:hover,.nav-list>li>a:focus-visible { text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:1px; }
.nav-list .sub-menu { display:none; position:absolute; top:100%; left:0; min-width:240px; background:var(--white); border:1px solid var(--line); padding:12px 20px; }
.nav-list .sub-menu a { display:block; padding:10px 0; line-height:1.5; }
.nav-list li:hover>.sub-menu,.nav-list li:focus-within>.sub-menu { display:block; }
.nav-list .sub-menu .sub-menu { left:100%; top:0; }
.footer-menu a { display:block; }
.footer-menu .sub-menu { padding-left:16px; }
.prose ul,.prose ol { padding-left:24px; color:var(--muted); }
.prose h2,.prose h3 { margin-block:24px 16px; }
@media(max-width:1100px) { .nav-list { gap:24px; } }
@media(max-width:960px) {
  .nav-list { display:block; }
  .nav-list>li>a { border-top:1px solid var(--line); padding:18px 0; font:20px/1.5 var(--font-display); white-space:normal; }
  .nav-list .sub-menu,.nav-list .sub-menu .sub-menu { display:block; position:static; border:0; padding:0 0 12px 16px; min-width:0; }
  .nav-list .sub-menu a { font-size:16px; }
}

/* Manrope / Inter typography and restrained, arrow-free actions. */
.certifications-section { border-top:1px solid var(--line); background:var(--paper); }
.certifications-intro { display:grid; grid-template-columns:1.65fr 1fr; gap:64px; align-items:end; }
.certifications-intro h2 { max-width:32ch; line-height:1.22; }
.certifications-intro p { font-size:17px; line-height:1.7; max-width:42ch; }
.certifications-intro .certifications-review { font-size:10px; margin-top:20px; color:var(--muted); }
.certifications-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:48px; }
.certification-card { padding:32px 28px; background:var(--white); border:1px solid var(--line); transition:border-color 180ms var(--ease); }
.certification-image { height:190px; display:flex; align-items:center; justify-content:center; }
.certification-image img { display:block; max-width:100%; width:auto; height:auto; max-height:180px; object-fit:contain; }
.certification-card h3 { font-size:22px; line-height:1.35; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
@media(hover:hover) and (pointer:fine) { .certification-card:hover { border-color:var(--line-strong); } }
@media(max-width:900px) {
 .certifications-intro { grid-template-columns:1fr; gap:24px; }
 .certifications-grid { gap:20px; }
 .certification-card { padding:24px 20px; }
 .certification-card h3 { font-size:20px; }
}
@media(max-width:700px) {
 .certifications-grid { grid-template-columns:1fr; gap:24px; margin-top:32px; }
 .certification-image { height:180px; }
 .certification-image img { max-height:170px; }
 .certification-card h3 { margin-top:24px; }
 .certifications-intro p { font-size:16px; }
}
.talent-paths { margin-block:64px; padding-top:40px; border-top:1px solid var(--line); }
.talent-paths>h2 { max-width:24ch; }
.talent-path-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:40px; }
.talent-path-grid article { display:flex; flex-direction:column; align-items:flex-start; padding-top:24px; border-top:1px solid var(--line-strong); scroll-margin-top:112px; }
.talent-path-grid .small-label { color:var(--blue); font-size:11px; margin-bottom:20px; }
.talent-path-grid h3 { font-size:28px; line-height:1.25; max-width:22ch; }
.talent-path-grid p { font-size:16px; line-height:1.7; margin-top:20px; }
.talent-path-grid .talent-path-detail { margin-bottom:24px; }
.talent-path-grid .actions { margin-top:auto; }
.talent-path-grid .talent-network-note { font-size:13px; margin-top:16px; }
.talent-network-note a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.photo-talent-review { --focal:50% 45%; }
@media(max-width:800px) {
  .talent-paths { margin-block:48px; padding-top:32px; }
  .talent-path-grid { grid-template-columns:1fr; gap:40px; margin-top:32px; }
  .talent-path-grid h3 { font-size:26px; }
  .talent-path-grid .actions { margin-top:0; }
}
h1,h2,h3,h4,.hero h1,.intro-grid h2,.service-card h3,.service-note h3,
.page-hero h1,.mission-section h2,.service-hero h1,.outcomes-section h2,
.contact-copy h1,.cta h2,.footer h3 {
  font-family:Manrope,sans-serif;
  font-weight:500;
  letter-spacing:-.025em;
}
body,p,a,button,input,select,textarea,.button,.text-link,.nav-list>li>a {
  font-family:Inter,sans-serif;
  font-weight:400;
}
.eyebrow,.hero .eyebrow,.small-label {
  font-family:Inter,sans-serif;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nav>a:not(.button),.nav-list>li>a,.nav-list .sub-menu a,.button,.text-link,.menu-toggle {
  font-family:Inter,sans-serif;
  font-weight:500;
}
body { font-size:17px; line-height:1.65; }
.hero-copy>p,.page-hero .lead,.service-hero .lead,.contact-copy>p,.prose p {
  line-height:1.7;
}
.service-card p,.principle p,.audience p,.contact-note p { font-size:16px; line-height:1.7; }
.step p,.footer p,.footer-links a { font-size:15px; line-height:1.65; }
.included li { line-height:1.7; }
.service-card p,.principle p,.audience p,.contact-note p,.cta p { margin-top:24px; }
.form-head p { margin-top:16px; line-height:1.65; }
.text-link { font-size:14px; }
.service-card h3 { line-height:1.25; }
@media(min-width:961px) {
  .nav>a:not(.button),.nav-list>li>a { font-size:15px; }
}
@media(min-width:601px) {
  .service-card h3 { min-height:2.5em; }
}
@media(max-width:600px) {
  body { font-size:16px; }
  .hero-copy>p,.page-hero .lead,.service-hero .lead,.contact-copy>p,.prose p { font-size:16px; }
  .service-card p,.principle p,.audience p,.contact-note p,.cta p { margin-top:20px; }
  .footer-links a { font-size:14px; }
}
.button,.hero .button,.hero .button.secondary,.service-hero .actions .button,.cta-inner>.button {
  justify-content:center;
  gap:0;
  padding:15px 30px;
  min-height:52px;
  border-radius:2px;
  letter-spacing:.02em;
  text-align:center;
  transition:background-color 180ms var(--ease),border-color 180ms var(--ease),color 180ms var(--ease),transform 180ms var(--ease);
}
.button:hover { background:var(--blue); border-color:var(--blue); color:var(--white); }
.button.secondary { border:1px solid var(--line-strong); background:transparent; color:var(--navy); }
.button.secondary:hover { border-color:var(--navy); background:var(--navy); color:var(--white); }
.nav .button:hover { background:var(--navy); border-color:var(--navy); color:var(--white); }
.cta .button:hover { background:var(--surface-blue); border-color:var(--surface-blue); color:var(--navy); }
.button:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.cta .button:focus-visible { outline-color:var(--white); }
.button:active { transform:translateY(1px); }
.button:disabled { transform:none; }
.text-link { transition:color 180ms var(--ease),border-color 180ms var(--ease); }
.text-link .arrow { font-size:18px; transition:transform 180ms var(--ease); }
.text-link:hover .arrow,.text-link:focus-visible .arrow,.service-note .text-link:hover span,
.service-card:hover .text-link .arrow,.service-card:focus-within .text-link .arrow { transform:translateX(3px); }
.text-link:hover { color:var(--blue); border-color:var(--blue); }
.service-note .text-link:hover { color:var(--white); border-color:var(--white); }
@media(hover:hover) and (pointer:fine) {
  .button:not(:disabled):hover { transform:translateY(-2px); }
  .button:not(:disabled):active { transform:translateY(1px); }
}
@media(prefers-reduced-motion:reduce) {
  .button { transition:none; }
  .button:not(:disabled):hover,.button:not(:disabled):active { transform:none; }
}
@media(max-width:600px) {
  .hero .actions { gap:12px; }
  .hero .button.secondary { border:1px solid var(--line-strong); }
}

/* Photographic landing direction: shared with native WordPress and preview. */
.photo-landing.hero,.photo-landing.page-hero { padding:0; background:#fff; border:0; overflow:hidden; }
.landing-stage { position:relative; isolation:isolate; min-height:650px; background:#eff3f5; }
.landing-stage > .wrap { position:relative; z-index:1; padding-top:88px; padding-bottom:112px; }
.photo-landing .landing-backdrop { position:absolute; inset:0; margin:0; width:100%; height:100%; aspect-ratio:auto; border:0; }
.landing-backdrop picture,.landing-backdrop img { display:block; width:100%; height:100%; }
.photo-landing .landing-backdrop img { object-fit:cover; object-position:center; filter:none; transform:none; transition:none; }
.photo-landing .hero-grid,.photo-landing .page-hero-layout { display:block; margin:0; }
.photo-landing .hero-copy,.photo-landing .page-hero-copy { max-width:610px; padding:0; }
.photo-landing h1 { font-size:clamp(42px,4.4vw,64px); line-height:1.12; letter-spacing:-.028em; max-width:610px; margin:22px 0 26px; }
.photo-landing .hero-copy p,.photo-landing .page-hero-copy .lead { max-width:535px; font-size:18px; line-height:1.65; color:var(--navy); margin:0; }
.photo-landing .actions { margin-top:32px; gap:16px; }
.photo-landing .button.secondary { background:rgba(255,255,255,.78); border-color:var(--navy); }
.photo-landing .button.secondary:hover { background:var(--navy); }
.photo-landing .hero-closing { color:var(--blue); display:block; }
.photo-landing .breadcrumb { margin-bottom:32px; color:var(--navy); }
.landing-edge { position:absolute; z-index:2; left:0; bottom:-1px; width:100%; height:60px; color:#fff; pointer-events:none; }
.landing-proof { display:grid; grid-template-columns:1fr 310px; align-items:center; gap:64px; padding-top:12px; padding-bottom:40px; }
.photo-landing .pillars { margin:0; border:0; display:flex; justify-content:space-between; gap:24px; }
.photo-landing .pillar { border:0; padding:0; font-size:17px; display:flex; align-items:center; gap:12px; }
.photo-landing .pillar span { font-size:12px; color:var(--blue); }
.landing-proof .hero-figure { margin:0; max-width:none; border:0; padding:0; display:flex; align-items:center; gap:18px; }
.landing-proof .flow { width:120px; height:100px; flex:none; }
.landing-proof .figure-caption { display:flex; flex-direction:column; gap:8px; border:0; margin:0; padding:0; font-size:10px; line-height:1.6; }
.landing-index .page-index { margin:0; padding:24px 0; border-top:0; border-bottom:1px solid var(--line); }
.social-links { display:flex; gap:12px; margin-top:24px; }
.social-links a { width:44px; height:44px; display:inline-flex; justify-content:center; align-items:center; border:1px solid var(--line-strong); color:var(--navy); border-radius:2px; transition:color .18s,background-color .18s,border-color .18s; }
.social-links a:hover { color:#fff; background:var(--navy); border-color:var(--navy); }
.social-links a:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
@media(min-width:961px) {
 .landing-stage::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,.3) 42%,transparent 65%); pointer-events:none; }
}
@media(max-width:1100px) and (min-width:961px) {
 .photo-landing .hero-copy,.photo-landing .page-hero-copy { max-width:54%; }
 .photo-landing h1 { font-size:48px; }
 .landing-stage > .wrap { padding-top:64px; }
 .landing-proof { gap:32px; grid-template-columns:1fr 250px; }
}
@media(max-width:960px) {
 .landing-stage { min-height:0; padding-bottom:330px; background:#f5f7f8; }
 .landing-stage > .wrap { padding-top:48px; padding-bottom:36px; }
 .photo-landing .landing-backdrop { top:auto; bottom:0; height:330px; }
 .photo-landing .landing-backdrop img { object-position:70% center; }
 .photo-landing .hero-copy,.photo-landing .page-hero-copy { max-width:640px; }
 .photo-landing h1 { font-size:clamp(36px,6vw,48px); margin:18px 0 24px; max-width:620px; line-height:1.15; }
 .photo-landing .hero-copy p,.photo-landing .page-hero-copy .lead { font-size:17px; line-height:1.65; }
 .photo-landing .breadcrumb { margin-bottom:24px; font-size:12px; }
 .photo-landing .actions { margin-top:28px; }
 .landing-edge { height:38px; }
 .landing-proof { grid-template-columns:1fr; gap:22px; padding-top:18px; padding-bottom:28px; }
 .landing-proof .hero-figure { width:100%; justify-content:center; border-top:1px solid var(--line); padding-top:16px; }
 .landing-proof .flow { width:100px; height:86px; }
 .landing-index .page-index { padding:20px 0; }
}
@media(max-width:600px) {
 .header-inner,.header.is-scrolled .header-inner { height:72px; }
 .header .logo img { width:clamp(144px,42vw,174px); }
 .nav { padding-inline:20px; max-height:calc(100dvh - 72px); }
 .wrap { width:calc(100% - 40px); }
 .menu-toggle { min-height:44px; }
 .landing-stage > .wrap { padding-top:36px; padding-bottom:32px; }
 .landing-stage { --mobile-photo-height:clamp(220px,62vw,320px); padding-bottom:var(--mobile-photo-height); }
 .photo-landing .landing-backdrop { height:var(--mobile-photo-height); }
 .page-hero.photo-landing .landing-backdrop img { width:135%; max-width:none; transform:translateX(-25.926%); object-position:right center; }
 .photo-landing h1 { font-size:clamp(30px,8.5vw,40px); line-height:1.17; margin:16px 0 22px; text-wrap:balance; }
 .photo-landing .hero-copy h1 span { display:block; }
 .photo-landing .eyebrow { font-size:10px; letter-spacing:.12em; margin-bottom:0; }
 .photo-landing .hero-copy p,.photo-landing .page-hero-copy .lead { font-size:16px; line-height:1.65; }
 .photo-landing .breadcrumb { flex-wrap:wrap; margin-bottom:22px; }
 .photo-landing .actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
 .photo-landing .actions .button { width:100%; min-height:50px; padding:13px 18px; font-size:14px; }
 .landing-proof { gap:16px; padding-bottom:24px; }
 .landing-proof .hero-figure { flex-direction:row; max-width:none; justify-content:center; gap:16px; }
 .landing-proof .figure-caption { align-items:flex-start; text-align:left; font-size:9px; }
 .landing-proof .flow { width:82px; height:70px; }
 .photo-landing .pillar { font-size:14px; gap:7px; }
 .photo-landing .pillars { gap:12px; }
 .photo-landing .pillar span { font-size:10px; }
 .service-grid,.process-grid,.why-grid,.intro-grid,.contact-layout,.talent-path-grid { grid-template-columns:minmax(0,1fr); }
 .landing-index .page-index { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:4px 16px; }
 .landing-index .page-index > span { grid-column:1/-1; }
 .landing-index .page-index a { min-height:44px; line-height:1.5; }
 .footer-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:28px 20px; }
 .footer-brand { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) { .social-links a { transition:none; } }

/* One composed homepage hero across phones, tablets, landscape and desktop. */
body[data-page=home] { --landing-header-height:96px; }
body[data-page=home] .header .header-inner { height:var(--landing-header-height); }
body[data-page=home] .header { background:transparent; border-bottom-color:transparent; }
body[data-page=home] .header.is-scrolled,body[data-page=home] .header:has(.nav.open) { background:#fff; border-bottom-color:var(--line); }
body[data-page=home] .header .menu-toggle { background:transparent; border-color:transparent; padding-inline:0; }
.hero.photo-landing { margin-top:calc(0px - var(--landing-header-height) - 1px); }
.hero.photo-landing .landing-stage { min-height:760px; padding-bottom:0; }
.hero.photo-landing .landing-stage > .wrap { padding-top:calc(var(--landing-header-height) + 80px); padding-bottom:132px; }
.hero.photo-landing .landing-backdrop { inset:0; height:100%; background:#e8f2fb; }
.hero.photo-landing .landing-backdrop img { position:absolute; bottom:0; width:100%; height:auto; object-fit:contain; mask-image:linear-gradient(180deg,transparent,black 18%); }
.hero.photo-landing .photo-mobile-home img { right:0; width:min(74%,760px); mask-image:linear-gradient(180deg,transparent,black 18%),linear-gradient(90deg,transparent,black 24%); mask-composite:intersect; }
.hero.photo-landing .landing-stage::after { background:linear-gradient(180deg,rgba(255,255,255,.8),transparent 160px),linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,.3) 42%,transparent 65%); }
.hero.photo-landing .hero-copy h1 span { display:block; }
.hero.photo-landing .actions { flex-direction:row; flex-wrap:wrap; align-items:center; }
.hero.photo-landing .actions .button { width:auto; }
.hero.photo-landing .actions .button.secondary { border:0; background:transparent; color:var(--navy); padding-inline:0; margin-inline-start:6px; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; }
.hero.photo-landing .actions .button.secondary:hover { color:var(--navy); background:transparent; text-decoration-thickness:2px; }
@media(max-width:960px) {
 body[data-page=home] { --landing-header-height:88px; }
 .hero.photo-landing .photo-mobile-home img { width:82%; }
 .hero.photo-landing .landing-stage > .wrap { padding-top:152px; padding-bottom:200px; }
 .hero.photo-landing .landing-backdrop img { object-position:40% bottom; }
 .hero.photo-landing .landing-stage::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.66) 48%,rgba(255,255,255,.12) 76%,transparent 94%); }
 .hero.photo-landing .hero-copy { max-width:600px; }
 .hero.photo-landing h1 { font-size:clamp(44px,6vw,54px); }
}
@media(max-width:600px) {
 body[data-page=home] { --landing-header-height:72px; }
 .hero.photo-landing .photo-mobile-home img { width:100%; mask-image:linear-gradient(180deg,transparent,black 18%); mask-composite:add; }
 body[data-page=home] .header { background:transparent; border-bottom-color:transparent; }
 body[data-page=home] .header.is-scrolled,body[data-page=home] .header:has(.nav.open) { background:#fff; border-bottom-color:var(--line); }
 body[data-page=home] .header .menu-toggle { background:transparent; border-color:transparent; padding-inline:0; }
 .hero.photo-landing .landing-stage { min-height:740px; padding-bottom:0; background:#eaf0f3; }
 .hero.photo-landing .landing-stage > .wrap { padding-top:132px; padding-bottom:230px; }
 .hero.photo-landing .landing-backdrop { inset:0; height:100%; }
 .hero.photo-landing .landing-backdrop img { object-position:38% bottom; }
 .hero.photo-landing .landing-stage::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(180deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.64) 48%,rgba(255,255,255,.12) 74%,transparent 92%); }
 .hero.photo-landing h1 { font-size:clamp(35px,9.8vw,44px); line-height:1.12; letter-spacing:-.025em; margin:22px 0 24px; text-wrap:initial; }
 .hero.photo-landing .hero-copy p { max-width:34ch; color:var(--navy); font-size:16px; line-height:1.65; }
 .hero.photo-landing .actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:28px; }
 .hero.photo-landing .actions .button { width:auto; min-height:48px; padding:13px 17px; font-size:13px; letter-spacing:0; }
 .hero.photo-landing .actions .button.secondary { border:0; background:transparent; color:var(--navy); padding-inline:0; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; }
 .hero.photo-landing .actions .button.secondary:hover { color:var(--navy); background:transparent; text-decoration-thickness:2px; }
 .hero.photo-landing .landing-edge { height:56px; }
}
@media(max-width:960px) and (max-height:600px) and (orientation:landscape) {
 .hero.photo-landing .landing-stage { min-height:620px; }
 .hero.photo-landing .landing-stage > .wrap { padding-top:120px; padding-bottom:130px; }
 .hero.photo-landing .hero-copy { max-width:560px; }
 .hero.photo-landing h1 { font-size:40px; }
 .hero.photo-landing .hero-copy p { max-width:48ch; font-size:16px; }
 .hero.photo-landing .landing-backdrop img { object-position:center bottom; }
}

/* Service landing pages share the continuous photographic treatment at every width. */
body:has(.page-hero.photo-landing) { --landing-header-height:96px; }
body:has(.page-hero.photo-landing) .header .header-inner { height:var(--landing-header-height); }
body:has(.page-hero.photo-landing) .header { background:transparent; border-bottom-color:transparent; }
body:has(.page-hero.photo-landing) .header.is-scrolled,
body:has(.page-hero.photo-landing) .header:has(.nav.open) { background:#fff; border-bottom-color:var(--line); }
body:has(.page-hero.photo-landing) .menu-toggle { background:transparent; border-color:transparent; padding-inline:0; }
.page-hero.photo-landing { margin-top:calc(0px - var(--landing-header-height) - 1px); }
.page-hero.photo-landing .landing-stage { min-height:760px; padding-bottom:0; }
.page-hero.photo-landing .landing-stage > .wrap { padding-top:calc(var(--landing-header-height) + 64px); padding-bottom:120px; }
.page-hero.photo-landing .landing-backdrop { inset:0; height:100%; }
.page-hero.photo-landing .landing-backdrop img { width:100%; max-width:100%; transform:none; object-position:center bottom; }
.page-hero.photo-landing .landing-stage::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(180deg,rgba(255,255,255,.86),transparent 180px),linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,255,255,.45) 43%,transparent 70%); }
.page-hero.photo-landing .actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.page-hero.photo-landing .actions .button { width:auto; }
.page-hero.photo-landing .actions .button.secondary { border:0; background:transparent; color:var(--navy); padding-inline:0; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; }
.page-hero.photo-landing .actions .button.secondary:hover { background:transparent; color:var(--navy); text-decoration-thickness:2px; }
@media(max-width:960px) {
 body:has(.page-hero.photo-landing) { --landing-header-height:88px; }
 .page-hero.photo-landing .landing-stage > .wrap { padding-top:140px; padding-bottom:210px; }
 .page-hero.photo-landing .page-hero-copy { max-width:600px; }
 .page-hero.photo-landing .landing-backdrop img { object-position:76% bottom; }
 .page-hero.photo-landing .landing-stage::after { background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.9) 40%,rgba(255,255,255,.7) 62%,rgba(255,255,255,.08) 86%,transparent 100%); }
 .page-hero.photo-landing h1 { font-size:clamp(40px,5.5vw,52px); max-width:22ch; }
}
@media(max-width:600px) {
 body:has(.page-hero.photo-landing) { --landing-header-height:72px; }
 .page-hero.photo-landing .landing-backdrop img { object-position:center bottom; }
 .page-hero.photo-landing .landing-backdrop:has(source[media]) { background:#e8f2fb; }
 .page-hero.photo-landing .landing-backdrop:has(source[media]) img { position:absolute; bottom:0; width:100%; height:auto; object-fit:contain; mask-image:linear-gradient(180deg,transparent,black 18%); }
 .page-hero.photo-landing .landing-stage::after { background:linear-gradient(180deg,rgba(255,255,255,.58) 0%,rgba(255,255,255,.62) 68%,rgba(255,255,255,.08) 87%,transparent 96%); }
 .page-hero.photo-landing .landing-stage > .wrap { padding-top:104px; padding-bottom:190px; }
 .page-hero.photo-landing .breadcrumb { margin-bottom:24px; }
 .page-hero.photo-landing .page-hero-copy { max-width:100%; }
 .page-hero.photo-landing h1 { font-size:clamp(32px,9vw,40px); line-height:1.15; margin:20px 0 24px; letter-spacing:-.025em; text-wrap:balance; }
 .page-hero.photo-landing .lead { max-width:36ch; font-size:16px; line-height:1.65; }
 .page-hero.photo-landing .actions .button { min-height:48px; padding:13px 17px; font-size:13px; }
 .page-hero.photo-landing .actions .button.secondary { padding-inline:0; }
 .page-hero.photo-landing .landing-edge { height:56px; }
}
@media(max-width:960px) and (max-height:600px) and (orientation:landscape) {
 .page-hero.photo-landing .landing-stage { min-height:640px; }
 .page-hero.photo-landing .landing-stage > .wrap { padding-top:112px; padding-bottom:130px; }
 .page-hero.photo-landing h1 { font-size:38px; }
 .page-hero.photo-landing .lead { font-size:16px; max-width:48ch; }
}

/* Shared photographic hero: home and service landings at every screen size. */
.hero.photo-landing .landing-stage,.page-hero.photo-landing .landing-stage { min-height:clamp(720px,86svh,940px); padding-bottom:0; }
.hero.photo-landing .landing-stage > .wrap,.page-hero.photo-landing .landing-stage > .wrap { min-height:inherit; display:flex; flex-direction:column; justify-content:center; padding-top:calc(var(--landing-header-height) + 72px); padding-bottom:132px; }
.hero.photo-landing .hero-grid,.page-hero.photo-landing .page-hero-layout { width:100%; }
.hero.photo-landing .hero-copy,.page-hero.photo-landing .page-hero-copy { max-width:1080px; margin-inline:auto; text-align:center; }
.hero.photo-landing .landing-backdrop img,.hero.photo-landing .photo-mobile-home img,
.page-hero.photo-landing .landing-backdrop img,.page-hero.photo-landing .landing-backdrop:has(source[media]) img { position:absolute; inset:0; width:100%; height:100%; max-width:100%; object-fit:cover; object-position:center 70%; mask-image:none; transform:none; }
.hero.photo-landing .landing-stage::after,.page-hero.photo-landing .landing-stage::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:rgba(17,49,92,.68); }
.hero.photo-landing .eyebrow,.page-hero.photo-landing .eyebrow { justify-content:center; color:#fff; }
.photo-landing .eyebrow:before { background:#fff; }
.hero.photo-landing h1,.page-hero.photo-landing h1 { max-width:1040px; margin:24px auto 28px; font-size:clamp(44px,4.4vw,64px); color:#fff; line-height:1.14; text-wrap:balance; }
.hero.photo-landing .hero-copy h1 span { display:inline; color:#fff; }
.hero.photo-landing .hero-copy p,.page-hero.photo-landing .page-hero-copy .lead { max-width:650px; margin-inline:auto; color:#fff; font-size:18px; line-height:1.7; }
.page-hero.photo-landing .breadcrumb { justify-content:center; color:#fff; margin-bottom:28px; }
.hero.photo-landing .actions,.page-hero.photo-landing .actions { flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 24px; margin-top:32px; }
.hero.photo-landing .actions .button,.page-hero.photo-landing .actions .button { width:auto; min-height:50px; }
.hero.photo-landing .actions .button:not(.secondary),.page-hero.photo-landing .actions .button:not(.secondary) { background:#fff; color:var(--navy); border-color:#fff; }
.hero.photo-landing .actions .button:not(.secondary):hover,.page-hero.photo-landing .actions .button:not(.secondary):hover { background:var(--surface-blue); border-color:var(--surface-blue); }
.hero.photo-landing .actions .button.secondary,.page-hero.photo-landing .actions .button.secondary { color:#fff; background:transparent; border:0; padding-inline:0; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; }
.hero.photo-landing .actions .button.secondary:hover,.page-hero.photo-landing .actions .button.secondary:hover { color:#fff; background:transparent; text-decoration-thickness:2px; }
.photo-landing .button:focus-visible { outline-color:#fff; }
.hero.photo-landing .landing-edge,.page-hero.photo-landing .landing-edge { height:88px; }
html.js body:has(.photo-landing) .header:not(.is-scrolled):not(:has(.nav.open)) .logo img { filter:brightness(0) invert(1); }
html.js body:has(.photo-landing) .header:not(.is-scrolled):not(:has(.nav.open)) .nav a,
html.js body:has(.photo-landing) .header:not(.is-scrolled):not(:has(.nav.open)) .menu-toggle { color:#fff; }
html.js body:has(.photo-landing) .header:not(.is-scrolled):not(:has(.nav.open)) .nav [aria-current] { text-decoration-color:#fff; }
html.js body:has(.photo-landing) .header:not(.is-scrolled):not(:has(.nav.open)) .nav .button { border-color:rgba(255,255,255,.7); background:transparent; }
html.js body:has(.photo-landing) .header:not(.is-scrolled):not(:has(.nav.open)) .nav .button:hover { background:#fff; color:var(--navy); border-color:#fff; }
@media(max-width:600px) {
 .hero.photo-landing .landing-stage,.page-hero.photo-landing .landing-stage { min-height:clamp(680px,90svh,820px); }
 .hero.photo-landing .landing-stage > .wrap,.page-hero.photo-landing .landing-stage > .wrap { padding-top:108px; padding-bottom:112px; }
 .hero.photo-landing h1,.page-hero.photo-landing h1 { font-size:clamp(32px,8.9vw,42px); line-height:1.16; margin:20px auto 24px; letter-spacing:-.025em; }
 .hero.photo-landing .hero-copy h1 span { display:block; }
 .hero.photo-landing .hero-copy p,.page-hero.photo-landing .page-hero-copy .lead { font-size:16px; line-height:1.65; max-width:36ch; }
 .hero.photo-landing .eyebrow,.page-hero.photo-landing .eyebrow { font-size:10px; letter-spacing:.12em; }
 .page-hero.photo-landing .breadcrumb { font-size:12px; margin-bottom:24px; }
 .hero.photo-landing .actions,.page-hero.photo-landing .actions { margin-top:28px; gap:12px 20px; }
 .hero.photo-landing .actions .button,.page-hero.photo-landing .actions .button { padding:13px 17px; font-size:13px; min-height:48px; }
 .hero.photo-landing .actions .button.secondary,.page-hero.photo-landing .actions .button.secondary { padding-inline:0; }
 .hero.photo-landing .landing-edge,.page-hero.photo-landing .landing-edge { height:56px; }
}
@media(max-height:600px) and (orientation:landscape) {
 .hero.photo-landing .landing-stage,.page-hero.photo-landing .landing-stage { min-height:620px; }
 .hero.photo-landing .landing-stage > .wrap,.page-hero.photo-landing .landing-stage > .wrap { padding-top:120px; padding-bottom:110px; }
 .hero.photo-landing h1,.page-hero.photo-landing h1 { font-size:40px; }
 .hero.photo-landing .hero-copy p,.page-hero.photo-landing .page-hero-copy .lead { font-size:16px; }
}

/* The fallback is exclusively for browsers with JavaScript disabled. */
@media(max-width:960px) {
 html:not(.js) body .header { position:relative; background:#fff; }
 html:not(.js) body .header .header-inner { height:auto; }
}

/* Homepage services teaser after service-card removal */
.services-section {
  padding-top: 68px;
  padding-bottom: 68px;
}

.services-section .section-top {
  margin-bottom: 0;
  align-items: flex-end;
}

.services-section .section-top h2 {
  max-width: 670px;
}

@media (max-width: 800px) {
  .services-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

@media (max-width: 520px) {
  .services-section {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .services-section .section-top {
    margin-bottom: 0;
    gap: 20px;
  }
}
/* Homepage Why section after removing principles */
.why-section {
  padding-top: 64px;
  padding-bottom: 64px;
}

.why-section .why-grid {
  display: block;
}

.why-section .why-grid > div:first-child {
  max-width: 720px;
  margin: 0 auto;
}

.why-section .lead {
  max-width: none;
  margin-top: 0;
}

.why-section .actions {
  margin-top: 28px;
}

@media (max-width: 800px) {
  .why-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

@media (max-width: 520px) {
  .why-section {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .why-section .why-grid > div:first-child {
    max-width: 100%;
  }
}
/* Final tightening for homepage Why section */
.why-section {
  padding-top: 52px;
  padding-bottom: 52px;
}

@media (max-width: 800px) {
  .why-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

@media (max-width: 520px) {
  .why-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
/* Final alignment for homepage Why copy */
.why-section .why-grid > div:first-child {
  max-width: 780px;
  margin: 0 auto;
}

.why-section .actions {
  margin-top: 22px;
}
/* Why Deservio value cards */
.why-principles-cards {
  display: grid;
  gap: 18px;
}

.why-principles-cards .principle {
  position: relative;
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 22px;
  align-items: start;
  padding: 26px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.why-principles-cards .principle::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 110px;
  height: 110px;
  border-radius: 0 0 0 100%;
  background: rgba(67, 56, 202, 0.06);
}

.why-principles-cards .principle .num {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(67, 56, 202, 0.08);
  font-weight: 700;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
}

.why-principles-cards .principle h3 {
  margin-top: 2px;
  margin-bottom: 10px;
}

.why-principles-cards .principle p {
  margin: 0;
}

@media (max-width: 700px) {
  .why-principles-cards .principle {
    grid-template-columns: 56px 1fr;
    gap: 16px;
    padding: 22px;
  }

  .why-principles-cards .principle .num {
    width: 48px;
    height: 48px;
  }
}
/* Why Deservio — illustrated principle cards */
.why-principles-cards .principle {
  min-height: 176px;
  padding-right: 132px;
}

/* Remove the previous decorative quarter-circle */
.why-principles-cards .principle::before {
  width: 96px;
  height: 96px;
  top: 20px;
  right: 22px;
  border-radius: 22px;
  background-color: rgba(53, 83, 155, 0.06);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 46px 46px;
}

/* Security */
.why-principles-cards .principle:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%231d4f91' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Crect x='9' y='10' width='6' height='5' rx='1'/%3E%3Cpath d='M10.5 10V8.5a1.5 1.5 0 0 1 3 0V10'/%3E%3C/svg%3E");
}

/* Precision */
.why-principles-cards .principle:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%231d4f91' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Cpath d='M12 2v2M12 20v2M2 12h2M20 12h2'/%3E%3C/svg%3E");
}

/* Scale */
.why-principles-cards .principle:nth-child(3)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%231d4f91' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18l5-5 4 4 7-9'/%3E%3Cpath d='M15 8h5v5'/%3E%3Cpath d='M4 21h16'/%3E%3C/svg%3E");
}

@media (max-width: 700px) {
  .why-principles-cards .principle {
    min-height: auto;
    padding-right: 82px;
  }

  .why-principles-cards .principle::before {
    width: 58px;
    height: 58px;
    top: 20px;
    right: 16px;
    border-radius: 16px;
    background-size: 30px 30px;
  }
}
/* Proof over promises */
.why-principles-cards .principle:nth-child(4)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%231d4f91' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='m8 15 2 2 5-5'/%3E%3C/svg%3E");
}

/* AI used deliberately */
.why-principles-cards .principle:nth-child(5)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%231d4f91' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='5' width='14' height='14' rx='3'/%3E%3Cpath d='M9 9h6v6H9zM9 1v4M15 1v4M9 19v4M15 19v4M1 9h4M1 15h4M19 9h4M19 15h4'/%3E%3C/svg%3E");
}
/* Why Deservio — photographic value cards */
.why-principles-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.why-principles-cards .principle.value-card {
  display: block;
  min-height: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

/* Remove previous icon treatment */
.why-principles-cards .principle::before {
  content: none !important;
  display: none !important;
}

.value-card-image {
  margin: 0;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--paper);
}

.value-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.value-card:hover .value-card-image img {
  transform: scale(1.025);
}

.value-card-body {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 18px;
  align-items: start;
  padding: 24px;
}

.why-principles-cards .value-card .num {
  display: block;
  width: auto;
  height: auto;
  padding-top: 4px;
  border-radius: 0;
  background: transparent;
  color: var(--blue);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
}

.why-principles-cards .value-card h3 {
  margin: 0;
  font-size: 22px;
}

.why-principles-cards .value-card p {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.65;
}

/* Balance the fifth card in a two-column layout */
.why-principles-cards .value-card:nth-child(5) {
  grid-column: 1 / -1;
  width: calc(50% - 12px);
  justify-self: center;
}

@media (max-width: 1050px) {
  .why-principles-cards {
    grid-template-columns: 1fr;
  }

  .why-principles-cards .value-card:nth-child(5) {
    grid-column: auto;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .value-card-body {
    grid-template-columns: 34px 1fr;
    gap: 12px;
    padding: 20px;
  }

  .value-card-image {
    aspect-ratio: 4 / 3;
  }

  .why-principles-cards .value-card h3 {
    font-size: 20px;
  }
}
/* Why Deservio — full photographic values layout */
.why-values-intro {
  max-width: 760px;
  margin-bottom: 56px;
}

.why-values-intro h2 {
  max-width: 680px;
}

.why-values-intro .lead {
  max-width: 680px;
  margin-top: 24px;
  font-size: 18px;
}

.why-values-section .why-principles-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.why-values-section .value-card {
  width: 100%;
}

.why-values-section .value-card-image {
  aspect-ratio: 16 / 8.5;
}

.why-values-section .value-card-body {
  padding: 28px;
}

.why-values-section .value-card h3 {
  font-size: 25px;
}

.why-values-section .value-card p {
  max-width: 520px;
  font-size: 15px;
  line-height: 1.7;
}

/* Fifth value becomes a wider editorial card */
.why-values-section .value-card:nth-child(5) {
  grid-column: 1 / -1;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.why-values-section .value-card:nth-child(5) .value-card-image {
  aspect-ratio: auto;
  min-height: 330px;
}

.why-values-section .value-card:nth-child(5) .value-card-body {
  align-self: center;
  padding: 40px;
}

@media (max-width: 800px) {
  .why-values-intro {
    margin-bottom: 40px;
  }

  .why-values-section .why-principles-cards {
    grid-template-columns: 1fr;
  }

  .why-values-section .value-card:nth-child(5) {
    grid-column: auto;
    display: block;
  }

  .why-values-section .value-card:nth-child(5) .value-card-image {
    aspect-ratio: 16 / 10;
    min-height: 0;
  }

  .why-values-section .value-card:nth-child(5) .value-card-body {
    padding: 24px;
  }
}

@media (max-width: 520px) {
  .why-values-intro {
    margin-bottom: 32px;
  }

  .why-values-section .value-card-image {
    aspect-ratio: 4 / 3;
  }

  .why-values-section .value-card-body {
    padding: 20px;
  }
}
/* Deservio Services dropdown */
.nav-list {
  display: flex;
  align-items: center;
  gap: 34px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-list > li {
  position: relative;
  list-style: none;
}

.nav-list > li > a,
.service-menu-main > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  position: relative;
  font-size: 14px;
  font-weight: 500;
}

.service-menu-main {
  display: flex;
  align-items: center;
  gap: 5px;
}

.submenu-toggle {
  width: 26px;
  height: 32px;
  min-height: 0;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
}

.submenu-toggle:hover {
  background: transparent;
  color: var(--blue);
}

.submenu-toggle svg {
  width: 13px;
  height: 13px;
  transition: transform .2s ease;
}

.service-menu.submenu-open .submenu-toggle svg {
  transform: rotate(180deg);
}

.sub-menu {
  position: absolute;
  z-index: 100;
  top: calc(100% + 10px);
  left: -22px;
  width: 300px;
  margin: 0;
  padding: 10px;
  list-style: none;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
}

.sub-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
}

.sub-menu li {
  margin: 0;
}

.sub-menu a {
  display: block;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.4;
}

.sub-menu a:hover,
.sub-menu a[aria-current="page"] {
  background: var(--paper);
  color: var(--blue);
}

.service-menu:hover > .sub-menu,
.service-menu:focus-within > .sub-menu,
.service-menu.submenu-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Current section underline */
.service-menu-main > a::after,
.nav-list > .menu-item:not(.service-menu) > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 5px;
  width: 100%;
  height: 1px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}

.service-menu-main > a:hover::after,
.service-menu-main > a[aria-current]::after,
.nav-list > .menu-item > a:hover::after,
.nav-list > .menu-item > a[aria-current]::after {
  transform: scaleX(1);
}

.nav-list a[aria-current] {
  color: var(--blue);
}

@media (max-width: 960px) {
  .nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }

  .nav-list > .menu-item {
    border-top: 1px solid var(--line);
  }

  .nav-list > .menu-item > a,
  .service-menu-main > a {
    padding: 18px 0;
    min-height: 0;
    font-family: var(--font-display);
    font-size: 20px;
  }

  .service-menu-main {
    justify-content: space-between;
  }

  .service-menu-main > a {
    flex: 1;
  }

  .submenu-toggle {
    width: 48px;
    height: 48px;
  }

  .service-menu-main > a::after,
  .nav-list > .menu-item > a::after {
    display: none;
  }

  .sub-menu {
    position: static;
    width: 100%;
    display: none;
    margin: 0;
    padding: 0 0 14px 20px;
    border: 0;
    box-shadow: none;
    background: transparent;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .sub-menu::before {
    display: none;
  }

  .service-menu.submenu-open > .sub-menu {
    display: block;
  }

  .sub-menu a {
    padding: 11px 0;
    color: var(--muted);
    font-size: 15px;
  }
}
/* Tighten Services dropdown */
.sub-menu a {
  padding-top: 10px;
  padding-bottom: 10px;
}

.sub-menu {
  padding-top: 8px;
  padding-bottom: 8px;
}
/* Full-bleed editorial image treatment */
@media (min-width: 961px) {
  .about-content .about-photo {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    aspect-ratio: 21 / 7;
    margin-bottom: 88px;
  }
}

/* Photo-hero header contrast */
body:has(.page-hero.photo-landing) .header:not(.is-scrolled) {
  color: #fff;
}

body:has(.page-hero.photo-landing) .header:not(.is-scrolled) .nav,
body:has(.page-hero.photo-landing) .header:not(.is-scrolled) .nav a,
body:has(.page-hero.photo-landing) .header:not(.is-scrolled) .submenu-toggle {
  color: #fff;
}

body:has(.page-hero.photo-landing) .header:not(.is-scrolled) .nav .button {
  color: #fff;
  border-color: rgba(255,255,255,.65);
}

body:has(.page-hero.photo-landing) .header:not(.is-scrolled) .nav .button:hover {
  background: #fff;
  color: var(--navy);
  border-color: #fff;
}

/* Hide redundant breadcrumb on photographic page heroes */
.page-hero.photo-landing .breadcrumb {
  display: none;
}

/* Restore normal header colours after scroll */
body:has(.page-hero.photo-landing) .header.is-scrolled {
  color: var(--navy);
}

body:has(.page-hero.photo-landing) .header.is-scrolled .nav,
body:has(.page-hero.photo-landing) .header.is-scrolled .nav a,
body:has(.page-hero.photo-landing) .header.is-scrolled .submenu-toggle {
  color: var(--navy);
}
/* Services dropdown over photographic heroes */
body:has(.page-hero.photo-landing) .header:not(.is-scrolled) .sub-menu {
  background: rgba(13, 39, 72, .96);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 20px 50px rgba(0,0,0,.24);
}

body:has(.page-hero.photo-landing) .header:not(.is-scrolled) .sub-menu a {
  color: #fff;
}

body:has(.page-hero.photo-landing) .header:not(.is-scrolled) .sub-menu a:hover,
body:has(.page-hero.photo-landing) .header:not(.is-scrolled) .sub-menu a[aria-current="page"] {
  background: rgba(255,255,255,.10);
  color: #fff;
}

/* Keep normal dropdown after scrolling */
body:has(.page-hero.photo-landing) .header.is-scrolled .sub-menu {
  background: #fff;
  border-color: var(--line);
}

body:has(.page-hero.photo-landing) .header.is-scrolled .sub-menu a {
  color: var(--navy);
}

body:has(.page-hero.photo-landing) .header.is-scrolled .sub-menu a:hover,
body:has(.page-hero.photo-landing) .header.is-scrolled .sub-menu a[aria-current="page"] {
  background: var(--paper);
  color: var(--blue);
}
/* Contact editorial image and labelled details */
.contact-editorial-photo {
  aspect-ratio: 16 / 9;
  margin-top: 32px;
  margin-bottom: 32px;
}

.contact-editorial-photo img {
  object-position: center;
}

.contact-detail {
  padding: 18px 0;
  border-top: 1px solid var(--line);
  color: var(--navy);
}

.contact-detail:first-of-type {
  margin-top: 20px;
}

.contact-detail-label {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.contact-detail a {
  color: var(--navy);
}

.contact-detail a:hover {
  color: var(--blue);
}

@media (max-width: 520px) {
  .contact-editorial-photo {
    aspect-ratio: 4 / 3;
    margin-top: 24px;
    margin-bottom: 24px;
  }
}
/* Consistent Services dropdown across all pages */
.header .sub-menu,
body:has(.page-hero.photo-landing) .header.is-scrolled .sub-menu {
  background: rgba(13, 39, 72, .98);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 20px 50px rgba(0,0,0,.20);
}

.header .sub-menu a,
body:has(.page-hero.photo-landing) .header.is-scrolled .sub-menu a {
  color: #fff;
}

.header .sub-menu a:hover,
.header .sub-menu a[aria-current="page"],
body:has(.page-hero.photo-landing) .header.is-scrolled .sub-menu a:hover,
body:has(.page-hero.photo-landing) .header.is-scrolled .sub-menu a[aria-current="page"] {
  background: rgba(255,255,255,.10);
  color: #fff;
}
/* Case Studies */
.case-studies-index {
  padding-top: 84px;
}

.case-studies-intro {
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 56px;
}

.case-studies-intro h2 {
  max-width: 720px;
  margin-bottom: 0;
}

.case-study-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.case-study-card {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  padding: 34px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.case-study-card-top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 58px;
}

.case-study-number {
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
}

.case-study-sector {
  max-width: 220px;
  color: var(--muted);
  font-size: 13px;
  text-align: right;
}

.case-study-card-body {
  flex: 1;
}

.case-study-card h3 {
  margin: 0 0 20px;
  font-size: clamp(25px,2.3vw,38px);
  line-height: 1.08;
}

.case-study-card h3 a {
  color: var(--navy);
}

.case-study-tagline {
  color: var(--muted);
  line-height: 1.6;
}

.case-study-card-proof {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  padding-top: 30px;
  margin-top: 36px;
  border-top: 1px solid var(--line);
}

.case-study-stat {
  display: grid;
  gap: 5px;
}

.case-study-stat strong {
  color: var(--navy);
  font-size: 30px;
}

.case-study-stat span {
  max-width: 190px;
  color: var(--muted);
  font-size: 12px;
}

.case-study-link,
.case-study-back {
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
}

.case-study-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1.3fr;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.case-study-meta-grid > div {
  padding: 24px 28px 24px 0;
}

.case-study-meta-grid > div + div {
  padding-left: 28px;
  border-left: 1px solid var(--line);
}

.case-study-meta-grid span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.case-study-story {
  display: grid;
  grid-template-columns: 300px minmax(0,720px);
  justify-content: space-between;
  gap: 96px;
  padding-top: 88px;
}

.case-study-proof-panel {
  position: sticky;
  top: 130px;
  align-self: start;
  padding: 30px;
  background: var(--navy);
  color: #fff;
}

.case-study-big-stat {
  display: block;
  margin: 40px 0 10px;
  font-size: clamp(54px,6vw,88px);
  line-height: .9;
}

.case-study-proof-panel p {
  color: rgba(255,255,255,.72);
}

.case-study-block {
  padding-bottom: 68px;
  margin-bottom: 68px;
  border-bottom: 1px solid var(--line);
}

.case-study-block h2 {
  margin-bottom: 24px;
  font-size: clamp(30px,3vw,46px);
}

.case-study-block p {
  font-size: 19px;
  line-height: 1.75;
}

.case-study-results ul {
  list-style: none;
  padding: 0;
}

.case-study-results li {
  position: relative;
  padding: 20px 0 20px 34px;
  border-top: 1px solid var(--line);
}

.case-study-results li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--blue);
}

.case-study-quote {
  margin: 0 0 52px;
  padding: 34px 0 34px 30px;
  border-left: 3px solid var(--blue);
  color: var(--navy);
  font-size: clamp(24px,2.5vw,36px);
  line-height: 1.25;
}

@media (max-width: 900px) {
  .case-studies-intro,
  .case-study-story {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .case-study-proof-panel {
    position: static;
  }

  .case-study-meta-grid {
    grid-template-columns: 1fr;
  }

  .case-study-meta-grid > div,
  .case-study-meta-grid > div + div {
    padding: 18px 0;
    border-left: 0;
  }
}

@media (max-width: 700px) {
  .case-study-grid {
    grid-template-columns: 1fr;
  }

  .case-study-card {
    min-height: 0;
    padding: 28px 24px;
  }
}
/* Case study outcome stat fit */
.case-study-proof-panel {
  overflow: hidden;
}

.case-study-big-stat {
  font-size: clamp(46px, 4.8vw, 72px);
  letter-spacing: -.05em;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .case-study-big-stat {
    font-size: clamp(48px, 12vw, 76px);
  }
}
/* Fix wide outcome values such as 11,000+ */
.case-study-story {
  grid-template-columns: 340px minmax(0,720px);
}

.case-study-proof-panel {
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

.case-study-big-stat {
  font-size: clamp(44px, 4vw, 64px);
  letter-spacing: -.045em;
  white-space: nowrap;
  max-width: 100%;
}

@media (max-width: 1100px) {
  .case-study-story {
    grid-template-columns: 300px minmax(0,1fr);
    gap: 64px;
  }

  .case-study-big-stat {
    font-size: 52px;
  }
}

@media (max-width: 900px) {
  .case-study-story {
    grid-template-columns: 1fr;
  }

  .case-study-big-stat {
    font-size: clamp(48px, 11vw, 72px);
  }
}
/* =========================================================
   CASE STUDY — EDITORIAL REDESIGN
   ========================================================= */

.case-study-detail {
  padding-top: 56px;
}

/* Metadata strip */
.case-study-meta-grid {
  margin-bottom: 72px;
  background: #fff;
}

.case-study-meta-grid > div {
  padding-top: 28px;
  padding-bottom: 28px;
}

/* Main case-study composition */
.case-study-story {
  display: block;
  padding-top: 0;
}

/* Outcome becomes a wide editorial band */
.case-study-proof-panel {
  position: static;
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: end;
  gap: 48px;
  padding: 44px 52px;
  margin-bottom: 72px;
  background: var(--navy);
  color: #fff;
  overflow: hidden;
}

.case-study-proof-panel .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -12px;
  color: rgba(255,255,255,.58);
}

.case-study-big-stat {
  margin: 0;
  max-width: none;
  font-size: clamp(58px,7vw,104px);
  line-height: .82;
  letter-spacing: -.06em;
  white-space: nowrap;
}

.case-study-proof-panel p {
  max-width: 300px;
  margin: 0 0 6px;
  color: rgba(255,255,255,.76);
  font-size: 17px;
  line-height: 1.45;
}

/* Challenge + Solution become an editorial pair */
.case-study-narrative {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: 72px;
  row-gap: 0;
}

.case-study-block {
  padding: 0 0 64px;
  margin: 0;
  border-bottom: 0;
}

.case-study-block:nth-child(1) {
  padding-right: 18px;
}

.case-study-block:nth-child(2) {
  padding-left: 18px;
  border-left: 1px solid var(--line);
}

.case-study-block h2 {
  max-width: 500px;
  margin: 20px 0 26px;
  font-size: clamp(34px,3.2vw,50px);
  line-height: 1.06;
}

.case-study-block p {
  max-width: 570px;
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.75;
}

/* Results span the whole page */
.case-study-results {
  grid-column: 1 / -1;
  margin-top: 28px;
  padding: 68px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.case-study-results h2 {
  margin-bottom: 42px;
}

.case-study-results ul {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0 56px;
  margin: 0;
  padding: 0;
}

.case-study-results li {
  min-height: 96px;
  padding: 24px 0 24px 34px;
  border-top: 1px solid var(--line);
  font-size: 16px;
  line-height: 1.6;
}

.case-study-results li::before {
  top: 24px;
}

/* Quote gets more presence */
.case-study-quote {
  grid-column: 1 / -1;
  max-width: 980px;
  margin: 76px auto 54px;
  padding: 0;
  border-left: 0;
  text-align: center;
  font-size: clamp(30px,3.3vw,48px);
  line-height: 1.2;
}

.case-study-back {
  grid-column: 1 / -1;
  justify-self: center;
  margin-bottom: 28px;
}

/* Responsive */
@media (max-width: 900px) {
  .case-study-proof-panel {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 36px;
  }

  .case-study-big-stat {
    font-size: clamp(60px,15vw,94px);
  }

  .case-study-narrative {
    grid-template-columns: 1fr;
  }

  .case-study-block:nth-child(1),
  .case-study-block:nth-child(2) {
    padding-left: 0;
    padding-right: 0;
    border-left: 0;
  }

  .case-study-block:nth-child(2) {
    padding-top: 52px;
    border-top: 1px solid var(--line);
  }

  .case-study-results {
    grid-column: 1;
  }

  .case-study-results ul {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .case-study-proof-panel {
    padding: 30px 24px;
    margin-bottom: 52px;
  }

  .case-study-meta-grid {
    margin-bottom: 52px;
  }
}
/* Case study final desktop polish */
@media (min-width: 1100px) {
  .case-study-detail > .wrap {
    max-width: 1240px;
  }

  .case-study-proof-panel {
    padding: 52px 60px;
    margin-bottom: 84px;
  }

  .case-study-narrative {
    column-gap: 88px;
  }

  .case-study-block h2 {
    font-size: clamp(38px, 3vw, 52px);
  }

  .case-study-block p {
    font-size: 19px;
    line-height: 1.8;
  }

  .case-study-results {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .case-study-results li {
    font-size: 17px;
    padding-top: 26px;
    padding-bottom: 26px;
  }

  .case-study-quote {
    margin-top: 88px;
    margin-bottom: 64px;
  }
}
/* Case studies index final polish */
.case-studies-index {
  padding-bottom: 64px;
}

.case-study-grid {
  margin-bottom: 0;
}

.case-study-card {
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background-color .22s ease;
}

.case-study-card:hover {
  position: relative;
  z-index: 2;
  transform: translateY(-4px);
  box-shadow: 0 22px 48px rgba(13,39,72,.08);
  background: #fbfcfe;
}

.case-study-card h3 a {
  transition: color .2s ease;
}

.case-study-card:hover h3 a {
  color: var(--blue);
}

.case-study-link span {
  display: inline-block;
  transition: transform .2s ease;
}

.case-study-card:hover .case-study-link span {
  transform: translateX(4px);
}

@media (min-width: 1100px) {
  .case-studies-intro {
    margin-bottom: 48px;
  }

  .case-study-card {
    min-height: 400px;
  }
}
/* Responsive hardening: Case Studies */
@media (max-width: 700px) {

  .case-studies-index {
    padding-top: 52px;
    padding-bottom: 48px;
  }

  .case-studies-intro {
    display: block;
    margin-bottom: 36px;
  }

  .case-studies-intro .lead {
    margin-top: 22px;
  }

  .case-study-card-top {
    gap: 16px;
    margin-bottom: 34px;
  }

  .case-study-sector {
    max-width: 180px;
  }

  .case-study-card h3 {
    font-size: 28px;
  }

  .case-study-card-proof {
    gap: 18px;
  }

  .case-study-meta-grid {
    margin-bottom: 44px;
  }

  .case-study-meta-grid > div,
  .case-study-meta-grid > div + div {
    padding: 16px 0;
  }

  .case-study-proof-panel {
    padding: 30px 24px;
    margin-bottom: 48px;
  }

  .case-study-big-stat {
    font-size: clamp(52px, 16vw, 76px);
    white-space: normal;
  }

  .case-study-proof-panel p {
    max-width: none;
  }

  .case-study-block {
    padding-bottom: 44px;
  }

  .case-study-block:nth-child(2) {
    padding-top: 44px;
  }

  .case-study-block h2 {
    font-size: 34px;
  }

  .case-study-block p {
    font-size: 17px;
    line-height: 1.7;
  }

  .case-study-results {
    padding: 48px 0;
  }

  .case-study-results li {
    min-height: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .case-study-quote {
    margin: 56px 0 42px;
    font-size: 30px;
  }
}
/* Mobile case-study finishing */
@media (max-width: 700px) {

  .page-hero + .case-study-detail {
    padding-top: 36px;
  }

  .case-study-meta-grid {
    margin-bottom: 36px;
  }

  .case-study-meta-grid > div,
  .case-study-meta-grid > div + div {
    padding: 14px 0;
  }

  .case-study-results li {
    padding-left: 28px;
  }

  .case-study-results li::before {
    left: 0;
  }

  .case-study-quote {
    margin-top: 46px;
    margin-bottom: 34px;
  }

  .case-study-back {
    margin-bottom: 8px;
  }
}
/* =========================================================
   FINAL MOBILE NAVIGATION FIX
   ========================================================= */

@media (max-width: 960px) {

  /* Main opened mobile panel */
  .header .nav.open {
    display: flex;
    background: #fff;
    color: var(--navy);
    padding: 20px 24px 28px;
    gap: 0;
  }

  .header .nav.open .nav-list {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  /* Force readable colours even on photographic hero pages */
  .header .nav.open .nav-list > li > a,
  .header .nav.open .service-menu-main > a,
  .header .nav.open .submenu-toggle {
    color: var(--navy) !important;
  }

  /* Normal top-level mobile links */
  .header .nav.open .nav-list > li {
    margin: 0;
    padding: 0;
  }

  .header .nav.open .nav-list > li > a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 54px;
    padding: 14px 0;
    border-top: 1px solid var(--line);
    font-family: Inter, sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.35;
    white-space: normal;
  }

  /* Services row */
  .header .nav.open .service-menu-main {
    width: 100%;
    min-height: 54px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .header .nav.open .service-menu-main > a {
    flex: 1;
    min-height: 54px;
    padding: 14px 0;
    font-size: 17px;
    font-weight: 500;
  }

  .header .nav.open .submenu-toggle {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 0;
    background: transparent;
  }

  /* IMPORTANT: submenu closed by default */
  .header .nav.open .service-menu .sub-menu {
    display: none !important;
    position: static;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 8px 0 12px;
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: var(--navy);
  }

  /* Open only after tapping the chevron */
  .header .nav.open .service-menu.submenu-open .sub-menu {
    display: block !important;
  }

  .header .nav.open .service-menu .sub-menu::before {
    display: none;
  }

  .header .nav.open .service-menu .sub-menu a {
    display: block;
    padding: 13px 16px;
    color: #fff !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
  }

  .header .nav.open .service-menu .sub-menu a:hover,
  .header .nav.open .service-menu .sub-menu a[aria-current="page"] {
    color: #fff !important;
    background: rgba(255,255,255,.10);
  }

  /* Active top-level page */
  .header .nav.open .nav-list > li > a[aria-current],
  .header .nav.open .service-menu-main > a[aria-current] {
    color: var(--blue) !important;
  }

  /* Consultation button stays directly below links */
  .header .nav.open > .button {
    width: 100%;
    margin: 18px 0 0;
    min-height: 50px;
  }
}

/* Keep mobile nav CTA text white */
@media (max-width: 960px) {
  .header .nav.open > .button,
  .header .nav.open > .button:visited,
  .header .nav.open > .button:hover,
  .header .nav.open > .button:focus {
    color: #fff !important;
  }
}
/* Keep Services dropdown toggle aligned with photo-hero navigation */
body[data-page="home"] .header .submenu-toggle,
body[data-page="home"] .header .submenu-toggle svg,
body[data-page="home"] .header .submenu-toggle path {
  color: #fff !important;
  stroke: #fff !important;
}
/* Service-specific context on shared contact form */
.contact-service-context {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: 1rem;
  padding: .5rem .75rem;
  border: 1px solid rgba(33,89,187,.18);
  background: rgba(33,89,187,.06);
  color: #284363;
  font-size: .9rem;
  line-height: 1.4;
}

.contact-service-context strong {
  color: #11315c;
  font-weight: 650;
}
/* Hide service context until a valid service is resolved */
.contact-service-context[hidden] {
  display: none !important;
}
/* About page — moved Contact editorial image */
.about-content .about-photo {
  width: 100%;
  max-width: 1100px;
  margin: 3.5rem auto 5rem;
  overflow: hidden;
}

.about-content .about-photo img,
.about-content .about-photo picture {
  display: block;
  width: 100%;
}

.about-content .about-photo img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 800px) {
  .about-content .about-photo {
    margin: 2.5rem auto 3.5rem;
  }

  .about-content .about-photo img {
    aspect-ratio: 4 / 3;
  }
}
/* About page — preserve full moved Contact image */
.about-content .about-photo {
  width: 100%;
  max-width: 1100px;
  margin: 3.5rem auto 5rem;
  overflow: visible;
}

.about-content .about-photo picture,
.about-content .about-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.about-content .about-photo img {
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center;
}

@media (max-width: 800px) {
  .about-content .about-photo {
    margin: 2.5rem auto 3.5rem;
  }

  .about-content .about-photo img {
    aspect-ratio: auto !important;
  }
}
/* Thank You page */
.thank-you-section {
    padding: 7rem 0;
    min-height: 65vh;
    display: flex;
    align-items: center;
}

.thank-you-card {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.thank-you-card h1 {
    margin: 1rem 0 1.5rem;
}

.thank-you-card p {
    max-width: 650px;
    margin: 0 auto 2rem;
    font-size: 1.15rem;
    line-height: 1.7;
}

.thank-you-card .actions {
    justify-content: center;
}

@media (max-width: 700px) {
    .thank-you-section {
        padding: 4.5rem 0;
        min-height: 55vh;
    }

    .thank-you-card p {
        font-size: 1rem;
    }
}