@font-face{font-family:Manrope;src:url('/assets/manrope-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--paper:#f4f4ef;--ink:#181a18;--muted:#64665e;--yellow:#efd02c;--line:#cdcec6;--gutter:clamp(22px,4vw,72px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}::selection{background:var(--yellow);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #b39400;outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em}button{border:0}dialog{padding:0;border:0;max-width:none;max-height:none}dialog::backdrop{background:#10130d90;backdrop-filter:blur(8px)}.skip{position:fixed;z-index:99;top:10px;left:10px;padding:15px;background:var(--yellow);transform:translateY(-150%)}.skip:focus{transform:none}.header{height:110px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand img{width:210px;filter:brightness(0)}.header-caption{font-size:11px;letter-spacing:.1em;font-weight:600}.menu-toggle{border-radius:100px;padding:16px 23px;display:flex;gap:27px;align-items:center;background:var(--ink);color:var(--paper);font-size:14px}.menu-toggle i,.menu-toggle i:before{display:block;width:18px;height:1px;background:currentColor;transition:transform .4s}.menu-toggle i:before{content:'';transform:translateY(-5px)}.menu-toggle:hover i{transform:translateY(-2px)}.menu-toggle:hover i:before{transform:translateY(5px)}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.09em;font-weight:600}.hero{position:relative;padding-top:58px;overflow:hidden}.hero-copy{padding:0 var(--gutter);position:relative;z-index:2}.hero h1{font-size:clamp(65px,10.55vw,168px);font-weight:500;line-height:1.02;letter-spacing:-.075em;margin:27px 0 35px}.line{display:block;overflow:hidden;padding-bottom:.075em;margin-bottom:-.075em}.hero h1 .line>span{display:block}.hero h1 em{font-size:1.02em;letter-spacing:-.07em}.hero-base{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:24px;font-size:14px;line-height:1.6}.hero-base p{font-size:15px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:28px;justify-self:center;border-bottom:1px solid var(--ink);padding:12px 0;min-width:218px}.mini-plus{font-size:22px;transition:transform .5s}.text-link:hover .mini-plus{transform:rotate(90deg)}.scroll-note{justify-self:end;display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.scroll-line{height:35px;width:1px;background:#c1c2b9;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;width:1px;height:15px;background:var(--ink);animation:scrollLine 2s infinite}@keyframes scrollLine{from{transform:translateY(-16px)}to{transform:translateY(40px)}}.hero-visual{height:clamp(500px,57vw,850px);position:relative;margin:56px var(--gutter) 0;transform-origin:center center}.hero-image{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 7% 0 7%);will-change:clip-path}.hero-image>img{height:100%;width:100%;object-fit:cover;transform:scale(1.13);will-change:transform}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#0913209c)}.image-caption{position:absolute;left:11%;bottom:55px;color:#fff;font-size:clamp(14px,1.7vw,25px);font-weight:500;letter-spacing:-.02em;line-height:1.5}.image-location{position:absolute;right:11%;bottom:55px;font-size:12px;color:white;letter-spacing:.1em}.round-seal{width:138px;height:138px;position:absolute;right:2%;top:30px;background:var(--yellow);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(12deg);gap:7px}.round-seal span{font-size:9px;font-weight:700;letter-spacing:.06em}.round-seal b{font-family:Georgia,serif;font-size:62px;line-height:1;font-style:italic;font-weight:400}.image-index{position:absolute;top:50%;left:-16px;writing-mode:vertical-rl;transform:rotate(180deg);display:flex;gap:36px;font-size:10px;letter-spacing:.12em}.section-space{padding:100px var(--gutter)}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.intro{padding-top:115px;padding-bottom:125px}.statement{margin-top:70px;font-size:clamp(48px,7.2vw,110px);font-weight:500;line-height:1.08;letter-spacing:-.065em}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:80px}.experience{display:flex;align-items:end;gap:32px}.experience-number{font-size:clamp(80px,13vw,175px);line-height:.8;letter-spacing:-.1em;font-weight:500}.experience-number>span{font-size:.5em;vertical-align:top;line-height:1}.experience p{font-size:14px;line-height:1.6;max-width:160px}.intro-copy{font-size:16px;line-height:1.8;max-width:580px}.intro-copy p+p{margin-top:20px;color:var(--muted)}.competencies{background:var(--ink);color:var(--paper);padding:100px var(--gutter) 80px}.competencies-heading h2{font-size:clamp(48px,7.3vw,112px);font-weight:500;letter-spacing:-.065em;line-height:1.06;margin-top:60px}.service-nav{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #ffffff36;margin-top:64px;padding:23px 0 45px;font-size:13px}.service-nav a{position:relative;padding-bottom:5px;color:#c9cbc2}.service-nav a:hover{color:var(--yellow)}.service-stack{position:relative;padding-bottom:0}.service-card{--card-bg:#e8ebe3;position:sticky;top:30px;min-height:640px;display:grid;grid-template-columns:1fr 1fr;background:var(--card-bg);color:var(--ink);margin-bottom:34px;transform-origin:50% 0;overflow:hidden;will-change:transform;scroll-margin-top:30px;border-radius:2px}.service-card:nth-child(2){--card-bg:#e9ca3a}.service-card:nth-child(3){--card-bg:#cbdbe0}.service-card:nth-child(4){--card-bg:#e4ded4}.service-card:nth-child(5){--card-bg:#d9ddcb}.service-content{padding:42px;display:flex;flex-direction:column;position:relative}.service-top{display:flex;align-items:start;justify-content:space-between;font-size:12px;letter-spacing:.04em;gap:16px}.service-number{font-size:52px;line-height:1;letter-spacing:-.08em}.service-content h3{font-size:clamp(38px,4.6vw,70px);line-height:1.05;font-weight:500;letter-spacing:-.065em;margin-top:56px}.service-content h3 em{display:block}.service-description{font-size:16px;line-height:1.7;margin-top:26px;max-width:390px}.service-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:25px;font-size:11px}.service-tags span{border:1px solid #181a1844;padding:7px 11px;border-radius:50px}.service-button{align-self:flex-start;background:transparent;border-bottom:1px solid var(--ink);margin-top:auto;padding:23px 0 9px;display:flex;min-width:195px;justify-content:space-between;align-items:center;font-size:14px;gap:18px}.service-button span{font-size:27px;transition:transform .5s}.service-button:hover span{transform:rotate(90deg)}.service-photo{min-height:640px;overflow:hidden;position:relative}.service-photo img{height:100%;width:100%;object-fit:cover;transition:transform 1.2s var(--ease);position:absolute;inset:0}.service-card:hover .service-photo img{transform:scale(1.045)}.service-photo:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 90px #0000000d;pointer-events:none}.service-photo .photo-tag{position:absolute;bottom:24px;left:24px;padding:11px 15px;background:#f4f4eff0;font-size:11px;font-weight:600;letter-spacing:.06em;z-index:1}.together{background:var(--yellow);padding-top:105px;overflow:hidden}.together-title{font-size:clamp(50px,8.7vw,140px);line-height:1.05;letter-spacing:-.067em;font-weight:500;margin-top:70px}.together-title>span{display:block}.together-title>span:nth-child(2){padding-left:16%}.together-title>span:nth-child(3){padding-left:30%}.together-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:70px}.together-bottom p{font-size:16px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:60px;padding:14px 25px;border-radius:50px;font-size:14px;font-weight:500;transition:background .3s,transform .3s}.button>span{font-size:27px;line-height:1;transition:transform .4s}.button:hover>span{transform:rotate(90deg)}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:var(--paper)}.button-light{background:var(--paper);color:var(--ink)}.cities{border-top:1px solid #181a1855;padding-top:28px;margin-top:85px;display:flex;justify-content:space-between;gap:20px;font-size:clamp(22px,3.4vw,52px);letter-spacing:-.045em}.contact{background:var(--ink);color:var(--paper);padding-bottom:28px}.contact h2{font-size:clamp(55px,8.6vw,130px);font-weight:500;letter-spacing:-.067em;line-height:1.05;margin:66px 0 70px}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px}.contact-phone{font-size:clamp(27px,3.2vw,50px);letter-spacing:-.045em;display:block}.contact-email{display:inline-block;font-size:clamp(16px,1.6vw,25px);margin-top:18px;border-bottom:1px solid #ffffff60;padding-bottom:7px}.contact address{font-style:normal;font-size:14px;line-height:1.7;color:#b5b7ad;margin-top:40px}.contact-action{padding-top:9px}.contact-action p{font-size:16px;line-height:1.8;color:#d2d4ca;margin-bottom:28px}footer{margin-top:90px;padding-top:35px;border-top:1px solid #ffffff33;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;color:#c2c3ba}.footer-brand img{width:190px}footer>div{display:flex;gap:28px}footer a:hover{color:var(--yellow)}.scroll-progress{position:fixed;bottom:0;left:0;width:100%;height:3px;z-index:20;background:var(--yellow);transform:scaleX(0);transform-origin:left;pointer-events:none}.menu{position:fixed;inset:0;width:100%;height:100dvh;background:var(--ink);color:var(--paper);margin:0;padding:28px var(--gutter);z-index:50}.menu[open]{display:flex;flex-direction:column;animation:menuIn .65s var(--ease)}@keyframes menuIn{from{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.menu-top{display:flex;align-items:center;justify-content:space-between}.menu-top>img{width:210px}.menu-close,.detail-close{background:transparent;display:flex;align-items:center;gap:25px;font-size:14px;padding:15px 0}.menu-close span,.detail-close span{font-size:30px}.menu nav{margin:auto 0;padding:35px 0}.menu nav a{font-size:clamp(45px,7.6vw,118px);display:flex;gap:35px;align-items:baseline;letter-spacing:-.055em;line-height:1.3;transition:color .4s,transform .4s}.menu nav a:hover{color:var(--yellow);transform:translateX(15px)}.menu nav small{font-size:12px;letter-spacing:0;min-width:20px}.menu-bottom{display:flex;justify-content:space-between;gap:24px;padding-bottom:20px;font-size:16px}.menu-bottom>div{display:flex;gap:25px;font-size:13px}.detail-dialog{max-width:860px;width:calc(100% - 40px);max-height:calc(100dvh - 40px);background:var(--paper);padding:20px 55px 50px;margin:auto;color:var(--ink);overscroll-behavior:contain}.detail-close{margin-left:auto}.detail-inner .eyebrow{margin-top:30px}.detail-inner h2{font-size:clamp(36px,5vw,68px);line-height:1.05;letter-spacing:-.055em;font-weight:500;margin:24px 0 30px}.detail-inner p{font-size:16px;line-height:1.8;margin:18px 0}.detail-inner .button{margin-top:25px}.detail-dialog[open]{animation:detailIn .5s var(--ease)}@keyframes detailIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.legal{padding:80px var(--gutter) 100px;max-width:1200px;margin:auto}.legal-label{margin-bottom:35px}.legal>h1{font-size:clamp(42px,7.5vw,110px);font-weight:500;letter-spacing:-.055em;margin-bottom:65px;overflow-wrap:anywhere}.legal-body{max-width:790px;margin-left:auto;font-size:16px;line-height:1.8;overflow-wrap:anywhere}.legal-body h2,.legal-body h3,.legal-body h4{font-size:23px;line-height:1.35;letter-spacing:-.02em;margin:40px 0 18px}.legal-body>h2:first-child,.legal-body>h4:first-child{display:none}.legal-body p{margin:18px 0}.legal-body li{margin:10px 0}.legal-body a{text-decoration:underline;text-underline-offset:3px}.legal-footer{background:var(--ink);padding:35px var(--gutter)}.legal-footer footer{margin:0;border:0;padding:0}.enter{animation:fadeUp 1s .15s var(--ease) both}.hero h1 .line>span{animation:heroType 1.2s .1s var(--ease) both}.hero h1 .line:nth-child(2)>span{animation-delay:.24s}.hero-visual{animation:fadeUp 1.3s .3s var(--ease) both}@keyframes fadeUp{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}@keyframes heroType{from{transform:translateY(115%)}to{transform:translateY(0)}}.js-motion .reveal{opacity:0;transform:translateY(45px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}.js-motion .reveal.is-visible{opacity:1;transform:none}
@media(min-width:1600px){.service-card,.service-photo{min-height:720px}.service-content{padding:55px}}
@media(max-width:1000px){.header-caption{display:none}.hero{padding-top:45px}.service-card,.service-photo{min-height:610px}.service-content{padding:28px}.service-content h3{margin-top:40px;font-size:46px}.service-tags{font-size:10px}.service-description{font-size:15px}.intro-bottom{gap:7%}.experience{gap:22px;align-items:start;flex-direction:column}.service-nav{flex-wrap:wrap;justify-content:start;gap:18px 30px}.together-title>span:nth-child(3){padding-left:16%}}
@media(max-width:700px){.header{height:88px}.brand img{width:clamp(148px,44vw,168px)}.menu-toggle{padding:14px 18px;gap:20px}.hero{padding-top:30px}.hero .eyebrow{font-size:10px;letter-spacing:.07em}.hero h1{font-size:clamp(47px,11.2vw,78px);margin:29px 0 28px;line-height:1.07;letter-spacing:-.07em}.hero-base{grid-template-columns:1fr 1fr;gap:23px 12px}.hero-base p{font-size:12px}.hero-base .text-link{min-width:0;width:100%;font-size:12px;gap:10px;justify-self:end}.scroll-note{grid-column:1/-1;justify-self:start;font-size:10px;gap:8px}.scroll-line{height:21px}.hero-visual{height:460px;margin:25px 12px 0}.hero-image{clip-path:inset(0 0 0 0)}.hero-image>img{object-position:52% center}.image-caption{left:23px;bottom:30px;font-size:14px}.image-location{display:none}.round-seal{height:100px;width:100px;top:25px;right:14px;gap:4px}.round-seal b{font-size:43px}.round-seal span{font-size:7px}.image-index{display:none}.section-space{padding:65px var(--gutter)}.section-heading>.eyebrow:last-child{max-width:150px;text-align:right}.eyebrow{font-size:10px}.intro .section-heading>.eyebrow:last-child{display:none}.statement{font-size:clamp(36px,8.5vw,60px);margin-top:45px;line-height:1.15}.intro-bottom{grid-template-columns:1fr;gap:43px;margin-top:55px}.experience{flex-direction:row;align-items:end;gap:30px}.experience-number{font-size:115px}.experience p{font-size:12px}.intro-copy{font-size:15px;line-height:1.8}.competencies{padding:65px 12px 30px}.competencies-heading{padding:0 10px}.competencies-heading h2{font-size:clamp(36px,9.7vw,66px);margin-top:40px;line-height:1.15}.competencies .section-heading>.eyebrow:last-child{max-width:130px}.service-nav{margin-top:37px;gap:16px 22px;padding-bottom:30px;font-size:11px}.service-card{position:relative;top:auto;display:flex;flex-direction:column;min-height:0;margin-bottom:18px;scroll-margin-top:15px}.service-content{padding:28px 25px 30px}.service-number{font-size:38px}.service-top{font-size:10px}.service-content h3{font-size:45px;margin-top:32px;line-height:1.04}.service-description{max-width:450px;margin-top:23px;font-size:15px}.service-tags{font-size:10px;margin-top:20px}.service-button{margin-top:10px;font-size:13px;min-width:185px}.service-photo{min-height:330px;height:330px}.service-photo img{object-position:center 43%}.service-card:nth-child(2) .service-photo img{object-position:center 35%}.service-card:nth-child(4) .service-photo img{object-position:center 35%}.service-photo .photo-tag{font-size:10px;left:18px;bottom:18px}.together-title{font-size:clamp(35px,8.8vw,60px);margin-top:44px;line-height:1.17}.together-title>span:nth-child(2){padding-left:8%}.together-title>span:nth-child(3){padding-left:12%}.together-bottom{flex-direction:column;align-items:start;margin-top:40px;gap:26px}.together-bottom p{font-size:14px}.button{min-height:54px;font-size:13px;padding:12px 22px;gap:32px}.cities{margin-top:55px;gap:10px;font-size:20px}.contact h2{font-size:clamp(44px,11vw,76px);margin:45px 0;line-height:1.1}.contact .section-heading>.eyebrow:last-child{max-width:175px;font-size:8px}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-phone{font-size:33px}.contact-email{font-size:18px}.contact address{margin-top:25px}.contact-action p{font-size:14px}footer{margin-top:60px;flex-wrap:wrap;gap:28px 20px}.footer-brand img{width:156px}footer p{font-size:10px}footer>div{width:100%;font-size:11px;justify-content:space-between;gap:16px}.menu-top>img{width:clamp(148px,44vw,168px)}.menu nav a{font-size:clamp(34px,10.8vw,64px);gap:18px;line-height:1.65}.menu-bottom{flex-direction:column;gap:28px;font-size:20px}.detail-dialog{padding:15px 25px 35px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.detail-inner p{font-size:15px}.legal{padding-top:40px}.legal>h1{margin-bottom:38px;font-size:12vw}.legal-body{font-size:15px}.legal-body h4{font-size:21px}.legal-body ul{padding-left:20px}.legal-footer{padding-top:30px;padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-image{clip-path:none!important}.hero-image>img{transform:none!important}.service-card{transform:none!important}.round-seal{transform:rotate(12deg)!important}}

/* Reading sizes remain comfortable across viewports. */
.eyebrow,.header-caption,.service-tags,.service-top,.service-photo .photo-tag,.service-nav,.image-location,.image-index,footer,.scroll-note{font-size:12px}.service-description,.intro-copy{font-size:16px}
@media(max-width:700px){.hero .eyebrow,.eyebrow,.service-nav,.service-top,.service-tags,.service-photo .photo-tag,.contact .section-heading>.eyebrow:last-child,footer p,footer>div,.scroll-note{font-size:12px}.hero-base p,.hero-base .text-link,.experience p{font-size:14px}.service-description,.intro-copy,.together-bottom p,.contact-action p,.detail-inner p,.legal-body{font-size:16px}.hero-base{grid-template-columns:1fr}.hero-base .text-link{max-width:245px;justify-self:start}.hero-base .scroll-note{position:absolute;right:var(--gutter);bottom:14px;font-size:0}.hero-base .scroll-line{height:34px}.service-content h3{font-size:clamp(34px,10.5vw,45px)}.header-caption{display:none}.section-heading{gap:12px}.contact .section-heading>.eyebrow:last-child{max-width:170px}.service-nav{gap:14px 20px}}

/* Clip only the horizontal axis, retaining the document's sticky scroll flow. */
html{width:100%;max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html{overflow-x:hidden}}
.contact-grid>*{min-width:0}
.contact-email{max-width:100%;overflow-wrap:anywhere}
.floating-mail{position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:35;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:52px;padding:14px 20px;background:#f1f1e9;color:#101210;border:1px solid #10121024;border-radius:100px;box-shadow:0 5px 25px #0002;font-size:14px;font-weight:500;transition:background .25s,box-shadow .25s,opacity .2s}
.floating-mail svg{flex-shrink:0;display:block}
.floating-mail:hover{background:#e9e83a;box-shadow:0 8px 30px #0003}
body.locked .floating-mail{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:700px){
 .floating-mail{width:52px;height:52px;padding:0;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));border-color:#10121030}
 .floating-mail span{display:none}
 .legal-footer{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}
}
.header{padding-top:env(safe-area-inset-top,0px);padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));height:calc(110px + env(safe-area-inset-top,0px))}
@media(max-width:700px){.header{height:calc(88px + env(safe-area-inset-top,0px))}}
