@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#E63946;--ink:#2B2D42;--muted:#636a79;--pale:#f5f6f7;--line:#dde0e5;--white:#fff;--max:1500px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em}em{font-style:normal;color:var(--red)}:focus-visible{outline:3px solid var(--red);outline-offset:3px}section[id]{scroll-margin-top:82px}
.site-header{height:84px;padding:0 clamp(22px,5vw,84px);display:flex;align-items:center;justify-content:space-between;gap:32px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #f0f0f1}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:clamp(13px,1.2vw,19px);font-weight:800;letter-spacing:.035em;white-space:nowrap}.brand img{width:45px;height:43px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:clamp(18px,3vw,52px);font-weight:600}.site-nav a:hover,.site-footer a:hover{color:var(--red)}.mobile-quote,.menu-button{display:none}.button{min-height:54px;padding:15px 27px;border:1px solid transparent;border-radius:4px;display:inline-flex;justify-content:center;align-items:center;gap:38px;font-weight:700;white-space:nowrap;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button span,.text-link span{font-size:22px;line-height:1}.button-red{background:var(--red);color:#fff}.button-red:hover{background:#c92836}.button-outline{border-color:var(--ink);background:#fff}.button-outline:hover{background:var(--ink);color:#fff}
.hero{min-height:650px;display:grid;grid-template-columns:45% 55%;overflow:hidden}.hero-copy{padding:clamp(60px,7vw,126px) 4vw 70px clamp(24px,5vw,84px);position:relative;z-index:2}.eyebrow{color:#8b919d;font-size:12px;font-weight:800;letter-spacing:.28em;margin-bottom:28px}.hero h1{font-size:clamp(48px,4.55vw,82px);line-height:1.08;max-width:750px;margin-bottom:27px}.hero-lead{font-size:clamp(17px,1.33vw,22px);line-height:1.58;color:var(--muted);max-width:620px;margin-bottom:34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-image{min-height:650px;background:url('assets/hero-garage.png') center / cover no-repeat;position:relative;clip-path:polygon(20% 0,100% 0,100% 100%,0 100%);margin-left:-9%}.hero-image:after{content:"";position:absolute;right:-7%;top:0;bottom:0;width:16%;background:var(--red);transform:skewX(-23deg)}.hero-angle{position:absolute;width:13%;height:23%;top:0;left:18%;background:var(--red);transform:skewX(-25deg)}
.category-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:28px clamp(24px,5vw,84px);border-bottom:1px solid var(--line);gap:0}.category-strip a{display:grid;grid-template-columns:64px 1fr 22px;align-items:start;gap:20px;padding:8px 24px;border-right:1px solid var(--line)}.category-strip a:first-child{padding-left:0}.category-strip a:last-child{border:0}.category-strip small,.category-strip strong,.category-strip span span{display:block}.category-strip small{font-size:11px;letter-spacing:.2em;color:#9298a3;font-weight:800;margin-bottom:8px}.category-strip strong{font:800 17px Manrope,sans-serif;letter-spacing:-.03em;margin-bottom:7px}.category-strip span span{color:var(--muted);font-size:14px}.strip-icon{font-size:38px;line-height:1}.category-strip b{font-size:22px;color:var(--red);font-weight:400;align-self:end}
.section{padding:110px clamp(24px,5vw,84px)}.section-intro{display:grid;grid-template-columns:1.05fr .8fr;align-items:end;gap:70px;margin-bottom:44px}.section h2,.quality h2,.quote-section h2{font-size:clamp(42px,4.3vw,72px);line-height:1.1;margin:0}.section-intro h2{max-width:770px}.section-intro>p{font-size:20px;color:var(--muted);line-height:1.55;max-width:660px;margin-bottom:5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#f8f8f9;min-width:0}.service-card img{width:100%;aspect-ratio:1.35;object-fit:cover}.card-copy{min-height:180px;padding:24px 26px 30px;position:relative}.card-copy small{color:#9298a3;font-size:11px;letter-spacing:.18em;font-weight:800}.card-copy h3{font-size:24px;line-height:1.2;margin:12px 0 9px}.card-copy p{line-height:1.5;color:var(--muted);max-width:310px;margin:0}.card-copy a{position:absolute;right:26px;bottom:28px;color:var(--red);font-size:26px}.card-copy a:hover{transform:translate(2px,-2px)}
.work{background:#20232c;color:#fff}.work .eyebrow{color:#abb0ba}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:32px}.work h2{font-size:clamp(45px,4.7vw,78px)}.work-controls{display:flex;gap:23px;flex-wrap:wrap;padding-bottom:10px}.work-controls button{color:#e1e2e5;border:0;border-bottom:2px solid transparent;background:none;padding:0 0 9px}.work-controls button.active,.work-controls button:hover{color:var(--red);border-bottom-color:var(--red)}.work-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:24px}.project-large{grid-row:span 2}.project img{width:100%;height:clamp(170px,18vw,280px);object-fit:cover}.project-large img{height:calc(100% - 47px);min-height:440px}.project>div{min-height:47px;padding-top:12px;display:flex;justify-content:space-between;gap:10px;align-items:start}.project span{letter-spacing:.15em;font-size:12px;font-weight:800}.project small{color:#b2b7c0;letter-spacing:.16em;font-size:10px}.project[hidden]{display:none}.work-grid.filtered{display:flex;gap:20px}.work-grid.filtered .project{width:min(100%,800px)}.work-grid.filtered .project img{height:auto;aspect-ratio:1.6}.concept-note{color:#aeb2bb;font-size:12px;margin:28px 0 0}
.process h2{max-width:880px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:48px}.step-rule{display:flex;align-items:center;gap:18px;margin-bottom:25px;color:var(--red)}.step-rule b{font:800 28px Manrope,sans-serif;letter-spacing:-.05em}.step-rule:after{content:"";height:1px;background:#bfc4cd;flex:1}.steps h3{font-size:23px;margin-bottom:11px}.steps p{font-size:16px;line-height:1.6;color:var(--muted);max-width:410px}.quality{display:grid;grid-template-columns:1fr 1fr;min-height:480px;background:#f5f6f7}.quality-photo{background:url('assets/garage.png') center / cover no-repeat}.quality-copy{padding:clamp(55px,6vw,108px);display:flex;flex-direction:column;justify-content:center}.quality h2{font-size:clamp(40px,3.8vw,64px)}.quality-copy>p:not(.eyebrow){font-size:18px;color:var(--muted);line-height:1.6;max-width:580px;margin:25px 0}.text-link{font-weight:800;text-decoration:underline;text-underline-offset:8px;display:inline-flex;gap:26px;align-items:center;align-self:flex-start}.text-link:hover{color:var(--red)}
.quote-section{background:var(--ink);padding:90px clamp(24px,5vw,84px);display:grid;grid-template-columns:.95fr 1fr;gap:6vw;position:relative;overflow:hidden}.quote-section:after{content:"";position:absolute;right:-95px;top:0;bottom:0;width:140px;background:var(--red);transform:skewX(-24deg)}.quote-copy{color:#fff;padding-top:45px;position:relative;z-index:1}.quote-copy h2{max-width:650px}.quote-copy>p:not(.eyebrow){color:#d4d6df;font-size:20px;line-height:1.55;margin:25px 0 42px}.quote-copy .text-link{color:#fff}.quote-form{background:#fff;padding:clamp(28px,3vw,50px);border-radius:5px;position:relative;z-index:1}.quote-form h3{font-size:34px;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{display:block;font-weight:700;font-size:14px;margin-bottom:18px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;border:1px solid #d6dae1;background:#fff;border-radius:3px;padding:14px 15px;margin-top:8px;color:var(--ink);min-height:50px;outline:none}.quote-form textarea{resize:vertical}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--red)}.quote-form .button{width:100%}.form-note{font-size:12px;line-height:1.4;color:var(--muted);margin:14px 0 0}.form-message{margin:10px 0 0;color:#206b48;font-weight:700}.form-message.error{color:#b3202c}.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.site-footer{padding:36px clamp(24px,5vw,84px);display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.site-footer nav{display:flex;gap:26px}.site-footer small{color:var(--muted)}.dashboard-link{font-weight:700;color:var(--red)}
.js .reveal{opacity:0;transform:translateY(42px);transition:opacity 1.2s cubic-bezier(.22,.61,.36,1),transform 1.2s cubic-bezier(.22,.61,.36,1)}
.js .reveal.in-view{opacity:1;transform:none}
.hero-image.reveal{transition-delay:.18s}
.category-strip a:nth-child(2),.service-grid .service-card:nth-child(2),.steps article:nth-child(2),.work-grid .project:nth-child(2){transition-delay:.12s}
.category-strip a:nth-child(3),.service-grid .service-card:nth-child(3),.steps article:nth-child(3),.work-grid .project:nth-child(3){transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}
@media(max-width:1100px){.site-header{gap:18px}.site-nav{gap:18px}.brand{font-size:13px}.hero{grid-template-columns:48% 52%}.hero-copy{padding-top:85px}.hero h1{font-size:clamp(43px,5vw,60px)}.hero-image{margin-left:-12%}.category-strip a{grid-template-columns:35px 1fr 15px;gap:10px;padding:8px 16px}.strip-icon{font-size:27px}.section-intro{gap:35px}.card-copy h3{font-size:21px}}
@media(max-width:760px){.site-header{height:72px;padding:0 20px}.brand img{width:39px;height:37px}.brand{font-size:12px}.header-quote{display:none}.menu-button{display:flex;width:42px;height:42px;border:0;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu-button span{height:2px;width:23px;background:var(--ink)}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;box-shadow:0 12px 25px #20232c1c;padding:22px;flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:12px 0}.mobile-quote{display:block;color:var(--red)}.hero{display:flex;flex-direction:column}.hero-copy{padding:62px 24px 52px}.hero h1{font-size:clamp(45px,9vw,68px)}.hero-lead{font-size:17px}.hero-image{min-height:360px;margin:0;clip-path:none}.hero-angle{display:none}.hero-image:after{width:13%;right:-9%}.category-strip{grid-template-columns:1fr;padding:15px 24px}.category-strip a{border-right:0;border-bottom:1px solid var(--line);padding:19px 0}.category-strip a:last-child{border-bottom:0}.section{padding:75px 24px}.section-intro{grid-template-columns:1fr;gap:20px}.section-intro>p{font-size:17px}.service-grid{grid-template-columns:1fr}.service-card img{aspect-ratio:1.55}.work-heading{display:block}.work-controls{margin-top:28px}.work-grid{display:block}.project{margin-bottom:24px}.project img,.project-large img{height:auto;min-height:0;aspect-ratio:1.55}.steps{grid-template-columns:1fr;gap:10px}.steps article{max-width:600px}.quality{grid-template-columns:1fr}.quality-photo{min-height:340px}.quality-copy{padding:65px 24px}.quote-section{grid-template-columns:1fr;gap:35px;padding:65px 24px}.quote-copy{padding:0}.quote-section:after{display:none}.site-footer{align-items:start;flex-direction:column}.site-footer nav{flex-wrap:wrap}.form-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:460px){.hero-actions .button{width:100%}.work-controls{gap:15px}.work-controls button{font-size:13px}.quote-form{padding:26px 20px}.site-footer nav{gap:15px}.section h2,.quality h2,.quote-section h2{font-size:42px}}
