@font-face{font-family:SUIT;src:url('assets/SUIT-Variable.woff2') format('woff2');font-display:swap}@font-face{font-family:Manrope;src:url('assets/Manrope-Regular.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fafbfc;color:#202333;font:18px/1.75 SUIT,system-ui,sans-serif;word-break:keep-all}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #2454ff;outline-offset:8px}.blue{color:#2454ff}.wrap{max-width:1440px;margin:auto;padding-inline:7vw}header{height:100px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center;position:absolute;inset:0 0 auto;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.16em;font-weight:700}.brand img{width:105px;height:70px;object-fit:contain}.menu-toggle{background:none;border:0;display:grid;gap:8px;padding:16px;cursor:pointer}.menu-toggle i{width:31px;height:2px;background:#202333;transition:transform .2s}.menu-toggle:hover i:first-child{transform:translateX(-5px)}.menu-toggle:hover i:last-child{transform:translateX(5px)}.hero{max-width:1600px;margin:auto;min-height:900px;height:100dvh;max-height:1100px;position:relative;padding:128px 7vw 40px;overflow:hidden}.hero-caption{font:13px Manrope,sans-serif;margin:0;letter-spacing:.03em}.hero h1{position:relative;z-index:2;font:400 clamp(90px,12.7vw,190px)/.94 Manrope,sans-serif;letter-spacing:-.075em;margin:55px 0 0;pointer-events:none}.hero h1>span{display:block}.hero h1>span:last-child{margin-left:24%}.hero-object{position:absolute;width:46%;max-width:700px;left:27%;top:34%;z-index:1;transform:rotate(-10deg);animation:object-in 1.3s cubic-bezier(.16,1,.3,1) both}.hero-object img{display:block;width:100%;height:auto}.hero h1>span:first-child{animation:type-in .9s cubic-bezier(.16,1,.3,1) both}.hero h1>span:last-child{animation:type-in 1.1s cubic-bezier(.16,1,.3,1) both}.hero-bottom{position:absolute;bottom:45px;left:7vw;right:7vw;display:flex;align-items:end;justify-content:space-between;gap:30px}.hero-bottom p{font-size:16px;line-height:1.7;margin:0}.hero-bottom p:first-child{font-size:24px;font-weight:600}.section-label{font:14px Manrope,SUIT,sans-serif;margin:0 0 44px}.manifesto{padding-block:150px 140px}.manifesto h2{font-size:clamp(45px,6.6vw,96px);line-height:1.25;letter-spacing:-.06em;font-weight:550;margin:0}.about-copy{margin:70px 0 0 auto;width:49%;max-width:630px}.about-copy p{margin:0 0 26px;color:#5c6070;line-height:1.9}.services{padding-block:70px 130px}.service{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;border-top:1px solid #dce0e7;padding:55px 0 65px}.service h3{font:400 clamp(65px,9vw,130px)/1.1 Manrope,sans-serif;letter-spacing:-.06em;margin:0}.service h4{font-size:24px;font-weight:550;margin:0 0 18px;letter-spacing:-.03em}.service p{font-size:17px;color:#5c6070;margin:0}.approach{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:100px 150px}.approach-title{align-self:start;position:sticky;top:100px}.approach h2{font-size:clamp(35px,4vw,58px);line-height:1.35;letter-spacing:-.045em;font-weight:550;margin:0}.steps article{padding:12px 0 55px}.steps h3{font:400 56px/1.2 Manrope,sans-serif;letter-spacing:-.05em;margin:0 0 22px}.steps p{font-size:17px;color:#5c6070;margin:0}.contact{padding-block:100px 130px}.contact h2{font-size:clamp(58px,8.4vw,125px);line-height:1.18;letter-spacing:-.06em;font-weight:550;margin:0 0 75px}.contact-row{display:flex;justify-content:space-between;align-items:end;gap:32px}.contact-row p{font-size:17px;color:#5c6070;margin:0}.contact-row a{font:400 clamp(20px,2.7vw,39px)/1.5 Manrope,sans-serif;letter-spacing:-.04em;border-bottom:1px solid #202333;padding-bottom:8px;transition:color .2s}.contact-row a:hover{color:#2454ff}.contact-row a span{margin-left:20px}footer{padding-block:36px 32px;border-top:1px solid #dce0e7;font-size:13px;color:#5c6070}.footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.footer-top p{font-size:15px}.legal{display:flex;gap:12px 30px;flex-wrap:wrap}.legal b{font-weight:500;color:#202333}.address{line-height:1.8;margin:14px 0 38px}.footer-bottom{display:flex;justify-content:space-between;font-size:12px}.skip{position:absolute;top:-60px;z-index:20}.skip:focus{top:12px;background:white;padding:12px}dialog{border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;background:#fafbfc;color:#202333;padding:100px 10vw}dialog::backdrop{background:#fafbfc}dialog nav{display:flex;flex-direction:column;gap:20px;margin:40px 0 60px}dialog nav a{font-size:clamp(32px,5vw,70px);letter-spacing:-.04em;width:fit-content}dialog nav a:hover{color:#2454ff}dialog small{font:14px Manrope,sans-serif;margin-left:20px;letter-spacing:0}dialog p{font-size:14px}.menu-close{position:absolute;right:5vw;top:32px;border:0;background:none;cursor:pointer;padding:12px}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(32px);transition:opacity .85s,transform 1s cubic-bezier(.16,1,.3,1)}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes type-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes object-in{from{opacity:0;transform:translateY(50px) rotate(-16deg)}to{opacity:1;transform:translateY(0) rotate(-10deg)}}
@media(max-width:800px){body{font-size:16px}.wrap{padding-inline:7vw}header{height:80px;padding-inline:5vw}.brand img{width:80px;height:54px}.brand{font-size:10px;gap:8px}.hero{height:810px;min-height:0;max-height:none;padding:118px 7vw 32px}.hero h1{font-size:15vw;line-height:1.07;margin-top:60px}.hero h1>span:last-child{margin-left:10%}.hero-object{width:85%;left:10%;top:35%}.hero-bottom{bottom:40px;display:block}.hero-bottom p:first-child{font-size:22px;margin-bottom:14px}.hero-bottom p{font-size:14px}.hero-caption{font-size:12px}.manifesto{padding-block:75px 80px}.section-label{margin-bottom:30px}.manifesto h2{font-size:10vw;line-height:1.35}.about-copy{width:100%;margin-top:40px}.about-copy p{font-size:16px}.services{padding-block:50px 60px}.service{grid-template-columns:1fr;gap:28px;padding:35px 0 42px}.service h3{font-size:18vw}.service h4{font-size:21px;margin-bottom:12px}.service p{font-size:15px}.approach{grid-template-columns:1fr;gap:40px;padding-block:60px}.approach-title{position:static}.approach h2{font-size:38px}.steps{padding-left:15%}.steps h3{font-size:45px}.steps p{font-size:15px}.contact{padding-block:65px 75px}.contact h2{font-size:13vw;margin-bottom:40px}.contact-row{display:block}.contact-row p{font-size:15px;margin-bottom:25px}.contact-row a{font-size:5.5vw}.contact-row a span{margin-left:8px}.footer-top{display:block;margin-bottom:25px}.footer-top p{font-size:13px}.legal{font-size:12px;gap:8px 18px}.address{font-size:12px;word-break:normal}.footer-bottom{font-size:10px}.menu-close{top:18px}dialog{padding-top:100px}dialog nav a{font-size:32px}dialog small{display:block;margin:0;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Editorial photography */
.hero h1{color:#202333;z-index:2}.hero-object{width:54%;max-width:800px;left:39%;top:33%;height:45%;transform:none;animation:photo-in 1.1s ease both;overflow:hidden}.hero-object img{width:100%;height:100%;object-fit:cover;filter:brightness(.78)}.hero h1>span:last-child{color:white;mix-blend-mode:difference}.hero h1>span:last-child .blue{color:#a8baff}.photo-band{margin:0 7vw 100px;position:relative;height:560px;overflow:hidden}.photo-band img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.photo-band figcaption{position:absolute;left:35px;bottom:28px;color:white;font:14px Manrope,sans-serif;text-shadow:0 1px 8px #000}.contact-row a{font-family:SUIT,sans-serif;font-size:32px;letter-spacing:-.03em}@keyframes photo-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@media(max-width:800px){.hero-object{width:86%;left:7%;top:35%;height:35%;max-width:none}.hero h1>span:last-child{color:#202333;mix-blend-mode:normal}.hero h1>span:last-child .blue{color:#2454ff}.photo-band{height:380px;margin:0 7vw 45px}.photo-band figcaption{left:18px;right:18px;bottom:20px;font-size:11px}.contact-row a{font-size:26px}}
@media(min-width:801px){.hero h1>span:last-child{margin-left:40%;mix-blend-mode:normal}}

.contact-open{border:0;border-bottom:1px solid currentColor;background:none;padding:0 0 8px;cursor:pointer;font-size:32px;letter-spacing:-.03em}.contact-open span{margin-left:28px}.contact-open:hover{color:#2454ff}
#contact-dialog{width:min(760px,calc(100% - 32px));height:auto;max-height:calc(100dvh - 32px);margin:auto;padding:55px;overflow:auto}#contact-dialog::backdrop{background:rgb(20 25 40 / .5);backdrop-filter:blur(6px)}.contact-close{position:absolute;top:18px;right:22px;border:0;background:none;cursor:pointer;font-size:14px;padding:8px}#contact-dialog .section-label{margin-bottom:15px}#contact-title{font-size:36px;letter-spacing:-.04em;font-weight:550;margin:0 0 32px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}#inquiry-form label{display:block;font-size:15px;margin-bottom:24px}#inquiry-form label>span{font-size:11px;color:#717786;margin-left:8px}#inquiry-form input,#inquiry-form textarea{display:block;width:100%;margin-top:10px;border:1px solid #d9dce3;background:#fff;padding:12px;font:16px/1.6 SUIT,sans-serif;color:#202333;border-radius:0}#inquiry-form textarea{resize:vertical}#inquiry-form input:focus,#inquiry-form textarea:focus{outline:2px solid #2454ff;outline-offset:1px}#contact-dialog .form-note{font-size:12px;color:#5c6070}.inquiry-submit{display:flex;justify-content:space-between;width:100%;padding:16px 20px;border:0;background:#2454ff;color:white;cursor:pointer;font-size:17px}#inquiry-status{font-size:14px;color:#2454ff}#inquiry-status:empty{display:none}@media(max-width:800px){.contact-open{font-size:26px}#contact-dialog{padding:55px 22px 28px}#contact-title{font-size:28px}.form-pair{grid-template-columns:1fr;gap:0}}

.hero-object video{width:100%;height:100%;object-fit:cover;display:block}#video-toggle{position:absolute;right:16px;bottom:14px;background:rgb(0 0 0 / .35);color:white;border:1px solid rgb(255 255 255 / .4);font:12px SUIT,sans-serif;padding:8px 12px;cursor:pointer;z-index:4}.hero-object{overflow:visible}#video-toggle:focus-visible{outline-color:white}@media(max-width:800px){.hero-object{top:39%;height:32%}}

/* Full-bleed opening film with high-contrast type. */
.hero{max-width:none;isolation:isolate;background:#08152f;color:#fff}
.hero-object{inset:0;width:100%;height:100%;max-width:none;z-index:-2;animation:none;overflow:hidden;transform:none}
.hero-object::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,10,28,.52),rgba(3,10,28,.15) 45%,rgba(3,10,28,.65));pointer-events:none}
.hero-object video{width:100%;height:100%;object-fit:cover}
.hero h1{color:white;text-shadow:0 2px 30px rgba(0,0,0,.2)}
.hero h1>span:last-child{color:white;mix-blend-mode:normal;margin-left:24%}
.hero h1>span:last-child .blue{color:#fff}
.hero-caption,.hero-bottom{color:white}
header .brand{color:white}header .brand img{filter:brightness(0) invert(1)}header .menu-toggle i{background:white}
@media(max-width:800px){.hero{height:100svh;min-height:680px}.hero-object{inset:0;width:100%;height:100%;max-width:none}.hero h1{font-size:21vw;margin-top:75px}.hero h1>span:last-child{margin-left:12%;color:white}.hero h1>span:last-child .blue{color:white}.hero-bottom{bottom:36px}}

.hero h1.function-title{font-size:clamp(80px,10.5vw,160px);line-height:1.02;letter-spacing:-.065em;margin-top:68px}.hero h1.function-title>span:last-child{margin-left:16%}@media(max-width:800px){.hero h1.function-title{font-size:13.2vw;line-height:1.15;margin-top:90px;letter-spacing:-.055em}.hero h1.function-title>span:last-child{margin-left:10%}}
