:root{--ink:#081e2b;--navy:#031622;--teal:#518c97;--aqua:#8bced5;--paper:#f6f7f6;--line:#d7e2e4;--pad:clamp(24px,5.2vw,100px);--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #ce954a;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03;letter-spacing:-.045em}h1{font-size:clamp(48px,5.1vw,82px);margin-bottom:24px}h2{font-size:clamp(36px,3.6vw,56px);margin-bottom:20px}h3{font-size:25px}em{font-style:normal;color:var(--aqua)}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:600;color:var(--teal);margin-bottom:23px}.copy{font-size:16px;line-height:1.6;max-width:550px;margin-bottom:22px}.section{padding:64px var(--pad)}header{height:82px;position:absolute;top:0;left:0;right:0;z-index:30;padding:0 var(--pad);display:flex;align-items:center;gap:30px;color:#fff;transition:background .3s,box-shadow .3s}header.scrolled{position:fixed;background:#031622f2;backdrop-filter:blur(16px);box-shadow:0 1px 0 #94c1cb22}.brand{display:flex;gap:11px;align-items:center;flex:none}.brand img{width:43px;height:auto;filter:invert(1)}.brand span{font-family:var(--serif);font-size:19px;line-height:.95;letter-spacing:-.025em}nav{display:flex;gap:28px;margin-left:auto;font-size:13px}nav a{padding:10px 0;position:relative}nav a:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--aqua);transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;gap:24px;align-items:center}.languages{display:flex;gap:7px;font-size:12px}.languages a{padding:8px 0}.languages [aria-current]{color:var(--aqua);font-weight:700}.languages span{opacity:.4}.button{border:1px solid transparent;border-radius:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 21px;line-height:1.35;font-size:13px;font-weight:500;transition:transform .3s,background .3s,box-shadow .3s;text-align:left}.button:hover{transform:translateY(-3px);box-shadow:0 7px 30px #26495922}.button span{font-size:20px;transition:transform .3s}.button:hover span{transform:translate(3px,-3px)}.light{background:#fff;color:var(--ink)}.dark,.nav-cta{background:#073244;color:white}.nav-cta{padding:10px 17px;font-size:12px}.menu{display:none}.hero{min-height:670px;height: min(850px,100svh);position:relative;isolation:isolate;overflow:hidden;color:#fff;display:flex;align-items:center;padding:120px var(--pad) 50px;background:var(--navy)}.hero-art,.section-art{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-art img,.section-art img{width:100%;height:100%;object-fit:cover;transform:translate3d(var(--px,0px),var(--py,0px),0) scale(1.055);will-change:transform}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#03162280,transparent 70%)}.hero-content{width:57%;max-width:850px;transform:translateY(var(--copy-y,0px));will-change:transform}.hero .eyebrow{display:none}.hero h1{max-width:740px}.hero .intro{font-size:16px;max-width:460px;line-height:1.5;color:#e3edf0;margin-bottom:30px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:12px}.play{display:grid;place-items:center;border:1px solid #a0cbd1;border-radius:50%;width:37px;height:37px;font-size:20px;transition:transform .3s}.text-link:hover .play{transform:rotate(35deg)}.scroll-cue{display:flex;align-items:center;gap:14px;font-size:11px;color:#cee6ec;margin-top:38px}.scroll-cue>span{width:36px;height:1px;background:var(--aqua);position:relative}.scroll-cue>span:after{content:'';position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#a8e5eb;animation:travel 2.5s infinite}.hero-caption{position:absolute;right:7%;bottom:14%;font-size:10px;letter-spacing:.17em;color:#436b79;line-height:1.6}.approach{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;min-height:580px;overflow:hidden;background:white}.feather-art{position:absolute;inset:0;z-index:-1;pointer-events:none}.feather-art img{height:100%;width:100%;object-fit:cover;transform:translateY(var(--feather-y,0px)) scale(1.05);will-change:transform}.approach-copy{max-width:460px}.approach-sub{font-size:30px;line-height:1.07;margin-bottom:17px}.approach .copy{font-size:15px;max-width:395px}.dark-link{color:#376873}.dark-link:before{content:'';width:32px;height:1px;background:#6b9ba5}.wordline{display:flex;flex-direction:column;gap:21px;align-self:center;margin-left:22%;border-left:1px solid #93bec170;padding:12px 0 12px 35px}.wordline span{font-family:var(--serif);font-size:clamp(25px,2.6vw,38px);color:#46616d;line-height:1.15;letter-spacing:-.04em;position:relative;transition:color .4s,transform .4s}.wordline span:before{content:'';position:absolute;left:-39px;top:50%;width:7px;height:7px;background:var(--teal);border-radius:50%;transform:scale(.35);transition:transform .4s}.wordline span.active{color:#002636;transform:translateX(8px)}.wordline span.active:before{transform:translateX(-8px) scale(1)}.section-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:10vw;align-items:center;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading .copy{font-size:15px;line-height:1.65;margin-bottom:0}.pillars{background:var(--navy);color:white;position:relative}.pillars .eyebrow{color:#81b5c0}.pillars h2{font-size:clamp(32px,3.1vw,49px)}.pillars h2 em{color:#e0edf0}.pillars .copy{color:#b8d1da}.pillar-system{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr 24px .85fr;align-items:center;gap:14px;padding-top:10px}.pillar{text-align:center;transform:translateY(var(--pillar-y,0px));will-change:transform;position:relative}.orb{width:100%;aspect-ratio:1/1;max-width:230px;margin:auto;position:relative;border:1px solid #518c9750;border-radius:50%;padding:6px;transform:scale(var(--orb-scale,1));transition:transform .2s}.orb-art{position:absolute;inset:9%;background-image:url('assets/pillars-v3.webp');background-size:300% 133%;background-position:var(--pos) 50%;border-radius:50%;mix-blend-mode:screen;animation:breathe 7s ease-in-out infinite;animation-delay:calc(var(--i)*-2s)}.orbit{position:absolute;inset:-7%;border:1px solid #436d7860;border-radius:50%;transform:rotate(-30deg);animation:orbit 22s linear infinite;animation-delay:calc(var(--i)*-7s)}.orbit:before{content:'';position:absolute;left:14%;top:14%;width:5px;height:5px;background:#96dce2;border-radius:50%;box-shadow:0 0 12px #a3e4e4}.pillar h3{font-size:23px;margin:28px 0 8px;letter-spacing:-.02em}.pillar p{font-size:13px;margin:0;color:#bed5dd;max-width:180px;margin-inline:auto}.math{color:#71a8b5;text-align:center;font-size:20px;transform:translateY(-30px)}.equals{border-radius:50%;background:#e8f4f5;color:var(--navy);width:28px;height:28px;display:grid;place-items:center}.result{font-family:var(--serif);font-size:24px;line-height:1.1;border:1px solid #538992;border-radius:80px;padding:25px 17px;display:flex;align-items:center;gap:10px;transform:translateY(-30px);opacity:var(--result-opacity,1);transition:border-color .3s,opacity .3s}.result span{font-family:Arial;font-size:20px;border:1px solid #426b76;border-radius:50%;padding:3px 8px}.result:hover{border-color:#a6dbe4}.integration-line{height:1px;background:linear-gradient(90deg,#8ecece,transparent);transform:scaleX(var(--join,1));transform-origin:left;margin-top:35px}.process{padding-bottom:65px}.route{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:36px;position:relative}.route li{position:relative;transition:opacity .5s,transform .5s;transform:translateY(var(--step-y,0px))}.route li:not(:last-child):after{content:'→';position:absolute;top:40%;right:-27px;color:#587c8a;font-size:20px}.step-art{height:100px;border-radius:7px;background-size:cover;background-position:center;margin-bottom:16px;overflow:hidden;transition:filter .5s,transform .5s;filter:saturate(.55)}.route li.active .step-art{filter:saturate(1);transform:translateY(-4px)}.step-0{background-image:url('assets/diagnosis-v3.webp');background-position:80% center}.step-1{background-image:url('assets/hero-v3.webp');background-position:75% center}.step-2{background-image:url('assets/industries-v3.webp');background-size:500% auto;background-position:0 50%}.step-3{background-image:url('assets/balance-v3.webp');background-position:75% center}.step-4{background-image:url('assets/industries-v3.webp');background-size:500% auto;background-position:75% 50%}.step-5{background-image:url('assets/pillars-v3.webp');background-size:300% 100%;background-position:100% 50%}.step-index{font-size:12px;color:#537789}.route h3{font-family:Arial;font-size:13px;line-height:1.4;font-weight:500;letter-spacing:0;margin:3px 0}.photo-section{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white;min-height:440px;display:flex;align-items:center}.photo-copy{max-width:440px;width:44%}.photo-copy .copy{font-size:15px;line-height:1.6;color:#d4e4eb}.photo-section .eyebrow{color:#82b5bf}.photo-section:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#03162270,transparent 65%)}.diagnosis .section-art img{object-position:center 55%}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-card{position:relative;isolation:isolate;border-radius:8px;overflow:hidden;min-height:305px;background:#bed1d9}.service-art{position:absolute;inset:0;z-index:-2}.service-art img{width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 1s cubic-bezier(.2,.7,.2,1)}.service-card:hover .service-art img,.service-card:focus-within .service-art img{transform:scale(1.09)}.service-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#031622ed,#03162200)}.service-copy{padding:30px;min-height:305px;display:flex;flex-direction:column;justify-content:end;color:white}.service-copy h3{font-size:29px;letter-spacing:-.035em;margin-bottom:17px}.service-copy p{font-size:14px;line-height:1.5;max-width:245px;margin-bottom:0}.service-0 .service-art img{object-position:80% center}.service-1 .service-art img{object-position:80% center}.service-2 .service-art img{object-position:center;filter:hue-rotate(8deg)}.circle-link{align-self:flex-end;display:grid;place-items:center;width:34px;height:34px;background:white;color:var(--ink);border-radius:50%;margin-top:20px;transition:transform .3s}.circle-link:hover{transform:rotate(40deg)}.pending{font-size:12px;line-height:1.5;color:#647980;margin:15px 0 0}.industries{padding-top:10px}.sector-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.industry-art{height:150px;background-image:url('assets/industries-v3.webp');background-size:500% auto;background-position:var(--pos) 50%;border-radius:6px;transition:transform .6s,box-shadow .6s}.sector-list li:hover .industry-art{transform:translateY(-8px);box-shadow:0 16px 22px #183b4215}.sector-list h3{font-family:Arial;font-size:13px;letter-spacing:0;line-height:1.4;margin:15px 0 0}.maat{min-height:360px}.maat .section-art img{object-position:center 57%}.values{display:flex;gap:24px;color:#a4cad3;font-size:12px;margin-top:20px}.final{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#edf2f3}.final h2{font-size:clamp(33px,3vw,45px)}.final .copy{font-size:15px;max-width:560px;margin-bottom:0}.final .button{flex-shrink:0;max-width:350px}footer{padding:45px var(--pad) 23px;background:#f6f7f8}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1.2fr .9fr 1.4fr;gap:30px}.footer-top>.brand{align-self:start}.footer-top .brand img{filter:none}.footer-top h3{font-family:Arial;font-size:13px;letter-spacing:0;margin-bottom:10px}.footer-top a:not(.brand){display:block;font-size:11px;line-height:1.7;color:#526771}.footer-top .pending{font-size:11px;margin-top:0}.footer-bottom{display:flex;gap:25px;font-size:11px;color:#627983;align-items:center;margin-top:40px;padding-top:20px;border-top:1px solid #dce4e7}.footer-bottom>span{margin-right:auto}.footer-bottom button{border:0;background:none;color:inherit;font-size:inherit;padding:10px 0}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:20px}.skip:focus{top:10px}dialog{border:0;border-radius:8px;padding:55px;max-width:620px;width:calc(100% - 36px);color:var(--ink);background:var(--paper);max-height:90svh;overflow:auto}dialog::backdrop{background:#001522cc;backdrop-filter:blur(7px)}dialog h2{font-size:42px}.close{position:absolute;top:8px;right:15px;font-size:30px;background:none;border:0;padding:3px 12px}.page-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--aqua);transform:scaleX(var(--progress,0));transform-origin:left;z-index:50;pointer-events:none}.reveal{transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}.motion .reveal:not(.visible){opacity:0;transform:translateY(24px)}.hero h1{animation:enter 1.3s both}.hero .intro{animation:enter 1.3s .15s both}.hero .actions{animation:enter 1.3s .3s both}.out-of-view .orb-art,.out-of-view .orbit{animation-play-state:paused}
@keyframes enter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes travel{0%{transform:translateX(0);opacity:0}30%{opacity:1}100%{transform:translateX(32px);opacity:0}}@keyframes breathe{0%,100%{transform:translateY(4px) scale(.97)}50%{transform:translateY(-6px) scale(1.02)}}@keyframes orbit{to{transform:rotate(330deg)}}
@media(min-width:1001px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.motion .pillars{min-height:130svh}.motion .pillar-stage{position:sticky;top:80px;min-height:calc(100svh - 80px);display:flex;flex-direction:column;justify-content:center}.motion .pillar-system{gap:var(--pillar-gap,14px)}}
@media(min-width:1700px){.section{padding-top:80px;padding-bottom:80px}.hero-content{max-width:900px}.photo-section{min-height:560px}.approach{min-height:650px}.industry-art{height:190px}.step-art{height:140px}.service-card,.service-copy{min-height:360px}}
@media(max-width:1100px){nav{gap:20px}.header-actions{gap:16px}header{gap:20px}.nav-cta{display:none}.section-heading{gap:6vw}.pillar-system{gap:10px;grid-template-columns:1fr 18px 1fr 18px 1fr 18px .85fr}.orb{max-width:200px}.pillar h3{font-size:21px}.result{font-size:20px;padding:20px 12px}.route{gap:22px}.route li:not(:last-child):after{right:-18px;font-size:17px}.service-copy{padding:24px}.service-copy h3{font-size:26px}.footer-top{gap:22px}.wordline{margin-left:17%}.photo-copy{width:46%}}
@media(max-width:760px){html{scroll-padding-top:72px}header{height:72px;padding-inline:24px;justify-content:space-between}.brand img{width:34px}.brand span{font-size:17px}.languages{font-size:12px}.menu{display:block;padding:10px 0;background:none;color:inherit;border:0;font-size:13px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--navy);padding:25px;flex-direction:column;font-size:17px}nav.open{display:flex}.hero{height:auto;min-height:790px;padding:128px 24px 45px;align-items:flex-start}.hero-art img{object-position:62% center;transform:none}.hero:after{background:linear-gradient(90deg,#031622ed,#03162255)}.hero-content{width:100%;transform:none;max-width:520px}.hero h1{font-size:clamp(45px,9.4vw,65px);max-width:520px}.hero .intro{font-size:15px;max-width:340px}.hero-caption{display:none}.actions{gap:22px}.button{font-size:12px;padding:13px 18px}.scroll-cue{margin-top:32px}.section{padding:48px 24px}h2{font-size:38px}.eyebrow{font-size:10px;margin-bottom:21px}.approach{grid-template-columns:1fr;min-height:0}.feather-art{top:40%;opacity:.6}.feather-art img{object-position:75% center}.approach-copy{max-width:100%}.approach-sub{font-size:28px}.approach .copy{max-width:100%}.wordline{margin:35px 0 10px 36%;gap:14px;padding-left:24px}.wordline span{font-size:30px}.wordline span:before{left:-28px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.section-heading .copy{font-size:15px}.pillars h2{font-size:33px}.pillar-system{grid-template-columns:1fr;gap:10px}.pillar{display:grid;grid-template-columns:120px 1fr;grid-template-rows:1fr 1fr;column-gap:26px;text-align:left;transform:none!important}.orb{width:120px;grid-row:1/3;grid-column:1;margin:0;transform:none}.pillar h3{align-self:end;font-size:27px;margin:0 0 8px}.pillar p{margin:0;max-width:none;font-size:14px}.math{transform:none;text-align:left;margin-left:55px}.equals{margin-left:47px;margin-top:8px}.result{transform:none;max-width:280px;justify-content:space-between;margin-top:12px;font-size:25px;opacity:1!important}.integration-line{margin-top:25px}.route{grid-template-columns:repeat(2,1fr);gap:28px 20px}.route li{transform:none!important}.route li:not(:last-child):after{display:none}.step-art{height:115px}.route h3{font-size:14px}.photo-section{min-height:500px;padding-top:55px;padding-bottom:55px;align-items:flex-start}.photo-copy{width:100%;max-width:400px}.photo-copy h2{font-size:42px}.photo-copy .copy{font-size:15px;max-width:350px}.section-art img{object-position:67% center!important;transform:none}.photo-section:after{background:linear-gradient(90deg,#031622f0,#03162266)}.service-grid{grid-template-columns:1fr;gap:18px}.service-card,.service-copy{min-height:320px}.service-copy{padding:28px}.service-copy h3{font-size:32px}.service-copy p{font-size:15px;max-width:300px}.industries{padding-top:5px}.sector-list{grid-template-columns:1fr 1fr;gap:24px 16px}.industry-art{height:145px}.sector-list h3{font-size:14px}.sector-list li:last-child{grid-column:1/3;max-width:calc(50% - 8px)}.maat{min-height:460px}.values{gap:25px;font-size:12px}.final{display:block}.final .button{margin-top:25px}.final h2{font-size:35px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>.brand{grid-column:1/3}.footer-top h3{font-size:14px}.footer-top a:not(.brand),.footer-top .pending{font-size:12px}.footer-bottom{flex-wrap:wrap;margin-top:25px;font-size:11px}.footer-bottom>span{width:100%}dialog{padding:50px 25px 30px}dialog h2{font-size:35px}.page-progress{height:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;transform:none!important}.motion .reveal:not(.visible){opacity:1}.page-progress{display:none}.result{opacity:1!important}}
/* Final optical adjustments after comparing the actual page with the reference. */
header{background:linear-gradient(180deg,#031622c9,#031622a0)}.hero{height:clamp(680px,56vw,860px);min-height:680px}.orb-art{background-size:300% 200%}.result{opacity:1!important}.service-2 .service-art{background:url('assets/pillars-v3.webp') 100% 50%/300% 200%}.service-2 .service-art img{visibility:hidden}@media(min-width:1001px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.motion .pillar-stage{min-height:650px;height:min(760px,calc(100svh - 80px))}.motion .pillars{min-height:115svh}}@media(max-width:760px){.hero{height:auto;min-height:790px}}

/* Service catalogue — 1.618 editorial hierarchy */
.services{background:#f7f9f8;overflow:hidden}.services-intro{display:grid;grid-template-columns:1.618fr 1fr;gap:clamp(48px,8vw,140px);align-items:start;padding-top:clamp(76px,8vw,130px);padding-bottom:clamp(66px,7vw,110px)}.services-title h2{font-size:clamp(48px,5.6vw,86px);line-height:.96;max-width:850px;margin:0}.services-title h2 em{color:#477f89}.services-lead{padding-top:48px}.services-lead>p:first-child{font-size:clamp(18px,1.45vw,23px);line-height:1.55;letter-spacing:-.02em;max-width:570px}.scope-label{font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:#5f7b81;margin:36px 0 15px}.service-scope{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.service-scope li{border:1px solid #c7d8d9;border-radius:30px;padding:8px 13px;font-size:13px;color:#385d65;background:#fff}.service-catalog{border-top:1px solid #cbdadd}.service-chapter{display:grid;grid-template-columns:minmax(310px,.618fr) 1fr;gap:clamp(45px,7vw,120px);padding:clamp(72px,8vw,130px) var(--pad);position:relative;isolation:isolate;border-bottom:1px solid #cbdadd}.service-chapter:before{content:'';position:absolute;width:min(48vw,700px);aspect-ratio:1;border:1px solid currentColor;border-radius:50%;opacity:.055;left:-18vw;top:-22vw;z-index:-1}.service-chapter-2{background:var(--navy);color:#eef7f7;border-color:#34515b}.service-chapter-2:before{left:auto;right:-20vw;top:-18vw}.service-chapter-3{background:#e7eff0}.service-identity{align-self:start;position:sticky;top:118px;max-width:500px}.service-number{font-family:var(--serif);font-size:clamp(72px,9vw,144px);line-height:.72;color:#8cbbc1;display:block;letter-spacing:-.07em;margin-bottom:34px}.service-kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#56808a;margin-bottom:18px}.service-chapter-2 .service-kicker{color:#8ebbc4}.service-identity h3{font-size:clamp(43px,4.2vw,66px);margin:0 0 25px;max-width:520px}.service-intro{font-size:17px;line-height:1.65;max-width:450px;color:#4c686f}.service-chapter-2 .service-intro{color:#bad0d5}.service-cta{display:inline-block;margin-top:28px;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:14px;color:#2f6972}.service-chapter-2 .service-cta{color:#9dd2d9}.service-cta:hover{opacity:.65}.service-groups{min-width:0}.service-group{display:grid;grid-template-columns:.382fr .618fr;gap:32px;border-top:1px solid #c2d4d6;padding:30px 0 42px}.service-chapter-2 .service-group{border-color:#35515a}.service-group:first-child{padding-top:0;border-top:0}.service-group h4{font-family:var(--serif);font-size:clamp(24px,2.1vw,34px);line-height:1.12;font-weight:400;letter-spacing:-.035em;margin:0}.service-group ol{list-style:none;padding:0;margin:0}.service-group li{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid #d6e1e2;align-items:start}.service-chapter-2 .service-group li{border-color:#294650}.service-group li:last-child{border-bottom:0}.service-group li>span{font-size:11px;letter-spacing:.08em;color:#72949a;padding-top:4px;font-variant-numeric:tabular-nums}.service-group li p{font-size:15px;line-height:1.5;margin:0;max-width:590px}.motion .service-chapter .service-identity,.motion .service-chapter .service-groups{transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}.motion .service-chapter:not(.active) .service-identity{opacity:0;transform:translateY(28px)}.motion .service-chapter:not(.active) .service-groups{opacity:0;transform:translateY(42px)}.motion .service-chapter .service-groups{transition-delay:.12s}
@media(max-width:1000px){.services-intro{grid-template-columns:1.3fr 1fr;gap:50px}.service-chapter{grid-template-columns:minmax(260px,.5fr) 1fr;gap:45px}.service-identity{top:102px}.service-group{grid-template-columns:1fr;gap:18px}}
@media(max-width:760px){.services-intro{grid-template-columns:1fr;gap:25px;padding-top:62px;padding-bottom:55px}.services-title h2{font-size:clamp(46px,13vw,64px)}.services-lead{padding-top:0}.services-lead>p:first-child{font-size:18px}.service-scope{gap:7px}.service-scope li{font-size:12px;padding:7px 10px}.service-chapter{grid-template-columns:1fr;gap:48px;padding:65px 24px}.service-chapter:before{width:520px;left:-320px;top:-240px}.service-chapter-2:before{left:auto;right:-340px}.service-identity{position:relative;top:auto}.service-number{font-size:90px;margin-bottom:28px}.service-identity h3{font-size:48px}.service-intro{font-size:16px}.service-group{grid-template-columns:1fr;gap:16px;padding:28px 0 36px}.service-group h4{font-size:30px;max-width:290px}.service-group li{grid-template-columns:27px 1fr;gap:11px;padding:12px 0}.service-group li p{font-size:15px}.motion .service-chapter:not(.active) .service-identity,.motion .service-chapter:not(.active) .service-groups{opacity:1;transform:none}}

/* Natural scrolling leaves long service lists freely readable. */
html{scroll-snap-type:none;scroll-padding-top:82px}
main>section:not(.services),.service-chapter,footer{scroll-snap-align:none;scroll-snap-stop:normal}
.menu span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .28s,opacity .2s}
.menu{align-items:center;justify-content:center;flex-direction:column;gap:5px;min-width:44px;min-height:44px}
@media(max-width:760px){
 html{scroll-padding-top:72px}
 body.menu-open{overflow:hidden}
 body.menu-open:before{content:'';position:fixed;inset:0;background:#02131cba;z-index:29}
 header.menu-open{position:fixed;top:0;background:#031622;box-shadow:0 1px 0 #96cbd422}
 .menu{display:flex;padding:10px;border:1px solid #a0cbd169;border-radius:50%;flex:none;position:relative;z-index:2}
 .menu[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
 .menu[aria-expanded=true] span:nth-child(2){opacity:0}
 .menu[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
 nav{display:flex;position:fixed;top:72px;left:0;right:0;bottom:0;z-index:1;padding:clamp(28px,8vh,70px) 24px max(32px,env(safe-area-inset-bottom));background:#031622f8;flex-direction:column;justify-content:flex-start;gap:4px;overflow:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-14px);transition:opacity .3s,transform .3s,visibility .3s}
 nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
 nav a{font-family:var(--serif);font-size:clamp(32px,10vw,52px);line-height:1.05;letter-spacing:-.045em;padding:18px 0;border-bottom:1px solid #769da438}
 nav a:after{display:none}
 nav a:last-child{border-bottom:0}
 .header-actions{gap:12px}
}
@media(max-width:360px){header{padding-inline:17px}.brand span{font-size:15px}.header-actions{gap:8px}.pillar{grid-template-columns:100px minmax(0,1fr);column-gap:18px}.orb{width:100px}.pillar h3{font-size:23px;overflow-wrap:anywhere}.math{margin-left:38px}.equals{margin-left:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none}nav{transition:none}}

/* Image legibility and quiet, progressive detail on scroll. */
.hero:after{background:linear-gradient(90deg,#02111ef5 0%,#031622e7 29%,#031622b0 49%,#03162242 68%,transparent 87%),linear-gradient(0deg,#03162270,transparent 48%)}
.hero .intro,.hero .text-link,.scroll-cue{text-shadow:0 1px 12px #00121ccc}
.hero-caption{color:#173743;text-shadow:0 1px 12px #ffffffb3}
.photo-section:after{background:linear-gradient(90deg,#031622f2 0%,#031622d9 34%,#03162284 62%,#03162212 90%)}
.photo-copy{position:relative;z-index:1}
.photo-copy .copy{color:#f1f8fa;text-shadow:0 1px 10px #001621b3}
.photo-section .eyebrow,.values{color:#a9d9df}
.motion .reveal{transition:opacity .7s ease-out,transform .7s cubic-bezier(.2,.7,.2,1)}
.motion .reveal:not(.visible){opacity:.72;transform:translateY(16px)}
.motion .service-scope li,.motion .service-group,.motion .service-group li,.motion .sector-list li,.motion .photo-copy>.eyebrow,.motion .photo-copy>.copy,.motion .photo-copy>.button,.motion .photo-copy>.values,.motion .final .button{transition:opacity .68s ease,transform .68s cubic-bezier(.2,.7,.2,1)}
.motion .service-scope li:not(.is-seen),.motion .service-group:not(.is-seen),.motion .service-group li:not(.is-seen),.motion .sector-list li:not(.is-seen),.motion .photo-copy>.eyebrow:not(.is-seen),.motion .photo-copy>.copy:not(.is-seen),.motion .photo-copy>.button:not(.is-seen),.motion .photo-copy>.values:not(.is-seen),.motion .final .button:not(.is-seen){opacity:.65;transform:translateY(18px)}
.motion .service-scope li:nth-child(3n+2),.motion .sector-list li:nth-child(3n+2){transition-delay:.07s}
.motion .service-scope li:nth-child(3n+3),.motion .sector-list li:nth-child(3n+3){transition-delay:.14s}
.motion .photo-copy>.copy{transition-delay:.1s}
.motion .photo-copy>.button,.motion .photo-copy>.values{transition-delay:.18s}
.motion .service-group li:nth-child(2){transition-delay:.05s}
.motion .service-group li:nth-child(3){transition-delay:.1s}
.motion .service-group li:nth-child(n+4){transition-delay:.15s}
.motion .service-chapter:not(.active) .service-identity,.motion .service-chapter:not(.active) .service-groups{opacity:.72}
@media(max-width:760px){
 .hero:after{background:linear-gradient(90deg,#02111ef7 0%,#031622e9 42%,#0316228c 100%),linear-gradient(0deg,#0316227a,transparent 70%)}
 .photo-section:after{background:linear-gradient(90deg,#02111ef7 0%,#031622e9 48%,#031622b0 100%)}
 .photo-copy .copy{text-shadow:0 1px 12px #00121cf0}
 .hero-art img,.section-art img,.feather-art img,.pillar{will-change:auto}
 .motion .service-scope li:not(.is-seen),.motion .service-group:not(.is-seen),.motion .service-group li:not(.is-seen),.motion .sector-list li:not(.is-seen),.motion .photo-copy>.eyebrow:not(.is-seen),.motion .photo-copy>.copy:not(.is-seen),.motion .photo-copy>.button:not(.is-seen),.motion .photo-copy>.values:not(.is-seen),.motion .final .button:not(.is-seen){opacity:.75;transform:translateY(10px)}
}
@media(prefers-reduced-motion:reduce){.reveal,.service-scope li,.service-group,.service-group li,.sector-list li,.photo-copy>*{opacity:1!important;transform:none!important;transition:none!important}}

/* Client review: clearer hierarchy and direct paths from pillars to services. */
header .brand img{width:54px}
header .brand span{font-size:22px}
.hero .button.light{font-size:15px;font-weight:700;padding:17px 25px;box-shadow:0 10px 35px #00172255}
.hero .button.light:hover{box-shadow:0 15px 42px #00172280}
.approach{align-items:center;min-height:540px}
.approach:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#ffffff 0%,#fffffff5 31%,#ffffffd1 48%,#ffffff60 68%,transparent 100%)}
.approach-copy{position:relative;z-index:1;max-width:550px}
.approach .eyebrow{font-size:clamp(14px,1.2vw,17px);letter-spacing:.16em;color:#315f6a;margin-bottom:33px}
.approach .copy{font-size:clamp(20px,1.65vw,25px);line-height:1.55;color:#193b45;max-width:550px}
.wordline{position:relative;z-index:1;justify-self:center;align-self:center;margin-left:0;padding-left:42px;gap:24px}
.wordline span{font-size:clamp(34px,3.2vw,50px);color:#244856;text-shadow:0 1px 10px #ffffffdd}
.wordline span:before{left:-46px}
.pillar-system{grid-template-columns:1fr 32px 1fr 32px 1fr;max-width:1080px;margin-inline:auto;gap:24px}
.pillar{display:block;border-radius:12px;padding:12px 8px 22px;transition:background .3s,color .3s,transform .4s}
.pillar:hover,.pillar:focus-visible{background:#ffffff0a}
.pillar:hover .orb,.pillar:focus-visible .orb{border-color:#8dced6;box-shadow:0 0 34px #57b4c033}
.pillar h3{font-size:clamp(25px,2.5vw,35px)}
.pillars h2{font-size:clamp(46px,4.5vw,70px);max-width:700px}
.service-chapter:first-child{padding-top:clamp(90px,9vw,140px)}
.service-identity h3{font-size:clamp(58px,5.7vw,88px);line-height:.98;overflow-wrap:anywhere}
.service-kicker{font-size:13px;font-weight:700;letter-spacing:.16em}
.service-group h4{font-size:clamp(27px,2.4vw,38px)}
@media(max-width:1100px){.pillar-system{grid-template-columns:1fr 22px 1fr 22px 1fr;gap:12px}}
@media(max-width:760px){
 header .brand img{width:44px}
 header .brand span{font-size:18px}
 .hero .button.light{font-size:15px;padding:17px 21px;min-height:60px}
 .approach{display:flex;flex-direction:column;align-items:stretch;gap:42px;min-height:0;padding-block:70px 78px}
 .approach:after{background:linear-gradient(180deg,#ffffff 0%,#fffffffa 48%,#ffffffe0 70%,#ffffff96 100%)}
 .feather-art{top:28%;opacity:.44}
 .approach .eyebrow{font-size:14px;margin-bottom:25px}
 .approach .copy{font-size:clamp(19px,5.1vw,23px);max-width:560px;margin:0}
 .wordline{margin:0 auto;align-self:center;justify-self:auto;gap:16px;padding-left:32px}
 .wordline span{font-size:clamp(34px,8.3vw,47px)}
 .wordline span:before{left:-36px}
 .pillars h2{font-size:clamp(45px,12vw,60px)}
 .pillar-system{grid-template-columns:1fr;gap:12px;max-width:470px}
 .pillar{display:grid;grid-template-columns:120px 1fr;grid-template-rows:auto auto;gap:0 22px;padding:12px 7px;transform:none!important;text-align:left}
 .pillar h3{font-size:clamp(26px,6.6vw,34px)}
 .math{margin-left:57px}
 .service-chapter:first-child{padding-top:75px}
 .service-identity h3{font-size:clamp(51px,11.7vw,68px)}
 .service-kicker{font-size:12px}
}
@media(max-width:360px){header .brand img{width:38px}header .brand span{font-size:16px}.hero .button.light{font-size:13px;padding-inline:16px}.pillar{grid-template-columns:100px 1fr}}

/* Make the five focus words readable over the feather on every screen. */
.wordline{width:min(100%,470px);padding:31px clamp(26px,3vw,48px);gap:19px;background:#ffffffed;border-left:3px solid #74aeb9;box-shadow:0 20px 55px #173c4a14}
.wordline span{display:block;color:#173743;font-size:clamp(42px,3.6vw,58px);line-height:1.08;text-shadow:none}
.wordline span.active{color:#006578}
.wordline span:before{left:-31px}
@media(max-width:760px){
 .wordline{width:min(100%,430px);align-items:center;text-align:center;margin:0 auto;padding:28px 18px;gap:15px;border:1px solid #c9dfe2;border-radius:8px;background:#fffffffa;box-shadow:0 18px 42px #173c4a13}
 .wordline span{width:100%;font-size:clamp(37px,9.2vw,49px)}
 .wordline span.active{transform:none}
 .wordline span:before{display:none}
}

/* September review: hero composition, services, industries and Maat. */
html{scroll-padding-top:92px}
header{height:92px}
header .brand{transform:translateY(6px)}
header .brand img{width:64px}
header .brand span{font-size:24px}
.hero:after{background:linear-gradient(90deg,#02111ef7 0%,#02111ee7 34%,#031622bb 62%,#03162255 83%,#03162218 100%),linear-gradient(0deg,#03162277,transparent 52%)}
.hero-content{width:min(78%,1060px);max-width:none;margin-left:clamp(30px,6vw,100px)}
.hero h1{font-size:clamp(54px,5.4vw,86px);max-width:1040px;line-height:.98}
.hero-first,.hero-second{display:block}
.hero-second{margin-left:clamp(90px,13vw,250px)}
.hero .intro{font-size:clamp(18px,1.55vw,23px);font-weight:500;max-width:550px;color:#f4fbfc}
.service-identity h3{overflow-wrap:normal}
.service-chapter-2 .service-identity h3{font-size:clamp(36px,3.6vw,60px);letter-spacing:-.06em;white-space:nowrap}
.sector-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}
.industry-art-type{position:relative;display:flex;align-items:flex-end;padding:19px;background:radial-gradient(circle at 72% 28%,#a5e2e7a6 0,transparent 30%),linear-gradient(135deg,#092b3a,#3d8290);overflow:hidden}
.industry-art-type:after{content:'';position:absolute;width:72%;aspect-ratio:1;border:1px solid #b9e7eaa8;border-radius:50%;right:-17%;top:-36%;box-shadow:0 0 0 28px #c5ebeb12,0 0 0 56px #c5ebeb0b}
.industry-art-type span{position:relative;z-index:1;font-family:var(--serif);font-size:42px;line-height:1;color:#e4f7f8}
.sector-list li:nth-child(7) .industry-art-type{background:radial-gradient(circle at 70% 25%,#bfe5d591 0,transparent 32%),linear-gradient(135deg,#0a3440,#427e77)}
.sector-list li:nth-child(8) .industry-art-type{background:radial-gradient(circle at 70% 25%,#a5d2e4a3 0,transparent 32%),linear-gradient(135deg,#102634,#5e8193)}
.maat-plus{font-family:Arial,Helvetica,sans-serif;font-weight:300;font-size:.85em;color:#46c5e7;display:inline-block;vertical-align:.04em;margin-left:.12em;letter-spacing:0}
.step-5{background-color:#031622;background-image:url('assets/pillars-v3.webp');background-size:300% 100%;background-position:100% center}
@media(max-width:1100px){.hero-second{margin-left:7vw}.hero h1{font-size:clamp(48px,5vw,70px)}}
@media(max-width:1000px){.sector-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 html{scroll-padding-top:76px}
 header{height:76px}
 nav{top:76px}
 header .brand{transform:translateY(4px)}
 header .brand img{width:47px}
 header .brand span{font-size:19px}
 .hero{padding-top:134px}
 .hero-content{width:100%;max-width:520px;margin-left:0}
 .hero h1{font-size:clamp(44px,9.2vw,62px)}
 .hero-second{margin-left:0}
 .hero .intro{font-size:17px;max-width:410px}
 .hero:after{background:linear-gradient(90deg,#02111ef9 0%,#031622e9 54%,#0316228c 100%),linear-gradient(0deg,#03162288,transparent 72%)}
 .service-chapter-2 .service-identity h3{font-size:clamp(32px,7.8vw,48px);letter-spacing:-.07em;white-space:nowrap}
 .industries .section-heading h2{font-size:clamp(34px,8.5vw,46px)}
 .sector-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
 .sector-list li:last-child{grid-column:auto;max-width:none}
 .industry-art{height:145px}
 .maat .photo-copy h2{font-size:clamp(35px,8.4vw,45px)}
}
@media(max-width:360px){.hero h1{font-size:42px}.hero .intro{font-size:16px}.service-chapter-2 .service-identity h3{font-size:32px}}

/* Hero: all editorial content sits in the right-hand dark field. */
.hero{justify-content:flex-end}
.hero-art img{object-position:center center}
.hero:after{background:linear-gradient(90deg,#03162200 0%,#03162210 34%,#0316228f 53%,#031622df 77%,#031622f0 100%),linear-gradient(0deg,#03162254,transparent 52%)}
.hero-content{position:relative;z-index:1;width:min(49%,680px);max-width:none;margin:0 0 0 auto;text-align:left}
.hero h1{max-width:680px;font-size:clamp(45px,4.35vw,70px);line-height:1.01;margin-bottom:25px}
.hero-first,.hero-second{display:block}
.hero-second{margin:8px 0 0}
.hero .intro{font-size:clamp(17px,1.4vw,21px);line-height:1.47;max-width:510px;margin-bottom:29px}
.hero .actions{justify-content:flex-start;gap:17px}
.hero .scroll-cue{margin-top:38px}
@media(max-width:1150px){.hero-content{width:min(54%,580px)}.hero h1{font-size:clamp(42px,4.2vw,59px)}}
@media(max-width:760px){
 .hero{justify-content:flex-end;align-items:flex-start;min-height:790px;padding:134px 24px 45px}
 .hero-art img{object-position:53% center;transform:none}
 .hero:after{background:linear-gradient(90deg,#0316225c 0%,#031622bb 42%,#031622f0 100%),linear-gradient(0deg,#03162294,transparent 66%)}
 .hero-content{width:min(100%,410px);max-width:none;margin:0 0 0 auto;text-align:right;transform:none}
 .hero h1{font-size:clamp(41px,9.3vw,60px);max-width:none;margin-left:auto}
 .hero .intro{max-width:340px;font-size:16px;margin-left:auto}
 .hero .actions{flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:15px}
 .hero .text-link{justify-content:flex-end}
 .hero .scroll-cue{justify-content:flex-end;margin-top:33px}
}
@media(max-width:360px){.hero h1{font-size:39px}.hero .button.light{font-size:13px}}

/* Free wheel/touch scrolling. Enter remains the optional chapter shortcut. */
html{scroll-snap-type:none}
main>section:not(.services),.service-chapter,footer{scroll-snap-align:none;scroll-snap-stop:normal}

/* Six optical-glass symbols replace cropped photographs in the market path. */
.route{gap:clamp(14px,2vw,36px)}
.route li{min-width:0}
.route li:not(:last-child):after{top:37%;right:calc(-1 * clamp(15px,1.6vw,28px))}
.step-art{height:auto;aspect-ratio:1.15;background:radial-gradient(circle at 50% 38%,#2b6273 0%,#0a2b3a 59%,#041b28 100%);border:1px solid #477888;border-radius:12px;display:grid;place-items:center;padding:7%;margin-bottom:16px;box-shadow:inset 0 1px 0 #c3f5fa4a,0 10px 24px #08303a16;overflow:visible;filter:none!important;transition:transform .45s ease,box-shadow .45s ease}
.step-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 13px #00151d8c);transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.route li.active .step-art,.route li:hover .step-art{transform:translateY(-5px);box-shadow:inset 0 1px 0 #c3f5fa5c,0 17px 31px #08303a28}
.route li.active .step-art img,.route li:hover .step-art img{transform:scale(1.04)}
.route h3{font-size:clamp(13px,1vw,16px);font-weight:600;line-height:1.35}
@media(max-width:760px){.route{gap:25px 16px}.route li:not(:last-child):after{display:none}.step-art{aspect-ratio:1.2;border-radius:10px}.route h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){.step-art,.step-art img{transition:none}}

/* The crystal objects sit directly on the light page, with detail on hover. */
.step-art{background:none;border:0;border-radius:0;box-shadow:none;padding:0;overflow:visible;filter:none;aspect-ratio:1.1;margin-bottom:10px}
.step-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 8px #0b547126)}
.route li.active .step-art,.route li:hover .step-art,.route li:focus-visible .step-art{transform:none;box-shadow:none}
.route li.active .step-art img{transform:none}
.route li:hover .step-art img,.route li:focus-visible .step-art img{transform:scale(.87)}
.route li:focus-visible{outline:2px solid #518c97;outline-offset:6px;border-radius:4px}
.step-description{max-width:220px;min-height:5.4em;margin:12px 0 0;color:#42616b;font-size:12px;line-height:1.45;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}
.route li:hover .step-description,.route li:focus-visible .step-description{opacity:1;transform:none}
@media(max-width:760px){.step-art{aspect-ratio:1.12}.step-description{min-height:0;margin-top:8px;font-size:12px;opacity:1;transform:none}}
@media(hover:none){.step-description{opacity:1;transform:none;min-height:0}.route li:hover .step-art img{transform:none}}
@media(prefers-reduced-motion:reduce){.step-description{transition:none}}

/* Desktop focus words: a quiet editorial panel with a deliberate hover response. */
@media(min-width:761px){
 .wordline{width:min(100%,490px);padding:32px clamp(32px,3.2vw,52px);gap:13px;background:linear-gradient(115deg,#fffffff2,#f7fbfbe0);border:1px solid #b8d5d9a8;border-left:2px solid #78aeb9;box-shadow:0 20px 50px #173c4a0d;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
 .wordline span{width:max-content;max-width:100%;padding:4px 8px;margin-left:-8px;font-size:clamp(39px,3.5vw,56px);line-height:1.1;color:#163946;transition:color .32s ease,transform .42s cubic-bezier(.2,.7,.2,1),text-shadow .32s ease}
 .wordline span.active{color:#3f7882;transform:none}
 .wordline span:before{left:-35px;background:#8cbac2;transform:scale(.42);transition:transform .35s,background .35s,box-shadow .35s}
}
@media(min-width:761px) and (hover:hover){
 .wordline span:hover,.wordline span.active:hover{color:#006f82;transform:translateX(10px);text-shadow:0 7px 19px #70c5cf3d}
 .wordline span:hover:before,.wordline span.active:hover:before{background:#00879a;transform:scale(1);box-shadow:0 0 0 5px #80ccd32b}
}
@media(prefers-reduced-motion:reduce){.wordline span,.wordline span:before{transition:none}}

/* Keep the opening visual at full-screen height on desktop. */
@media(min-width:761px){
 .hero{height:100svh;min-height:700px}
}

/* The opening film replaces only the hero art; the still remains a fallback. */
.hero-art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
@media(max-width:760px){.hero-art video{object-position:53% center}}
@media(prefers-reduced-motion:reduce){.hero-art video{display:none}}

/* A full section index replaces the Enter shortcut on every screen size. */
header .header-actions{margin-left:auto}
.menu{display:flex;padding:10px;background:transparent;color:inherit;border:1px solid #a0cbd169;border-radius:50%;flex:none;position:relative;z-index:2}
.menu[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu[aria-expanded=true] span:nth-child(2){opacity:0}
.menu[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
body.menu-open{overflow:hidden}
header.menu-open{position:fixed;top:0;background:#031622;box-shadow:0 1px 0 #96cbd422;backdrop-filter:none}
#nav{display:grid;position:fixed;top:82px;left:0;right:0;bottom:auto;z-index:1;width:100%;height:calc(100svh - 82px);margin:0;padding:clamp(28px,5vh,64px) var(--pad) 50px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;column-gap:clamp(40px,8vw,150px);row-gap:0;background:#031622f8;overflow:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-14px);transition:opacity .3s,transform .3s,visibility .3s}
#nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
#nav a{display:flex;align-items:baseline;gap:15px;min-width:0;padding:14px 0;border-bottom:1px solid #769da438;font-family:var(--serif);font-size:clamp(24px,2.1vw,34px);line-height:1.15;letter-spacing:-.035em;transition:color .25s,padding-left .25s}
#nav a:after{display:none}
#nav a:hover,#nav a:focus-visible{color:#9edce3;padding-left:8px}
#nav a span{flex:none;color:#81b6c0;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em}
@media(max-width:760px){
 #nav{top:72px;height:calc(100svh - 72px);grid-template-columns:1fr;padding:14px 24px max(28px,env(safe-area-inset-bottom));gap:0}
 #nav a{font-size:clamp(21px,5.4vw,27px);padding:12px 0;gap:12px}
}

/* Each industry image keeps its native 3:2 frame, including on phones. */
.sector-list .industry-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:none;border-radius:8px;box-shadow:0 8px 22px #12394a0d}
@media(max-width:600px){.sector-list{grid-template-columns:1fr;gap:26px}.sector-list li:last-child{grid-column:auto;max-width:none}}

/* Final content refinements: keep the feather visible without a panel behind the words. */
.approach:after{background:linear-gradient(90deg,#ffffff 0%,#ffffffee 30%,#ffffffb8 57%,#ffffff80 100%)}
.feather-art{opacity:.28}
.wordline,.wordline span{background:transparent}
.wordline{border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0 0 0 42px}
.wordline span{color:#123845;text-shadow:0 1px 2px #ffffff,0 0 13px #ffffffb8}
.wordline span.active{color:#005e72}
@media(max-width:760px){
 .approach:after{background:linear-gradient(180deg,#fffffff5 0%,#ffffffdc 54%,#ffffffb8 100%)}
 .feather-art{top:22%;opacity:.2}
 .wordline{width:min(100%,430px);padding:0;margin:0 auto;align-items:center;text-align:center;border:0;box-shadow:none;background:transparent}
 .wordline span{width:100%;text-shadow:0 1px 2px #ffffff,0 0 14px #ffffff}
}

/* Services open from their chapter title; existing service copy remains unchanged. */
.service-toggle{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;letter-spacing:inherit;line-height:inherit}
.service-toggle span{flex:none;font-family:Arial,Helvetica,sans-serif;font-size:.48em;color:#5795a0;line-height:1;transition:transform .25s}
.service-toggle[aria-expanded=true] span{transform:rotate(180deg)}
.service-toggle:hover,.service-toggle:focus-visible{color:#397986}
.service-chapter-2 .service-toggle:hover,.service-chapter-2 .service-toggle:focus-visible{color:#9edce3}
.service-groups[hidden]{display:none!important}
.service-group{display:block;border:0;padding:0}
.service-group:first-child{padding-top:0}
.service-group li{scroll-margin-top:110px}
.service-group .service-sublist{grid-column:2;margin:7px 0 0;padding:2px 0 0 18px;border-left:1px solid #8ebbc477}
.service-group .service-sublist li{grid-template-columns:30px minmax(0,1fr)}
.service-chapter-2 .service-sublist{border-color:#8ebbc477}
.service-section-number{margin-bottom:18px}
@media(max-width:760px){.service-group .service-sublist{padding-left:11px}.service-group .service-sublist li{grid-template-columns:27px minmax(0,1fr)}}

/* The open menu mirrors the three service chapters, including the dossier submenu. */
#nav .nav-service{border-bottom:1px solid #769da438;min-width:0}
#nav .nav-service>summary{display:flex;align-items:baseline;gap:15px;cursor:pointer;list-style:none;padding:14px 0;font-family:var(--serif);font-size:clamp(24px,2.1vw,34px);line-height:1.15;letter-spacing:-.035em;transition:color .25s,padding-left .25s}
#nav .nav-service>summary::-webkit-details-marker,#nav .nav-nested>summary::-webkit-details-marker{display:none}
#nav .nav-service>summary:after,#nav .nav-nested>summary:after{content:'+';margin-left:auto;color:#91c6ce;font-family:Arial,Helvetica,sans-serif;font-size:.75em}
#nav .nav-service[open]>summary:after,#nav .nav-nested[open]>summary:after{content:'−'}
#nav .nav-service>summary:hover,#nav .nav-service>summary:focus-visible{color:#9edce3;padding-left:8px}
#nav .nav-service>summary span{flex:none;color:#81b6c0;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em}
#nav .nav-submenu{display:grid;gap:0;padding:0 0 18px 27px}
#nav .nav-submenu a{display:block;padding:8px 10px 8px 0;border-bottom:1px solid #769da421;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.35;letter-spacing:0;color:#c9dde1}
#nav .nav-submenu a:hover,#nav .nav-submenu a:focus-visible{padding-left:6px;color:#9edce3}
#nav .nav-nested>summary{display:flex;align-items:center;gap:10px;padding:9px 0;cursor:pointer;list-style:none;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.35;color:#c9dde1}
#nav .nav-nested>summary:hover,#nav .nav-nested>summary:focus-visible{color:#9edce3}
#nav .nav-nested-links{padding-left:18px;border-left:1px solid #75a7ae6b}
@media(max-width:760px){#nav .nav-service>summary{font-size:clamp(21px,5.4vw,27px);padding:12px 0;gap:12px}#nav .nav-submenu{padding-left:20px}}
#nav .nav-nested-head{display:flex;align-items:center;gap:8px;border-bottom:1px solid #769da421}
#nav .nav-nested-head>a{flex:1;border:0;min-width:0}
#nav .nav-nested-toggle{flex:none;width:32px;height:32px;padding:0;border:1px solid #77aab281;border-radius:50%;background:transparent;color:#bce6e9;font-size:20px;line-height:1;transition:transform .25s,background .25s}
#nav .nav-nested-toggle[aria-expanded=true]{transform:rotate(45deg);background:#2c687238}
#nav .nav-nested-toggle:hover{background:#2c687263}
#nav .nav-nested-links[hidden]{display:none}

/* Compact the three service chapters only while their lists are closed. */
.service-chapter.is-collapsed{display:block;padding:clamp(34px,3.2vw,55px) var(--pad)}
.service-chapter.is-collapsed .service-identity{position:static;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.9fr);grid-template-rows:auto auto auto auto;column-gap:clamp(40px,7vw,120px);align-items:center}
.service-chapter.is-collapsed .service-section-number{grid-column:1;grid-row:1;margin:0 0 12px}
.service-chapter.is-collapsed .service-kicker{grid-column:1;grid-row:2;margin:0 0 12px}
.service-chapter.is-collapsed .service-identity h3{grid-column:1;grid-row:3;margin:0}
.service-chapter.is-collapsed .service-intro{grid-column:2;grid-row:2 / span 2;margin:0;max-width:550px}
.service-chapter.is-collapsed .service-cta{grid-column:2;grid-row:4;justify-self:start;margin:12px 0 0}
@media(max-width:760px){.service-chapter.is-collapsed{padding:38px 24px}.service-chapter.is-collapsed .service-identity{display:block}.service-chapter.is-collapsed .service-section-number{margin-bottom:14px}.service-chapter.is-collapsed .service-kicker{margin-bottom:14px}.service-chapter.is-collapsed .service-identity h3{margin-bottom:20px}.service-chapter.is-collapsed .service-cta{margin-top:22px}}

/* Make industry names clear beneath their existing images. */
.sector-list h3{font-size:clamp(16px,1.12vw,19px);font-weight:700;line-height:1.35;color:#102f3d}
@media(max-width:760px){.sector-list h3{font-size:17px}}

/* Readable industry details without placing small text over the gallery images. */
.industry-trigger{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}
.industry-trigger:focus-visible{outline:3px solid #518c97;outline-offset:6px;border-radius:8px}
.industry-dialog{width:min(1000px,calc(100% - 32px));max-width:none;padding:22px 26px 30px;border-radius:16px;max-height:min(90svh,850px)}
.industry-close{position:sticky;top:0;z-index:2;display:grid;place-items:center;width:42px;height:42px;margin:0 0 10px auto;border:1px solid #b8cdd1;border-radius:50%;background:#f6f7f6;color:#102f3d;font-size:26px;line-height:1}
.industry-dialog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,50px);align-items:start}
.industry-dialog-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:10px}
.industry-dialog-copy{min-width:0;padding:4px 10px 8px 0}
.industry-dialog-copy .eyebrow{margin-bottom:12px}
.industry-dialog-copy h2{font-size:clamp(30px,3vw,45px);line-height:1.08;margin-bottom:22px;overflow-wrap:normal}
.industry-dialog-list{margin:0;padding:0 0 0 22px;font-size:clamp(16px,1.2vw,18px);line-height:1.5;color:#284653}
.industry-dialog-list li{padding-left:3px;margin-bottom:9px}
.industry-dialog-list li::marker{color:#518c97}
@media(max-width:760px){.industry-dialog{width:calc(100% - 24px);padding:12px 18px 26px;max-height:92svh}.industry-dialog-layout{grid-template-columns:1fr;gap:18px}.industry-dialog-image{max-height:33svh}.industry-dialog-copy{padding:0}.industry-dialog-copy h2{font-size:clamp(27px,7vw,38px);margin-bottom:17px}.industry-dialog-list{font-size:16px}}

/* Equal visual weight for the three closed service titles, with complete words. */
.service-chapter.is-collapsed .service-identity h3{font-size:clamp(42px,4.4vw,76px);letter-spacing:-.055em;line-height:1.02;white-space:normal;overflow-wrap:normal;word-break:normal;min-width:0}
.service-chapter.is-collapsed .service-toggle{position:relative;display:block;padding-right:34px;white-space:normal;overflow-wrap:normal;word-break:normal}
.service-chapter.is-collapsed .service-toggle span{position:absolute;right:0;top:.36em}
@media(max-width:760px){.service-chapter.is-collapsed .service-identity h3{font-size:clamp(32px,9.5vw,46px)}.service-chapter.is-collapsed .service-toggle{padding-right:28px}}

/* Contact choices in the existing dialog and footer. */
.contact-options{display:grid;gap:10px;margin-top:24px}
.contact-option{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:15px;padding:15px 17px;border:1px solid #cddfe2;border-radius:12px;color:var(--ink);text-decoration:none;transition:border-color .25s,background .25s,transform .25s}
.contact-option:hover,.contact-option:focus-visible{border-color:#5b9eaa;background:#edf6f6;transform:translateY(-2px)}
.contact-option-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e4f2f3;color:#236c78;font:700 22px Arial,Helvetica,sans-serif}
.contact-option strong{display:block;font:700 17px Arial,Helvetica,sans-serif;line-height:1.2}
.contact-option small{display:block;margin-top:5px;color:#55727b;font:13px Arial,Helvetica,sans-serif;overflow-wrap:anywhere}
.contact-option-arrow{font-size:20px;color:#367f89}
.footer-contact-links a{display:block;overflow-wrap:anywhere}
@media(max-width:760px){.contact-option{grid-template-columns:38px minmax(0,1fr) 16px;gap:12px;padding:13px}.contact-option-symbol{width:38px;height:38px}.contact-option small{font-size:12px}}

/* Approved vector logo on the dark header and light footer. */
header .brand img{display:block;width:185px;height:auto;filter:brightness(0) invert(1)}
.footer-top .brand img{display:block;width:185px;height:auto;filter:none}
@media(max-width:760px){header .brand img{width:150px}.footer-top .brand img{width:175px}}
@media(max-width:360px){header .brand img{width:132px}}

/* The full brand lives in the opening frame; its compact form returns in the fixed menu. */
header .brand{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s}
header.scrolled .brand,header.menu-open .brand{opacity:1;visibility:visible;pointer-events:auto}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(40px,5vw,110px)}
.hero-brand{position:relative;z-index:2;left:auto;top:auto;width:min(100%,660px);min-width:0;transform:none;justify-self:center;transition:opacity .3s,visibility .3s}
.hero-brand img{display:block;width:100%;height:auto}
.hero-content{width:100%;min-width:0;max-width:680px;margin:0}
header.scrolled~main .hero-brand,header.menu-open~main .hero-brand{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:950px){
 .hero{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(36px,6vh,64px);height:auto;min-height:100svh;padding:150px 24px 70px}
 .hero-brand{width:min(84vw,500px);margin:0;flex:none}
 .hero-content{width:min(100%,640px);max-width:none;margin:0;text-align:center;transform:none}
 .hero h1{max-width:none;margin-inline:auto}
 .hero .intro{margin-inline:auto}
 .hero .actions{flex-direction:column;align-items:center;justify-content:center}
 .hero .button.light{max-width:100%}
 .hero .text-link,.hero .scroll-cue{justify-content:center}
}
