:root{--red:#ff003d;--black:#101010;--ink:#151515;--muted:#737373;--line:#dededb;--paper:#f7f7f3;--white:#fff;--soft:#ecece7;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Figtree',sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(calc(100% - 64px),var(--max));margin:auto}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;transition:.35s;padding:18px 0}.site-header.scrolled{background:rgba(247,247,243,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,16,16,.08);padding:10px 0}.nav-wrap{display:flex;align-items:center;justify-content:space-between}.brand{width:138px;height:62px;display:flex;align-items:center}.brand img{width:100%;height:100%;object-fit:contain}.nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.nav>a:not(.nav-cta){position:relative}.nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--red);transition:.25s}.nav>a:not(.nav-cta):hover:after{right:0}.nav-cta{background:var(--black);color:#fff;padding:12px 18px;border-radius:100px}.nav-cta span{color:var(--red);margin-left:7px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;padding:150px 0 80px;background:var(--paper)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(16,16,16,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(16,16,16,.045) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,black 0%,transparent 78%)}.hero:after{content:'';position:absolute;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,61,.18),rgba(255,0,61,0) 68%);right:-120px;top:80px}.hero-inner{position:relative;z-index:2}.eyebrow,.section-tag{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:30px}.eyebrow span{width:32px;height:2px;background:var(--red)}.hero h1{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(64px,9.2vw,142px);line-height:.86;letter-spacing:-.055em;margin:0;max-width:1050px;font-weight:800}.hero h1 em{font-style:normal;color:var(--red)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;max-width:800px;margin-top:55px}.hero-bottom p{max-width:490px;margin:0;font-size:18px;line-height:1.45}.round-link{width:106px;height:106px;border:1px solid #222;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:700;transition:.3s}.round-link b{font-size:20px}.round-link:hover{background:var(--red);border-color:var(--red);transform:rotate(-10deg)}.hero-side{position:absolute;z-index:2;right:34px;bottom:34px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;font-weight:700;color:#777}.hero-mark{position:absolute;z-index:1;right:7%;bottom:6%;font:800 30vw/.7 'Bricolage Grotesque';letter-spacing:-.08em;color:rgba(16,16,16,.035)}.hero-mark span{color:var(--red)}.section{padding:140px 0}.intro-grid{display:grid;grid-template-columns:190px 1fr;gap:70px}.section-tag{color:#777}.display-copy{font:700 clamp(42px,5.3vw,74px)/.98 'Bricolage Grotesque';letter-spacing:-.045em;margin:0;max-width:1000px}.display-copy span{color:#8b8b88}.intro-details{display:flex;gap:80px;align-items:flex-end;margin-top:55px;margin-left:20%;max-width:760px}.intro-details p{margin:0;color:#646462;max-width:500px}.text-link{font-weight:700;white-space:nowrap;border-bottom:2px solid var(--red);padding-bottom:5px}.text-link span{color:var(--red)}.section-dark{background:var(--black);color:#fff;padding:130px 0}.section-head{margin-bottom:60px}.section-head h2{font:800 clamp(52px,6.5vw,92px)/.9 'Bricolage Grotesque';letter-spacing:-.055em;margin:20px 0 0}.section-head h2 span{color:#a2a2a0}.section-head.light .section-tag{color:#999}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #373737}.principle-grid article{padding:32px 35px 20px 0;border-right:1px solid #373737}.principle-grid article+article{padding-left:35px}.principle-grid article:last-child{border-right:0}.principle-grid span{color:var(--red);font-size:12px;font-weight:700}.principle-grid h3{font:700 34px/1 'Bricolage Grotesque';margin:70px 0 15px}.principle-grid p{color:#a9a9a9;max-width:300px;margin:0}.services{background:#fff}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:90px 1fr 60px;align-items:center;gap:30px;padding:31px 0;border-bottom:1px solid var(--line);transition:.35s}.service-row:hover{padding-left:20px;padding-right:20px;background:var(--paper)}.service-no{font-size:12px;color:var(--red);font-weight:700}.service-row h3{font:700 clamp(28px,3.2vw,46px)/1 'Bricolage Grotesque';letter-spacing:-.035em;margin:0 0 8px}.service-row p{margin:0;color:#777;max-width:650px}.service-arrow{font-size:30px;text-align:right;transition:.3s}.service-row:hover .service-arrow{color:var(--red);transform:translate(5px,-5px)}.section-red{background:var(--red);color:#101010;padding:135px 0}.statement-inner{max-width:1100px}.statement .section-tag{color:rgba(0,0,0,.55)}.statement h2{font:800 clamp(55px,7.2vw,105px)/.88 'Bricolage Grotesque';letter-spacing:-.06em;margin:25px 0}.statement h2 span{color:#fff}.statement p{font-size:19px;max-width:600px}.clients{background:var(--paper)}.client-head{display:grid;grid-template-columns:190px 1fr 300px;gap:50px;align-items:start}.client-head h2{margin:0}.client-head p{color:#70706d;margin:25px 0 0}.logo-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.logo-grid>div{height:170px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:25px;transition:.3s}.logo-grid>div:hover{background:#fff}.logo-grid img{max-height:110px;width:auto;mix-blend-mode:multiply;filter:saturate(.9);transition:.3s}.logo-grid>div:hover img{transform:scale(1.05)}.numbers{padding:85px 0}.number-grid{display:grid;grid-template-columns:repeat(4,1fr)}.number-grid>div{border-left:1px solid #343434;padding-left:25px}.number-grid strong{display:block;font:800 clamp(48px,5vw,75px)/1 'Bricolage Grotesque';letter-spacing:-.06em}.number-grid span{display:block;color:#999;margin-top:10px;font-size:13px}.team{background:#fff}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.team-card{padding-bottom:25px}.team-photo{height:330px;background:var(--soft);overflow:hidden;position:relative}.team-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 55%,rgba(255,0,61,.14));opacity:0;transition:.3s}.team-card:hover .team-photo:after{opacity:1}.team-photo img{width:100%;height:100%;object-fit:cover;transition:.5s}.team-card:hover .team-photo img{transform:scale(1.04)}.team-card h3{font:700 30px/1 'Bricolage Grotesque';margin:18px 0 3px}.team-card p{margin:0;color:#777;font-size:14px}.contact{padding:140px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font:800 clamp(55px,6.5vw,88px)/.9 'Bricolage Grotesque';letter-spacing:-.055em;margin:25px 0}.contact h2 span{color:#aaa}.contact-copy{color:#aaa;max-width:480px;font-size:18px}.contact-details{margin-top:45px;display:grid;gap:7px}.contact-details a{font:600 24px/1.1 'Bricolage Grotesque'}.contact-details a:hover{color:var(--red)}.contact-details p{color:#999}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:start}.contact-form label{font-size:12px;color:#aaa;text-transform:uppercase;letter-spacing:.08em}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #444;background:transparent;color:#fff;padding:13px 0;font:500 16px 'Figtree';outline:0;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--red)}.contact-form textarea{min-height:130px;resize:vertical}.contact-form .full{grid-column:1/-1}.submit-btn{justify-self:start;border:0;border-radius:100px;background:var(--red);color:#111;padding:16px 24px;font:700 15px 'Figtree';cursor:pointer;margin-top:8px}.submit-btn span{margin-left:15px}.form-note{font-size:11px;color:#777;margin:15px 0}.footer{background:#fff;padding:50px 0 25px}.footer-top{display:flex;justify-content:space-between;align-items:center}.footer-logo{width:150px;height:75px;object-fit:contain}.footer-links{display:flex;gap:30px;font-size:13px;font-weight:600}.footer-links a:hover{color:var(--red)}.footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;color:#858583;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.reveal,.service-row,.team-card,.logo-grid>div{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible,.service-row.visible,.team-card.visible,.logo-grid>div.visible{opacity:1;transform:none}.service-row:nth-child(2),.team-card:nth-child(2),.logo-grid>div:nth-child(2){transition-delay:.05s}.service-row:nth-child(3),.team-card:nth-child(3),.logo-grid>div:nth-child(3){transition-delay:.1s}.service-row:nth-child(4),.team-card:nth-child(4),.logo-grid>div:nth-child(4){transition-delay:.15s}.service-row:nth-child(5),.team-card:nth-child(5),.logo-grid>div:nth-child(5){transition-delay:.2s}.service-row:nth-child(6),.team-card:nth-child(6),.logo-grid>div:nth-child(6){transition-delay:.25s}.cursor-dot,.cursor-ring{position:fixed;pointer-events:none;z-index:100;top:0;left:0;border-radius:50%;transform:translate(-50%,-50%)}.cursor-dot{width:5px;height:5px;background:var(--red)}.cursor-ring{width:28px;height:28px;border:1px solid rgba(255,0,61,.5);transition:transform .08s ease}@media(min-width:901px) and (max-width:1100px){.team-grid{grid-template-columns:repeat(3,1fr)}.team-photo{height:300px}}@media(max-width:900px){.container{width:min(calc(100% - 40px),var(--max))}.nav{gap:20px}.intro-grid,.client-head{grid-template-columns:1fr;gap:25px}.intro-details{margin-left:0}.principle-grid{grid-template-columns:1fr}.principle-grid article,.principle-grid article+article{border-right:0;border-bottom:1px solid #373737;padding:28px 0}.principle-grid article:last-child{border-bottom:0}.principle-grid h3{margin-top:30px}.client-head p{margin-top:0}.contact-grid{gap:55px}.team-grid{grid-template-columns:repeat(2,1fr)}.number-grid{grid-template-columns:repeat(2,1fr);gap:35px}.number-grid>div:nth-child(3){border-left:0;padding-left:0}.logo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.site-header{padding:10px 0}.brand{width:115px;height:58px}.menu-toggle{display:flex;flex-direction:column;gap:6px}.menu-toggle span{display:block;width:25px;height:2px;background:#111}.nav{display:none;position:absolute;top:78px;left:20px;right:20px;background:#fff;border:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 50px rgba(0,0,0,.1)}.nav.open{display:flex}.nav a{padding:13px 5px}.nav-cta{text-align:center;margin-top:8px}.hero{min-height:800px;padding-top:150px}.hero h1{font-size:clamp(56px,16vw,90px)}.hero-bottom{align-items:flex-start;gap:30px}.hero-bottom p{font-size:16px}.round-link{width:84px;height:84px;flex:0 0 auto}.hero-side{display:none}.section{padding:90px 0}.section-dark,.contact{padding:90px 0}.display-copy{font-size:44px}.intro-details{display:block}.intro-details .text-link{display:inline-block;margin-top:25px}.section-head h2,.contact h2{font-size:54px}.service-row{grid-template-columns:45px 1fr 30px;gap:10px;padding:25px 0}.service-row:hover{padding-left:10px;padding-right:10px}.service-row h3{font-size:29px}.service-row p{font-size:14px}.service-arrow{font-size:24px}.statement{padding:90px 0}.statement h2{font-size:57px}.logo-grid{grid-template-columns:1fr 1fr}.logo-grid>div{height:130px;padding:15px}.logo-grid img{max-height:80px}.number-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr 1fr;gap:15px}.team-photo{height:240px}.team-card h3{font-size:25px}.contact-grid{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.footer-top,.footer-bottom{display:block}.footer-links{margin-top:20px;flex-wrap:wrap}.footer-bottom span{display:block;margin-top:7px}.cursor-dot,.cursor-ring{display:none}}
