@font-face{font-family:Safiro;src:url('../fonts/safiro-medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Open Sans';src:url('../fonts/open-sans-0.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Open Sans';src:url('../fonts/open-sans-2.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--blue:#122aff;--navy:#000746;--pale:#e8ecff;--paper:#fafbf8;--ink:#101535;--muted:#6b7085;--line:#d9dce5;--surface:#f0f2f7;--display:Safiro,'Trebuchet MS',sans-serif;--body:'Open Sans',sans-serif;--gutter:clamp(24px,5vw,88px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
/* A quiet page scrollbar that follows the selected theme. */
:root{--scrollbar-track:#f0f2f7;--scrollbar-thumb:#7886b5;--scrollbar-hover:#122aff;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
:root[data-theme=dark]{--scrollbar-track:#090e26;--scrollbar-thumb:#6376a8;--scrollbar-hover:#91a2ff}
@supports selector(::-webkit-scrollbar){
  @media(forced-colors:none){
    :root{scrollbar-width:auto;scrollbar-color:auto}
    :root::-webkit-scrollbar{width:12px;height:12px}
    :root::-webkit-scrollbar-track{background:var(--scrollbar-track)}
    :root::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid var(--scrollbar-track);border-radius:8px;min-height:48px}
    :root::-webkit-scrollbar-thumb:hover,:root::-webkit-scrollbar-thumb:active{background:var(--scrollbar-hover)}
    :root::-webkit-scrollbar-corner{background:var(--scrollbar-track)}
    :root::-webkit-scrollbar-button{display:none}
  }
}
@media(forced-colors:active){:root{scrollbar-color:auto;scrollbar-width:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button{border:0}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:500}
h2{font-size:clamp(40px,4.35vw,72px);line-height:1.08;letter-spacing:-.055em}
p{max-width:65ch}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #5d80ff;outline-offset:6px}
::selection{background:var(--blue);color:#fff}
.blue{color:var(--blue)}
.muted{color:var(--muted)}
.logo-light{display:none}
.skip-link{position:fixed;top:12px;left:12px;background:var(--blue);color:#fff;padding:12px 20px;z-index:100;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:110px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;z-index:30;background:var(--pale);border-bottom:1px solid rgb(0 7 70 / 12%)}
.brand{padding:28px 0;flex-shrink:0}
.brand img{width:84px;height:auto}
.desktop-nav{display:flex;gap:36px;margin-left:auto;margin-right:clamp(10px,4vw,70px)}
.desktop-nav a{font-size:13px;position:relative}
.desktop-nav a:after,.footer-bottom a:after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.desktop-nav a:hover:after,.footer-bottom a:hover:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:20px}
.language-switch{display:flex;align-items:center;gap:9px;font-size:12px;background:none;padding:10px 0}
.theme-switch{background:none;font-size:23px;padding:6px}
.header-cta{border:1px solid rgb(0 7 70 / 25%);border-radius:40px;display:flex;gap:28px;padding:12px 19px;font-size:12px;transition:background .25s,color .25s}
.header-cta:hover{background:var(--navy);color:#fff}
.header-cta>span:last-child{font-size:18px;line-height:1}
.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;background:var(--pale);padding:30px var(--gutter) 0;overflow:hidden}
.hero-footer{display:flex;justify-content:space-between;align-items:center;gap:24px}
.hero-title-wrap{position:relative;padding-top:49px}
.hero h1{position:relative;z-index:2;font-size:clamp(70px,9.7vw,156px);line-height:.98;letter-spacing:-.07em;max-width:9.5em;pointer-events:none}
.hero h1>span{display:block}
.hero h1>span:last-child{padding-bottom:.1em}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;position:relative;gap:30px;margin-top:22px;padding-bottom:55px;z-index:3}
.hero-intro{max-width:420px}
.hero-intro p{font-size:14px;line-height:1.8;max-width:360px;color:#515774;margin-bottom:23px}
.button{display:inline-flex;align-items:center;gap:36px;border-radius:100px;padding:9px 9px 9px 24px;font-size:12px;font-weight:600;min-height:52px;transition:transform .35s var(--ease),background .25s}
.button:hover{transform:translateY(-3px)}
.button-blue{background:var(--blue);color:#fff}
.button-arrow{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#ffffff24;font-size:20px;transition:transform .35s var(--ease)}
.button:hover .button-arrow{transform:rotate(45deg)}
.hero-people{display:flex;gap:15px;align-items:center;padding-bottom:9px}
.avatar-stack{display:flex}
.avatar-stack img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:3px solid var(--pale);margin-left:-12px}
.avatar-stack img:first-child{margin-left:0}
.hero-people strong{display:block;font-size:10px;font-weight:600}
.hero-people small{display:block;font-size:9px;color:#656d92;margin-top:3px}
.hero-footer{border-top:1px solid rgb(0 7 70 / 15%);padding:19px 0;font-size:10px;color:#5d658c}
.hero-footer a{display:flex;align-items:center;gap:25px}
.hero-footer a>span:last-child{font-size:18px}
.section-space{padding:clamp(80px,8vw,136px) var(--gutter)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:60px}
.section-heading>p{font-size:13px;color:var(--muted);max-width:330px;line-height:1.85;padding-bottom:3px}
.team{background:var(--surface)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 22px}
.portrait{aspect-ratio:1/.98;background:#d3d8e8;position:relative;overflow:hidden;border-radius:3px}
.portrait>img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:none;transform:none}
.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,#00072050);pointer-events:none}
.portrait-index{position:absolute;bottom:18px;left:18px;color:#fff;z-index:1;font-size:9px;letter-spacing:.12em}
.portrait-link{position:absolute;right:14px;bottom:14px;z-index:1;display:grid;place-items:center;background:#fff;color:#000746;border-radius:50%;width:32px;height:32px;font-size:19px;transform:translateY(55px);transition:transform .4s var(--ease)}
.person:hover .portrait-link,.person:focus-visible .portrait-link{transform:translateY(0)}
.person-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:17px}
.person-caption h3{font-size:19px;letter-spacing:-.04em}
.person-caption>span{font-size:9px;color:var(--muted)}
.contact{background:var(--blue);color:#fff;position:relative;overflow:hidden}
.contact h2{font-size:clamp(54px,8.5vw,136px);letter-spacing:-.065em;line-height:1;position:relative}
.contact-arrow{position:absolute;right:3%;top:0;font-size:1.6em;line-height:1;font-family:var(--body);font-weight:400;transition:transform .7s var(--ease)}
.contact:has(.button:hover) .contact-arrow{transform:translate(10px,-10px)}
.contact-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:50px}
.contact-bottom p{font-size:13px;max-width:320px;color:#d2d8ff}
.button-white{background:#fff;color:#122aff;flex-shrink:0}
.button-white .button-arrow{background:#e8ecff}
.site-footer{padding:65px var(--gutter) 25px}
.footer-top{display:flex;align-items:center;gap:50px;padding-bottom:50px}
.footer-brand{padding:25px 0}
.footer-brand img{width:100px;height:auto}
.footer-top>p{font-size:12px;color:var(--muted);max-width:165px}
.back-top{margin-left:auto;display:flex;gap:30px;align-items:center;font-size:11px}
.back-top>span:last-child{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:19px;transition:background .3s}
.back-top:hover>span:last-child{background:var(--pale)}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:25px;font-size:9px;color:var(--muted)}
.footer-bottom nav{display:flex;gap:23px}
.footer-bottom a{position:relative}
.motion-ready .reveal{opacity:0;filter:blur(6px);transform:translateY(24px);transition:opacity .85s var(--ease),filter .85s var(--ease),transform .85s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible,.motion-ready .reveal:focus-within{opacity:1;filter:blur(0);transform:translateY(0)}
.motion-ready .hero h1>span{animation:hero-in 1s var(--ease) both}
.motion-ready .hero h1>span:nth-child(2){animation-delay:.1s}
.motion-ready .hero h1>span:nth-child(3){animation-delay:.2s}
.motion-ready .hero-bottom{animation:hero-in 1s .35s var(--ease) both}
@keyframes hero-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
[data-theme=dark]{--paper:#090e26;--ink:#f0f2ff;--muted:#9da5c3;--line:#ffffff20;--surface:#0d1430;--pale:#111c47;--blue:#91a2ff}
[data-theme=dark] .logo-dark{display:none}
[data-theme=dark] .logo-light{display:block}
[data-theme=dark] .hero-intro p,[data-theme=dark] .hero-people small,[data-theme=dark] .hero-footer{color:#b3bee1}
[data-theme=dark] .hero-footer,[data-theme=dark] .site-header{border-color:#ffffff20}
[data-theme=dark] .header-cta{border-color:#ffffff50}
[data-theme=dark] .button-blue{background:#122aff}
[data-theme=dark] .contact{background:#122aff}
@media(min-width:1600px){
.hero{padding-top:38px}
.hero-title-wrap{padding-top:65px}
.hero-bottom{margin-top:35px;padding-bottom:65px}
.section-space{padding-inline:max(var(--gutter),calc((100% - 1480px)/2))}
.hero h1{font-size:156px}
}
@media(max-width:1100px){
.desktop-nav{gap:24px;margin-right:15px}
.header-actions{gap:14px}
.header-cta{gap:16px}
.hero-people{flex-direction:column;align-items:flex-start;gap:10px}
.hero h1{font-size:10.8vw}
.section-heading>p{max-width:280px}
.person-caption{display:block}
.person-caption>span{display:block;margin-top:4px}
.contact-arrow{right:0}
.team-grid{gap:30px 18px}
}
@media(max-width:760px){
html{scroll-padding-top:24px}
.site-header{height:90px;gap:20px}
.brand{padding:22px 0}
.brand img{width:80px}
.desktop-nav,.header-cta{display:none}
.header-actions{gap:18px}
.language-switch{font-size:12px}
.theme-switch{font-size:24px}
.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:28px;height:40px;padding:0;background:transparent;z-index:33}
.menu-toggle span{display:block;width:23px;height:1px;background:currentColor;transition:transform .3s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{display:flex;position:absolute;top:90px;left:0;right:0;background:var(--pale);padding:30px var(--gutter) 45px;flex-direction:column;gap:18px;font-family:var(--display);font-size:30px;border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility .3s}
.mobile-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}
.hero{padding-top:25px}
.hero-title-wrap{padding-top:40px}
.hero h1{font-size:clamp(64px,12.8vw,95px);line-height:1.02;max-width:100%;letter-spacing:-.066em}
.hero-bottom{margin-top:24px;display:block;padding-bottom:30px}
.hero-intro{max-width:65%;min-width:220px}
.hero-intro p{font-size:12px;line-height:1.85;margin-bottom:23px}
.button{font-size:11px;gap:22px;padding-left:20px;min-height:48px}
.button-arrow{width:30px;height:30px;font-size:18px}
.hero-people{margin-top:38px;display:flex;flex-direction:row;gap:12px;align-items:center}
.hero-people strong{font-size:9px}
.hero-people small{font-size:8px}
.avatar-stack img{width:35px;height:35px;margin-left:-11px}
.hero-footer{font-size:8px;gap:20px;padding:15px 0}
.hero-footer a{gap:15px}
.section-space{padding-block:74px}
.section-heading{display:block;margin-bottom:36px}
.section-heading>p{margin-top:24px;max-width:490px;font-size:12px}
.team-grid{grid-template-columns:repeat(2,1fr);gap:30px 14px}
.portrait{aspect-ratio:3/4}
.portrait-link{width:26px;height:26px;font-size:16px;right:9px;bottom:9px;transform:translateY(0)}
.portrait-index{font-size:7px;left:10px;bottom:17px}
.person-caption{padding-top:12px}
.person-caption h3{font-size:17px;line-height:1.2}
.person-caption>span{font-size:8px}
.contact h2{font-size:clamp(49px,9.1vw,72px)}
.contact-arrow{font-size:1.1em;right:0;top:1.07em}
.contact-bottom{display:block;margin-top:29px}
.contact-bottom p{font-size:12px;max-width:290px}
.contact-bottom .button{margin-top:27px}
.site-footer{padding-top:32px}
.footer-top{gap:25px;padding-bottom:32px;flex-wrap:wrap}
.footer-brand img{width:85px}
.footer-top>p{font-size:10px;max-width:140px}
.back-top{font-size:9px;gap:15px}
.footer-bottom{flex-wrap:wrap;font-size:8px;gap:22px}
.footer-bottom>span:last-child{width:100%}
.footer-bottom nav{gap:18px}
}
@media(max-width:440px){
.hero h1{font-size:13.4vw}
.hero-intro{max-width:78%}
.hero-footer>span{max-width:130px}
.contact h2{font-size:11.1vw}
.back-top{margin-left:0}
.footer-top{justify-content:space-between}
.footer-top>p{margin-left:auto}
.back-top{width:100%;justify-content:space-between}
.hero-people strong{font-size:8px}
}
.skip-link{visibility:hidden}
.skip-link:focus{visibility:visible}
.section-heading>p,.contact-bottom p{font-size:15px}
.hero-people strong{font-size:11px}
.hero-people small{font-size:10px}
.person-caption>span,.footer-bottom{font-size:11px}
@media(max-width:760px){
.hero-intro p,.section-heading>p,.contact-bottom p{font-size:14px}
.hero-intro{max-width:72%}
.hero-people strong{font-size:10px}
.hero-people small{font-size:9px}
.hero-footer,.person-caption>span,.footer-bottom{font-size:10px}
.back-top{font-size:11px}
.footer-top>p{font-size:12px}
.footer-bottom nav{gap:15px}
}
@media(max-width:440px){
.hero-intro{max-width:78%}
.hero-people{gap:9px}
.hero-people strong{font-size:9px}
.hero-people small{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.motion-ready .reveal{opacity:1;filter:none;transform:none}
}
