:root{--navy:#100640;--blue:#5069ff;--cyan:#56d9df;--ink:#17132d;--paper:#f7f7f3;--line:#dedee4;--muted:#686675}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}img{display:block;max-width:100%}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.065em;line-height:1.02}h2{font-size:clamp(38px,4.6vw,68px)}em{font-style:normal;color:var(--cyan)}.skip{position:fixed;top:-100px;left:10px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:relative;z-index:20;border-bottom:1px solid #eee}.logo{display:inline-flex;align-items:center;gap:8px;font-size:25px;font-weight:800;letter-spacing:-1px}.logo img{width:39px;height:39px}.logo-dot{color:var(--blue)}nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}nav>a{transition:color .2s}nav>a:hover{color:var(--blue)}nav .nav-cta{border:1px solid #bbb9c7;padding:13px 20px;border-radius:40px;display:flex;gap:24px}.menu-button{display:none}.hero{min-height:750px;height:calc(100svh - 94px);max-height:1050px;position:relative;background:var(--navy);color:white;overflow:hidden}.hero-media{position:absolute;width:100%;height:100%;object-fit:cover;object-position:65% center;animation:film 20s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,5,35,.92),rgba(10,5,35,.65) 48%,rgba(10,5,35,.08)),linear-gradient(0deg,rgba(10,5,35,.65),transparent 50%)}.hero-content{position:relative;max-width:1600px;margin:auto;padding:65px 5% 55px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.9px;display:flex;align-items:center;gap:11px;margin-bottom:32px;line-height:1.5}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--cyan);border-radius:50%}.eyebrow.dark{color:var(--blue)}h1{font-size:clamp(64px,7.5vw,116px);margin-bottom:27px;max-width:800px}.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.hero-bottom p{font-size:16px;max-width:430px;color:#e2e0e8;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:19px 24px;border:0;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:22px;font-weight:400;line-height:1}.button.light{background:white;color:var(--ink)}.button.cyan{background:var(--cyan);color:var(--navy)}.hero-caption{position:absolute;right:5%;bottom:38px;display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:1.5px;text-align:right}.scroll{position:absolute;left:5%;bottom:36px;border:1px solid #ffffff40;border-radius:50%;height:38px;width:38px;display:grid;place-items:center}.intro-strip{padding:34px 5%;display:flex;align-items:center;gap:35px;background:var(--cyan);color:var(--navy)}.intro-strip>span:first-child{font-size:19px;font-weight:600;letter-spacing:-.4px}.strip-line{height:1px;background:#10064060;flex:1}.intro-strip p{margin:0;font-size:13px;line-height:1.4}.strip-symbol{font-size:40px;margin-left:4%}.section{padding:100px 7%}.activity{display:grid;grid-template-columns:1.1fr 1fr;column-gap:10%;row-gap:45px;max-width:1600px;margin:auto}.section-heading h2 span,.team h2 span{color:#777383}.lead{font-size:21px;letter-spacing:-.4px;line-height:1.5}.activity-copy{padding-top:46px}.activity-copy>p:last-child,.team-copy>p:not(.eyebrow):not(.lead){font-size:15px;color:var(--muted)}.service-list{grid-column:1/-1}.service{display:grid;grid-template-columns:40px 1fr 1.1fr 30px;align-items:start;gap:30px;padding:30px 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service-no{font-size:11px;color:var(--blue);padding-top:6px}.service h3{font-size:25px;letter-spacing:-.7px;font-weight:500;margin-bottom:0}.service p{font-size:14px;color:var(--muted);margin:0;max-width:390px}.service>span:last-child{font-size:26px;color:var(--blue)}.model{background:var(--navy);color:white;position:relative;overflow:hidden}.model:after{content:'';position:absolute;right:-130px;top:95px;width:440px;height:440px;border:1px solid #ffffff12;transform:rotate(45deg);pointer-events:none}.model-top{display:grid;grid-template-columns:1.2fr 1fr;gap:20px 15%;position:relative;z-index:1}.model-top>.eyebrow{grid-column:1/-1;color:#d3cfe4}.model-top h2{margin-bottom:50px}.model-intro{align-self:center;color:#c5bfd7;max-width:360px;font-size:17px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:25px}.steps article{border-top:1px solid #ffffff40;padding-top:22px}.steps article>span{font-size:10px;letter-spacing:1.3px;color:var(--cyan)}.steps h3{font-size:21px;margin-top:22px;font-weight:500;letter-spacing:-.5px}.steps p{font-size:14px;color:#b9b4cc}.team{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;max-width:1600px;margin:auto}.team-art{position:relative;min-height:580px;background:#e9e8ef;overflow:hidden}.team-art img{width:100%;height:580px;object-fit:cover}.image-label{position:absolute;bottom:22px;left:22px;background:var(--paper);padding:12px 16px;font-size:9px;letter-spacing:1.6px}.team-copy h2{font-size:clamp(38px,4.1vw,60px)}.text-link{border-bottom:1px solid var(--ink);display:inline-flex;gap:60px;padding:10px 0;margin-top:12px;font-size:14px;font-weight:600}.text-link span{color:var(--blue);font-size:20px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:12%;max-width:1600px;margin:auto;padding-top:75px}.faq h2{font-size:45px;margin-bottom:45px}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:17px;gap:20px}summary::-webkit-details-marker{display:none}summary>span{color:var(--blue);font-size:24px;line-height:20px}details[open] summary>span{transform:rotate(45deg)}details p{max-width:580px;color:var(--muted);font-size:14px;margin:20px 25px 0 0}.contact{background:var(--blue);color:white;display:grid;grid-template-columns:1.1fr 1fr;gap:12%;position:relative}.contact h2{font-size:clamp(43px,5.3vw,78px)}.contact-copy>p:not(.eyebrow){max-width:370px;font-size:16px;color:#eeefff}.contact-email{display:inline-block;font-size:clamp(17px,2vw,27px);border-bottom:1px solid #ffffff70;padding-bottom:10px;letter-spacing:-.5px}.contact-people{display:flex;gap:45px;margin-top:32px;font-size:13px;line-height:1.9}.contact-people>div{display:flex;flex-direction:column}.contact-people span{font-weight:700}.contact-people a{color:#e9eaff}.location{display:block;font-size:9px;letter-spacing:1.5px;margin-top:45px}.contact-form{background:white;color:var(--ink);padding:36px 38px;align-self:start}.contact-form label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.contact-form label span{color:var(--blue)}.contact-form input,.contact-form textarea{display:block;border:0;border-bottom:1px solid #d6d4df;width:100%;padding:10px 0 13px;margin-bottom:22px;background:transparent;outline:none;border-radius:0;font-size:14px;color:var(--ink);resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 1px 0 var(--blue)}.contact-form textarea{min-height:80px}.form-legal{font-size:10px;color:var(--muted);line-height:1.5;margin:8px 0 22px}.form-legal a{text-decoration:underline}.contact-form .button{width:100%}.form-note{font-size:10px;color:var(--muted);margin:15px 0 0;line-height:1.5}#form-status{font-size:12px;margin:10px 0 0}.footer{padding:50px 5% 22px;background:#0c0628;color:white}.footer-main{display:flex;align-items:center;gap:70px;padding-bottom:45px}.footer-main>span{font-size:13px;line-height:1.5;color:#c4bfd1}.top-link{margin-left:auto;font-size:27px;border:1px solid #ffffff40;border-radius:50%;width:45px;height:45px;display:grid;place-items:center}.footer-bottom{border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:10px;color:#aaa4bd}.footer-bottom p{margin:0}.footer-bottom>div{display:flex;gap:25px}.legal-main{max-width:850px;margin:0 auto;padding:90px 25px 110px}.legal-main h1{font-size:58px;margin-top:25px}.legal-main h2{font-size:25px;letter-spacing:-.5px;margin-top:35px}.legal-main p,.legal-main li{font-size:15px;line-height:1.8;color:#55515f}.legal-main a{color:#3c4bd3;text-decoration:underline}.legal-main ul{padding-left:20px}@keyframes film{from{transform:scale(1.05)}to{transform:scale(1)}}@media(min-width:1500px){.hero-content{padding-top:80px}}@media(max-width:1000px){.hero{min-height:740px}.section{padding:75px 5%}.activity{gap:30px 6%}.service{gap:20px;grid-template-columns:30px 1fr 1fr 25px}.service h3{font-size:21px}.steps{gap:20px}.team{gap:6%}.team-art,.team-art img{min-height:510px;height:510px}.contact{gap:6%}.contact-form{padding:28px}.contact-people{gap:20px}}@media(max-width:700px){.header{height:76px;padding:0 6%}.logo{font-size:22px}.logo img{width:35px;height:35px}.menu-button{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:12px;cursor:pointer}.menu-button span{height:1px;width:23px;background:var(--navy)}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:24px}nav.open{display:flex}.nav-cta{justify-content:space-between}.hero{height:auto;min-height:790px;max-height:none}.hero-content{padding:58px 6% 130px}.hero-media{object-position:63% center}.hero-shade{background:linear-gradient(90deg,#100640e8,#10064090),linear-gradient(0deg,#100640cc,transparent)}h1{font-size:76px;font-size:clamp(61px,14vw,87px);letter-spacing:-.065em;margin-bottom:30px}.eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:29px}.hero-bottom p{font-size:15px;max-width:360px}.button{font-size:12px}.hero-caption{right:6%;bottom:35px;font-size:8px;letter-spacing:1px}.scroll{left:6%}.intro-strip{padding:28px 6%;gap:18px;flex-wrap:wrap}.intro-strip>span:first-child{font-size:16px}.intro-strip p{font-size:11px}.strip-line{min-width:20px}.strip-symbol{display:none}.section{padding:65px 6%}h2{font-size:43px}.activity{display:block}.activity-copy{padding:5px 0 23px}.lead{font-size:20px}.service{grid-template-columns:25px 1fr 18px;gap:12px;padding:25px 0}.service h3{font-size:22px}.service p{grid-column:2;grid-row:2;font-size:13px}.service>span:last-child{grid-column:3;grid-row:1}.model-top{display:block}.model-top h2{margin-bottom:28px}.model-intro{font-size:15px}.steps{grid-template-columns:1fr 1fr;gap:24px;margin-top:37px}.steps h3{font-size:19px;line-height:1.15}.steps p{font-size:12px}.steps article>span{font-size:8px}.team{display:flex;flex-direction:column;gap:40px}.team-art{width:100%;min-height:0;height:380px}.team-art img{height:380px;min-height:0}.team-copy h2{font-size:43px}.faq{display:block}.faq h2{font-size:38px;margin-top:35px}.faq summary{font-size:15px}.contact{display:block}.contact h2{font-size:55px}.contact-copy{margin-bottom:40px}.contact-email{font-size:25px}.contact-people{gap:38px}.contact-form{padding:28px 24px}.location{margin-top:28px}.footer{padding:38px 6% 25px}.footer-main{gap:20px;flex-wrap:wrap;padding-bottom:28px}.footer-main>span{font-size:11px}.footer-bottom{flex-direction:column;gap:15px}.legal-main{padding-top:50px}.legal-main h1{font-size:43px}.legal-main h2{font-size:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media{animation:none}*{transition:none!important}}

/* Motion and editorial refinement */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.header{position:sticky;top:0;transition:height .45s cubic-bezier(.22,1,.36,1),background .45s,box-shadow .45s;background:rgba(247,247,243,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header.scrolled{height:76px;background:rgba(247,247,243,.88);box-shadow:0 1px 0 #1006400d}
.header .logo{font-size:24px;letter-spacing:-1.2px;color:#100640}
.header .logo-dot{color:#100640}
.page-progress{height:2px;position:fixed;top:0;left:0;width:100%;z-index:100;background:var(--blue);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{isolation:isolate}.hero-media{animation:none;will-change:transform}.hero-shade{z-index:0}.hero-content{z-index:1}.hero-caption,.scroll{z-index:2}
h1{font-weight:500;letter-spacing:-.075em;line-height:1.02}
.hero-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero-line>span,.hero-line>em{display:inline-block;animation:hero-text 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:.05s}
.hero-line:nth-child(2)>span{animation-delay:.17s}.hero-line:nth-child(3)>em{animation-delay:.29s}
.hero-content>.eyebrow{animation:fade-up 1.1s .1s both}.hero-bottom{animation:fade-up 1s .45s both}.hero-caption{animation:fade-up 1s .75s both}
.button{position:relative;overflow:hidden;border-radius:30px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,background .35s}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #1006401c}.button span{transition:transform .4s cubic-bezier(.22,1,.36,1)}.button:hover span{transform:translate(3px,-3px)}
nav>a:not(.nav-cta){position:relative;padding:8px 0}nav>a:not(.nav-cta):after{content:"";position:absolute;height:1px;bottom:0;left:0;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:right;transition:transform .35s}nav>a:not(.nav-cta):hover:after{transform:scaleX(1);transform-origin:left}
.service{position:relative;transition:padding .5s cubic-bezier(.22,1,.36,1),background .5s}.service:before{content:"";position:absolute;inset:0;background:#5069ff06;opacity:0;transition:opacity .4s;z-index:-1}.service:hover{padding-left:16px;padding-right:12px}.service:hover:before{opacity:1}.service>span:last-child{transition:transform .5s}.service:hover>span:last-child{transform:translate(4px,-4px)}
.js-motion .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.js-motion .reveal.visible{opacity:1;transform:translateY(0)}
.model{padding-bottom:110px}.model-top{gap:20px 13%}.model-top h2{max-width:700px}.model-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:start;gap:10%;margin-top:45px}
.model-visual{position:sticky;top:120px;height:550px;overflow:hidden;border-radius:16px;background:#1a124c;border:1px solid #ffffff1f;isolation:isolate}
.model-photo,.model-vignette{position:absolute;inset:0}.model-photo img{height:100%;width:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter 1.2s;filter:brightness(.65) saturate(.65)}
.model-vignette{background:linear-gradient(0deg,#100640f0,#10064015 80%)}.model-visual-kicker{position:absolute;top:27px;left:27px;font-size:9px;letter-spacing:1.5px;color:#efecfc}
.model-stage-copy{position:absolute;bottom:62px;left:32px;right:30px}.model-stage-copy>span{font-size:12px;letter-spacing:2px;color:var(--cyan)}.model-stage-copy h3{font-size:49px;line-height:1.05;font-weight:500;letter-spacing:-2.5px;margin:17px 0}.model-stage-copy p{font-size:13px;color:#d1ccdf;margin:0;max-width:250px}
.model-stage-copy.changing{animation:stage-enter .65s cubic-bezier(.22,1,.36,1) both}.stage-track{position:absolute;left:32px;right:32px;bottom:28px;display:flex;gap:7px}.stage-track i{height:2px;background:#ffffff40;flex:1;transition:background .5s}.stage-track i.active{background:var(--cyan)}
.model-layout .steps{display:flex;flex-direction:column;gap:0;margin:0}.model-layout .steps article{padding:40px 0 65px;min-height:295px;border-top:1px solid #ffffff24;transition:opacity .6s}.model-layout .steps article:last-child{padding-bottom:0;min-height:230px}.model-layout .steps h3{font-size:29px;font-weight:500;letter-spacing:-1px;margin:18px 0}.model-layout .steps p{font-size:15px;max-width:360px}.model-layout .steps article.active h3{color:var(--cyan)}
.team-art{border-radius:12px}.team-art img{transition:transform 1.3s cubic-bezier(.22,1,.36,1)}.team-art:hover img{transform:scale(1.035)}.image-label{border-radius:3px}.contact-form{border-radius:12px;box-shadow:0 25px 60px #10064018}
summary span{transition:transform .3s}details[open] p{animation:fade-up .4s ease both}.text-link>span{transition:transform .4s}.text-link:hover>span{transform:translate(4px,-4px)}
@keyframes hero-text{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:translateY(0)}}
@keyframes fade-up{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes stage-enter{from{opacity:.1;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.model-visual{height:470px}.model-stage-copy h3{font-size:40px}.model-layout{gap:7%}.model-layout .steps article{min-height:285px}.model-layout .steps h3{font-size:25px}}
@media(max-width:700px){.header,.header.scrolled{height:76px}.header .logo{font-size:22px}.model{padding-bottom:65px}.model-top h2{margin-bottom:25px}.model-layout{display:block;margin-top:30px}.model-visual{position:relative;top:auto;height:410px;margin-bottom:25px}.model-layout .steps{display:grid;grid-template-columns:1fr 1fr;gap:25px}.model-layout .steps article{min-height:0;padding:22px 0 5px}.model-layout .steps article:last-child{min-height:0;padding-bottom:5px}.model-layout .steps h3{font-size:21px;line-height:1.15}.model-layout .steps p{font-size:13px}.model-stage-copy h3{font-size:43px}.service:hover{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:reduce){.hero-line>span,.hero-line>em,.hero-content>.eyebrow,.hero-bottom,.hero-caption,.model-stage-copy.changing{animation:none}.js-motion .reveal{opacity:1;transform:none}.model-photo img,.hero-media{transform:none!important;will-change:auto}.header{backdrop-filter:none}.service:hover,.button:hover{transform:none}}
/* Keep the storyboard attached to the viewport while its steps advance. */
.model{overflow:clip}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form button:disabled{opacity:.65;cursor:wait;transform:none}#form-status{line-height:1.6}#form-status.error{color:#a32222}
