/* The opening keeps Enzo's car, while making the next step visible immediately. */
.skip-link{position:fixed;top:8px;left:16px;z-index:10001;transform:translateY(-180%);padding:12px 18px;background:var(--color-cream);color:var(--color-black);border-radius:8px;font-weight:600}
.skip-link:focus{transform:none}
main:focus{outline:none}
[id],:focus{scroll-margin-top:100px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--color-cream);outline-offset:4px}
.hero-scroll-spacer{height:25vh;height:25svh}
.hero-sticky{height:100vh;height:100svh;min-height:640px}
.hero-poster,.hero-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-canvas{opacity:0;pointer-events:none}
.hero-canvas.has-frame{opacity:1}
.hero-overlay{background:linear-gradient(180deg,rgba(8,9,9,.58),rgba(8,9,9,.05) 43%,rgba(8,9,9,.08) 63%,rgba(15,13,9,.92))}
.home-intro{position:relative;z-index:3;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(115px,14vh,160px);padding-bottom:40px}
.home-intro-top{max-width:680px}
.home-eyebrow{display:block;font-size:.75rem;font-weight:600;letter-spacing:.12em;color:var(--color-cream);margin-bottom:14px;text-transform:uppercase}
.home-intro h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;font-size:clamp(2.6rem,4.8vw,4.6rem);line-height:1.06;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.3)}
.home-intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.home-intro-services{font-size:.875rem;line-height:1.6;margin-bottom:18px;color:var(--color-cream);max-width:540px}
.home-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.home-actions .btn{padding:12px 24px;min-height:48px}
.btn-outline{border:1px solid rgba(238,233,220,.5);background:rgba(27,23,13,.5);color:var(--color-cream)}
.btn-outline:hover{background:var(--color-dark-3);border-color:var(--color-cream)}
.home-location{font-size:.8125rem;line-height:1.6;color:var(--color-gray-lighter);margin-top:10px}
.home-car-hint{font-size:.75rem;color:var(--color-cream);white-space:nowrap;padding-bottom:12px;display:flex;align-items:center;gap:12px}
.home-car-hint span{display:block;width:38px;height:1px;background:var(--color-accent)}
.service-directory{padding-top:56px;padding-bottom:56px}
.service-directory-intro{max-width:650px}
.service-directory-links a{transition:background-color .2s,border-color .2s}
.service-guide{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:20px 24px;border-radius:12px;background:rgba(45,170,122,.06);border:1px solid rgba(45,170,122,.16)}
.service-guide p{font-size:.875rem;color:var(--color-gray-lighter)}
.service-guide a{font-weight:600;font-size:.875rem;color:#63D4A4;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.enzo-proof{padding:72px 0;background:var(--color-black)}
.proof-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}
.proof-heading h2{font-family:var(--font-display);font-size:var(--type-section);font-weight:700;line-height:1.15;letter-spacing:-.015em}
.proof-heading p{max-width:380px;color:var(--color-gray-lighter);font-size:.9375rem}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.proof-card{border-top:1px solid var(--glass-border-hover);padding-top:24px}
.proof-brand{height:40px;display:flex;align-items:center;margin-bottom:22px}
.proof-brand img{max-width:145px;height:32px;object-fit:contain;object-position:left center}
.proof-card h3{font-family:var(--font-display);font-size:1.45rem;font-weight:700;margin-bottom:10px;line-height:1.2}
.proof-card p{color:var(--color-gray-lighter);font-size:.875rem;line-height:1.7;max-width:34ch;margin-bottom:14px}
.proof-card a,.home-contact-link{font-size:.875rem;color:#63D4A4;text-decoration:underline;text-underline-offset:4px;display:inline-block;padding-block:6px;font-weight:600}
.proof-digital{color:var(--color-accent);font-family:var(--font-display);font-size:1.5rem}
.pdr-section,.gallery,.booking{padding-block:80px}
.pdr-layout{gap:48px}
.gallery .section-header{text-align:left;max-width:650px;margin-bottom:32px}
.gallery .section-desc{margin:0;max-width:560px}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-item{opacity:1;transform:none}
.gallery-notes{display:flex;justify-content:space-between;gap:24px;margin-top:20px;color:var(--color-gray-lighter);font-size:.875rem}
.gallery-notes p{max-width:620px}
/* Curated original projects, played inline without a social embed. */
.home-reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-reel{min-width:0;overflow:hidden;border:1px solid var(--glass-border);border-radius:16px;background:var(--color-dark-1);display:flex;flex-direction:column}
.home-reel-media{position:relative;aspect-ratio:9/16;background:var(--color-black);overflow:hidden}
.home-reel-media video{display:block;width:100%;height:100%;object-fit:contain}
.home-reel-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;padding:0;border:1px solid rgba(238,233,220,.6);border-radius:50%;background:rgba(27,23,13,.75);color:var(--color-cream);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer}
.home-reel-play:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-black)}
.home-reel-play:focus-visible{outline:3px solid var(--color-accent);outline-offset:5px}
.home-reel-play[hidden],.home-reel-error[hidden]{display:none}
.home-reel-duration{display:none;position:absolute;bottom:14px;right:14px;padding:4px 9px;border-radius:100px;background:rgba(27,23,13,.85);color:var(--color-cream);font-size:.75rem;pointer-events:none}
.home-reel.is-enhanced .home-reel-duration{display:block}
.home-reel.has-started .home-reel-duration{display:none}
.home-reel-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.home-reel-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-lighter);line-height:1.6}
.home-reel-copy h3{font-family:var(--font-display);font-size:1.65rem;line-height:1.2;margin:12px 0 10px;letter-spacing:-.015em;text-transform:none}
.home-reel-copy p{font-size:.875rem;color:var(--color-gray-lighter);line-height:1.6;margin:0 0 20px}
.home-reel-copy>a{align-self:flex-start;margin-top:auto;min-height:44px;display:inline-flex;align-items:center;gap:10px;color:#63D4A4;font-size:.8125rem;font-weight:600}
.home-reel-copy .home-reel-error{margin:12px 0 0;font-size:.8125rem}
@media(max-width:900px){.home-reels{gap:16px}.home-reel-copy{padding:18px}.home-reel-copy h3{font-size:1.4rem}}
@media(max-width:700px){.home-reels{grid-template-columns:1fr;gap:28px}.home-reel{width:100%;max-width:380px;justify-self:center}.home-reel-copy{padding:22px}.home-reel-copy h3{font-size:1.6rem}}
.gallery-archive{margin-top:28px;border-block:1px solid var(--glass-border)}
.gallery-archive summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 0;cursor:pointer;font-size:.875rem;font-weight:600;list-style:none}
.gallery-archive summary::-webkit-details-marker{display:none}
.gallery-archive summary span{font-size:1.5rem;color:#63D4A4}
.gallery-archive[open] summary span{transform:rotate(45deg)}
.gallery-archive-content{padding:8px 0 24px}
.gallery-scope{margin-top:16px;font-size:.8125rem;color:var(--color-gray-lighter)}
.booking-layout{gap:48px}
.valuation-steps{list-style:none;display:grid;gap:20px;margin:26px 0 30px;counter-reset:valuation}
.valuation-steps li{counter-increment:valuation;display:grid;grid-template-columns:38px 1fr;gap:12px;font-size:.875rem;color:var(--color-gray-lighter)}
.valuation-steps li::before{content:counter(valuation,decimal-leading-zero);color:var(--color-accent);font-weight:600;border-top:1px solid rgba(45,170,122,.4);padding-top:5px}
.valuation-steps strong{display:block;color:var(--color-cream);font-weight:600;margin-bottom:3px}
.booking-form-wrapper{opacity:1;transform:none}
.booking-form-card{padding:30px}
.form-title{margin-bottom:12px}
.form-intro{font-size:.8125rem;color:var(--color-gray-lighter);margin-bottom:24px}
.home-reviews{padding:44px 0;background:var(--color-dark-1);border-block:1px solid var(--glass-border)}
.home-reviews .container{display:flex;align-items:center;justify-content:space-between;gap:24px}
.home-reviews h2{font-family:var(--font-display);font-size:1.65rem;line-height:1.2;margin-bottom:8px}
.home-reviews p{color:var(--color-gray-lighter);font-size:.9375rem;max-width:650px}
.map-section{padding-block:64px}
.map-header{max-width:750px;margin-bottom:28px}
.map-address{margin-top:12px;color:var(--color-gray-lighter);font-size:.875rem;line-height:1.7}
@media(max-width:768px){
 .hero-sticky{min-height:710px}
 .hero-scroll-spacer{height:15vh;height:15svh}
 .home-intro{padding-top:112px;padding-bottom:72px}
 .home-intro-top{max-width:490px}
 .home-intro h1{font-size:clamp(2.55rem,8.7vw,3.8rem)}
 .home-intro-bottom{display:block}
 .home-car-hint{display:none}
 .home-intro-services{font-size:.8125rem;max-width:350px;margin-bottom:14px}
 .home-actions{gap:10px}
 .home-actions .btn{padding:12px 18px;font-size:.8125rem}
 .home-eyebrow{font-size:.75rem;letter-spacing:.1em;max-width:30ch}
 .home-location{font-size:.75rem}
 .service-directory{padding-block:40px}
 .service-guide{flex-direction:column;align-items:start;gap:10px;padding:18px}
 .enzo-proof,.pdr-section,.gallery,.booking{padding-block:52px}
 .proof-heading{display:block}
 .proof-heading p{margin-top:14px}
 .proof-grid{grid-template-columns:1fr;gap:24px}
 .proof-card{display:grid;grid-template-columns:110px 1fr;column-gap:18px;padding-top:20px}
 .proof-brand{grid-row:span 3;margin:0;height:auto;align-items:start}
 .proof-brand img{max-width:100px;height:32px}
 .proof-digital{font-size:1.15rem;line-height:1.2}
 .proof-card h3{font-size:1.25rem}
 .proof-card a{justify-self:start}
 .gallery-grid{grid-template-columns:1fr}
 .gallery-notes{flex-direction:column;gap:10px}
 .booking-layout,.pdr-layout{grid-template-columns:1fr;gap:28px}
 .home-reviews .container{flex-direction:column;align-items:start}
 .booking-form-card{padding:24px 18px}
}
@media(max-width:380px){.home-actions{align-items:stretch}.home-actions .btn{padding:12px 14px}.home-intro h1{font-size:2.45rem}.home-eyebrow{font-size:.75rem}.proof-card{grid-template-columns:1fr}.proof-brand{grid-row:auto;margin-bottom:14px}}
@media(max-height:700px){
 .hero-sticky{min-height:0}
 .home-intro{padding-top:96px;padding-bottom:28px}
 .home-intro h1{font-size:clamp(2rem,5vw,3rem)}
 .home-eyebrow{margin-bottom:8px}
 .home-car-hint{display:none}
 .home-intro-services{margin-bottom:10px}
 .home-location{max-width:calc(100% - 64px)}
}
@media(max-height:700px) and (max-width:768px){
 .home-intro{padding-bottom:70px}
 .home-intro h1{font-size:2rem}
 .home-intro-services{font-size:.75rem}
 .home-actions .btn{padding:10px 12px;font-size:.75rem;min-height:44px}
 .home-location{font-size:.75rem;max-width:none}
}
@media(prefers-reduced-motion:reduce){.hero-scroll-spacer{display:none}.hero-sticky{position:relative}.hero-canvas{display:none}.home-car-hint{display:none}}

/* Compact product/equipment brands, separate from installer certifications. */
.brand-strip{padding:20px 0 26px;background:var(--color-black);border-block:1px solid rgba(238,233,220,.1);scroll-margin-top:110px}
.brand-strip-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.brand-strip-heading h2{font-family:Montserrat,sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-cream);margin:0;line-height:1.6}
.brand-strip-window:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}
.brand-strip-window{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(238,233,220,.3) transparent}
.brand-strip-track{display:flex;width:max-content}
.brand-strip-list{display:flex;align-items:center;gap:48px;list-style:none;padding:0 48px 0 0;margin:0;flex:none}
.brand-strip-list li{display:flex;align-items:center;justify-content:center;width:130px;height:54px;flex:none}
.brand-strip-logo{display:block;object-fit:contain;max-width:130px;width:auto;height:auto;max-height:46px;filter:brightness(0) invert(95%) sepia(12%) saturate(215%) hue-rotate(350deg);opacity:.82}
.brand-strip-logo--badge{max-height:54px;filter:grayscale(1);opacity:.85}
.brand-strip.is-animated .brand-strip-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.brand-strip.is-animated .brand-strip-track{animation:enzo-brands-scroll 48s linear infinite}
.brand-strip:hover .brand-strip-track,.brand-strip:focus-within .brand-strip-track{animation-play-state:paused}
@keyframes enzo-brands-scroll{to{transform:translateX(-50%)}}
@media(max-width:600px){.brand-strip{padding:16px 0 22px}.brand-strip-heading{gap:10px}.brand-strip-heading h2{font-size:.625rem;letter-spacing:.09em}.brand-strip-list{gap:32px;padding-right:32px}.brand-strip-list li{width:110px}.brand-strip-logo{max-width:110px}}
@media(prefers-reduced-motion:reduce){.brand-strip.is-animated .brand-strip-track{animation:none}.brand-strip.is-animated .brand-strip-window{overflow-x:auto;mask-image:none}.brand-strip-list[aria-hidden="true"]{display:none}}

.brand-strip-logo[src*="mothers-"],.brand-strip-logo[src*="turtle-wax-"]{filter:grayscale(1) invert(1) sepia(.12) brightness(1.1);opacity:.85}

/* Horizontal RUPES wordmark: retain the source canvas, hide white margins in CSS. */
.brand-strip-list li:has(.brand-strip-logo--rupes),.brand-strip-list li:has(.brand-strip-logo--stek){overflow:hidden;isolation:isolate;background:var(--color-black)}
.brand-strip-logo--rupes{width:130px;height:130px;max-height:none;max-width:none;flex:none;filter:grayscale(1) contrast(4) invert(1) sepia(.12) brightness(.94);mix-blend-mode:screen}
@media(max-width:600px){.brand-strip-logo--rupes{width:110px;height:110px}}

.brand-strip-logo--stek{width:230px;height:115px;max-width:none;max-height:none;flex:none;filter:grayscale(1) sepia(.12) brightness(.94);mix-blend-mode:screen}
@media(max-width:600px){.brand-strip-logo--stek{width:196px;height:98px}}
