:root{--black:#0a0a0b;--ink:#141416;--panel:#1a1a1d;--red:#ef302f;--white:#f5f5f3;--muted:#a5a5a7;--line:#2c2c30;--paper:#eeeeeb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:84px;padding:0 clamp(24px,5vw,84px);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:20;color:white;border-bottom:1px solid rgba(255,255,255,.16)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font-family:Oswald,sans-serif;font-size:22px;font-weight:700;letter-spacing:-1px;background:var(--red);color:#fff;padding:5px 8px;line-height:1}.brand-name{font-family:Oswald,sans-serif;font-weight:600;letter-spacing:1.3px;font-size:18px;line-height:1}.brand-name b{display:block;color:#aaa;font-family:Manrope,sans-serif;font-size:8px;letter-spacing:2.6px;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:35px;font-size:14px;font-weight:600}.site-header nav>a:not(.nav-cta){color:#c6c6c8;transition:.2s}.site-header nav>a:hover{color:#fff}.nav-cta{border:1px solid rgba(255,255,255,.45);padding:11px 18px}.menu-button{display:none;background:transparent;border:0;padding:10px}.menu-button span{display:block;width:25px;height:2px;background:#fff;margin:6px}.hero{min-height:760px;height:100vh;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,6,.94) 0%,rgba(5,5,6,.78) 35%,rgba(5,5,6,.14) 74%),linear-gradient(0deg,rgba(5,5,6,.7),transparent 50%)}.hero-content{position:relative;z-index:2;margin-left:clamp(24px,8vw,140px);max-width:690px;padding-top:50px}.eyebrow,.kicker{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:3px}.eyebrow{color:#c9c9ca;display:flex;align-items:center;gap:12px}.eyebrow span{width:36px;height:2px;background:var(--red)}h1,h2{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:-2px;line-height:.96;margin:22px 0;font-weight:600}h1{font-size:clamp(58px,7.1vw,118px)}h1 em,h2 em{color:var(--red);font-style:normal}.hero-copy{max-width:550px;color:#c4c4c6;font-size:18px;line-height:1.7}.hero-actions{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:0 25px;text-transform:uppercase;font-weight:800;letter-spacing:1.2px;font-size:12px;border:1px solid transparent;cursor:pointer;transition:.2s}.button span{font-size:18px;margin-left:22px}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#ff4544;transform:translateY(-2px)}.button-ghost{border-color:rgba(255,255,255,.32);color:#fff}.button-ghost:hover{border-color:#fff}.hero-location{position:absolute;z-index:2;right:clamp(24px,5vw,80px);bottom:54px;padding-left:18px;border-left:2px solid var(--red)}.hero-location small,.direct-contact small{display:block;text-transform:uppercase;color:#969698;font-weight:700;font-size:10px;letter-spacing:2px;margin-bottom:4px}.hero-location a{font-size:14px;line-height:1.5}.hero-location a span{color:var(--red);margin-left:10px}.scroll-note{position:absolute;z-index:2;left:35px;bottom:70px;writing-mode:vertical-rl;text-transform:uppercase;font-size:9px;letter-spacing:2px;color:#888}.scroll-note span{display:inline-block;width:1px;height:35px;background:var(--red);margin-top:13px}.section{padding:120px clamp(24px,8vw,140px)}.section-pad{padding-left:clamp(24px,8vw,140px);padding-right:clamp(24px,8vw,140px)}.section-label{text-transform:uppercase;letter-spacing:2.2px;font-size:10px;font-weight:800;color:#777}.section-label span{color:var(--red);margin-right:17px}.intro{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:55px;align-items:start}.intro-heading h2,.appointment h2,.approach h2{font-size:clamp(48px,5.2vw,84px)}.kicker{color:var(--red);margin:0}.intro-copy{margin-top:55px;color:#5e5e62;line-height:1.9}.service-grid{padding-bottom:130px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d1d1ce}.service-grid article{min-height:310px;border-right:1px solid #d1d1ce;border-bottom:1px solid #d1d1ce;padding:35px;position:relative}.service-grid article:nth-child(3n){border-right:0}.service-number{position:absolute;top:24px;right:25px;font:600 11px Oswald;color:#999}.service-icon{font-size:31px;color:var(--red);height:82px}.service-grid h3{font:600 26px Oswald;text-transform:uppercase;margin:15px 0 10px}.service-grid p{color:#6e6e72;font-size:14px;max-width:310px}.service-contact{background:var(--red);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.service-contact p{color:#fff;font-size:13px}.service-contact a{font-family:Oswald;font-size:24px;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:10px}.service-contact a span{float:right}.approach{background:var(--black);color:#fff;display:grid;grid-template-columns:.85fr 1.4fr;min-height:780px}.approach-visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at center,#252529 0,#111113 52%,#09090a 72%);border-right:1px solid var(--line)}.ring{width:280px;height:280px;border:1px solid #45454a;border-radius:50%;display:grid;place-items:center;position:relative}.ring:before,.ring:after{content:"";position:absolute;border-radius:50%;border:1px solid #29292d}.ring:before{inset:-55px}.ring:after{inset:-110px}.ring span{font:700 74px Oswald;color:var(--red);letter-spacing:-5px}.approach-visual>p{position:absolute;bottom:55px;text-transform:uppercase;font-size:10px;letter-spacing:3px;color:#777}.approach-content{padding:110px clamp(35px,7vw,115px)}.light{color:#777}.approach h2{margin-top:45px}.principles{margin-top:70px}.principles>div{display:grid;grid-template-columns:45px 160px 1fr;gap:20px;border-top:1px solid var(--line);padding:24px 0;align-items:start}.principles b{font:500 11px Oswald;color:var(--red)}.principles h3{font:500 20px Oswald;text-transform:uppercase;margin:0}.principles p{font-size:13px;color:#929296;margin:0}.appointment{padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,150px)}.appointment-heading>p:not(.kicker){color:#67676b;max-width:460px}.direct-contact{margin-top:55px}.direct-contact a{font:600 30px Oswald;display:block}.appointment form{padding-top:50px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;text-transform:uppercase;font-size:10px;letter-spacing:1.5px;font-weight:800;color:#777;margin-bottom:25px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;border-radius:0;padding:13px 0 15px;color:#161618;outline:none;font-size:15px;text-transform:none;letter-spacing:0}input:focus,select:focus,textarea:focus{border-color:var(--red)}textarea{resize:vertical;min-height:90px}.submit{border:0;margin-top:12px}.form-note{font-size:11px;color:#777;margin-top:18px}footer{background:var(--black);color:#fff;padding:70px clamp(24px,8vw,140px) 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center;padding-bottom:55px;border-bottom:1px solid var(--line)}.footer-top p{color:#78787d;font-size:13px}.back-top{text-transform:uppercase;letter-spacing:1.5px;font-size:10px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1.4fr;gap:50px;padding:55px 0}.footer-grid small{display:block;text-transform:uppercase;color:#666;letter-spacing:2px;font-size:9px;margin-bottom:12px}.footer-grid a{display:block;color:#bbb;font-size:14px;margin-bottom:6px}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;color:#5e5e62;text-transform:uppercase;letter-spacing:1.5px;font-size:9px}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.site-header{height:72px}.menu-button{display:block;z-index:2}.site-header nav{display:none;position:absolute;top:0;left:0;right:0;background:#0a0a0b;padding:92px 28px 30px;flex-direction:column;align-items:flex-start;gap:24px}.site-header nav.open{display:flex}.hero{min-height:720px}.hero-overlay{background:linear-gradient(90deg,rgba(5,5,6,.93),rgba(5,5,6,.46)),linear-gradient(0deg,#070708 0,transparent 60%)}.hero-content{margin:0;padding:80px 24px 110px}.hero-copy{font-size:16px}.hero-location{left:24px;right:auto;bottom:35px}.scroll-note{display:none}.intro{grid-template-columns:1fr;padding-top:85px;padding-bottom:85px;gap:20px}.intro-copy{margin-top:0}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(3n){border-right:1px solid #d1d1ce}.service-grid article:nth-child(2n){border-right:0}.approach{grid-template-columns:1fr}.approach-visual{min-height:450px;border-right:0}.appointment{grid-template-columns:1fr;padding-top:85px;padding-bottom:100px}.appointment form{padding-top:0}.footer-top{grid-template-columns:1fr auto}.footer-top p{display:none}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}}@media(max-width:580px){.brand-name{font-size:16px}.hero{height:auto}.hero-content{padding-top:135px}.hero-actions{display:grid}.button{width:100%}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0!important;min-height:260px}.approach-visual{min-height:380px}.ring{width:200px;height:200px}.principles>div{grid-template-columns:30px 1fr}.principles p{grid-column:2}.field-row{grid-template-columns:1fr}.appointment form{padding-top:10px}.footer-top,.footer-grid{grid-template-columns:1fr}.back-top{display:none}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}.mobile-call{display:block;position:fixed;z-index:30;right:16px;bottom:16px;background:var(--red);color:#fff;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:1.2px;padding:13px 18px;box-shadow:0 8px 25px rgba(0,0,0,.3)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
