@font-face{font-family:Display;src:url('assets/display.ttf') format('truetype');font-display:swap;font-weight:100 900}@font-face{font-family:Body;src:url('assets/body.ttf') format('truetype');font-display:swap;font-weight:100 900}
:root{--accent:#a62834!important} .hero{background:#073858}.hero .eyebrow{color:#fff}.card .number{color:#a62834}
.loader{animation:none!important;transition:transform .58s cubic-bezier(.76,0,.24,1)}.loader.leaving{transform:translateY(-100%)}.loading .hero h1,.loading .hero p,.loading .hero-photo,.loading .hero-image img{animation-play-state:paused!important}.hero-image img{animation:hero-photo 1.8s ease-out both}.entering .transition{transform:translateY(0);transition:none}.hero .btn{animation:rise 1s .45s both}.loading .hero .btn{animation-play-state:paused!important}.hero-image img{will-change:transform}.hero,.card,.service-detail,.audience-panel{overflow-wrap:break-word}.contact-card .btn{align-self:flex-start}.footer nav{align-items:center}
:root{--ink:#131a35;--paper:#f7f8fb;--accent:#087ebc;--line:#d5dbe5;--muted:#536075;--panel:#e8edf5;--header:rgba(247,248,251,.9)}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Body,Arial,sans-serif}body.dark{--paper:#10162b;--ink:#f5f7ff;--line:#35415e;--muted:#b8c3d7;--panel:#1e2944;--header:rgba(16,22,43,.92)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Display,Arial,sans-serif;font-weight:600;line-height:1.03;letter-spacing:-.045em}h1{font-size:clamp(3.3rem,8.2vw,8.3rem);max-width:11ch}h2{font-size:clamp(2.5rem,5.5vw,5.8rem)}h3{font-size:clamp(1.6rem,2.5vw,2.5rem)}p{max-width:65ch}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;z-index:100;top:-100px;background:var(--paper);padding:12px}.skip:focus{top:10px}.wrap{width:90%;max-width:1600px;margin:auto}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.15em;font-weight:600}.nav{height:95px;display:flex;align-items:center;justify-content:space-between;width:90%;margin:auto;position:relative;z-index:30}.logo{width:220px;background:#fff;padding:8px 12px;border-radius:3px}.menu-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:40px;padding:12px 22px;display:flex;gap:20px;align-items:center}.menu-icon{width:22px;height:16px;position:relative}.menu-icon:before,.menu-icon:after{content:'';position:absolute;left:0;width:22px;height:1px;background:currentColor;transition:transform .3s}.menu-icon:before{top:4px}.menu-icon:after{bottom:4px}.menu-btn[aria-expanded=true] .menu-icon:before{transform:translateY(3px) rotate(45deg)}.menu-btn[aria-expanded=true] .menu-icon:after{transform:translateY(-3px) rotate(-45deg)}.overlay{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:25;padding:130px 5% 50px;display:grid;grid-template-columns:2fr 1fr;gap:50px;overflow:auto;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .5s cubic-bezier(.76,0,.24,1),visibility .5s}.overlay.open{visibility:visible;clip-path:inset(0)}.overlay nav{display:flex;flex-direction:column;align-items:flex-start}.overlay nav a{font-family:Display;font-size:clamp(2.2rem,5vw,5rem);line-height:1.3;text-decoration:none}.overlay nav a:hover{color:#8bd8ff}.overlay .menu-aside{align-self:end}.overlay .menu-aside p{margin-top:20px}.menu-open{overflow:hidden}.menu-open .nav{position:fixed;left:5%;top:0}.menu-open .menu-btn{color:var(--paper);background:var(--ink)}.hero{position:relative;min-height:calc(100svh - 115px);margin:0 2%;border-radius:32px;overflow:hidden;color:white;background:#121733;isolation:isolate;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.06);animation:hero-photo 2s ease-out both}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,19,42,.83),rgba(12,19,42,.32) 65%,rgba(12,19,42,.08));z-index:-1}.hero-copy{width:94%;margin:auto;padding:8vw 4vw 9vw}.hero .eyebrow{margin-bottom:25px}.hero h1{animation:rise 1s .2s both}.hero p{font-size:clamp(1rem,1.4vw,1.25rem);max-width:39ch;margin:28px 0 35px;animation:rise 1s .3s both}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:40px;padding:15px 26px;background:var(--accent);border:1px solid var(--accent);color:white;text-decoration:none;line-height:1.3;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px #0002}.hero .btn{background:white;color:#131a35;border-color:white}.hero-bottom{position:absolute;bottom:24px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:.875rem;border-top:1px solid #ffffff50;padding-top:15px}.section{padding:110px 0}.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-bottom:1px solid var(--line)}.intro h2{max-width:18ch}.intro p{margin-top:35px;font-size:1.15rem;color:var(--muted)}.pill{display:inline-block;padding:8px 16px;border:1px solid var(--line);border-radius:25px;font-size:.875rem}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-head h2{max-width:15ch}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--panel);border-radius:24px;padding:35px;display:flex;flex-direction:column;gap:25px;transition:transform .35s}.card:hover{transform:translateY(-6px)}.card .number{font-family:Display;font-size:2.5rem;color:var(--accent)}.card p{color:var(--muted)}.card a{margin-top:auto}.mechanism{display:grid;grid-template-columns:1.35fr 1fr;gap:65px;align-items:center}.mechanism figure{margin:0;background:#fff;border-radius:28px;padding:25px}.mechanism img{width:100%;aspect-ratio:1.5;object-fit:contain}.mechanism p{margin:25px 0;color:var(--muted)}.mechanism figcaption{font-size:.875rem;color:#536075;margin-top:20px}.scroll-sequence{height:160svh;position:relative;margin:40px 0}.sticky-photo{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden}.expanding-photo{position:relative;width:75%;height:75%;border-radius:35px;overflow:hidden;will-change:width,height,border-radius}.expanding-photo img{width:100%;height:100%;object-fit:cover}.expanding-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b143be0,transparent 80%)}.photo-caption{position:absolute;left:7%;bottom:12%;color:white;z-index:1;max-width:14ch;font-family:Display;font-size:clamp(2rem,5vw,5rem);line-height:1.08;letter-spacing:-.04em}.audience{display:grid;grid-template-columns:1fr 1fr;gap:80px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.tabs button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px 17px;border-radius:40px}.tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}.audience-panel{min-height:250px;padding:35px;border-radius:25px;background:var(--panel)}.audience-panel p{margin:20px 0}.team-strip{display:flex;gap:20px;overflow-x:auto;padding:10px 0 25px;scroll-snap-type:x mandatory}.team-card{min-width:270px;max-width:300px;scroll-snap-align:start;flex:1}.team-card img{width:100%;aspect-ratio:.84;object-fit:cover;border-radius:22px;filter:saturate(.8)}.team-card h3{font-size:1.6rem;margin:18px 0 4px}.team-card p{font-size:.875rem;color:var(--muted)}.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:1fr 3fr 1fr;gap:25px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center}.news-item h3{font-size:1.7rem}.news-item .date{font-size:.875rem;color:var(--muted)}.cta{padding:80px 7%;background:var(--ink);color:var(--paper);border-radius:32px;display:flex;align-items:center;justify-content:space-between;gap:40px;margin:40px 2% 70px}.cta h2{max-width:14ch}.cta .btn{background:#fff;color:#131a35;border-color:white}.footer{padding:40px 0}.footer-top{display:flex;justify-content:space-between;gap:50px;border-bottom:1px solid var(--line);padding-bottom:35px}.footer nav{display:flex;flex-wrap:wrap;gap:20px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:25px;font-size:.875rem;color:var(--muted)}.footer-bottom p{max-width:65ch}.page-top{padding:70px 0 80px;border-bottom:1px solid var(--line)}.page-top h1{max-width:14ch;margin:25px 0 30px}.page-top p{font-size:1.2rem;color:var(--muted)}.prose{max-width:900px}.prose h2{font-size:clamp(2rem,4vw,4rem);margin-bottom:35px}.prose p{margin-bottom:25px}.prose h3{margin:35px 0 18px}.people{display:grid;grid-template-columns:repeat(2,1fr);gap:65px 40px}.person{display:grid;grid-template-columns:160px 1fr;gap:25px}.person img{width:160px;aspect-ratio:.85;object-fit:cover;border-radius:15px}.person p{margin-top:15px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:75px}.contact-form{display:grid;gap:20px}.field{display:grid;gap:8px}.field input,.field textarea,.field select{width:100%;padding:15px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px}.field textarea{min-height:160px}.contact-form small{font-size:.875rem;color:var(--muted)}.a11y-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;background:var(--paper);border:1px solid var(--ink);border-radius:50%;color:var(--ink);z-index:40;display:grid;place-items:center;box-shadow:0 5px 20px #0002}.a11y-toggle svg{width:25px;height:25px}.a11y-panel{position:fixed;bottom:80px;right:20px;width:min(330px,90vw);padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--paper);z-index:40;box-shadow:0 12px 50px #0003}.a11y-panel label{display:flex;gap:12px;align-items:center;margin-top:18px}.loader,.transition{position:fixed;inset:0;background:#f7f8fb;z-index:80;display:grid;place-items:center;color:#131a35}.loader{animation:loader-out .7s 1.5s both}.logo-fragments{position:relative;width:240px;height:100px;overflow:hidden}.fragment{position:absolute;inset:0;background:url('assets/logo.png') center/contain no-repeat;clip-path:inset(0 66% 0 0);animation:assemble 1.1s cubic-bezier(.16,1,.3,1) both}.fragment:nth-child(2){clip-path:inset(0 33% 0 33%);animation-delay:.12s}.fragment:nth-child(3){clip-path:inset(0 0 0 66%);animation-delay:.24s}.loader-label{position:absolute;bottom:15%;letter-spacing:.2em;font-size:.875rem}.transition{transform:translateY(100%);pointer-events:none;transition:transform .3s cubic-bezier(.76,0,.24,1)}.transition.active{transform:translateY(0)}.transition img{width:200px;animation:pulse .8s ease infinite alternate}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.motion-ready .reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}@keyframes rise{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes hero-photo{from{transform:scale(1.12)}to{transform:scale(1.02)}}@keyframes assemble{from{opacity:0;transform:translateY(75px) rotate(8deg)}to{opacity:1;transform:none}}@keyframes loader-out{to{transform:translateY(-100%);visibility:hidden}}@keyframes pulse{to{opacity:.5;transform:scale(.98)}}
@media(min-width:1600px){.hero-copy{padding-left:5vw}.hero{min-height:850px}}@media(max-width:950px){.intro,.audience,.mechanism,.contact-layout{grid-template-columns:1fr;gap:35px}.grid{grid-template-columns:1fr 1fr}.people{grid-template-columns:1fr}.overlay{grid-template-columns:1fr}.overlay .menu-aside{display:none}.section{padding:75px 0}.hero{min-height:720px}.hero h1{font-size:clamp(3.5rem,10vw,6rem)}.hero:after{background:linear-gradient(90deg,#0c132ad9,#0c132a50)}.news-item{grid-template-columns:1fr 3fr}.news-item>a{grid-column:2}.footer-top{flex-direction:column}.cta{padding:60px 7%;flex-direction:column;align-items:flex-start}.expanding-photo{width:90%;height:85%}.scroll-sequence{height:130svh}}
@media(max-width:600px){.nav{height:80px}.logo{width:175px}.menu-btn{padding:10px 14px;gap:12px}.hero{margin:0 3%;border-radius:22px;min-height:calc(100svh - 95px)}.hero-copy{padding:75px 5% 95px}.hero h1{font-size:clamp(3rem,12vw,4.8rem);max-width:10ch}.hero p{max-width:29ch}.hero-bottom{font-size:.75rem;gap:20px}.hero-bottom span:last-child{max-width:15ch;text-align:right}.grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column;gap:20px}.section{padding:60px 0}.intro{gap:25px}.intro p{font-size:1rem}.person{grid-template-columns:100px 1fr;gap:20px}.person img{width:100px}.person h3{font-size:1.5rem}.news-item{grid-template-columns:1fr;gap:12px}.news-item>a{grid-column:1}.footer-bottom{flex-direction:column}.page-top{padding:40px 0 50px}.page-top h1{font-size:3.4rem;max-width:11ch}.team-card{min-width:240px}.scroll-sequence{height:auto;margin:0}.sticky-photo{position:relative;height:75svh}.expanding-photo{width:94%;height:90%;will-change:auto}.photo-caption{font-size:2.7rem}.a11y-toggle{bottom:12px;right:12px}.cta{border-radius:24px}.contact-layout{gap:35px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.loader{display:none}.motion-ready .reveal{opacity:1;transform:none}.scroll-sequence{height:auto}.sticky-photo{position:relative;height:70svh}.expanding-photo{width:90%;height:90%}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important}body.reduce-motion .reveal{opacity:1;transform:none}body.reduce-motion .loader{display:none}body.reduce-motion .scroll-sequence{height:auto}body.reduce-motion .sticky-photo{position:relative;height:70svh}

/* Authentic company portrait: preserve facial framing in the editorial hero. */
.hero{background:#10223b}.hero-photo{left:44%;width:56%;object-position:center 20%}.hero:after{background:linear-gradient(90deg,#10223b 30%,#10223bf0 44%,#10223b30 72%)}.expanding-photo img{object-position:center 20%}@media(max-width:600px){.hero-photo{left:0;width:100%;object-position:center 15%}.hero:after{background:linear-gradient(0deg,#10223bfa 10%,#10223bb0 50%,#10223b40)}.hero-copy{padding-top:46svh}.hero-bottom{position:static;margin:0 6% 24px}.hero{flex-direction:column}.hero h1{font-size:clamp(3rem,12vw,4rem)}}
