@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--ink:#14232c;--paper:#f7f6f2;--mist:#e9eeea;--copper:#ac653d;--line:#d4ded8;--header:86px;--footer:64px;--gutter:clamp(24px,6vw,110px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding:0}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d5a079;outline-offset:5px}h1,h2,h3,p,figure{margin:0}button{color:inherit}img{max-width:100%;display:block}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:15px}.skip-link:focus{top:12px}.site-header{position:fixed;inset:0 0 auto;z-index:40;height:var(--header);display:flex;align-items:center;gap:30px;padding:0 var(--gutter);background:var(--ink);color:white}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:23px;font-weight:800;letter-spacing:-1px;line-height:1.2}.brand svg{width:37px;height:42px;fill:none;stroke:#d7ac8c;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.brand-location{display:block;font-size:9px;font-weight:400;letter-spacing:1px;margin-top:5px;color:#bfcecf}.desktop-nav{display:flex;margin-left:auto;gap:26px;font-size:11px}.desktop-nav a{padding:10px 0;color:#dae4e4}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:#e3ad87}.header-phone{display:flex;align-items:center;gap:20px;border:1px solid #65787e;padding:13px 15px;font-size:11px;white-space:nowrap}.menu-toggle{display:none}.mobile-menu{position:absolute;top:var(--header);left:0;right:0;background:var(--ink);padding:15px var(--gutter) 25px}.mobile-menu a{display:block;padding:14px 0;border-bottom:1px solid #ffffff25;font-size:14px}.screen{position:relative;min-height:100svh;scroll-snap-align:start;padding:calc(var(--header) + 42px) var(--gutter) calc(var(--footer) + 42px);display:flex;align-items:center}.screen-inner{width:100%;max-width:1440px;margin:auto}.screen h2{font-size:clamp(36px,4vw,62px);line-height:1.12;font-weight:800;letter-spacing:-.055em}.eyebrow{font-size:11px;font-weight:650;color:var(--copper);margin-bottom:24px}.body-copy{font-size:14px;line-height:1.85;color:#52676d;max-width:460px;margin-top:24px}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--copper);color:#fff;padding:18px 24px;font-size:12px;font-weight:700;min-height:48px}.button:hover{background:#935330}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:8px;margin-top:27px}.quiet-note{font-size:10px;line-height:1.7;color:#607477;max-width:400px}.hero{color:white;background:var(--ink)}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,#10232dbf 0%,#10232d75 42%,#10232d06 85%)}.hero-content{position:relative;padding:25px 0}.hero .eyebrow{color:#d5e1df;margin-bottom:25px}.hero h1{font-size:clamp(54px,6.3vw,96px);line-height:1.05;font-weight:800;letter-spacing:-.064em}.hero-description{font-size:15px;line-height:1.8;color:#e0e6e4;margin:26px 0 28px}.hero-secondary{display:flex;align-items:center;gap:21px;width:max-content;font-size:11px;margin-top:23px;color:#e5e8e4}.hero-location{font-size:10px;display:flex;align-items:center;gap:9px;margin-top:45px;color:#ccd9d7}.location-dot{width:6px;height:6px;border:1px solid #dba87f;border-radius:50%}.image-disclosure{position:absolute;right:var(--gutter);bottom:calc(var(--footer) + 22px);font-size:9px;color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.feature-image{height:clamp(430px,66svh,720px);position:relative;overflow:hidden}.feature-image img{height:100%;width:100%;object-fit:cover}.feature-image:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#14232cc7)}.feature-image figcaption{position:absolute;bottom:24px;left:25px;right:25px;color:white;z-index:1;font-size:12px}.feature-image figcaption span{display:block;font-size:9px;color:#e1e7e6;margin-top:6px}.service-lines{margin:26px 0 15px;border-top:1px solid var(--line)}.service-lines>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.service-lines>div>span:last-child{color:var(--copper)}.tonal{background:var(--mist)}.project-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:6%;align-items:center}.project-layout h2{font-size:clamp(36px,3.5vw,56px)}.project-select{display:flex;gap:8px;margin-top:28px;flex-wrap:wrap}.project-select button{background:transparent;border:1px solid #a5b6b1;padding:11px 16px;font-size:11px;min-height:44px}.project-select .selected{background:var(--ink);border-color:var(--ink);color:white}.project-description{font-size:12px;line-height:1.75;margin:20px 0;color:#435e62;min-height:44px}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.project-pair img{height:clamp(330px,54svh,630px);width:100%;object-fit:cover}.project-pair figcaption{display:flex;flex-direction:column;gap:5px;margin-top:15px;font-size:12px;font-weight:700}.project-pair figcaption span:last-child{font-size:10px;color:#5c7174;font-weight:400}.dark{background:var(--ink);color:white}.dark .eyebrow{color:#d4a07c}.dark .body-copy{color:#c1d0d1}.faq-list{border-top:1px solid #ffffff30}.faq-list details{border-bottom:1px solid #ffffff30;padding:21px 0}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:14px;font-weight:600;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;font-weight:300;color:#d8a27b}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:12px;line-height:1.8;color:#becfd0;padding:15px 30px 0 0}.contact{background:#ac6942;color:#fff}.contact .eyebrow{color:#ffddc2}.contact .body-copy{color:#fff1e7}.contact-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:6%;align-items:center;position:relative}.contact-links{margin:29px 0 20px;max-width:370px}.contact-links>a{display:block;border-top:1px solid #ffffff4d;padding:15px 0}.contact-links small{font-size:10px;color:#ffdfc9;display:block;margin-bottom:6px}.contact-links>a>span{display:flex;justify-content:space-between;gap:20px;font-size:19px;letter-spacing:-.035em;overflow-wrap:anywhere}.contact address{font-size:11px;font-style:normal}.address-note{font-size:10px;color:#ffe4d1;margin-top:7px}.request-card{padding:32px;background:var(--paper);color:var(--ink)}.form-heading{display:flex;align-items:flex-start;gap:20px;justify-content:space-between}.request-card h3{font-size:24px;line-height:1.25;letter-spacing:-1px;font-weight:800;max-width:320px}.demo-badge{border:1px solid #b7c7bc;color:#526b60;font-size:9px;padding:4px 7px;flex-shrink:0}.form-help{font-size:11px;line-height:1.7;color:#5b6d70;margin:14px 0 22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:17px}.request-card label{font-size:10px;font-weight:650;display:block;min-width:0}.request-card input,.request-card select,.request-card textarea{display:block;width:100%;margin-top:7px;border:1px solid #b8c6bf;background:white;border-radius:0;padding:11px 10px;min-height:42px;font-size:12px;color:var(--ink);min-width:0}.request-card textarea{resize:vertical;min-height:80px;max-height:170px}.form-button{background:var(--ink);width:100%;margin-top:20px;font-size:11px;padding:15px 18px}.form-button:hover{background:#2b4851}.form-note{font-size:9px;color:#5b6d70;margin-top:12px}.demo-footer{grid-column:1/-1;color:#ffe5d3;font-size:9px;margin-top:0}.request-card dl{margin:22px 0}.request-card dl>div{padding:10px 0;border-top:1px solid var(--line)}.request-card dt{font-size:9px;color:#52676d;margin-bottom:4px}.request-card dd{font-size:12px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.chapter-controls{position:fixed;inset:auto 0 0;height:var(--footer);z-index:40;display:flex;align-items:center;gap:35px;padding:0 var(--gutter);background:var(--paper);border-top:1px solid var(--line)}.chapter-status{display:flex;align-items:center;gap:25px;font-size:10px;min-width:215px}.chapter-status b{font-weight:700}.total{color:#7d8c8d;margin-left:5px}#chapter-label{color:#4f666a}.progress-track{height:2px;background:#d9e0db;flex:1}.progress-track span{display:block;height:100%;background:var(--copper);width:20%;transition:width .25s}.concept-label{font-size:9px;color:#687a7b}.page-buttons{display:flex;gap:8px}.page-buttons button{display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid #b7c6bf;background:transparent;font-size:15px;min-width:37px;height:36px;padding:0 12px}.page-buttons button>span{font-size:10px}.page-buttons button:disabled{opacity:.3}.page-buttons button:hover:not(:disabled){background:#e3e9e5}
@media(min-width:1500px){.hero-description{font-size:17px}.body-copy{font-size:16px}.desktop-nav{font-size:13px}.service-lines>div{font-size:15px}}
@media(max-width:1100px){.desktop-nav{gap:18px}.header-phone{display:none}.split{gap:6%}.request-card{padding:25px}.project-layout{grid-template-columns:.9fr 1.1fr;gap:5%}.project-pair{gap:10px}.project-pair img{height:48svh}.screen h2{font-size:43px}.contact-links>a>span{font-size:17px}}
@media(max-width:760px){:root{--header:72px;--footer:58px;--gutter:24px}.brand{font-size:21px}.brand-location{font-size:8px}.brand svg{width:32px}.desktop-nav{display:none}.menu-toggle{margin-left:auto;width:43px;height:42px;display:flex;flex-direction:column;justify-content:center;gap:7px;border:1px solid #65787e;background:transparent;padding:11px}.menu-toggle span{display:block;width:100%;height:1px;background:white}.screen{padding-top:calc(var(--header) + 33px);padding-bottom:calc(var(--footer) + 33px)}.screen h2{font-size:38px}.hero h1{font-size:clamp(46px,11.5vw,76px)}.hero-content{padding:15px 0}.hero .eyebrow{font-size:10px;max-width:250px;line-height:1.6}.hero-description{font-size:13px}.hero-photo{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#10232ddd,#10232d55)}.hero-location{margin-top:35px}.hero .button{padding:16px 20px;font-size:11px;gap:25px}.hero-secondary{font-size:10px}.image-disclosure{font-size:8px;bottom:calc(var(--footer) + 16px)}.split,.project-layout,.contact-layout{grid-template-columns:1fr;gap:30px}.body-copy{font-size:13px;margin-top:20px}.eyebrow{font-size:10px;margin-bottom:17px}.feature-image{height:330px}.service-lines{margin-top:22px}.service-lines>div{font-size:12px}.quiet-note{font-size:10px}.text-link{margin-top:22px;font-size:11px}.project-pair img{height:310px}.project-pair figcaption{font-size:11px}.project-pair figcaption span:last-child{font-size:9px}.project-select{margin-top:20px}.project-description{margin:16px 0;min-height:0}.faq-list details{padding:17px 0}.faq-list summary{font-size:13px}.faq-list p{font-size:12px}.contact .body-copy{margin-top:18px}.contact-links{margin-top:23px}.contact-links>a>span{font-size:19px}.request-card{padding:24px}.request-card h3{font-size:23px}.form-row{gap:12px}.request-card input,.request-card select,.request-card textarea{font-size:16px}.request-card select{font-size:13px;min-height:44px}.demo-footer{font-size:9px;line-height:1.7}.chapter-controls{gap:12px}.chapter-status{min-width:0;flex:1;gap:16px;font-size:9px}.progress-track,.concept-label{display:none}.page-buttons button{min-width:38px;height:38px;padding:0 10px}.page-buttons button>span{display:none}}
@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:17px}}
@media(max-width:370px){:root{--gutter:18px}.project-pair img{height:250px}.request-card{padding:20px}.hero h1{font-size:44px}}
@media(max-height:740px) and (min-width:761px){.screen{padding-top:calc(var(--header) + 28px);padding-bottom:calc(var(--footer) + 28px)}.screen h2{font-size:39px}.hero h1{font-size:65px}.hero-content{padding:0}.hero-description{margin:20px 0;font-size:13px}.hero-location{margin-top:24px}.eyebrow{margin-bottom:17px}.body-copy{font-size:12px;margin-top:18px}.feature-image{height:480px}.service-lines>div{padding:12px 0}.request-card{padding:25px}.form-help{margin:10px 0 17px}.request-card h3{font-size:22px}.form-row{margin-bottom:12px}.contact-layout{gap:4%}.contact-links{margin-top:20px}.demo-footer{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress-track span{transition:none}}
/* Keep the outer document on whole chapters; long content scrolls within one chapter. */
html{scroll-snap-type:y mandatory}
html.chapter-animating{scroll-snap-type:none;scroll-behavior:auto}
.screen{height:100dvh;min-height:100dvh;overflow:hidden;scroll-snap-stop:always}
.screen-inner{max-height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}
.hero-content{overflow-y:auto}
/* Mobile has one native scrolling surface: no inner scroll traps or gesture interception. */
@media(max-width:760px),(hover:none) and (pointer:coarse){
  html{scroll-snap-type:y mandatory;scroll-behavior:auto}
  html.chapter-animating{scroll-snap-type:none}
  .screen{height:auto;min-height:100svh;overflow:visible;scroll-snap-stop:always}
  .screen-inner,.hero-content{max-height:none;overflow:visible;overscroll-behavior-y:auto}
  .page-buttons button{height:44px;min-width:44px}
  .page-buttons #next>span{display:inline}
  .mobile-nav-hint #next:not(:disabled){animation:mobile-navigation-cue 1.15s ease-in-out .7s 5}
  @keyframes mobile-navigation-cue{
    0%,100%{background:transparent;border-color:#b7c6bf;box-shadow:0 0 0 0 #ac653d00}
    45%{background:#ead8c9;border-color:#ac653d;box-shadow:0 0 0 5px #ac653d18}
  }
}
@media(max-width:760px){
  .hero{align-items:flex-start}
  .hero-content{margin-top:0;padding-top:15px;padding-bottom:200px}
  .hero-photo{object-position:center bottom}
  .hero-shade{background:linear-gradient(180deg,#10232d30 0%,#10232d15 50%,#10232d00 75%)}
  .hero-location{margin-top:24px}
  .mobile-menu{max-height:calc(100svh - var(--header) - var(--footer));overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){
  .mobile-nav-hint #next:not(:disabled){animation:none}
}
/* GMS: steel blue, shop red and clean alloy surfaces. */
:root{--ink:#182b3b;--paper:#f5f6f6;--mist:#e5eaed;--copper:#b43f32;--line:#ccd5db}
.brand-mark{font-size:32px;line-height:.85;letter-spacing:-2px;font-weight:800;font-style:italic;display:block}.brand-mark>span{display:block;font-size:10px;letter-spacing:7px;font-style:normal;margin:8px 0 0 4px}.brand>.brand-location{border-left:1px solid #ffffff40;padding-left:15px;font-size:9px;letter-spacing:.3px;line-height:1.6;margin:0}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:#f4a598}.button:hover{background:#933429}.hero-shade{background:linear-gradient(90deg,#101f2fed 0%,#101f2fa8 40%,#101f2f08 100%)}.hero h1{letter-spacing:-.065em}.hero .eyebrow{color:#e4ebf0}.location-dot{border-color:#ed8e81}.dark .eyebrow{color:#f0a295}.faq-list summary span{color:#f0a295}.contact{background:#234459}.contact .eyebrow,.contact-links small,.address-note,.demo-footer{color:#d0e0eb}.contact .body-copy{color:#e6eff5}.shop-card{background:var(--ink);color:white;position:relative;overflow:hidden;padding:48px 42px 0;border-top:5px solid var(--copper)}.shop-wordmark{display:block;font-size:clamp(72px,10vw,150px);line-height:.85;font-weight:800;font-style:italic;letter-spacing:-.075em}.shop-wordmark>span{display:block;font-size:20px;letter-spacing:.8em;font-style:normal;margin:20px 0 35px 8px}.shop-info{border-top:1px solid #ffffff35;padding:25px 0}.shop-info p{font-size:14px}.shop-info address{font-style:normal;color:#c2d0dc;font-size:15px;line-height:1.8;margin:16px 0}.shop-info>a{font-size:23px;font-weight:650}.shop-info>span{display:block;font-size:11px;color:#becddb;margin:18px 0 0;line-height:1.8}.map-link{display:flex;justify-content:space-between;border-top:1px solid #ffffff35;margin-top:8px;padding:20px 0;font-size:11px;gap:20px}.map-link:hover{color:#f4a598}.form-button:hover{background:#31556b}:focus-visible{outline-color:#e58b76!important}
@media(max-width:760px){.hero{align-items:center}.hero-content{margin:auto;padding:25px 0 65px}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#101f2fe8,#101f2f72)}.shop-card{padding:35px 28px 0}.shop-wordmark{font-size:100px}.brand-mark{font-size:28px}.brand>.brand-location{font-size:8px}.feature-image{height:350px}.hero h1{font-size:clamp(48px,12vw,76px)}}
/* Individual service chapters retain the existing page movement. */
.service-count{margin-left:24px;color:#667b8a}.service-line{font-size:clamp(23px,2.3vw,36px);line-height:1.2;letter-spacing:-.035em;font-weight:600;margin-top:20px}.service-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:25px 0 20px}.service-tags li{border:1px solid var(--line);padding:9px 12px;font-size:11px}.service-jump{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:30px}.service-jump a{font-size:10px;color:#526776;padding-bottom:5px;border-bottom:1px solid transparent}.service-jump a:hover,.service-jump a[aria-current]{color:var(--copper);border-color:currentColor}
/* Bright daylight hero with a light reading area rather than a dark image wash. */
.hero{color:var(--ink);background:#e9eef0}.hero-shade{background:linear-gradient(90deg,rgba(248,250,251,.97) 0%,rgba(248,250,251,.88) 30%,rgba(248,250,251,.28) 53%,transparent 72%)}.hero .eyebrow{color:#3e5c70}.hero-description,.hero-secondary,.hero-location{color:#294b60}.hero .image-disclosure{background:#ffffffde;color:#294b60;padding:5px 8px}.hero h1{font-size:clamp(54px,6.3vw,96px)}
@media(max-width:760px){.hero-photo{object-position:64% bottom}.hero-shade{background:linear-gradient(180deg,#f8fafbf2 0%,#f8fafbe8 34%,#f8fafb88 57%,#f8fafb00 85%)}.hero{align-items:flex-start}.hero-content{margin-top:0;padding:15px 0 220px}.hero h1{font-size:clamp(48px,12vw,76px)}.service-line{font-size:27px}.service-jump{margin-top:24px}.service-tags{margin-top:20px}}
/* Services alone travel horizontally; all other chapters remain vertical. */
.services-chapter{background:var(--paper);padding-top:calc(var(--header) + 24px);padding-bottom:calc(var(--footer) + 24px)}.services-inner{display:flex;flex-direction:column;gap:20px}.services-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0}.services-toolbar label{font-size:11px;color:#526776;display:flex;gap:18px;align-items:center}.services-toolbar select{border:1px solid var(--line);background:white;padding:11px 35px 11px 12px;color:var(--ink);font-size:13px;max-width:260px}.service-controls{display:flex;align-items:center;gap:10px}.service-controls>span{font-size:11px;margin-right:10px;color:#526776}.service-controls button{width:44px;height:44px;background:transparent;border:1px solid var(--line);font-size:20px}.service-controls button:disabled{opacity:.3}.service-controls button:hover:not(:disabled){background:var(--mist)}.has-service-slider .service-stage{display:grid;overflow:hidden;isolation:isolate;flex-shrink:0}.has-service-slider .service-panel{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transition:transform .56s cubic-bezier(.65,0,.35,1),opacity .35s,visibility .56s}.has-service-slider .service-panel.is-active{opacity:1;visibility:visible}.service-panel .split{min-height:100%;gap:7%}.service-panel .feature-image{height:clamp(330px,55dvh,600px)}.service-panel h2{font-size:clamp(36px,3.8vw,60px)}.service-panel .service-line{font-size:clamp(23px,2.1vw,32px);max-width:440px}.service-hint{font-size:10px;color:#526776;display:flex;gap:12px;align-items:center}.service-hint>span:first-child{font-size:20px}.touch-hint{display:none}.service-panel .body-copy{margin-top:20px}.service-photo img{object-position:60% center}#brakes .service-photo img,#tires .service-photo img,#suspension .service-photo img{object-position:95% center}
@media(max-width:760px){.services-inner{gap:20px}.services-toolbar{align-items:flex-end;gap:10px}.services-toolbar label{display:block;font-size:10px;min-width:0;flex:1}.services-toolbar select{display:block;margin-top:8px;width:100%;font-size:16px;max-width:100%;padding-right:10px}.service-controls{gap:5px}.service-controls>span{display:none}.service-controls button{width:40px}.service-panel .split{gap:25px}.service-panel .feature-image{height:290px}.service-panel .service-line{font-size:25px}.service-panel h2{font-size:36px}.touch-hint{display:inline}.service-hint{flex-wrap:wrap}.service-panel .body-copy{font-size:13px}.has-service-slider{touch-action:pinch-zoom}}
@media(prefers-reduced-motion:reduce){.has-service-slider .service-panel{transition:none}}

/* Prevent native swipe momentum from escaping the service carousel. */
html.service-touch{scroll-snap-type:none;scroll-behavior:auto}
@media(hover:none) and (pointer:coarse){.has-service-slider{touch-action:pinch-zoom}}
