:root{--brand-red:#ff0000}
.logo img{width:224px;height:auto}.header-inner{min-height:108px;transition:min-height .2s ease}.has-scrolled .header-inner{min-height:88px}.nav{gap:24px}
.header:after{content:"";position:absolute;bottom:0;left:0;height:2px;background:var(--brand-red);width:var(--page-progress,0%);pointer-events:none}
.footer-brand img{width:270px;height:auto;margin-bottom:17px}.footer-brand span{font-size:10px;letter-spacing:.035em;text-transform:none}
.footer{position:relative;isolation:isolate;overflow:hidden}.footer:before{content:"";position:absolute;inset:auto -110px -55px auto;width:760px;height:170px;background:url('./brand-curve.svg') center/contain no-repeat;opacity:.2;z-index:-1;pointer-events:none}
.eyebrow:before{width:31px;height:4px;background:var(--brand-red);transform:skewX(-12deg)}
.hero-modern .hero-content{isolation:isolate}.hero-modern .hero-content:after{content:"";position:absolute;bottom:-8px;left:-70px;width:115%;height:115px;background:url('./brand-curve.svg') center/contain no-repeat;opacity:.16;z-index:-1;pointer-events:none}
.hero-modern h1 .accent{color:var(--brand-red)}.hero-visual{border-radius:8px;box-shadow:0 18px 40px #00000013}.hero-visual:before{content:"";position:absolute;top:18px;right:18px;width:70px;height:4px;background:var(--brand-red);z-index:4;pointer-events:none}
.home-entry{border-radius:6px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.home-entry:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--brand-red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.home-entry:nth-child(2){background:#202020;border-color:#202020;color:#fff}.home-entry:nth-child(2) p{color:#d7d7d7}
.home-workshop{background:#202020;color:#fff;position:relative;overflow:hidden}.home-workshop:before{content:"";position:absolute;top:-30px;right:-110px;width:880px;height:190px;background:url('./brand-curve.svg') center/contain no-repeat;opacity:.23;pointer-events:none}.home-workshop-grid{position:relative}.home-workshop-grid>img{border-radius:7px;box-shadow:0 15px 35px #0003}.home-workshop-grid p:not(.eyebrow){color:#ddd}.home-workshop .eyebrow{color:#cfcfcf}.home-workshop .button.outline{border-color:#999;color:white}
.page-intro{position:relative;isolation:isolate;overflow:hidden}.page-intro:after{content:"";position:absolute;right:-110px;top:-55px;width:740px;height:185px;background:url('./brand-curve.svg') center/contain no-repeat;opacity:.26;z-index:-1;pointer-events:none}
.service-detail{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.service-detail:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--brand-red);transform:scaleY(0);transform-origin:top;transition:transform .25s ease}
.page-cta-inner{border-left:4px solid var(--brand-red);padding-left:25px}.editorial-intro figure,.editorial-image figure{overflow:hidden;border-radius:7px}.editorial-intro img,.editorial-image img{transition:transform .7s ease}
.button{position:relative;isolation:isolate;overflow:hidden;transition:color .25s ease,border-color .25s ease,background .25s ease}.button:before{content:"";position:absolute;inset:0;background:#202020;z-index:-1;transform:translateX(-102%);transition:transform .25s ease}.button:focus-visible{outline-color:var(--brand-red)}
@media(hover:hover){.home-entry:hover{transform:translateY(-5px);box-shadow:0 15px 32px #00000012}.home-entry:hover:after,.home-entry:focus-visible:after{transform:scaleX(1)}.service-detail:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0000000a;border-color:#aaa}.service-detail:hover:before{transform:scaleY(1)}.editorial-intro figure:hover img,.editorial-image figure:hover img{transform:scale(1.035)}.button:hover{color:white;border-color:#202020}.button:hover:before{transform:translateX(0)}.home-workshop .button.outline:hover{background:white;color:#202020;border-color:white}.home-workshop .button.outline:hover:before{background:white}}
@media(prefers-reduced-motion:no-preference){
 .reveal-pending{opacity:0;transform:translateY(22px)}.reveal-visible{animation:brand-reveal .65s cubic-bezier(.2,.65,.3,1) both}
 .hero-slide:not([hidden]) .hero-photo{animation:brand-photo-drift 13s linear both}
 @keyframes brand-reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
 @keyframes brand-photo-drift{from{transform:scale(1)}to{transform:scale(1.065)}}
}
@media(max-width:1100px){.logo img{width:202px}.nav{gap:17px}}
@media(max-width:980px){.header-inner,.has-scrolled .header-inner{min-height:88px}.logo img{width:185px}.header .nav a{position:relative}.header .nav a[aria-current=page]{border-left-color:var(--brand-red)}}
@media(max-width:740px){
 .header-inner,.has-scrolled .header-inner{min-height:84px}.logo img{width:clamp(145px,45vw,185px)}.js .header .menu-toggle{min-width:82px;padding:10px;gap:9px;font-size:13px}
 .hero-modern .hero-content:after{bottom:-8px;left:-35px;width:110%;height:65px;opacity:.1}.hero-visual{border-radius:6px;box-shadow:0 10px 22px #00000012}.hero-visual:before{top:13px;right:13px;width:45px;height:3px}
 .home-entry{padding:24px 0;overflow:visible}.home-entry:nth-child(2){padding:24px 21px;margin:7px 0;border-radius:5px}.home-entry:after{display:none}.home-workshop:before{width:560px;height:125px;top:4px;right:-230px;opacity:.2}
 .footer-brand img{width:238px}.footer:before{width:480px;right:-230px;bottom:40px;opacity:.16}.page-intro:after{width:490px;right:-240px;top:-15px;opacity:.2}.page-cta-inner{padding-left:20px}
}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.header-inner,.button,.button:before,.home-entry,.home-entry:after,.service-detail,.service-detail:before,.editorial-intro img,.editorial-image img{transition:none!important}.hero-photo,.reveal-visible{animation:none!important}}
