:root{--red:#f51f29;--ink:#202020;--muted:#6f6f6f;--line:#d8d8d8;--paper:#f7f7f5;--pad:clamp(22px,6vw,96px);--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Archivo,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:80}.progress span{display:block;width:0;height:100%;background:var(--red)}
.nav{position:absolute;z-index:20;top:0;left:0;width:100%;height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;color:#fff}.brand{display:flex;align-items:center;gap:9px}.brand svg{width:38px;fill:none;stroke:var(--red);stroke-width:3}.brand span{display:flex;align-items:center;line-height:.76}.brand strong{font-size:18px;letter-spacing:-1.3px}.brand small{font-size:6px;line-height:.92;margin-left:2px;font-weight:700}.nav nav{display:flex;gap:34px;font-size:13px}.nav nav a{opacity:.78;transition:.2s}.nav nav a:hover{opacity:1}.menu{display:none;background:none;border:0;width:42px}.menu i{height:1px;background:#fff;display:block;margin:7px 0}
.hero{min-height:760px;height:92svh;max-height:940px;position:relative;color:#fff;display:flex;align-items:flex-end;padding:0 var(--pad) clamp(58px,8vh,95px);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image img{filter:grayscale(1);transform:scale(1.02);animation:heroZoom 18s ease-in-out infinite alternate}.hero-shade{background:linear-gradient(90deg,rgba(18,18,18,.88) 0%,rgba(18,18,18,.62) 48%,rgba(18,18,18,.13) 78%),linear-gradient(0deg,rgba(18,18,18,.55),transparent 50%)}.hero-content{position:relative;z-index:2;max-width:790px}.kicker,.section-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--red);margin:0 0 24px}.hero h1{font-size:clamp(46px,5.4vw,78px);line-height:1.03;letter-spacing:-.045em;font-weight:500;margin:0 0 28px}.hero h1 em{font-style:normal;color:#fff;font-weight:300}.intro{font-size:18px;line-height:1.65;color:rgba(255,255,255,.76);max-width:660px;margin:0 0 36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-width:245px;padding:16px 18px;border:1px solid rgba(255,255,255,.42);font-size:14px;transition:.3s}.button span{color:var(--red)}.button:hover{background:#fff;color:var(--ink)}.brand-motion{position:absolute;right:9vw;bottom:10vh;width:190px;height:190px;opacity:.6}.brand-motion i{position:absolute;width:92px;height:92px;border:1px solid rgba(255,255,255,.45);transform:rotate(45deg);animation:float 8s ease-in-out infinite}.brand-motion i:nth-child(2){left:54px;top:54px;border-color:var(--red);animation-delay:-2.5s}.brand-motion i:nth-child(3){left:108px;top:108px;animation-delay:-5s}
.about{max-width:var(--max);margin:auto;padding:125px var(--pad) 115px;display:grid;grid-template-columns:1fr 2.2fr;gap:50px}.about-copy h2,.practices-head h2,.approach h2,.contact h2{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-.045em;font-weight:500;margin:0 0 32px}.about-copy p,.approach-copy>p{font-size:17px;line-height:1.75;color:var(--muted);max-width:760px}.principles{grid-column:2;display:grid;grid-template-columns:repeat(2,1fr);gap:0 35px;margin-top:20px}.principles span{border-top:1px solid var(--line);padding:17px 0;font-size:14px}.principles span:before{content:"";display:inline-block;width:7px;height:7px;background:var(--red);transform:rotate(45deg);margin-right:11px}
.clients{background:#232323;color:#fff;padding:110px var(--pad);overflow:hidden}.clients-intro,.client-wheel{max-width:var(--max);margin-left:auto;margin-right:auto}.clients-intro{display:grid;grid-template-columns:1fr 1.6fr;gap:50px;align-items:start;margin-bottom:68px}.clients-intro .section-label{grid-column:1}.clients-intro h2{font-size:clamp(34px,4vw,56px);font-weight:400;line-height:1.12;letter-spacing:-.04em;margin:0}.clients-intro>p:last-child{grid-column:2;font-size:16px;line-height:1.65;color:#a9a9a9;max-width:540px;margin:0}.client-wheel{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #4a4a4a;border-left:1px solid #4a4a4a}.client-wheel article{min-height:250px;padding:26px;border-right:1px solid #4a4a4a;border-bottom:1px solid #4a4a4a;transition:background .35s,color .35s,transform .35s}.client-wheel article:hover{background:var(--red);color:#171717;transform:translateY(-6px)}.client-wheel span{font-size:11px;color:var(--red)}.client-wheel article:hover span{color:#171717}.client-wheel h3{font-size:22px;font-weight:400;margin:70px 0 18px}.client-wheel p{font-size:14px;line-height:1.6;color:#aaa;margin:0}.client-wheel article:hover p{color:#321113}
.education-focus{padding:120px var(--pad);background:#fff}.education-intro,.education-services,.education-path{max-width:var(--max);margin-left:auto;margin-right:auto}.education-intro{display:grid;grid-template-columns:.8fr 1.5fr;gap:25px 70px}.education-intro .section-label{grid-row:1/3}.education-intro h2{font-size:clamp(36px,4.6vw,64px);line-height:1.08;letter-spacing:-.045em;font-weight:400;margin:0}.education-intro>p:last-child{font-size:17px;line-height:1.75;color:var(--muted);max-width:740px;margin:0}.education-services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:72px}.education-services article{background:#fff;padding:30px;min-height:275px;transition:background .35s,color .35s}.education-services article:hover{background:#f1f1ef}.education-services span{font-size:11px;color:var(--red)}.education-services h3{font-size:22px;font-weight:500;margin:72px 0 16px}.education-services p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}.education-path{margin-top:36px;display:flex;align-items:center;justify-content:space-between;color:#555;font-size:12px}.education-path i{height:1px;background:var(--line);flex:1;margin:0 20px;position:relative}.education-path i:after{content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;background:var(--red);transform:rotate(45deg)}.education-practice button{background:#fff8f8}.education-practice .name{font-weight:500}.education-practice .number{font-weight:700}
.practices{padding:110px var(--pad) 125px;background:#fff}.practices-head,.accordion{max-width:var(--max);margin-left:auto;margin-right:auto}.practices-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:62px}.practices-head h2{margin:0}.practices-head>p{font-size:14px;color:var(--muted)}.accordion{border-top:1px solid var(--line)}.practice{border-bottom:1px solid var(--line)}.practice button{width:100%;border:0;background:none;padding:26px 4px;display:grid;grid-template-columns:70px 1fr 36px;align-items:center;text-align:left;cursor:pointer}.number{font-size:12px;color:var(--red)}.name{font-size:clamp(22px,2.6vw,35px);letter-spacing:-.025em;font-weight:400}.plus{justify-self:end;font-size:27px;font-weight:300;transition:transform .35s,color .35s}.practice button:hover .name{color:var(--red)}.practice.open .plus{transform:rotate(45deg);color:var(--red)}.answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.8,.2,1)}.answer>div{overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr;gap:70px;margin-left:70px;margin-right:42px}.practice.open .answer{grid-template-rows:1fr}.answer p{font-size:16px;line-height:1.7;color:var(--muted);margin:0;padding:2px 0 30px;max-width:670px}.answer ul{list-style:none;padding:2px 0 30px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}.answer li{font-size:13px}.answer li:before{content:"+";color:var(--red);margin-right:8px}
.difference{background:var(--red);padding:110px var(--pad);display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(60px,9vw,150px)}.difference-title,.difference-list{width:100%;max-width:620px}.difference-title{justify-self:end}.difference .section-label{color:#252525}.difference h2{font-size:clamp(36px,4.4vw,62px);line-height:1.08;letter-spacing:-.045em;font-weight:400;margin:0}.difference-list article{display:grid;grid-template-columns:50px 1fr;gap:12px;padding:25px 0;border-top:1px solid rgba(20,20,20,.35)}.difference-list article:last-child{border-bottom:1px solid rgba(20,20,20,.35)}.difference-list span{font-size:11px}.difference-list h3{font-size:20px;font-weight:500;margin:0 0 10px}.difference-list p{font-size:14px;line-height:1.6;margin:0;max-width:500px;color:#4b1719}
.approach{max-width:var(--max);margin:auto;padding:125px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,8vw,120px);align-items:center}.approach-image{height:630px;overflow:hidden}.approach-image img{filter:grayscale(1);transform:scale(1.03);transition:transform 1s}.approach-image.visible img{transform:scale(1)}.approach-copy>p{margin-bottom:40px}.approach ol{list-style:none;padding:0;margin:45px 0 0;border-top:1px solid var(--line)}.approach li{padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.approach li span{color:var(--red);font-size:11px;margin-right:22px}
.contact{min-height:620px;background:#242424;color:#fff;padding:110px var(--pad);position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;overflow:hidden}.contact>div:first-of-type{position:relative;z-index:2;max-width:750px}.contact h2{font-size:clamp(40px,5vw,68px);font-weight:400}.contact>div>p:not(.section-label){color:#aaa;font-size:17px;margin-bottom:34px}.button.red{border-color:var(--red);background:var(--red);color:#fff}.button.red span{color:#fff}.button.red:hover{background:#fff;border-color:#fff;color:var(--ink)}.contact address{font-style:normal;font-size:13px;line-height:1.8;color:#9c9c9c;text-align:right;position:relative;z-index:2}.contact address a{display:inline-block;color:#fff;margin-top:14px}.contact-mark{position:absolute!important;right:5%;top:10%;width:330px;height:330px;opacity:.22}.contact-mark i{position:absolute;width:185px;height:185px;border:1px solid #fff;transform:rotate(45deg);animation:float 10s ease-in-out infinite}.contact-mark i+i{left:110px;top:110px;border-color:var(--red);animation-delay:-4s}
footer{background:var(--red);padding:28px var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:11px}footer .brand svg{stroke:var(--ink)}footer .brand strong{font-size:15px}footer .brand small{font-size:5px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{to{transform:scale(1.07)}}@keyframes float{0%,100%{transform:rotate(45deg) translate(0)}50%{transform:rotate(45deg) translate(8px,-8px)}}
@media(max-width:850px){.nav nav{display:none}.menu{display:block}.nav.open nav{display:flex;position:absolute;top:76px;left:0;width:100%;background:rgba(25,25,25,.96);padding:25px var(--pad);flex-direction:column}.hero{height:88svh;min-height:670px}.brand-motion{width:135px;height:135px;right:2vw;opacity:.3}.brand-motion i{width:65px;height:65px}.brand-motion i:nth-child(2){left:38px;top:38px}.brand-motion i:nth-child(3){left:76px;top:76px}.about{grid-template-columns:1fr}.principles{grid-column:1}.clients-intro,.education-intro{grid-template-columns:1fr}.clients-intro .section-label,.clients-intro>p:last-child,.education-intro .section-label{grid-column:1;grid-row:auto}.client-wheel{grid-template-columns:1fr 1fr}.education-services{grid-template-columns:1fr}.education-services article{min-height:215px}.education-services h3{margin-top:45px}.education-path{align-items:flex-start;flex-direction:column;gap:14px}.education-path i{width:1px;height:18px;flex:none;margin:0 0 0 4px}.education-path i:after{right:-3px;top:auto;bottom:-1px}.difference{grid-template-columns:1fr}.difference-title{justify-self:start}.practices-head{align-items:flex-start;flex-direction:column;gap:18px}.answer>div{grid-template-columns:1fr;gap:0}.approach{grid-template-columns:1fr}.approach-image{height:58vw;min-height:390px}.contact{grid-template-columns:1fr;gap:70px}.contact address{text-align:left}}
@media(max-width:560px){.nav{height:72px}.hero{padding-bottom:52px}.hero h1{font-size:42px}.intro{font-size:16px}.brand-motion{display:none}.about,.clients,.education-focus,.practices,.difference,.approach,.contact{padding-top:80px;padding-bottom:80px}.about-copy h2,.clients-intro h2,.education-intro h2,.practices-head h2,.difference h2,.approach h2,.contact h2{font-size:34px}.principles,.client-wheel{grid-template-columns:1fr}.client-wheel article{min-height:210px}.practice button{grid-template-columns:42px 1fr 30px;padding:22px 2px}.name{font-size:21px}.answer>div{margin-left:42px;margin-right:15px}.answer ul{grid-template-columns:1fr}.approach-image{height:440px}footer{align-items:flex-start;flex-direction:column;gap:22px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
