:root{--bg:#061d22;--bg2:#031317;--panel:#09272d;--panel2:#0d3138;--line:#16434b;--cyan:#21c7ee;--ice:#c7f5ff;--white:#f5fbfc;--muted:#9db4b9;--shadow:0 28px 80px rgba(0,0,0,.38)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg2);color:var(--white);font-family:Inter,system-ui,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{position:sticky;top:0;z-index:20;height:82px;display:flex;align-items:center;gap:34px;padding:10px clamp(20px,5vw,72px);background:rgba(3,19,23,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(33,199,238,.16)}.brand{height:90px;width:230px;overflow:hidden;display:flex;align-items:center}.brand img{width:100%;height:100%;object-fit:cover;object-position:center}.site-header nav{display:flex;gap:28px;margin-left:auto}.site-header nav a{color:var(--muted);font-size:.93rem}.site-header nav a:hover{color:var(--white)}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:8px;padding:15px 22px;background:linear-gradient(135deg,#e3fbff,var(--cyan));color:#031317;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(33,199,238,.2)}.button-small{padding:10px 16px;font-size:.9rem}.button-wide{width:100%}.hero{position:relative;overflow:hidden;min-height:720px;padding:130px clamp(24px,8vw,120px) 90px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:50px;align-items:end;background:radial-gradient(circle at 74% 40%,rgba(33,199,238,.16),transparent 28%),linear-gradient(120deg,#031317 18%,#08272d 100%)}.hero-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(33,199,238,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(33,199,238,.25) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to right,black,transparent 70%)}.hero-glow{position:absolute;width:460px;height:460px;border-radius:50%;right:8%;top:13%;filter:blur(110px);background:rgba(33,199,238,.14)}.hero-copy,.hero-card{position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-family:'Barlow Condensed',sans-serif;font-weight:700;color:var(--cyan);margin:0 0 12px}.hero h1,.section h2,.booking-section h2,.split-section h2,dialog h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:.94;margin:0}.hero h1{font-size:clamp(4.3rem,9vw,8.7rem);max-width:880px}.hero h1 span{background:linear-gradient(180deg,var(--ice),var(--cyan));-webkit-background-clip:text;color:transparent}.hero-text{font-size:1.15rem;color:#c5d5d8;max-width:680px;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-weight:700;border-bottom:1px solid var(--cyan)}.trust-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;color:var(--muted);font-size:.9rem}.hero-card{justify-self:end;width:min(100%,380px);padding:30px;border:1px solid rgba(33,199,238,.36);background:rgba(5,24,29,.72);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.hero-card strong,.hero-card span{display:block}.hero-card strong{font-size:1.45rem}.hero-card span{color:var(--muted)}.hero-card hr{border:0;border-top:1px solid var(--line);margin:24px 0}.section{padding:110px clamp(24px,8vw,120px)}.section-heading{max-width:800px;margin-bottom:50px}.section-heading h2,.booking-section h2,.split-section h2{font-size:clamp(3.4rem,6vw,6.2rem)}.section-heading>p:last-child,.booking-intro>p,.split-section>div>p{color:var(--muted);font-size:1.05rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:300px;padding:34px;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);overflow:hidden}.service-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-50px;bottom:-50px;background:rgba(33,199,238,.13);filter:blur(20px)}.service-number{color:var(--cyan);font-family:'Barlow Condensed';font-size:1.3rem}.service-card h3{font-family:'Barlow Condensed';text-transform:uppercase;font-size:2rem;line-height:1;margin:55px 0 18px}.service-card p{color:var(--muted)}.booking-section{padding:110px clamp(24px,8vw,120px);display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);gap:60px;background:#061d22}.booking-intro{position:sticky;top:120px;align-self:start}.guarantee{display:flex;gap:18px;margin-top:34px;padding:22px;border:1px solid var(--line);background:rgba(255,255,255,.02)}.guarantee-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--cyan);color:#031317;font-weight:900}.guarantee p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.booking-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.step{padding:34px;border-bottom:1px solid var(--line)}.step-heading{display:flex;gap:18px;align-items:flex-start;margin-bottom:24px}.step-heading>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--cyan);color:var(--cyan);font-weight:800}.step-heading h3{margin:0;font-family:'Barlow Condensed';font-size:2rem;text-transform:uppercase}.step-heading p{margin:3px 0 0;color:var(--muted);font-size:.9rem}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice-card{position:relative;padding:20px 18px;border:1px solid var(--line);background:#071b20;cursor:pointer}.choice-card input{position:absolute;opacity:0}.choice-card strong,.choice-card small,.choice-card em{display:block}.choice-card small{color:var(--muted);margin-top:4px}.choice-card em{color:var(--cyan);font-style:normal;font-size:.78rem;margin-top:8px}.choice-check{position:absolute;right:14px;top:14px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:transparent}.choice-card:has(input:checked){border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}.choice-card:has(input:checked) .choice-check{background:var(--cyan);color:#031317}.service-choices{display:grid;gap:14px}.service-choice{margin:0;padding:20px;border:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.service-choice legend{display:contents}.service-choice legend strong,.service-choice legend span{display:block}.service-choice legend span{color:var(--muted);font-size:.9rem;margin-top:5px}.yes-no{display:flex;gap:8px}.yes-no input{position:absolute;opacity:0}.yes-no span{display:block;min-width:62px;text-align:center;padding:10px 14px;border:1px solid var(--line);cursor:pointer}.yes-no label:has(input:checked) span{background:var(--cyan);border-color:var(--cyan);color:#031317;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid label{font-size:.88rem;color:#c4d2d5}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:8px;padding:13px 14px;border:1px solid var(--line);background:#06171b;color:var(--white);border-radius:5px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--cyan)}.full-width{grid-column:1/-1}.order-summary{padding:28px 34px;background:#031317}.order-summary>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0}.order-summary>div strong{font-size:1.1rem}.order-summary p{padding:12px 0 20px;margin:0;color:var(--muted);font-size:.86rem}.order-summary small{display:block;text-align:center;color:var(--muted);margin-top:12px}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:linear-gradient(135deg,#041519,#092830)}.contact-card{border:1px solid var(--line);background:rgba(0,0,0,.16)}.contact-card a{display:flex;justify-content:space-between;gap:24px;padding:22px;border-bottom:1px solid var(--line)}.contact-card a:last-child{border-bottom:0}.contact-card span{color:var(--cyan);text-transform:uppercase;font-size:.8rem;letter-spacing:.12em}.contact-card strong{text-align:right}footer{padding:40px clamp(24px,8vw,120px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}footer img{width:230px;height:90px;object-fit:cover}dialog{max-width:560px;border:1px solid var(--cyan);background:#071d22;color:var(--white);padding:34px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.78)}dialog h2{font-size:3rem}.dialog-close{float:right;border:0;background:none;color:var(--white);font-size:2rem;cursor:pointer}code{color:var(--ice)}
@media(max-width:900px){.site-header nav{display:none}.site-header{gap:12px}.site-header .button{margin-left:auto}.hero{grid-template-columns:1fr;padding-top:100px}.hero-card{justify-self:start}.service-grid,.booking-section,.split-section{grid-template-columns:1fr}.booking-intro{position:static}.service-grid{gap:12px}.booking-section{gap:38px}.hero h1{font-size:clamp(4rem,16vw,7rem)}}
@media(max-width:600px){.site-header{height:72px;padding:8px 15px}.brand{width:110px;height:52px}.button-small{font-size:.78rem;padding:9px 11px}.hero{min-height:auto;padding:100px 20px 70px}.hero h1{font-size:3.8rem}.hero-text{font-size:1rem}.trust-row{display:grid;gap:8px}.section,.booking-section{padding:75px 18px}.section-heading h2,.booking-section h2,.split-section h2{font-size:3.5rem}.service-grid{grid-template-columns:1fr}.choice-grid,.form-grid{grid-template-columns:1fr}.service-choice{grid-template-columns:1fr}.step{padding:25px 18px}.order-summary{padding:24px 18px}.split-section{padding:75px 18px}.contact-card a{display:block}.contact-card strong{display:block;text-align:left;margin-top:6px}footer{padding:28px 18px;display:grid;text-align:center;justify-items:center}}

/* Mobile detailing option */
.mobile-choice em,.pickup-choice em{display:block;color:var(--cyan);font-style:normal;font-size:.78rem;margin-top:8px}.mobile-address{margin-top:18px;padding:22px;border:1px solid var(--line);background:rgba(255,255,255,.02)}.mobile-address[hidden]{display:none}.service-option-note{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}


/* Mobile detailing announcement */
.mobile-promo{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:42px;padding:62px clamp(24px,8vw,120px);overflow:hidden;background:linear-gradient(110deg,#08272d 0%,#061d22 48%,#031317 100%);border-top:1px solid rgba(33,199,238,.2);border-bottom:1px solid rgba(33,199,238,.24)}
.mobile-promo:before{content:"";position:absolute;z-index:-1;width:440px;height:440px;right:8%;top:50%;transform:translateY(-50%);border-radius:50%;background:rgba(33,199,238,.13);filter:blur(105px)}
.mobile-promo-copy{max-width:850px}
.mobile-promo h2{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:clamp(4rem,8vw,8rem);line-height:.88;text-transform:uppercase;letter-spacing:-.025em;background:linear-gradient(180deg,var(--white),var(--ice) 55%,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.mobile-promo-copy>p:last-child{max-width:650px;margin:22px 0 0;color:#c5d5d8;font-size:1.08rem}
.mobile-promo-actions{display:flex;flex:0 0 auto;flex-direction:column;gap:12px;min-width:250px}
.mobile-promo-button{width:100%;min-width:250px}
.mobile-promo-button-secondary{background:rgba(255,255,255,.035);color:var(--ice);border:1px solid rgba(33,199,238,.55);box-shadow:none}
.mobile-promo-button-secondary:hover{background:rgba(33,199,238,.1)}
@media(max-width:900px){.mobile-promo{align-items:flex-start;flex-direction:column;padding-top:52px;padding-bottom:52px}.mobile-promo h2{font-size:clamp(4rem,14vw,7rem)}.mobile-promo-actions{width:100%;max-width:520px}}
@media(max-width:600px){.mobile-promo{padding:44px 18px;gap:28px}.mobile-promo h2{font-size:3.9rem}.mobile-promo-actions,.mobile-promo-button{width:100%;min-width:0}}

/* Live booking availability */
.availability-status{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.form-grid select:disabled{opacity:.7;cursor:wait}


/* Pricing section */
.pricing-section{background:linear-gradient(145deg,#031317 0%,#071e24 52%,#092830 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pricing-heading{max-width:900px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pricing-card{position:relative;display:flex;flex-direction:column;min-height:350px;padding:32px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(12,46,54,.88),rgba(4,21,25,.95));box-shadow:0 18px 55px rgba(0,0,0,.18)}
.pricing-card.featured{border-color:rgba(33,199,238,.55);transform:translateY(-8px)}
.pricing-card.featured:before{content:"Most popular";position:absolute;right:18px;top:18px;padding:6px 9px;border-radius:999px;background:var(--cyan);color:#031317;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.pricing-kicker{color:var(--cyan);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}
.pricing-card h3{margin:40px 0 14px;font-family:'Barlow Condensed',sans-serif;font-size:2.1rem;line-height:1;text-transform:uppercase}
.pricing-price{font-family:'Barlow Condensed',sans-serif;font-size:4rem;line-height:1;color:var(--ice)}
.pricing-card p{margin-top:auto;color:var(--muted);line-height:1.6}
.vehicle-pricing{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border:1px solid var(--line);background:rgba(0,0,0,.16)}
.vehicle-pricing div{padding:20px;border-right:1px solid var(--line)}
.vehicle-pricing div:last-child{border-right:0}
.vehicle-pricing span,.vehicle-pricing strong{display:block}
.vehicle-pricing span{color:var(--muted);font-size:.82rem}
.vehicle-pricing strong{margin-top:5px;color:var(--ice)}
.pricing-action{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}
.pricing-action p{margin:0;color:var(--muted)}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}.pricing-card.featured{transform:none}.vehicle-pricing{grid-template-columns:repeat(2,1fr)}.vehicle-pricing div:nth-child(2){border-right:0}.vehicle-pricing div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.vehicle-pricing{grid-template-columns:1fr}.vehicle-pricing div{border-right:0;border-bottom:1px solid var(--line)}.vehicle-pricing div:last-child{border-bottom:0}.pricing-card{min-height:300px}}


/* Signature detail package */
.signature-section{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 25%,rgba(33,199,238,.14),transparent 34%),linear-gradient(135deg,#06191e,#0a2b33 58%,#031317);border-bottom:1px solid var(--line)}
.signature-section:after{content:"";position:absolute;width:520px;height:520px;right:-170px;bottom:-270px;border:1px solid rgba(33,199,238,.16);border-radius:50%;box-shadow:0 0 0 70px rgba(33,199,238,.025),0 0 0 140px rgba(33,199,238,.018);pointer-events:none}
.signature-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:64px;align-items:center}
.signature-copy{position:relative;padding:48px;border:1px solid rgba(33,199,238,.42);background:linear-gradient(145deg,rgba(10,43,51,.94),rgba(3,19,23,.92));box-shadow:0 28px 90px rgba(0,0,0,.34)}
.signature-badge{position:absolute;right:24px;top:24px;padding:8px 12px;border-radius:999px;background:var(--cyan);color:#031317;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
.signature-copy h2{max-width:800px;margin:12px 0 20px;font-family:'Barlow Condensed',sans-serif;font-size:clamp(3.8rem,7vw,7rem);line-height:.9;text-transform:uppercase}
.signature-copy>p:not(.eyebrow){max-width:720px;color:#c5d5d8;font-size:1.06rem;line-height:1.7}
.signature-includes{display:grid;gap:12px;margin:28px 0;padding:0;list-style:none}
.signature-includes li{display:flex;align-items:center;gap:12px;font-weight:700}
.signature-includes span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--cyan);color:#031317}
.signature-upgrade{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0;padding:18px 20px;border:1px solid var(--line);background:rgba(0,0,0,.18)}
.signature-upgrade span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}
.signature-upgrade strong{color:var(--ice);text-align:right}
.signature-button{border:0;cursor:pointer}
.signature-prices{display:grid;gap:16px}
.signature-price-card{width:100%;padding:30px;border:1px solid var(--line);background:rgba(3,19,23,.82);box-shadow:0 16px 50px rgba(0,0,0,.22);color:inherit;text-align:left;font:inherit;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.signature-price-card.featured{border-color:var(--cyan);transform:translateX(-16px)}
.signature-price-card:hover,.signature-price-card:focus-visible{border-color:var(--cyan);transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,224,255,.14);outline:none}
.signature-price-card.featured:hover,.signature-price-card.featured:focus-visible{transform:translate(-16px,-4px)}
.signature-price-card span,.signature-price-card small{display:block}
.signature-price-card span{color:var(--cyan);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.signature-price-card strong{display:block;margin:6px 0;font-family:'Barlow Condensed',sans-serif;font-size:4.8rem;line-height:1;color:var(--white)}
.signature-price-card small,.signature-prices>p{color:var(--muted)}
.signature-price-card em{display:inline-block;margin-top:16px;color:var(--ice);font-size:.78rem;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.signature-prices>p{margin:4px 0 0;font-size:.88rem;line-height:1.55}
@media(max-width:900px){.signature-shell{grid-template-columns:1fr;gap:28px}.signature-price-card.featured,.signature-price-card.featured:hover,.signature-price-card.featured:focus-visible{transform:none}.signature-price-card:hover,.signature-price-card:focus-visible{transform:translateY(-4px)}.signature-prices{grid-template-columns:1fr 1fr}.signature-prices>p{grid-column:1/-1}}
@media(max-width:600px){.signature-copy{padding:32px 22px}.signature-badge{position:static;display:inline-block;margin-bottom:20px}.signature-copy h2{font-size:3.7rem}.signature-upgrade{align-items:flex-start;flex-direction:column;gap:7px}.signature-upgrade strong{text-align:left}.signature-prices{grid-template-columns:1fr}.signature-prices>p{grid-column:auto}.signature-price-card strong{font-size:4rem}}

/* Refined Signature handoff to custom builder */
.signature-custom-link {
  align-items: flex-start;
}
.signature-custom-link span {
  opacity: .72;
}
.signature-custom-link strong {
  line-height: 1.35;
}


/* Signature package prominence */
.signature-section{padding-top:clamp(84px,10vw,140px);padding-bottom:clamp(84px,10vw,140px)}
.signature-shell{gap:72px}
.signature-copy{padding:clamp(44px,6vw,72px);border:2px solid rgba(33,199,238,.76);box-shadow:0 34px 110px rgba(0,0,0,.44),0 0 42px rgba(33,199,238,.18)}
.signature-badge{display:inline-flex;align-items:center;gap:8px;padding:11px 17px;background:linear-gradient(135deg,#54e7ff,#16b9df);font-size:.78rem;box-shadow:0 10px 28px rgba(33,199,238,.34);animation:signaturePulse 2.8s ease-in-out infinite}
.signature-badge span{font-size:.92rem}
.signature-copy h2{font-size:clamp(4.4rem,8vw,8rem)}
.signature-button{width:100%;min-height:62px;font-size:1.02rem;box-shadow:0 16px 38px rgba(33,199,238,.22)}
.signature-price-card{border-width:2px}
.signature-price-card.featured{box-shadow:0 20px 70px rgba(33,199,238,.16)}
.contact-brand-line{margin-top:22px;color:var(--cyan);font-weight:800;line-height:1.5;text-transform:uppercase;letter-spacing:.06em}
@keyframes signaturePulse{0%,100%{box-shadow:0 10px 28px rgba(33,199,238,.25)}50%{box-shadow:0 12px 38px rgba(33,199,238,.48)}}
@media(max-width:600px){.signature-section{padding-top:72px;padding-bottom:72px}.signature-copy{padding:38px 22px}.signature-copy h2{font-size:4rem}.signature-button{min-height:58px}}

/* Sleek, straightforward Signature package selector */
.signature-section{padding-top:clamp(72px,8vw,110px);padding-bottom:clamp(72px,8vw,110px)}
.signature-section:after{opacity:.45}
.signature-simple{position:relative;z-index:1;max-width:1040px;margin:0 auto;text-align:center}
.signature-simple .signature-badge{position:static;margin:0 auto 22px;animation:none}
.signature-simple h2{max-width:900px;margin:10px auto 18px;font-family:'Barlow Condensed',sans-serif;font-size:clamp(3.3rem,7vw,6.6rem);line-height:.92;text-transform:uppercase}
.signature-lead{max-width:700px;margin:0 auto;color:#c5d5d8;font-size:1.06rem;line-height:1.7}
.signature-includes-inline{display:flex;justify-content:center;gap:14px 28px;flex-wrap:wrap;margin:28px 0 34px;color:var(--ice);font-weight:700}
.signature-includes-inline span{display:inline-flex;align-items:center;gap:8px}
.signature-vehicle-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:820px;margin:0 auto}
.signature-vehicle-option{position:relative;display:flex;flex-direction:column;align-items:center;min-height:285px;padding:34px 26px;border:2px solid var(--line);border-radius:12px;background:linear-gradient(160deg,rgba(12,46,54,.92),rgba(3,19,23,.98));color:var(--white);font:inherit;text-align:center;cursor:pointer;box-shadow:0 18px 50px rgba(0,0,0,.24);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.signature-vehicle-option:hover,.signature-vehicle-option:focus-visible{transform:translateY(-4px);border-color:var(--cyan);background:linear-gradient(160deg,rgba(15,58,67,.98),rgba(3,19,23,.98));box-shadow:0 22px 64px rgba(33,199,238,.16);outline:none}
.signature-option-label{font-family:'Barlow Condensed',sans-serif;font-size:2rem;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.02em}
.signature-vehicle-option strong{display:block;margin:18px 0 8px;font-family:'Barlow Condensed',sans-serif;font-size:5rem;line-height:.8;color:var(--ice)}
.signature-vehicle-option small{color:var(--muted);font-size:.92rem}
.signature-vehicle-option em{display:block;width:100%;margin-top:auto;padding:13px 16px;border-radius:8px;background:linear-gradient(135deg,#e3fbff,var(--cyan));color:#031317;font-size:.86rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.signature-custom-route{display:inline-flex;gap:7px;align-items:center;margin-top:30px;color:var(--ice);font-weight:800;border-bottom:1px solid rgba(33,199,238,.55)}
.signature-custom-route span{color:var(--muted);font-weight:600}
.signature-note{margin:18px 0 0;color:var(--muted);font-size:.86rem}
@media(max-width:680px){.signature-vehicle-options{grid-template-columns:1fr}.signature-simple h2{font-size:3.65rem}.signature-vehicle-option{min-height:250px;padding:28px 22px}.signature-vehicle-option strong{font-size:4.4rem}.signature-custom-route{display:inline-block;line-height:1.7}.signature-custom-route span{display:block}}

/* Fix: inline Signature package inclusions should be readable text, not circular icon badges. */
.signature-includes.signature-includes-inline span {
  width: auto;
  height: auto;
  display: inline-flex;
  place-items: initial;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ice);
}


/* July 2026 booking hotfix */
.dealer-trust{position:relative;display:inline-flex;align-items:center;gap:6px;margin-bottom:22px;padding:13px 19px;border:1px solid rgba(105,226,255,.62);border-radius:999px;background:linear-gradient(135deg,rgba(33,199,238,.16),rgba(3,19,23,.82));box-shadow:0 0 26px rgba(33,199,238,.16),inset 0 1px 0 rgba(255,255,255,.08);color:#e7f8fb;font-size:1rem;font-weight:700;line-height:1.35;letter-spacing:.025em;text-transform:none;backdrop-filter:blur(10px)}.dealer-trust:before{content:"★";color:var(--ice);font-size:1.05rem;text-shadow:0 0 12px rgba(105,226,255,.75)}.dealer-trust strong{color:#fff;font-weight:900;text-shadow:0 0 15px rgba(105,226,255,.35)}
.estimate-caveat{margin:0;padding:12px 14px;border-left:3px solid var(--cyan);background:rgba(33,199,238,.07);color:var(--muted);font-size:.86rem}
.custom-quote-step{background:linear-gradient(145deg,rgba(33,199,238,.055),transparent)}.custom-quote-toggle{display:flex;gap:14px;align-items:flex-start;margin:0 0 22px;padding:18px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.custom-quote-toggle input{margin-top:5px;accent-color:var(--cyan)}.custom-quote-toggle span,.custom-quote-toggle small{display:block}.custom-quote-toggle small,.field-help{margin-top:5px;color:var(--muted);font-size:.8rem}
.promo-code{display:block!important;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.promo-code>div{display:flex;gap:8px;margin-top:8px}.promo-code input{min-width:0;flex:1;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#031317;color:var(--white);text-transform:uppercase}.promo-code button{padding:10px 14px;border:0;border-radius:7px;background:var(--ice);color:#031317;font-weight:800;cursor:pointer}.promo-code small{display:block;margin-top:7px;color:#ffb5b5}.promo-code small.success{color:#78f0b2}
@media(max-width:760px){.site-header nav a[href*="review"]{display:none}.dealer-trust{border-radius:10px;line-height:1.5}.promo-code>div{flex-direction:column}}




/* Animated services/custom-quote mode switch */
.booking-mode-panel{overflow:hidden;opacity:1;transform:translateY(0);max-height:1400px;transition:max-height .48s ease,opacity .28s ease,transform .38s ease,padding .38s ease,border-color .38s ease}
.booking-mode-panel.is-hidden{max-height:0;opacity:0;transform:translateY(-18px);padding-top:0!important;padding-bottom:0!important;border-color:transparent;pointer-events:none}
.custom-mode-panel{max-height:0;opacity:0;transform:translateY(18px);padding-top:0!important;padding-bottom:0!important;border-color:transparent;pointer-events:none}
.custom-mode-panel.is-visible{max-height:1400px;opacity:1;transform:translateY(0);padding:34px!important;border-bottom-color:var(--line);pointer-events:auto;animation:quoteModeIn .45s ease both}
.custom-quote-banner{display:flex;flex-direction:column;gap:5px;margin:0 0 22px;padding:18px;border:1px solid rgba(33,199,238,.55);border-radius:10px;background:rgba(33,199,238,.07)}
.custom-quote-banner strong{color:var(--ice)}.custom-quote-banner small{color:var(--muted)}
@keyframes quoteModeIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.custom-mode-panel.is-visible{padding:25px 18px!important}}

/* Custom quote expands directly below the vehicle choices */
#vehicleChoices + #custom-quote{margin-top:22px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,rgba(33,199,238,.055),rgba(3,19,23,.35))}
#vehicleChoices + #custom-quote.custom-mode-panel.is-visible{padding:28px!important}
@media(max-width:600px){#vehicleChoices + #custom-quote.custom-mode-panel.is-visible{padding:22px 16px!important}}

.checkout-estimate{margin:4px 0 2px;text-align:left}
@media(max-width:760px){.dealer-trust{padding:12px 15px;font-size:.9rem}}

/* Animated dealership trust banner */
.dealer-trust{display:block;overflow:hidden;width:min(100%,760px);padding:0;border-radius:10px;background:linear-gradient(90deg,rgba(33,199,238,.1),rgba(33,199,238,.22),rgba(33,199,238,.1));box-shadow:0 0 34px rgba(33,199,238,.2),inset 0 1px 0 rgba(255,255,255,.08)}
.dealer-trust:before{display:none}
.dealer-trust-track{display:flex;width:max-content;animation:dealerTrustMarquee 18s linear infinite;will-change:transform}
.dealer-trust-track span{display:flex;align-items:center;gap:7px;min-width:max-content;padding:15px 34px;color:#e7f8fb;font-family:'Barlow Condensed',sans-serif;font-size:1.22rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
.dealer-trust-track strong{color:#fff;text-shadow:0 0 15px rgba(105,226,255,.45)}
.dealer-trust:hover .dealer-trust-track{animation-play-state:paused}
@keyframes dealerTrustMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.dealer-trust-track{animation:none}.dealer-trust-track span:nth-child(2){display:none}}
@media(max-width:760px){.dealer-trust{width:100%;padding:0}.dealer-trust-track span{padding:13px 26px;font-size:1rem}}


/* Premium direct Google review prompt */
.review-invite{display:flex;align-items:center;gap:16px;width:min(100%,640px);margin-top:26px;padding:18px 20px;border:1px solid rgba(33,199,238,.38);border-radius:12px;background:linear-gradient(135deg,rgba(13,49,56,.86),rgba(3,19,23,.92));box-shadow:0 16px 44px rgba(0,0,0,.22);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.review-invite:hover,.review-invite:focus-visible{transform:translateY(-2px);border-color:var(--cyan);box-shadow:0 18px 52px rgba(33,199,238,.16);outline:none}
.review-stars{flex:0 0 auto;color:var(--ice);font-size:1.08rem;letter-spacing:.08em;text-shadow:0 0 14px rgba(33,199,238,.45)}
.review-invite-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.review-invite-copy strong{font-family:'Barlow Condensed',sans-serif;font-size:1.35rem;line-height:1;text-transform:uppercase;letter-spacing:.045em}
.review-invite-copy small{color:var(--muted);font-size:.84rem;line-height:1.45}
.review-arrow{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(33,199,238,.12);color:var(--ice);font-size:1.25rem;transition:transform .2s ease,background .2s ease}
.review-invite:hover .review-arrow,.review-invite:focus-visible .review-arrow{transform:translateX(3px);background:rgba(33,199,238,.22)}
.site-header .review-trigger{color:var(--ice);font-weight:800}
@media(max-width:600px){.review-invite{align-items:flex-start;padding:16px}.review-stars{font-size:.95rem}.review-arrow{width:34px;height:34px}.review-invite-copy strong{font-size:1.2rem}}


/* Static trust banner + right-side hours/review layout */
.hero{align-items:center}
.hero-side{position:relative;align-self:center;justify-self:end;width:min(100%,380px);display:flex;flex-direction:column;gap:18px;transform:translateY(-28px)}
.hero-side .hero-card{justify-self:auto;width:100%}
.hero-side .review-invite{width:100%;margin-top:0}
.dealer-trust{display:inline-flex;overflow:visible;width:auto;max-width:100%;padding:13px 19px;border-radius:10px}
.dealer-trust-track{display:block;width:auto;animation:none!important;transform:none!important;will-change:auto}
.dealer-trust-track span{display:block;min-width:0;padding:0;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.025em;text-transform:none;white-space:normal}
.dealer-trust:hover .dealer-trust-track{animation-play-state:running}
@media(max-width:900px){.hero{grid-template-columns:1fr;align-items:start}.hero-side{justify-self:stretch;width:100%;max-width:640px;transform:none}.hero-side .hero-card{justify-self:stretch;max-width:none}.hero-side .review-invite{max-width:none}}
@media(max-width:760px){.dealer-trust{width:100%;padding:12px 15px}.dealer-trust-track span{padding:0;font-size:.9rem;white-space:normal}}

/* Three service options: shop, mobile, pickup & return */
.service-location-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.service-location-choices{grid-template-columns:1fr}}


/* ==========================================================
   WORLD CLASS — CINEMATIC CINCINNATI BACKGROUND UNIVERSE v8
   Performance pass: baked color grading, no live blur filters,
   scene changes only at chapter boundaries, compositor-only fades.
   ========================================================== */
html,body{background:#02080c}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:#02080c;pointer-events:none}
main{position:relative;z-index:1}
.worldclass-cinematic-stage{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#02080c;contain:strict;transform:translateZ(0)}
.worldclass-cinematic-scene,.worldclass-cinematic-scrim,.worldclass-cinematic-vignette{position:absolute;inset:0}
.worldclass-cinematic-scene{opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s linear .8s;transform:translateZ(0)}
.worldclass-cinematic-scene.is-active{opacity:1;visibility:visible;transition:opacity .8s ease;will-change:opacity}
.worldclass-cinematic-scene img{width:100%;height:100%;object-fit:cover;display:block;transform:translate3d(0,0,0) scale(1.065);transform-origin:center center}
.worldclass-cinematic-scene.is-active img{animation:worldclassSceneDrift 18s ease-in-out infinite alternate;will-change:transform}
.worldclass-cinematic-scene.scene-front img{object-position:69% 50%}
.worldclass-cinematic-scene.scene-rear img{object-position:68% 48%}
.worldclass-cinematic-scene.scene-city img{object-position:56% 48%}
.worldclass-cinematic-scrim{background:linear-gradient(90deg,rgba(2,8,12,.90) 0%,rgba(2,8,12,.78) 18%,rgba(2,8,12,.54) 38%,rgba(2,8,12,.24) 62%,rgba(2,8,12,.38) 82%,rgba(2,8,12,.56) 100%),linear-gradient(180deg,rgba(2,8,12,.10) 0%,rgba(2,8,12,.12) 24%,rgba(2,8,12,.20) 56%,rgba(2,8,12,.48) 84%,rgba(2,8,12,.76) 100%),radial-gradient(circle at 72% 22%,rgba(33,199,238,.10),transparent 28%)}
.worldclass-cinematic-vignette{box-shadow:inset 0 0 120px rgba(0,0,0,.26),inset 0 72px 95px rgba(2,8,12,.24),inset 0 -105px 135px rgba(2,8,12,.72)}
@keyframes worldclassSceneDrift{0%{transform:translate3d(-5px,-3px,0) scale(1.065)}100%{transform:translate3d(6px,5px,0) scale(1.078)}}

/* Existing site floats over the cinematic world without expensive backdrop blurs. */
.hero{background:transparent!important}
.mobile-promo{background:linear-gradient(180deg,rgba(3,19,23,.16),rgba(3,19,23,.25))!important;border-top-color:rgba(33,199,238,.14);border-bottom-color:rgba(33,199,238,.16)}
.signature-section{background:linear-gradient(180deg,rgba(3,19,23,.14),rgba(3,19,23,.25))!important;border-bottom-color:rgba(33,199,238,.13)}
.booking-section{background:linear-gradient(180deg,rgba(3,19,23,.42),rgba(3,19,23,.58))!important}
#why-choose-us{background:linear-gradient(180deg,rgba(3,19,23,.22),rgba(3,19,23,.32))!important}
.split-section{background:linear-gradient(180deg,rgba(3,19,23,.28),rgba(3,19,23,.42))!important}
footer{position:relative;z-index:1;background:rgba(2,8,12,.78)}

/* Solid/translucent surfaces retain the glass look without backdrop-filter repaint cost. */
.hero-card,.review-invite{background:rgba(5,24,29,.78)!important;border-color:rgba(33,199,238,.31)!important}
.booking-card{background:rgba(9,39,45,.94)!important}
.service-card{background:linear-gradient(160deg,rgba(13,49,56,.80),rgba(9,39,45,.82))!important}
.choice-card,.service-choice{background:rgba(7,27,32,.94)!important}
.guarantee,.mobile-address,.contact-card,.signature-simple,.signature-copy,.signature-price-card{background-color:rgba(5,24,29,.80)!important}
.order-summary{background:rgba(3,19,23,.96)!important}
.contact-card{background:rgba(3,19,23,.78)!important}
.site-header{background:rgba(3,19,23,.94);border-bottom-color:rgba(33,199,238,.12)}
.dealer-trust{background:linear-gradient(135deg,rgba(33,199,238,.18),rgba(3,19,23,.94))}

/* Override costly blur/mask effects from the base theme during scroll. */
.site-header,.dealer-trust,.hero-card,.review-invite,.booking-card,.service-card,.choice-card,.service-choice,.guarantee,.mobile-address,.contact-card,.signature-simple,.signature-copy,.signature-price-card,.mobile-promo,.booking-section,footer{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.hero-grid{display:none}
.hero-glow{filter:none!important;background:radial-gradient(circle,rgba(33,199,238,.12),rgba(33,199,238,0) 68%);opacity:.35}
.mobile-promo::before{filter:none!important;background:radial-gradient(circle,rgba(33,199,238,.09),rgba(33,199,238,0) 68%)}
.service-card::after{filter:none!important;background:radial-gradient(circle,rgba(33,199,238,.09),rgba(33,199,238,0) 70%)}

.hero-copy h1,.hero-text,.hero-card,.review-invite,.mobile-promo-copy,.signature-simple,.booking-intro,.section-heading,.split-section>div{position:relative;text-shadow:0 8px 24px rgba(0,0,0,.24)}
.mobile-promo::after,.signature-section::before,.booking-section::before,#why-choose-us::before,.split-section::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(33,199,238,.14),transparent);pointer-events:none}
.booking-section,.mobile-promo,.signature-section,#why-choose-us,.split-section{position:relative;isolation:isolate}

@media(max-width:900px){
  .worldclass-cinematic-scene img{transform:translate3d(0,0,0) scale(1.09);animation:none!important}
  .worldclass-cinematic-scene.scene-front img{object-position:75% center}
  .worldclass-cinematic-scene.scene-rear img{object-position:74% center}
  .worldclass-cinematic-scene.scene-city img{object-position:68% center}
  .worldclass-cinematic-scrim{background:linear-gradient(90deg,rgba(2,8,12,.86),rgba(2,8,12,.52) 54%,rgba(2,8,12,.58)),linear-gradient(180deg,rgba(2,8,12,.18),rgba(2,8,12,.48) 74%,rgba(2,8,12,.76))}
}
@media(max-width:600px){
  .worldclass-cinematic-scene.scene-front img{object-position:79% center}
  .worldclass-cinematic-scene.scene-rear img{object-position:79% center}
  .worldclass-cinematic-scene.scene-city img{object-position:70% center}
  .worldclass-cinematic-vignette{box-shadow:inset 0 0 60px rgba(0,0,0,.22),inset 0 -75px 95px rgba(2,8,12,.74)}
  .booking-card{background:rgba(9,39,45,.97)!important}
}
@media(prefers-reduced-motion:reduce){.worldclass-cinematic-scene.is-active img{animation:none!important;transform:scale(1.065)!important}.worldclass-cinematic-scene{transition:none}}


/* Aug 2026 mobile + custom quote behavior hotfix */
.is-custom-hidden{display:none!important}
.guarantee{min-width:0;align-items:flex-start}
.guarantee-icon{flex:0 0 42px;min-width:42px}
.guarantee>div{min-width:0;flex:1}
.guarantee strong{display:block;line-height:1.25;overflow-wrap:anywhere}
.guarantee p{overflow-wrap:anywhere}
@media(max-width:600px){
  .guarantee{gap:12px;margin-top:26px;padding:16px 14px}
  .guarantee-icon{flex-basis:36px;min-width:36px;width:36px;height:36px}
  .guarantee strong{font-size:.98rem}
  .guarantee p{font-size:.86rem;line-height:1.45}
}

/* Aug 12 2026: hard mobile separation between booking intro/guarantee and form. */
@media(max-width:900px){
  .booking-section{
    display:block!important;
  }
  .booking-intro{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    align-self:auto!important;
    width:100%!important;
    margin:0 0 42px!important;
  }
  .guarantee{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin-bottom:0!important;
    transform:none!important;
  }
  .booking-card{
    position:relative!important;
    clear:both!important;
    width:100%!important;
    margin:0!important;
  }
}
@media(max-width:600px){
  .booking-intro{margin-bottom:34px!important}
}


/* Aug 12 2026: vehicle validation, checkout-back reset UX, and cinematic transparency pass. */
.vehicle-selection-error{display:none;margin:14px 0 0;color:#dffbff;font-weight:800;font-size:.92rem;letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.vehicle-selection-error.is-visible{display:block}
#vehicleChoices.selection-needed .choice-card{border-color:rgba(227,251,255,.55)}

/* Let the fixed cinematic photography show through the two content chapters.
   Keep individual tap/input surfaces dark enough for legibility. */
.booking-section,#why-choose-us{background:transparent!important}
.booking-card{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.booking-card>.step{background:transparent!important}
.order-summary{background:rgba(2,8,12,.36)!important;border-top:1px solid rgba(33,199,238,.16)}
#why-choose-us .service-card{background:rgba(2,8,12,.34)!important}

@media(max-width:600px){
  .booking-card{background:transparent!important}
  .order-summary{background:rgba(2,8,12,.46)!important}
  #why-choose-us .service-card{background:rgba(2,8,12,.42)!important}
}

/* Aug 12 2026: unified World Class card language + cleaner hero/signature framing. */
:root{
  --worldclass-card-surface:rgba(2,8,12,.34);
  --worldclass-card-surface-mobile:rgba(2,8,12,.42);
}

/* The dealership credibility line should read like part of the hero, not another card. */
.dealer-trust{
  width:auto!important;
  max-width:760px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.dealer-trust-track,
.dealer-trust-track span{
  background:transparent!important;
}
@media(max-width:760px){
  .dealer-trust{
    width:100%!important;
    padding:0!important;
  }
}

/* Let the cinematic world carry the Signature chapter instead of a large panel. */
.signature-section{
  background:transparent!important;
  border-bottom-color:rgba(33,199,238,.10)!important;
}
.signature-simple{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Match site cards to the neutral smoky cards used in Why Choose Us.
   Inputs and action buttons intentionally keep their stronger surfaces for readability. */
.hero-card,
.review-invite,
.signature-vehicle-option,
.choice-card,
.service-choice,
.guarantee,
.mobile-address,
.contact-card,
.custom-quote-banner,
#vehicleChoices + #custom-quote,
.order-summary,
dialog{
  background:var(--worldclass-card-surface)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
  border-radius:0!important;
}

/* Preserve a clear interactive state without bringing the green panels back. */
.signature-vehicle-option:hover,
.signature-vehicle-option:focus-visible,
.review-invite:hover,
.review-invite:focus-visible,
.choice-card:has(input:checked),
#vehicleChoices.selection-needed .choice-card{
  background:rgba(2,8,12,.48)!important;
  border-color:var(--cyan)!important;
}

/* Why Choose Us remains the visual reference for every card surface. */
#why-choose-us .service-card{
  background:var(--worldclass-card-surface)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}

@media(max-width:600px){
  .hero-card,
  .review-invite,
  .signature-vehicle-option,
  .choice-card,
  .service-choice,
  .guarantee,
  .mobile-address,
  .contact-card,
  .custom-quote-banner,
  #vehicleChoices + #custom-quote,
  .order-summary,
  #why-choose-us .service-card,
  dialog{
    background:var(--worldclass-card-surface-mobile)!important;
  }
}

/* Aug 12 2026: unify booking fields + header with the same clear World Class surface. */
.form-grid input,
.form-grid select,
.form-grid textarea,
.promo-code input{
  background:var(--worldclass-card-surface)!important;
  border-color:var(--line)!important;
  color:var(--white)!important;
  box-shadow:none!important;
}

.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.promo-code input:focus{
  background:rgba(2,8,12,.48)!important;
  border-color:var(--cyan)!important;
  box-shadow:0 0 0 1px rgba(33,199,238,.12)!important;
}

.site-header{
  background:var(--worldclass-card-surface)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:none!important;
}

@media(max-width:600px){
  .form-grid input,
  .form-grid select,
  .form-grid textarea,
  .promo-code input,
  .site-header{
    background:var(--worldclass-card-surface-mobile)!important;
  }
}

/* Aug 12 2026: top header now matches the bottom footer treatment exactly. */
.site-header{
  background:rgba(2,8,12,.78)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

@media(max-width:600px){
  .site-header{
    background:rgba(2,8,12,.78)!important;
  }
}


/* Aug 12 2026: booking-flow + mobile cinematic hotfix. */
/* Pickup & Return is intentionally the same primary CTA as Mobile Detailing. */
.mobile-promo-button-secondary,
#bookPickupReturn{
  background:linear-gradient(135deg,#e3fbff,var(--cyan))!important;
  color:#031317!important;
  border:0!important;
  box-shadow:0 10px 30px rgba(33,199,238,.2)!important;
}

/* On phones, pull the cinematic photography back instead of scaling it farther in.
   The dark stage above/below the image blends into the scene and reveals more of the car/city. */
@media(max-width:900px){
  .worldclass-cinematic-scene img{
    animation:none!important;
    transform:translate3d(0,0,0) scale(1.015)!important;
  }
  .worldclass-cinematic-scene.scene-front img{object-position:75% center}
  .worldclass-cinematic-scene.scene-rear img{object-position:74% center}
  .worldclass-cinematic-scene.scene-city img{object-position:68% center}
  .worldclass-cinematic-scrim{
    background:
      linear-gradient(90deg,rgba(2,8,12,.68),rgba(2,8,12,.30) 58%,rgba(2,8,12,.34)),
      linear-gradient(180deg,rgba(2,8,12,.10),rgba(2,8,12,.28) 70%,rgba(2,8,12,.54));
  }
}

@media(max-width:600px){
  .worldclass-cinematic-scene{background:#02080c}
  .worldclass-cinematic-scene img{
    position:absolute;
    left:0;
    top:10%;
    width:100%;
    height:78%;
    object-fit:cover;
    transform:translate3d(0,0,0) scale(1)!important;
  }
  .worldclass-cinematic-scene.scene-front img{object-position:79% center}
  .worldclass-cinematic-scene.scene-rear img{object-position:79% center}
  .worldclass-cinematic-scene.scene-city img{object-position:70% center}
  .worldclass-cinematic-scrim{
    background:
      linear-gradient(90deg,rgba(2,8,12,.52),rgba(2,8,12,.18) 68%,rgba(2,8,12,.24)),
      linear-gradient(180deg,rgba(2,8,12,.08),rgba(2,8,12,.20) 62%,rgba(2,8,12,.48));
  }
  .worldclass-cinematic-vignette{
    box-shadow:inset 0 0 48px rgba(0,0,0,.14),inset 0 -58px 80px rgba(2,8,12,.48)!important;
  }
}


/* Aug 12 2026: brand-color the native appointment calendar icon. */
#appointmentDate::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:1;
  filter:brightness(0) saturate(100%) invert(70%) sepia(96%) saturate(1250%) hue-rotate(152deg) brightness(99%) contrast(90%);
}
#appointmentDate{
  accent-color:var(--cyan);
  color-scheme:dark;
}

/* Aug 12 2026: guided Build Your Detail configurator. */
.booking-wizard{
  --wizard-surface:rgba(2,8,12,.48);
  position:relative;
  overflow:visible;
  border:1px solid rgba(33,199,238,.18);
  background:linear-gradient(180deg,rgba(2,8,12,.50),rgba(2,8,12,.34));
  box-shadow:0 28px 90px rgba(0,0,0,.28);
  scroll-margin-top:104px;
}
.wizard-form{min-width:0}
.wizard-progress-wrap{
  padding:18px 24px 0;
  overflow:hidden;
}
.wizard-progress{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-bottom:1px solid rgba(163,229,238,.16);
}
.wizard-progress span{
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  padding:0 9px 15px;
  color:rgba(197,213,216,.54);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .25s ease;
}
.wizard-progress span::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:transparent;
  transition:background .25s ease,box-shadow .25s ease;
}
.wizard-progress span b{font-family:'Barlow Condensed',sans-serif;font-size:.92rem;color:inherit}
.wizard-progress span.is-complete{color:rgba(227,251,255,.78)}
.wizard-progress span.is-active{color:var(--cyan)}
.wizard-progress span.is-active::after{background:var(--cyan);box-shadow:0 0 16px rgba(33,199,238,.52)}
.wizard-progress span[hidden]{display:none!important}

.wizard-live-estimate{
  position:sticky;
  top:82px;
  z-index:8;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  max-height:96px;
  margin:0 24px;
  overflow:hidden;
  opacity:1;
  transform:translateY(0);
  background:rgba(33,199,238,.14);
  border:1px solid rgba(33,199,238,.20);
  transition:max-height .34s cubic-bezier(.2,.8,.2,1),opacity .22s ease,transform .34s cubic-bezier(.2,.8,.2,1),border-width .22s ease;
}
.wizard-live-estimate>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-width:0;
  padding:15px 18px;
  background:rgba(2,8,12,.88);
}
.wizard-live-estimate span{
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.wizard-live-estimate strong{
  color:var(--ice);
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.55rem;
  line-height:1;
  text-align:right;
}
.wizard-live-estimate>div:first-child strong{color:var(--cyan);font-size:1.9rem}

/* On the final review step, the duplicate live estimate gracefully clears out
   and the review content rises into its place. */
.booking-wizard.is-review-step .wizard-live-estimate{
  max-height:0;
  opacity:0;
  transform:translateY(-12px);
  border-top-width:0;
  border-bottom-width:0;
  pointer-events:none;
}
.booking-wizard.is-review-step .review-step.is-active{
  animation:reviewStepRise .42s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes reviewStepRise{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

.wizard-stage{min-height:510px}
.wizard-step{
  min-height:510px;
  padding:42px 34px 34px!important;
  border-bottom:0!important;
  background:transparent!important;
}
.wizard-step[hidden]{display:none!important}
.wizard-step.is-active{animation:wizardStepIn .32s cubic-bezier(.2,.8,.2,1) both}
@keyframes wizardStepIn{
  from{opacity:0;transform:translateY(9px)}
  to{opacity:1;transform:translateY(0)}
}
.wizard-step .step-heading{max-width:720px;margin-bottom:30px}
.wizard-step .step-heading>span{
  flex:0 0 38px;
  background:rgba(33,199,238,.06);
  box-shadow:0 0 24px rgba(33,199,238,.08);
}
.wizard-step .step-heading h3{font-size:2.35rem;letter-spacing:.01em}
.wizard-step .step-heading p{font-size:.95rem;max-width:640px}

/* The old expanding custom-quote panel becomes a normal wizard screen. */
.wizard-step.custom-mode-panel,
.wizard-step.custom-mode-panel.is-visible{
  max-height:none!important;
  opacity:1!important;
  transform:none!important;
  padding:42px 34px 34px!important;
  border-color:transparent!important;
  pointer-events:auto!important;
}
.wizard-step.custom-mode-panel[hidden]{display:none!important}

.wizard-controls{
  position:relative;
  z-index:7;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:16px;
  padding:18px 24px 22px;
  border-top:1px solid rgba(163,229,238,.13);
  background:rgba(2,8,12,.56);
}
.wizard-back{
  justify-self:start;
  border:0;
  background:transparent;
  color:#b8c9cd;
  padding:12px 2px;
  font-weight:800;
  cursor:pointer;
}
.wizard-back:hover{color:var(--white)}
.wizard-back[hidden],.wizard-next[hidden]{display:none!important}
.wizard-next{min-width:150px;min-height:50px;padding:13px 24px}
.wizard-controls-estimate{display:none}

.review-step{padding-bottom:28px!important}
.review-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:18px;
}
.review-grid>div{
  min-width:0;
  padding:16px 17px;
  border:1px solid rgba(163,229,238,.14);
  background:var(--worldclass-card-surface)!important;
}
.review-grid span,.review-grid strong{display:block}
.review-grid span{
  margin-bottom:5px;
  color:var(--muted);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.review-grid strong{font-size:.98rem;line-height:1.35;overflow-wrap:anywhere}
.review-photos-row>strong{margin-bottom:12px}
.review-photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(92px,1fr));
  gap:10px;
  width:100%;
  max-width:560px;
}
.review-photo-grid img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(163,229,238,.18);
  background:rgba(0,0,0,.28);
}
.review-step .order-summary{
  padding:22px 24px!important;
  border:1px solid rgba(33,199,238,.18)!important;
  background:rgba(2,8,12,.50)!important;
}
.review-step .order-summary>div{align-items:center;padding:9px 0}
.review-step .review-total-row strong{
  color:var(--cyan);
  font-family:'Barlow Condensed',sans-serif;
  font-size:2.1rem;
}
.review-step .review-estimate-row strong{font-family:'Barlow Condensed',sans-serif;font-size:1.35rem}
.review-step #pricingNotice{display:none!important}
.review-step #checkoutButton{min-height:56px;font-size:1rem}
.appointment-grid{max-width:700px}

@media(max-width:1100px){
  .wizard-progress span{font-size:.66rem;padding-left:5px;padding-right:5px;letter-spacing:.05em}
}

@media(max-width:900px){
  .booking-wizard{scroll-margin-top:84px}
  .wizard-live-estimate{top:72px}
  .wizard-stage,.wizard-step{min-height:470px}
}

@media(max-width:700px){
  .booking-section{padding-left:14px!important;padding-right:14px!important}
  .booking-intro{padding-left:4px;padding-right:4px}
  .booking-wizard{border-left-color:rgba(33,199,238,.13);border-right-color:rgba(33,199,238,.13)}
  .wizard-progress-wrap{padding:14px 14px 0;overflow-x:auto;scrollbar-width:none}
  .wizard-progress-wrap::-webkit-scrollbar{display:none}
  .wizard-progress{display:flex;min-width:max-content;gap:0}
  .wizard-progress span{min-width:104px;padding:0 10px 12px;font-size:.66rem}
  .wizard-progress span b{font-size:.82rem}
  .wizard-live-estimate{
    position:relative;
    top:auto;
    margin:0 14px;
    grid-template-columns:1fr 1fr;
  }
  .wizard-live-estimate>div{padding:12px 13px;display:block}
  .wizard-live-estimate span{display:block;margin-bottom:5px;font-size:.62rem}
  .wizard-live-estimate strong{display:block;text-align:left;font-size:1.18rem}
  .wizard-live-estimate>div:first-child strong{font-size:1.45rem}
  .wizard-stage,.wizard-step{min-height:0}
  .wizard-step,.wizard-step.custom-mode-panel,.wizard-step.custom-mode-panel.is-visible{padding:30px 18px 28px!important}
  .wizard-step .step-heading{gap:13px;margin-bottom:23px}
  .wizard-step .step-heading>span{width:34px;height:34px;flex-basis:34px}
  .wizard-step .step-heading h3{font-size:2rem}
  .wizard-step .step-heading p{font-size:.87rem;line-height:1.45}
  .wizard-controls{
    position:relative;
    bottom:auto;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(2,8,12,.94);
    border-top-color:rgba(33,199,238,.22);
    box-shadow:0 -18px 42px rgba(0,0,0,.26);
  }
  .wizard-controls-estimate{
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    line-height:1.05;
  }
  .wizard-controls-estimate strong{
    max-width:130px;
    color:var(--cyan);
    font-family:'Barlow Condensed',sans-serif;
    font-size:1.25rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .wizard-controls-estimate span{margin-top:3px;color:var(--muted);font-size:.7rem}
  .wizard-back{padding:10px 4px;font-size:.85rem;white-space:nowrap}
  .wizard-next{min-width:100px;min-height:44px;padding:10px 15px;font-size:.88rem}
  .review-grid{grid-template-columns:1fr}
  .review-step .order-summary{padding:18px 16px!important}
  .review-step .review-total-row strong{font-size:1.9rem}
}

@media(prefers-reduced-motion:reduce){
  .wizard-step.is-active,.booking-wizard.is-review-step .review-step.is-active{animation:none}
  .wizard-progress span,.wizard-progress span::after,.wizard-live-estimate{transition:none}
}
.wizard-live-estimate:has(#estimated-time-row.is-custom-hidden){grid-template-columns:1fr}

/* Wizard visual polish after responsive pass. */
.wizard-progress{column-gap:4px}
.wizard-progress span{justify-content:center;padding-left:4px;padding-right:4px}
.wizard-live-estimate strong{white-space:nowrap}
@media(max-width:1200px){
  .wizard-progress span{font-size:.61rem;letter-spacing:.035em}
  .wizard-progress span b{font-size:.82rem}
}
@media(max-width:700px){
  .wizard-live-estimate{display:none}
  .wizard-step,.wizard-step.custom-mode-panel,.wizard-step.custom-mode-panel.is-visible{padding-bottom:88px!important}
  .wizard-progress{column-gap:0}
  .wizard-progress span{justify-content:flex-start;padding-left:10px;padding-right:10px}
}
/* Desktop estimate stays in the wizard flow so it never covers form content. */
.wizard-live-estimate{position:relative;top:auto}

/* Service selection is opt-in: tap a card to add/remove it. */
.service-select-card{
  position:relative;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
  padding:22px 20px!important;
  cursor:pointer;
  overflow:hidden;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.service-select-input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.service-select-copy{display:block;min-width:0}
.service-select-copy strong{display:block;font-size:1rem;line-height:1.25}
.service-select-copy>span{display:block;margin-top:7px;color:var(--muted);font-size:.9rem;line-height:1.5}
.service-select-status{
  min-width:88px;
  padding:10px 12px;
  border:1px solid var(--line);
  color:var(--ice);
  font-size:.82rem;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.service-status-added{display:none}
.service-select-card:has(.service-select-input:checked){
  border-color:var(--cyan)!important;
  background:rgba(2,8,12,.50)!important;
  box-shadow:inset 0 0 0 1px rgba(33,199,238,.20)!important;
}
.service-select-card:has(.service-select-input:checked) .service-select-status{
  border-color:var(--cyan);
  background:var(--cyan);
  color:#031317;
}
.service-select-card:has(.service-select-input:checked) .service-status-add{display:none}
.service-select-card:has(.service-select-input:checked) .service-status-added{display:inline}
.service-select-card:has(.service-select-input:focus-visible){
  outline:2px solid var(--ice);
  outline-offset:3px;
}
.service-select-card:hover{transform:translateY(-1px);border-color:rgba(33,199,238,.55)!important}
@media(max-width:600px){
  .service-select-card{grid-template-columns:1fr!important;gap:14px!important;padding:19px 17px!important}
  .service-select-status{justify-self:start;min-width:82px}
}
@media(prefers-reduced-motion:reduce){.service-select-card{transition:none}.service-select-card:hover{transform:none}}


/* Aug 12 2026: dedicated Why Choose Us page + lightweight homepage link. */
.contact-actions{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.why-page-main{min-height:calc(100vh - 82px)}
.why-page-hero{padding-top:clamp(92px,12vw,150px);padding-bottom:54px;background:transparent!important}
.why-page-hero .section-heading{max-width:920px;margin-bottom:0}
.why-page-hero h1{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:clamp(4.3rem,8vw,8rem);line-height:.92;text-transform:uppercase;max-width:960px}
.why-page-hero h1 span{background:linear-gradient(180deg,var(--ice),var(--cyan));-webkit-background-clip:text;color:transparent}
.why-page-hero .why-lead{max-width:760px;margin:26px 0 0;color:#c5d5d8;font-size:1.08rem}
.why-page-values{padding-top:40px;background:linear-gradient(180deg,rgba(3,19,23,.18),rgba(3,19,23,.34))!important;position:relative;isolation:isolate}
.why-page-values::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(33,199,238,.14),transparent);pointer-events:none}
.why-page-values .service-card{background:rgba(2,8,12,.38)!important}
.why-page-cta{margin-top:28px;padding:clamp(28px,5vw,48px);border:1px solid var(--line);background:rgba(2,8,12,.54);display:flex;align-items:center;justify-content:space-between;gap:28px}
.why-page-cta h2{margin:0 0 9px;font-size:clamp(2.5rem,5vw,4.4rem)}
.why-page-cta p{margin:0;color:var(--muted);max-width:660px}
.why-page-cta .button{flex:0 0 auto}
@media(max-width:900px){.why-page-cta{align-items:flex-start;flex-direction:column}.why-page-main{min-height:calc(100vh - 72px)}}
@media(max-width:600px){.why-page-hero{padding:90px 18px 42px}.why-page-hero h1{font-size:3.9rem}.why-page-values{padding-top:34px}.why-page-cta{padding:26px 20px}.contact-actions .button{width:100%}}

/* Aug 12 2026: cinematic World Class page handoff using compositor-friendly transforms. */
.page-transition-curtain{
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  display:grid;
  place-items:center;
  overflow:hidden;
  opacity:0;
  background:#01080b;
  transform:translate3d(0,0,0);
  contain:strict;
  isolation:isolate;
}
.page-transition-curtain::before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:0;
  opacity:0;
  background:radial-gradient(circle at 50% 50%,rgba(33,199,238,.17),rgba(1,8,11,0) 42%);
  transform:scale3d(.72,.72,1);
  will-change:opacity,transform;
}
.page-transition-panel{
  position:absolute;
  top:-12%;
  bottom:-12%;
  width:61%;
  z-index:1;
  background:linear-gradient(145deg,#020b0f,#03171c 74%,#041217);
  backface-visibility:hidden;
  will-change:transform;
}
.page-transition-panel-left{left:-10%;transform:translate3d(-108%,0,0) skewX(-7deg)}
.page-transition-panel-right{right:-10%;transform:translate3d(108%,0,0) skewX(-7deg)}
.page-transition-brand{
  position:relative;
  z-index:4;
  width:clamp(205px,31vw,375px);
  opacity:0;
  transform:translate3d(0,18px,0) scale3d(.82,.82,1);
  backface-visibility:hidden;
  will-change:opacity,transform;
}
.page-transition-brand img{position:relative;z-index:2;display:block;width:100%;height:auto;filter:none;transform:translateZ(0)}
.page-transition-ring{
  position:absolute;
  left:50%;top:50%;
  z-index:1;
  width:78%;aspect-ratio:1;
  border:1px solid rgba(105,226,255,.54);
  border-radius:50%;
  opacity:0;
  transform:translate3d(-50%,-50%,0) scale3d(.52,.52,1);
  box-shadow:0 0 0 1px rgba(33,199,238,.06),0 0 38px rgba(33,199,238,.15);
  will-change:opacity,transform;
}
.page-transition-line{
  position:absolute;
  z-index:5;
  left:7%;right:7%;top:58%;
  height:2px;
  opacity:0;
  background:linear-gradient(90deg,transparent 0%,rgba(105,226,255,.2) 18%,#b8f4ff 50%,rgba(105,226,255,.2) 82%,transparent 100%);
  box-shadow:0 0 18px rgba(33,199,238,.38);
  transform:scale3d(.08,1,1);
  transform-origin:center;
  will-change:opacity,transform;
}
.page-transition-energy{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.page-transition-energy i{
  position:absolute;
  left:-28%;
  width:34%;
  height:1px;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(105,226,255,.8),transparent);
  transform:translate3d(0,0,0) rotate(-11deg);
  will-change:opacity,transform;
}
.page-transition-energy i:nth-child(1){top:37%}
.page-transition-energy i:nth-child(2){top:51%;width:24%;animation-delay:.045s!important}
.page-transition-energy i:nth-child(3){top:66%;width:39%;animation-delay:.085s!important}

body.page-is-leaving .page-transition-curtain{animation:wcCurtainReveal .56s cubic-bezier(.2,.75,.18,1) forwards}
body.page-is-leaving .page-transition-curtain::before{animation:wcAuraIn .52s .06s cubic-bezier(.2,.8,.2,1) forwards}
body.page-is-leaving .page-transition-panel-left{animation:wcPanelLeftIn .42s cubic-bezier(.2,.78,.18,1) forwards}
body.page-is-leaving .page-transition-panel-right{animation:wcPanelRightIn .42s cubic-bezier(.2,.78,.18,1) forwards}
body.page-is-leaving .page-transition-brand{animation:wcBrandHeroIn .42s .10s cubic-bezier(.16,.9,.2,1) forwards}
body.page-is-leaving .page-transition-ring{animation:wcRingIn .42s .12s cubic-bezier(.16,.9,.2,1) forwards}
body.page-is-leaving .page-transition-line{animation:wcLineFlash .34s .17s cubic-bezier(.2,.8,.2,1) forwards}
body.page-is-leaving .page-transition-energy i{animation:wcEnergyPass .42s .08s cubic-bezier(.15,.75,.2,1) forwards}
body.page-is-leaving>.site-header,body.page-is-leaving>main,body.page-is-leaving>footer{transition:opacity .18s linear;opacity:.72}

body.page-is-entering .page-transition-curtain{opacity:1;animation:wcCurtainExit .64s .02s cubic-bezier(.2,.8,.2,1) forwards}
body.page-is-entering .page-transition-panel-left{transform:translate3d(0,0,0) skewX(-7deg);animation:wcPanelLeftOut .52s .06s cubic-bezier(.2,.8,.2,1) forwards}
body.page-is-entering .page-transition-panel-right{transform:translate3d(0,0,0) skewX(-7deg);animation:wcPanelRightOut .52s .06s cubic-bezier(.2,.8,.2,1) forwards}
body.page-is-entering .page-transition-brand{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1);animation:wcBrandHeroOut .42s cubic-bezier(.3,.05,.7,.2) forwards}
body.page-is-entering .page-transition-ring{opacity:.72;transform:translate3d(-50%,-50%,0) scale3d(1,1,1);animation:wcRingOut .42s ease-in forwards}
body.page-is-entering .page-transition-line{opacity:1;transform:scale3d(1,1,1);animation:wcLineOut .34s ease-in forwards}
body.page-is-entering .worldclass-cinematic-scene img,body.page-is-leaving .worldclass-cinematic-scene img{animation-play-state:paused!important}

@keyframes wcCurtainReveal{0%{opacity:0}18%,100%{opacity:1}}
@keyframes wcAuraIn{from{opacity:0;transform:scale3d(.72,.72,1)}to{opacity:1;transform:scale3d(1,1,1)}}
@keyframes wcPanelLeftIn{from{transform:translate3d(-108%,0,0) skewX(-7deg)}to{transform:translate3d(0,0,0) skewX(-7deg)}}
@keyframes wcPanelRightIn{from{transform:translate3d(108%,0,0) skewX(-7deg)}to{transform:translate3d(0,0,0) skewX(-7deg)}}
@keyframes wcBrandHeroIn{0%{opacity:0;transform:translate3d(0,18px,0) scale3d(.82,.82,1)}70%{opacity:1;transform:translate3d(0,-2px,0) scale3d(1.035,1.035,1)}100%{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}}
@keyframes wcRingIn{0%{opacity:0;transform:translate3d(-50%,-50%,0) scale3d(.52,.52,1)}65%{opacity:.82}100%{opacity:.62;transform:translate3d(-50%,-50%,0) scale3d(1,1,1)}}
@keyframes wcLineFlash{0%{opacity:0;transform:scale3d(.08,1,1)}55%{opacity:1}100%{opacity:.92;transform:scale3d(1,1,1)}}
@keyframes wcEnergyPass{0%{opacity:0;transform:translate3d(0,0,0) rotate(-11deg)}18%{opacity:.8}100%{opacity:0;transform:translate3d(440%,0,0) rotate(-11deg)}}
@keyframes wcCurtainExit{0%,62%{opacity:1}100%{opacity:0}}
@keyframes wcPanelLeftOut{from{transform:translate3d(0,0,0) skewX(-7deg)}to{transform:translate3d(-112%,0,0) skewX(-7deg)}}
@keyframes wcPanelRightOut{from{transform:translate3d(0,0,0) skewX(-7deg)}to{transform:translate3d(112%,0,0) skewX(-7deg)}}
@keyframes wcBrandHeroOut{from{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}to{opacity:0;transform:translate3d(0,-14px,0) scale3d(1.12,1.12,1)}}
@keyframes wcRingOut{from{opacity:.62;transform:translate3d(-50%,-50%,0) scale3d(1,1,1)}to{opacity:0;transform:translate3d(-50%,-50%,0) scale3d(1.35,1.35,1)}}
@keyframes wcLineOut{from{opacity:.92;transform:scale3d(1,1,1)}to{opacity:0;transform:scale3d(.3,1,1)}}

@media(max-width:600px){
  .page-transition-brand{width:min(66vw,292px)}
  .page-transition-line{left:3%;right:3%;top:59%}
  .page-transition-panel{width:68%}
}
@media(prefers-reduced-motion:reduce){
  .page-transition-curtain{display:none!important}
  body.page-is-leaving>.site-header,body.page-is-leaving>main,body.page-is-leaving>footer{transition:none!important;opacity:1!important}
}
.appointment-promo{max-width:700px;margin-top:22px}
body.page-is-leaving{pointer-events:none}


/* Aug 12 2026: guided-booking interaction polish. */
.choice-card{
  overflow:hidden;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
  will-change:transform;
}
.choice-card::after{
  content:"";
  position:absolute;
  inset:auto -26% -70% 30%;
  height:115%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(110deg,transparent,rgba(33,199,238,.11),transparent);
  transform:translate3d(-40%,0,0) rotate(-8deg);
  transition:opacity .2s ease,transform .38s cubic-bezier(.2,.8,.2,1);
}
@media(hover:hover) and (pointer:fine){
  .choice-card:hover{transform:translate3d(0,-3px,0);border-color:rgba(33,199,238,.52)!important;box-shadow:0 14px 34px rgba(0,0,0,.18),inset 0 0 0 1px rgba(33,199,238,.05)}
  .choice-card:hover::after{opacity:1;transform:translate3d(28%,0,0) rotate(-8deg)}
}
.choice-card.is-confirming{animation:wcChoiceConfirm .23s cubic-bezier(.16,.9,.2,1) both;border-color:var(--cyan)!important}
@keyframes wcChoiceConfirm{0%{transform:scale3d(1,1,1)}55%{transform:scale3d(.982,.982,1);box-shadow:0 0 0 1px rgba(33,199,238,.34),0 0 28px rgba(33,199,238,.16)}100%{transform:scale3d(1,1,1)}}

.wizard-controls{min-height:91px}
.wizard-back{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 14px;
  border:1px solid rgba(163,229,238,.16);
  border-radius:8px;
  background:rgba(255,255,255,.018);
  color:#b8c9cd;
  transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease;
}
.wizard-back-arrow{display:inline-block;color:var(--cyan);font-size:1.05em;transition:transform .22s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover) and (pointer:fine){
  .wizard-back:hover{color:var(--white);border-color:rgba(33,199,238,.44);background:rgba(33,199,238,.055);transform:translate3d(-2px,0,0);box-shadow:0 8px 24px rgba(0,0,0,.16)}
  .wizard-back:hover .wizard-back-arrow{transform:translate3d(-4px,0,0)}
}
.wizard-back:active{transform:translate3d(-1px,1px,0) scale3d(.985,.985,1)}
.wizard-next{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transform:translateZ(0);
}
.wizard-next::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-55%;bottom:-55%;left:-34%;
  width:28%;
  opacity:0;
  background:rgba(255,255,255,.5);
  transform:translate3d(-180%,0,0) rotate(18deg);
}
.wizard-next.is-unlocking{animation:wcNextUnlock .52s cubic-bezier(.16,.92,.2,1) both}
.wizard-next.is-unlocking::after{animation:wcNextSweep .58s .06s cubic-bezier(.2,.8,.2,1) both}
@keyframes wcNextUnlock{0%{opacity:0;transform:translate3d(0,12px,0) scale3d(.9,.9,1)}58%{opacity:1;transform:translate3d(0,-2px,0) scale3d(1.035,1.035,1);box-shadow:0 0 0 1px rgba(227,251,255,.34),0 0 32px rgba(33,199,238,.31)}100%{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1)}}
@keyframes wcNextSweep{0%{opacity:0;transform:translate3d(-180%,0,0) rotate(18deg)}22%{opacity:.62}100%{opacity:0;transform:translate3d(620%,0,0) rotate(18deg)}}

.service-select-card{
  isolation:isolate;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background .22s ease,box-shadow .22s ease!important;
  will-change:transform;
}
.service-select-card::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(105deg,transparent 12%,rgba(33,199,238,.07) 47%,rgba(227,251,255,.025) 58%,transparent 86%);
  transform:translate3d(-36%,0,0);
  transition:opacity .2s ease,transform .42s cubic-bezier(.2,.8,.2,1);
}
.service-select-copy{position:relative;z-index:1;transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.service-select-copy strong{transition:color .2s ease,text-shadow .2s ease}
.service-select-status{
  position:relative;
  z-index:1;
  overflow:hidden;
  border-radius:7px;
  transform:translateZ(0);
  transition:transform .22s cubic-bezier(.2,.8,.2,1),background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease!important;
}
.service-select-status::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(110deg,transparent 18%,rgba(227,251,255,.6) 50%,transparent 82%);
  transform:translate3d(-120%,0,0);
}
@media(hover:hover) and (pointer:fine){
  .service-select-card:hover{transform:translate3d(0,-4px,0)!important;border-color:rgba(33,199,238,.66)!important;box-shadow:0 16px 38px rgba(0,0,0,.2),0 0 0 1px rgba(33,199,238,.05)!important}
  .service-select-card:hover::before{opacity:1;transform:translate3d(22%,0,0)}
  .service-select-card:hover .service-select-copy{transform:translate3d(3px,0,0)}
  .service-select-card:hover .service-select-copy strong{color:var(--ice);text-shadow:0 0 18px rgba(33,199,238,.14)}
  .service-select-card:hover .service-select-status{transform:translate3d(0,-1px,0) scale3d(1.045,1.045,1);border-color:rgba(33,199,238,.72);box-shadow:0 8px 22px rgba(33,199,238,.13)}
  .service-select-card:hover .service-select-status::before{animation:wcAddButtonSweep .52s ease-out both}
}
.service-select-card:has(.service-select-input:checked) .service-select-status{animation:wcAddedPop .3s cubic-bezier(.16,.9,.2,1) both;box-shadow:0 7px 24px rgba(33,199,238,.18)}
@keyframes wcAddButtonSweep{0%{opacity:0;transform:translate3d(-120%,0,0)}22%{opacity:.5}100%{opacity:0;transform:translate3d(120%,0,0)}}
@keyframes wcAddedPop{0%{transform:scale3d(.9,.9,1)}62%{transform:scale3d(1.07,1.07,1)}100%{transform:scale3d(1,1,1)}}

@media(max-width:700px){
  .wizard-controls{min-height:64px}
  .wizard-back{padding:9px 10px;font-size:.83rem}
  .wizard-next.is-unlocking{animation-duration:.42s}
}
@media(prefers-reduced-motion:reduce){
  .choice-card,.wizard-back,.wizard-back-arrow,.service-select-card,.service-select-copy,.service-select-status{transition:none!important}
  .choice-card.is-confirming,.wizard-next.is-unlocking,.wizard-next.is-unlocking::after,.service-select-card:has(.service-select-input:checked) .service-select-status{animation:none!important}
  .service-select-card::before,.service-select-status::before{display:none!important}
}


/* Aug 12 2026: unified interaction + wizard motion polish v2. */

/* Compact secondary CTA under the Signature package. */
.signature-custom-route{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  justify-content:space-between;
  gap:22px!important;
  min-width:min(100%,390px);
  margin-top:30px;
  padding:14px 15px 14px 17px;
  border:1px solid rgba(163,229,238,.18)!important;
  border-radius:10px!important;
  background:rgba(2,8,12,.38);
  color:var(--white);
  overflow:hidden;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
  transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.signature-custom-route::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(105deg,transparent 10%,rgba(33,199,238,.09) 48%,transparent 82%);
  transform:translate3d(-55%,0,0);
  transition:opacity .18s ease,transform .48s cubic-bezier(.2,.8,.2,1);
}
.signature-custom-copy{position:relative;z-index:1;display:flex!important;min-width:0;flex-direction:column;gap:1px;line-height:1.2}
.signature-custom-kicker{display:block!important;color:var(--muted)!important;font-size:.75rem;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase}
.signature-custom-copy strong{font-family:'Barlow Condensed',sans-serif;font-size:1.25rem;letter-spacing:.035em;text-transform:uppercase}
.signature-custom-arrow{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border:1px solid rgba(33,199,238,.34);border-radius:50%;background:rgba(33,199,238,.07);color:var(--cyan);font-size:1.1rem;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .22s ease,border-color .22s ease}
@media(hover:hover) and (pointer:fine){
  .signature-custom-route:hover,.signature-custom-route:focus-visible{transform:translate3d(0,-3px,0);border-color:rgba(33,199,238,.52)!important;background:rgba(2,8,12,.52);box-shadow:0 15px 34px rgba(0,0,0,.18);outline:none}
  .signature-custom-route:hover::before,.signature-custom-route:focus-visible::before{opacity:1;transform:translate3d(30%,0,0)}
  .signature-custom-route:hover .signature-custom-arrow,.signature-custom-route:focus-visible .signature-custom-arrow{transform:translate3d(0,4px,0);background:rgba(33,199,238,.14);border-color:rgba(33,199,238,.62)}
}
.signature-custom-route:active{transform:translate3d(0,1px,0) scale3d(.99,.99,1)}

/* Progress has a small directional handoff rather than only changing color. */
.wizard-progress span.is-active b{filter:drop-shadow(0 0 8px rgba(33,199,238,.34))}
.wizard-progress-wrap[data-direction="forward"] .wizard-progress span.is-progress-entering{animation:wcProgressForward .42s cubic-bezier(.16,.9,.2,1) both}
.wizard-progress-wrap[data-direction="backward"] .wizard-progress span.is-progress-entering{animation:wcProgressBackward .42s cubic-bezier(.16,.9,.2,1) both}
.wizard-progress span.is-progress-entering::after{animation:wcProgressLine .42s cubic-bezier(.16,.9,.2,1) both}
@keyframes wcProgressForward{0%{opacity:.45;transform:translate3d(10px,0,0)}62%{opacity:1;transform:translate3d(-2px,0,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes wcProgressBackward{0%{opacity:.45;transform:translate3d(-10px,0,0)}62%{opacity:1;transform:translate3d(2px,0,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes wcProgressLine{0%{transform:scaleX(.12);opacity:.25}70%{transform:scaleX(1.06);opacity:1}100%{transform:scaleX(1);opacity:1}}

/* More deliberate live estimate readout. */
.wizard-live-estimate{
  gap:0!important;
  margin-top:2px;
  border:1px solid rgba(163,229,238,.17)!important;
  border-radius:10px;
  background:rgba(2,8,12,.52)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.wizard-live-estimate>div{
  position:relative;
  background:transparent!important;
  padding:16px 18px!important;
}
.wizard-live-estimate>div+div{border-left:1px solid rgba(163,229,238,.13)}
.wizard-live-estimate>div:first-child::before{
  content:"";
  position:absolute;
  left:-1px;top:10px;bottom:10px;
  width:2px;
  border-radius:2px;
  background:var(--cyan);
  box-shadow:0 0 15px rgba(33,199,238,.38);
}
.wizard-live-estimate span{letter-spacing:.12em}
.wizard-live-estimate strong{font-variant-numeric:tabular-nums;transform-origin:right center}
.is-estimate-updating{animation:wcEstimateUpdate .4s cubic-bezier(.16,.9,.2,1) both}
@keyframes wcEstimateUpdate{0%{opacity:.46;transform:translate3d(0,5px,0) scale3d(.96,.96,1)}62%{opacity:1;transform:translate3d(0,-1px,0) scale3d(1.035,1.035,1);text-shadow:0 0 18px rgba(33,199,238,.36)}100%{opacity:1;transform:translate3d(0,0,0) scale3d(1,1,1);text-shadow:none}}
.wizard-controls-estimate strong,.wizard-controls-estimate span{font-variant-numeric:tabular-nums}
.wizard-controls-estimate .is-estimate-updating{transform-origin:right center}

/* One interaction language for primary site buttons. */
.button,.promo-code button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transform:translateZ(0);
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,filter .22s ease;
}
.button::after,.promo-code button::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-65%;bottom:-65%;left:-42%;
  width:28%;
  pointer-events:none;
  opacity:0;
  background:rgba(255,255,255,.58);
  transform:translate3d(-170%,0,0) rotate(18deg);
}
@media(hover:hover) and (pointer:fine){
  .button:hover,.button:focus-visible,.promo-code button:hover,.promo-code button:focus-visible{transform:translate3d(0,-2px,0);box-shadow:0 14px 34px rgba(33,199,238,.25);filter:brightness(1.035);outline:none}
  .button:hover::after,.button:focus-visible::after,.promo-code button:hover::after,.promo-code button:focus-visible::after{animation:wcButtonSweep .52s ease-out both}
}
.button:active,.promo-code button:active{transform:translate3d(0,1px,0) scale3d(.985,.985,1);box-shadow:0 7px 20px rgba(33,199,238,.17)}
.button:focus-visible,.wizard-back:focus-visible,.signature-vehicle-option:focus-visible,.signature-custom-route:focus-visible,.choice-card:has(input:focus-visible),.service-select-card:has(input:focus-visible){outline:2px solid rgba(199,245,255,.92);outline-offset:3px}
@keyframes wcButtonSweep{0%{opacity:0;transform:translate3d(-170%,0,0) rotate(18deg)}24%{opacity:.48}100%{opacity:0;transform:translate3d(650%,0,0) rotate(18deg)}}

/* Signature package cards use the same press/shine response as the wizard. */
.signature-vehicle-option{overflow:hidden;isolation:isolate;transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background .22s ease,box-shadow .22s ease!important}
.signature-vehicle-option::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 12%,rgba(33,199,238,.08) 47%,transparent 84%);transform:translate3d(-48%,0,0);transition:opacity .18s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.signature-vehicle-option>*{position:relative;z-index:1}
@media(hover:hover) and (pointer:fine){.signature-vehicle-option:hover::before,.signature-vehicle-option:focus-visible::before{opacity:1;transform:translate3d(25%,0,0)}}
.signature-vehicle-option:active{transform:translate3d(0,1px,0) scale3d(.988,.988,1)!important}

/* Customer vehicle identity is intentionally one clean field: make + model. */
.vehicle-identity-field{position:relative}
.vehicle-identity-field .field-help{display:block;margin-top:7px;line-height:1.4}

/* Make the hero review prompt impossible to squeeze/crop on narrow phones. */
.hero-side,.hero-side .review-invite,.review-invite-copy{min-width:0;max-width:100%}
.review-invite{overflow:visible}
.review-invite-copy small{white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){
  .hero{overflow:clip;padding-bottom:78px}
  .hero-side{width:100%!important;max-width:100%!important;gap:14px}
  .hero-side .review-invite{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center!important;
    gap:10px 12px;
    width:100%;
    padding:15px 14px!important;
  }
  .hero-side .review-stars{grid-column:1/-1;font-size:.88rem;letter-spacing:.065em;line-height:1}
  .hero-side .review-invite-copy{grid-column:1;grid-row:2}
  .hero-side .review-arrow{grid-column:2;grid-row:2}
  .hero-side .review-invite-copy strong{font-size:1.1rem;line-height:1.05}
  .hero-side .review-invite-copy small{font-size:.78rem;line-height:1.38}
  .wizard-controls-estimate{overflow:visible}
  .wizard-controls-estimate strong{max-width:150px}
}
@media(max-width:390px){
  .hero-side .review-invite{grid-template-columns:1fr}
  .hero-side .review-invite-copy{grid-column:1;grid-row:2}
  .hero-side .review-arrow{grid-column:1;grid-row:3;justify-self:end}
}

@media(prefers-reduced-motion:reduce){
  .signature-custom-route,.signature-custom-arrow,.button,.promo-code button,.signature-vehicle-option{transition:none!important}
  .signature-custom-route::before,.button::after,.promo-code button::after,.signature-vehicle-option::before{display:none!important}
  .wizard-progress span.is-progress-entering,.wizard-progress span.is-progress-entering::after,.is-estimate-updating{animation:none!important}
}

/* Extra narrow-layout protection for both review experiences. */
@media(max-width:700px){
  .review-step,.review-grid,.review-step .order-summary{width:100%;max-width:100%;min-width:0}
  .review-grid>div{min-width:0;overflow:visible}
  .wizard-controls-estimate{
    padding:5px 8px;
    border:1px solid rgba(163,229,238,.13);
    border-radius:7px;
    background:rgba(33,199,238,.035);
  }
}

/* Aug 12 2026: checkout review cleanup + final-step confirmation pass. */
.signature-vehicle-options{margin-top:34px}
.signature-custom-copy strong{
  color:var(--cyan);
  text-shadow:0 0 18px rgba(33,199,238,.18);
}

/* Step 6 confirms the final estimate; the live estimate remains visible during the build flow. */
.review-grid .review-wide{grid-column:1/-1}
.review-promo{
  margin:0 0 16px;
  padding:17px 18px!important;
  border:1px solid rgba(163,229,238,.14)!important;
  border-radius:9px;
  background:rgba(2,8,12,.38);
  color:#c4d2d5;
  font-size:.84rem;
}
.review-promo>div{margin-top:9px}
.review-promo #discountStatus:empty{display:none}
.review-step .order-summary{margin-top:0}

@media(max-width:700px){
  .review-grid .review-wide{grid-column:1}
  .review-promo{padding:15px 14px!important}
}

/* Aug 12 2026: reliability pass — custom quote service method + mobile control guard. */
.quote-service-method{margin:0;padding:0;border:0;min-width:0}
.quote-service-method>legend{margin:0 0 10px;color:#c4d2d5;font-size:.88rem}
.quote-service-choices{margin-top:0}
.quote-mobile-address{margin-top:4px}
@media(max-width:700px){
  .wizard-back{grid-column:1}
  .wizard-controls-estimate{grid-column:2;min-width:0}
  .wizard-next{grid-column:3}
  .quote-service-choices{grid-template-columns:1fr}
}
.service-option-note.is-error{color:#ffb7b7}

/* Aug 12 2026: service-location dropdown ownership + stable mobile wizard controls. */
.service-location-option{
  min-width:0;
  align-self:start;
}
.service-location-option>.choice-card{
  display:block;
  width:100%;
  min-height:100%;
}
.service-location-details-slot{min-width:0}
.service-location-dropdown{
  position:relative;
  margin-top:10px;
  padding:16px;
  border-color:rgba(33,199,238,.28)!important;
  border-radius:10px;
  background:rgba(2,11,16,.88)!important;
  box-shadow:0 16px 32px rgba(0,0,0,.18);
  transform-origin:top center;
}
.service-location-dropdown::before{
  content:"";
  position:absolute;
  top:-7px;
  left:24px;
  width:12px;
  height:12px;
  transform:rotate(45deg);
  border-left:1px solid rgba(33,199,238,.28);
  border-top:1px solid rgba(33,199,238,.28);
  background:rgba(2,11,16,.96);
}
.service-location-dropdown.is-entering{animation:serviceLocationDrop .24s cubic-bezier(.2,.8,.2,1) both}
.service-location-dropdown .form-grid{grid-template-columns:1fr}
@keyframes serviceLocationDrop{
  from{opacity:0;transform:translateY(-8px) scaleY(.97)}
  to{opacity:1;transform:translateY(0) scaleY(1)}
}

@media(max-width:700px){
  .service-location-choices{gap:12px}
  .service-location-option>.choice-card{min-height:0}
  .service-location-dropdown{margin:8px 0 4px;padding:15px 14px}

}

@media(prefers-reduced-motion:reduce){
  .service-location-dropdown.is-entering{animation:none}
}

/* ================================================================
   WORLD CLASS AUTO DETAILING — V3.5 OFFICIAL RELEASE
   Production hardening + conversion polish. No new motion system.
   ================================================================ */
.service-select-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.service-select-price{flex:0 0 auto;color:var(--ice);font-family:'Barlow Condensed',sans-serif;font-size:1.18rem;letter-spacing:.03em}
.service-condition-note{margin:16px 2px 0;color:var(--muted);font-size:.79rem;line-height:1.5}

.service-area-checker{width:100%;margin-top:4px;padding-top:14px;border-top:1px solid rgba(33,199,238,.16)}
.service-area-checker>label{display:block;margin-bottom:7px;color:#d8e6e8;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.service-area-checker>div{display:flex;gap:8px}
.service-area-checker input{min-width:0;flex:1;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#06171b;color:var(--white);outline:none}
.service-area-checker input:focus{border-color:var(--cyan)}
.service-area-checker button{border:1px solid rgba(33,199,238,.35);border-radius:7px;padding:10px 14px;background:rgba(33,199,238,.08);color:var(--ice);font-weight:800;cursor:pointer}
.service-area-checker small{display:block;margin-top:7px;color:var(--muted);line-height:1.4}
.service-area-checker small.is-success{color:#b9f7dc}
.service-area-checker small.is-error{color:#ffb7b7}

.quote-preference-panel{padding:17px;border:1px solid rgba(33,199,238,.18);border-radius:10px;background:rgba(2,11,16,.48)}
.quote-preference-panel>p{display:flex;flex-direction:column;gap:3px;margin:0 0 13px}
.quote-preference-panel>p strong{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:1.1rem;letter-spacing:.03em}
.quote-preference-panel>p span{color:var(--muted);font-size:.8rem;line-height:1.45}
.quote-service-location-option{min-width:0}

.secure-checkout-note{display:block!important;margin:12px auto 0!important;max-width:620px;text-align:center!important;color:var(--muted)!important;font-size:.72rem!important;line-height:1.55}
.secure-checkout-note a{color:#cceff6;text-decoration:underline;text-underline-offset:2px}

.reviews-section{position:relative;background:rgba(3,15,19,.68)}
.reviews-heading{margin-bottom:28px}
.google-reviews-shell{border-top:1px solid rgba(33,199,238,.25);border-bottom:1px solid rgba(33,199,238,.18);padding:24px 0 20px}
.google-reviews-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.google-reviews-topline>div{display:flex;flex-direction:column;gap:2px}
.google-reviews-topline strong{font-family:'Barlow Condensed',sans-serif;font-size:1.65rem;text-transform:uppercase;letter-spacing:.025em}
.google-reviews-topline span{color:var(--muted);font-size:.82rem}
.gmp-attribution{font-family:Roboto,Inter,sans-serif!important;font-style:normal!important;font-weight:400!important;letter-spacing:normal!important;white-space:nowrap!important;color:#fff!important;font-size:.8rem!important}
.google-reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;overscroll-behavior-inline:contain;scrollbar-width:thin}
.google-review-card,.google-review-fallback{scroll-snap-align:start;min-height:190px;padding:20px;border:0;border-radius:12px;background:rgba(4,20,25,.6);box-shadow:0 20px 54px rgba(0,0,0,.16)}
.google-review-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.google-review-author{color:#edf9fb;font-weight:800;font-size:.9rem}
a.google-review-author:hover{color:var(--cyan)}
.google-review-date{color:var(--muted);font-size:.72rem;white-space:nowrap}
.google-review-stars{margin:11px 0 9px;color:#dffaff;letter-spacing:.08em;font-size:.86rem}
.google-review-card p{margin:0;color:#c5d5d8;font-size:.87rem;line-height:1.58}
.google-review-fallback{display:flex;flex-direction:column;justify-content:center;gap:6px}
.google-review-fallback strong{font-family:'Barlow Condensed',sans-serif;font-size:1.45rem;text-transform:uppercase}
.google-review-fallback span{color:var(--muted);font-size:.86rem}
.google-review-fallback em{margin-top:10px;color:var(--cyan);font-style:normal;font-weight:800;font-size:.82rem}
.review-proof-link .review-stars{color:#e3fbff}


.recent-work-section{position:relative;background:linear-gradient(180deg,rgba(2,10,14,.34),rgba(3,15,19,.78));overflow:clip}
.recent-work-heading{max-width:760px;margin-bottom:28px}
.recent-work-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-flow:dense;gap:16px;align-items:stretch}
.recent-work-card{margin:0;position:relative;overflow:hidden;border:1px solid rgba(33,199,238,.18);border-radius:18px;background:#06171b;box-shadow:0 24px 60px rgba(0,0,0,.24);opacity:0;transform:translateY(28px) scale(.988);transition:transform .72s cubic-bezier(.2,.8,.2,1),opacity .72s ease,border-color .28s ease,box-shadow .28s ease}
.recent-work-card.is-visible{opacity:1;transform:none}
.recent-work-card.is-featured{grid-row:span 2;min-height:560px}
.recent-work-card.is-wide{grid-column:span 2}
.recent-work-card-media{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;text-align:left}
.recent-work-card img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover;transform:scale(1.001);transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .45s ease}
.recent-work-card.is-featured img{min-height:560px}
.recent-work-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 28%,rgba(2,10,14,.18) 54%,rgba(3,12,16,.86) 100%);pointer-events:none}
.recent-work-copy{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:8px;padding:22px 22px 20px;color:#eefbff;pointer-events:none}
.recent-work-eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#9fe9ff}
.recent-work-copy strong{font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.45rem,2.4vw,2.3rem);line-height:.95;text-transform:uppercase;letter-spacing:.02em}
.recent-work-copy p{margin:0;max-width:40ch;color:#d0dfe3;font-size:.88rem;line-height:1.5}
.recent-work-copy em{font-style:normal;color:#dffaff;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.82;transform:translateY(4px);transition:transform .28s ease,opacity .28s ease}
.recent-work-card:hover,.recent-work-card:focus-within{border-color:rgba(33,199,238,.38);box-shadow:0 28px 72px rgba(0,0,0,.32)}
.recent-work-card:hover img,.recent-work-card:focus-within img{transform:scale(1.04);filter:saturate(1.03) brightness(1.04)}
.recent-work-card:hover .recent-work-copy em,.recent-work-card:focus-within .recent-work-copy em{opacity:1;transform:translateY(0)}

.recent-work-lightbox{position:fixed;inset:0;z-index:1200;display:grid;grid-template-columns:minmax(48px,72px) minmax(0,1fr) minmax(48px,72px);align-items:center;gap:18px;padding:clamp(16px,3vw,32px);background:rgba(2,8,12,.84);backdrop-filter:blur(16px)}
.recent-work-lightbox[hidden]{display:none}
.recent-work-lightbox-figure{margin:0;max-width:min(1100px,100%);width:100%;justify-self:center;display:flex;flex-direction:column;gap:16px}
.recent-work-lightbox-figure img{display:block;max-width:100%;max-height:76vh;margin:0 auto;border-radius:20px;border:1px solid rgba(157,235,255,.18);box-shadow:0 26px 80px rgba(0,0,0,.44)}
.recent-work-lightbox-caption{display:flex;flex-direction:column;gap:8px;text-align:center;align-items:center}
.recent-work-lightbox-caption strong{font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.8rem,4vw,3rem);line-height:.95;text-transform:uppercase;color:#f3fcff}
.recent-work-lightbox-caption span{max-width:56ch;color:#c9dbe0;line-height:1.6}
.recent-work-lightbox-nav,.recent-work-lightbox-close{appearance:none;border:1px solid rgba(157,235,255,.16);background:rgba(6,23,27,.74);color:#f5fdff;border-radius:999px;display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.recent-work-lightbox-nav{width:54px;height:54px;font-size:1.35rem}
.recent-work-lightbox-close{position:absolute;top:18px;right:18px;width:52px;height:52px;font-size:1.8rem;z-index:1}
.recent-work-lightbox-nav:hover,.recent-work-lightbox-close:hover{transform:translateY(-1px);background:rgba(10,31,36,.94);border-color:rgba(157,235,255,.34)}
body.recent-work-lightbox-open{overflow:hidden}

@media(max-width:1050px){
  .recent-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recent-work-card.is-featured{grid-column:span 2;grid-row:auto;min-height:460px}
  .recent-work-card.is-wide{grid-column:span 2}
  .recent-work-card.is-featured img{min-height:460px}
}


.footer-copy{display:flex;flex-direction:column;gap:7px;align-items:center;text-align:center}
.footer-copy p{margin:0}
.footer-copy nav{display:flex;justify-content:center;gap:12px 16px;flex-wrap:wrap}
.footer-copy nav a{color:#aebfc2;font-size:.76rem}
.footer-copy nav a:hover{color:var(--white)}

.legal-main{min-height:70vh;padding:110px clamp(24px,8vw,120px);background:linear-gradient(135deg,#031317,#08272d)}
.legal-shell{max-width:900px;margin:auto;padding:clamp(24px,4vw,48px);border:1px solid rgba(33,199,238,.2);background:rgba(3,17,21,.82)}
.legal-shell h1{margin:0 0 12px;font-family:'Barlow Condensed',sans-serif;font-size:clamp(3rem,7vw,5.5rem);line-height:.95;text-transform:uppercase}
.legal-shell h2{margin:34px 0 10px;font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;text-transform:uppercase}
.legal-shell p,.legal-shell li{color:#c2d2d5}
.legal-shell a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}
.legal-back{display:inline-flex;margin-bottom:28px;color:var(--cyan);font-weight:800}

@media(max-width:700px){
  .service-select-title{align-items:flex-start}
  .service-select-price{font-size:1.04rem}
  .service-area-checker>div{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .google-reviews-topline{align-items:flex-start}
  .google-reviews-track{grid-auto-columns:86%}
  .recent-work-grid{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(88%,1fr);
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:6px;
    padding:2px 6px 14px;
    gap:14px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .recent-work-grid::-webkit-scrollbar{height:8px}
  .recent-work-grid::-webkit-scrollbar-thumb{background:rgba(157,235,255,.22);border-radius:999px}
  .recent-work-card,.recent-work-card.is-featured,.recent-work-card.is-wide{
    grid-column:auto;
    grid-row:auto;
    min-height:unset;
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  .recent-work-card img,.recent-work-card.is-featured img{min-height:380px}
  .recent-work-copy{padding:18px 18px 16px}
  .recent-work-copy strong{font-size:1.7rem}
  .recent-work-lightbox{grid-template-columns:1fr;gap:14px;padding:18px 16px 22px}
  .recent-work-lightbox-nav{position:absolute;bottom:18px;width:48px;height:48px}
  .recent-work-lightbox-prev{left:16px}
  .recent-work-lightbox-next{right:16px}
  .recent-work-lightbox-close{top:12px;right:12px}
  .recent-work-lightbox-figure img{max-height:68vh}
  .footer-copy{order:3;width:100%}
  footer{flex-wrap:wrap;justify-content:center;text-align:center}
}


/* v3.5.6 — iOS focus consistency.
   Use a universal mobile form-control floor so inputs that rely on HTML's
   default text type (no explicit type attribute) cannot fall below 16px. */
@media (max-width: 700px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]),
  select,
  textarea{
    font-size:16px!important;
    line-height:1.35;
  }
}

/* v3.5.7 — mobile header keyboard motion.
   Keep the sticky header in layout, but ease it out while the on-screen
   keyboard is open so it never snaps in/out as form focus changes. */
@media (max-width: 700px){
  .site-header{
    transition:transform .20s cubic-bezier(.2,.75,.25,1), opacity .18s ease!important;
    transform:translateY(0);
    opacity:1;
    will-change:transform,opacity;
  }
  body.mobile-keyboard-open .site-header{
    transform:translateY(calc(-100% - 8px));
    opacity:0;
    pointer-events:none;
  }
}

@media (max-width: 700px) and (prefers-reduced-motion: reduce){
  .site-header{transition:none!important}
}

/* v3.5.9 — mobile appointment field containment.
   Safari gives native date inputs a stubborn intrinsic width. Force both
   appointment controls to share the same contained sizing without changing
   their native picker behavior. */
@media (max-width: 700px){
  .appointment-grid,
  .quote-preference-panel .form-grid{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .appointment-grid > label,
  .quote-preference-panel .form-grid > label{
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .appointment-grid input[type="date"],
  .appointment-grid select,
  .quote-preference-panel input[type="date"],
  .quote-preference-panel select{
    display:block;
    box-sizing:border-box;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    inline-size:100%!important;
    min-inline-size:0!important;
    height:50px;
  }
}


/* v3.5.11 — focused UX cleanup: stable mobile forms + inline guidance. */
.field-inline-error{
  display:none!important;
  margin-top:7px!important;
  color:#ff9f9f!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.field-inline-error.is-visible{display:block!important}
.form-grid input.has-inline-error,
.form-grid select.has-inline-error,
.form-grid textarea.has-inline-error{
  border-color:rgba(255,104,104,.92)!important;
  box-shadow:0 0 0 1px rgba(255,104,104,.18)!important;
}

@media(max-width:700px){
  /* Quote mode does not need a redundant center label. */
  .wizard-controls.is-custom-quote-mode{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .wizard-controls.is-custom-quote-mode .wizard-controls-estimate{
    display:none!important;
  }
  .wizard-controls.is-custom-quote-mode .wizard-back{
    grid-column:1!important;
  }
  .wizard-controls.is-custom-quote-mode .wizard-next{
    grid-column:2!important;
    justify-self:end;
  }

  /* Safari date controls can visually exceed their grid track even when the
     CSS width says 100%. Clip the track and normalize both appointment fields. */
  .appointment-grid,
  .appointment-grid > label{
    min-width:0!important;
    max-width:100%!important;
  }
  .appointment-grid > label{overflow:hidden}
  #appointmentDate,
  #appointmentTime{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    inline-size:100%!important;
    min-inline-size:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #appointmentDate::-webkit-date-and-time-value{
    min-width:0!important;
    max-width:100%!important;
    text-align:left;
  }

}

.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.pickup-authorization{padding:13px 14px;border:1px solid rgba(33,199,238,.2);border-radius:9px;background:rgba(33,199,238,.045)}
.pickup-authorization-check{display:flex!important;align-items:flex-start;gap:10px;margin:0!important;color:#e7f5f7!important;font-size:.82rem!important;line-height:1.45!important;text-transform:none!important;letter-spacing:0!important}
.pickup-authorization-check input{flex:0 0 auto;width:18px!important;height:18px!important;margin:2px 0 0!important;accent-color:var(--cyan)}
.pickup-authorization small{display:block;margin:7px 0 0 28px;color:var(--muted);font-size:.72rem;line-height:1.45}


/* ===========================
   4.0 OFFICIAL — trust, FAQ, SEO service navigation, accessibility
   =========================== */

.reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end}
.google-rating-panel{min-width:235px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 0;border:0;background:transparent;box-shadow:none}
.google-g-mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(0,0,0,.24)}
.google-g-mark img{display:block;width:26px;height:26px;object-fit:contain}
.google-rating-copy{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.google-rating-panel strong{font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;text-transform:uppercase;letter-spacing:.025em}
.google-rating-copy>span{color:var(--muted);font-size:.78rem}
.google-reviews-shell{padding-top:20px}
.google-review-card{display:flex;flex-direction:column;min-height:245px;padding:20px 20px 17px;border:0;background:linear-gradient(155deg,rgba(8,35,41,.72),rgba(3,17,21,.52));box-shadow:0 22px 58px rgba(0,0,0,.19)}
.google-review-identity{display:flex;align-items:center;gap:11px;min-width:0}
.google-review-avatar{display:block;width:42px;height:42px;flex:0 0 42px;border-radius:50%;object-fit:cover;background:#0a333b;border:1px solid rgba(255,255,255,.13)}
.google-review-avatar-fallback{display:grid;place-items:center;color:#031317;background:linear-gradient(145deg,#e5fbff,var(--cyan));font-weight:900}
.google-review-byline{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.google-review-author{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#edf9fb;font-weight:800;font-size:.9rem}
.google-review-date{margin-top:4px;color:var(--muted);font-size:.7rem}
.google-review-stars{margin:14px 0 9px;color:#e8fbff;letter-spacing:.08em;font-size:.9rem}
.google-review-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;flex:1;margin:0;color:#c7d9dc!important;font-size:.87rem!important;line-height:1.62!important}


.google-reviews-actions{display:flex;justify-content:flex-start;align-items:center;margin-top:22px}
.leave-review-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 20px;border:1px solid rgba(110,232,255,.7);border-radius:999px;overflow:hidden;color:#031519;background:linear-gradient(135deg,#dffaff 0%,#67dcf4 48%,#aaf3ff 100%);box-shadow:0 12px 34px rgba(33,199,238,.2);font-weight:900;text-transform:uppercase;letter-spacing:.055em;font-size:.78rem;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,filter .24s ease}
.leave-review-cta::before{content:'';position:absolute;z-index:-1;top:-65%;left:-35%;width:30%;height:230%;transform:rotate(20deg) translateX(-240%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.leave-review-cta:hover,.leave-review-cta:focus-visible{transform:translateY(-3px) scale(1.015);box-shadow:0 18px 46px rgba(33,199,238,.32);filter:saturate(1.05) brightness(1.04)}
.leave-review-cta:hover::before,.leave-review-cta:focus-visible::before{transform:rotate(20deg) translateX(560%)}
.leave-review-star{font-size:1rem;line-height:1;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.leave-review-arrow{font-size:1rem;line-height:1;transition:transform .24s ease}
.leave-review-cta:hover .leave-review-star,.leave-review-cta:focus-visible .leave-review-star{transform:rotate(-10deg) scale(1.15)}
.leave-review-cta:hover .leave-review-arrow,.leave-review-cta:focus-visible .leave-review-arrow{transform:translate(2px,-2px)}
@media (prefers-reduced-motion:reduce){.leave-review-cta,.leave-review-cta::before,.leave-review-star,.leave-review-arrow{transition:none!important}.leave-review-cta:hover,.leave-review-cta:focus-visible{transform:none}}

.faq-section{background:linear-gradient(180deg,rgba(3,16,20,.62),rgba(6,29,34,.76))}
.faq-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.faq-grid details{border:1px solid rgba(33,199,238,.15);border-radius:10px;background:rgba(3,18,22,.64);overflow:hidden;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.faq-grid details:hover{border-color:rgba(33,199,238,.3);background:rgba(5,26,31,.78)}
.faq-grid details[open]{border-color:rgba(33,199,238,.38);background:rgba(6,30,35,.82)}
.faq-grid summary{position:relative;cursor:pointer;list-style:none;padding:18px 48px 18px 20px;color:#edf9fb;font-weight:800;font-size:.9rem}
.faq-grid summary::-webkit-details-marker{display:none}
.faq-grid summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--cyan);font-weight:500}
.faq-grid details[open] summary::after{content:'−'}
.faq-grid details p{margin:0;padding:0 20px 19px;color:var(--muted);font-size:.84rem;line-height:1.62}
.faq-policy-link{max-width:1040px;margin:24px auto 0;text-align:right}

:is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #9cecff!important;outline-offset:3px!important}
.dialog-close:focus-visible{border-radius:6px}

@media(max-width:760px){
  .reviews-layout{grid-template-columns:1fr;gap:8px}
  .google-rating-panel{justify-content:flex-start;min-width:0;width:100%;padding:14px 0}
  .google-rating-copy{align-items:flex-start}
  .google-g-mark{width:36px;height:36px;flex-basis:36px}
  .google-g-mark img{width:24px;height:24px}
  .google-reviews-actions{justify-content:stretch}
  .leave-review-cta{width:100%;min-height:52px}
  .google-reviews-track{grid-auto-columns:88%}
  .google-review-card{min-height:255px}
  .faq-grid{grid-template-columns:1fr}
  .faq-policy-link{text-align:left}
}

/* Last-resort containment for legacy 320px-class phones without changing the
   normal 360–430px composition. */
@media(max-width:340px){
  html,body{max-width:100%;overflow-x:clip}
  .site-header{padding-left:10px!important;padding-right:10px!important}
  .site-header .brand{max-width:154px!important}
  .site-header>.button{padding-left:10px!important;padding-right:10px!important;font-size:.72rem!important}
  .hero{padding-left:16px!important;padding-right:16px!important}
  .hero h1{font-size:clamp(3rem,18vw,4rem)!important;overflow-wrap:anywhere}
  .hero-actions>*{max-width:100%}
  .booking-section,.section{padding-left:14px!important;padding-right:14px!important}
  .booking-card{min-width:0!important}
}

/* 4.0 service landing pages */
.service-page-main{min-height:75vh;background:linear-gradient(135deg,rgba(3,19,23,.96),rgba(8,39,45,.95))}
.service-page-hero{position:relative;overflow:hidden;padding:120px clamp(24px,8vw,120px) 78px;border-bottom:1px solid rgba(33,199,238,.16)}
.service-page-hero::after{content:'';position:absolute;width:500px;height:500px;right:-100px;top:-160px;border-radius:50%;background:rgba(33,199,238,.11);filter:blur(95px);pointer-events:none}
.service-page-hero>*{position:relative;z-index:1;max-width:900px}
.service-page-hero h1{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:clamp(3.6rem,8vw,7.4rem);line-height:.92;text-transform:uppercase}
.service-page-hero .service-page-lead{max-width:760px;margin:24px 0;color:#c6d7da;font-size:1.06rem}
.service-page-price{display:flex;gap:22px;align-items:baseline;flex-wrap:wrap;margin:26px 0}
.service-page-price strong{font-family:'Barlow Condensed',sans-serif;font-size:2.2rem;text-transform:uppercase;color:#e7fbff}
.service-page-price span{color:var(--muted);font-size:.86rem}
.service-page-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.service-page-content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.55fr);gap:54px;padding:72px clamp(24px,8vw,120px) 92px}
.service-page-content h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.4rem,5vw,4.2rem);line-height:.96;text-transform:uppercase;margin:0 0 18px}
.service-page-content h3{font-family:'Barlow Condensed',sans-serif;font-size:1.7rem;text-transform:uppercase;margin:32px 0 10px}
.service-page-content p,.service-page-content li{color:#c3d3d6}
.service-page-list{padding-left:20px}
.service-page-list li{margin:9px 0}
.service-page-aside{align-self:start;position:sticky;top:110px;padding:24px;border:1px solid rgba(33,199,238,.2);border-radius:12px;background:rgba(3,18,22,.7)}
.service-page-aside strong{display:block;margin-bottom:12px;font-family:'Barlow Condensed',sans-serif;font-size:1.65rem;text-transform:uppercase}
.service-page-aside a:not(.button){display:block;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);color:#cfe1e4;font-size:.82rem;font-weight:700}
.service-page-aside a:not(.button):hover{color:var(--cyan)}
.service-page-aside .button{margin-top:18px;width:100%}
@media(max-width:760px){.service-page-hero{padding:92px 18px 48px}.service-page-content{grid-template-columns:1fr;padding:48px 18px 68px;gap:30px}.service-page-aside{position:static}.service-page-actions .button{width:100%}}
@media(max-width:760px){
  .reviews-layout,.reviews-heading,.google-rating-panel{min-width:0!important;max-width:100%!important;width:100%!important}
  .google-rating-panel strong{min-width:0;max-width:100%;overflow-wrap:anywhere}
}

/* Small translated-review note returned by the live review feed. */
.google-review-translation{margin:10px 0 0!important;font-size:.74rem!important;line-height:1.5!important;color:#aebdc0!important}


/* ================================================================
   WORLD CLASS AUTO DETAILING — 4.0.2 PRODUCTION SIMPLIFICATION
   Static booking estimate + normal in-flow step controls.
   ================================================================ */
.booking-static-estimate{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,460px);
  margin:14px 0 24px;
  overflow:hidden;
  border:1px solid rgba(163,229,238,.16);
  border-radius:10px;
  background:rgba(2,10,14,.54);
}
.booking-static-estimate>div{padding:14px 16px}
.booking-static-estimate>div+div{border-left:1px solid rgba(163,229,238,.13)}
.booking-static-estimate span{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.booking-static-estimate strong{
  display:block;
  color:var(--ice);
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.45rem;
  line-height:1.05;
  font-variant-numeric:tabular-nums;
}
.booking-static-estimate>div:first-child strong{color:var(--cyan);font-size:1.7rem}

/* The controls are part of the current step flow on every viewport. */
.wizard-controls,
.wizard-controls.is-custom-quote-mode{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  z-index:7!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
  border-radius:0!important;
  box-shadow:none!important;
  transition:none!important;
}
#customer-info-step{padding-bottom:28px!important}
#customer-info-step input,#customer-info-step textarea{scroll-margin-bottom:24px!important}

@media(max-width:700px){
  .booking-static-estimate{width:100%;margin:12px 0 20px}
  .booking-static-estimate>div{padding:12px 13px}
  .booking-static-estimate strong{font-size:1.28rem}
  .booking-static-estimate>div:first-child strong{font-size:1.5rem}
  .wizard-controls,
  .wizard-controls.is-custom-quote-mode{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:12px!important;
    padding:16px 18px 20px!important;
    background:rgba(2,8,12,.52)!important;
    border-top:1px solid rgba(163,229,238,.13)!important;
  }
  .wizard-back{grid-column:1!important;justify-self:start!important}
  .wizard-next,
  .wizard-controls.is-custom-quote-mode .wizard-next{grid-column:2!important;justify-self:end!important;min-width:132px!important}
}


/* 4.5.2 — native appointment-date placeholder */
.appointment-date-shell{position:relative;min-width:0;margin-top:8px}
.appointment-date-shell #appointmentDate{position:relative;z-index:1;margin-top:0!important;background-color:#06171b}
.appointment-date-placeholder{position:absolute;z-index:2;left:14px;right:44px;top:50%;transform:translateY(-50%);overflow:hidden;color:#91a6aa;line-height:1;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;transition:opacity .14s ease,visibility .14s ease}
#appointmentDate:valid + .appointment-date-placeholder{opacity:0;visibility:hidden}
#appointmentDate:not(:valid){color:transparent}
#appointmentDate:not(:valid)::-webkit-datetime-edit{color:transparent}
#appointmentDate:valid{color:var(--white)}
@media(max-width:600px){
}

/* 4.5.8 — cohesive hero typography + matched clear Signature secondary CTA. */
/* Keep the supporting copy in the same clean Inter system used across the site. */
.hero-copy .dealer-trust{
  max-width:920px!important;
  margin:0 0 22px!important;
}
.hero-copy .dealer-trust-track span{
  color:#d8e9ec!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:clamp(1.08rem,1.32vw,1.25rem)!important;
  font-weight:650!important;
  line-height:1.42!important;
  letter-spacing:.018em!important;
  text-shadow:0 8px 24px rgba(0,0,0,.36)!important;
}
.hero-copy .dealer-trust-track span::first-letter{color:var(--cyan)}
.hero-copy .dealer-trust-track strong{
  color:#f5fbfc!important;
  font-weight:800!important;
  text-shadow:0 0 18px rgba(33,199,238,.20),0 7px 22px rgba(0,0,0,.34)!important;
}
.hero-text{
  max-width:760px!important;
  margin:24px 0 32px!important;
  color:#d4e2e5!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:clamp(1.08rem,1.28vw,1.22rem)!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.68!important;
  letter-spacing:.004em!important;
  text-wrap:pretty;
  text-shadow:0 8px 24px rgba(0,0,0,.38)!important;
}

/* 4.5.8 — Signature secondary CTA uses the exact same clear-card surface as “What are we detailing?”. */
.signature-custom-route{
  background:var(--worldclass-card-surface)!important;
  border-color:var(--line)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.signature-custom-route::before{
  background:linear-gradient(105deg,transparent 10%,rgba(33,199,238,.09) 48%,transparent 82%)!important;
}
.signature-custom-kicker{
  color:var(--muted)!important;
}
.signature-custom-copy strong{
  color:#84e7fa!important;
  text-shadow:0 0 20px rgba(33,199,238,.20)!important;
}
.signature-custom-arrow{
  border-color:rgba(33,199,238,.34)!important;
  background:rgba(33,199,238,.07)!important;
  color:var(--cyan)!important;
}
@media(hover:hover) and (pointer:fine){
  .signature-custom-route:hover,.signature-custom-route:focus-visible{
    background:var(--worldclass-card-surface)!important;
    border-color:rgba(33,199,238,.52)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.18),inset 0 0 0 1px rgba(33,199,238,.05)!important;
  }
  .signature-custom-route:hover .signature-custom-arrow,.signature-custom-route:focus-visible .signature-custom-arrow{
    background:rgba(33,199,238,.14)!important;
    border-color:rgba(33,199,238,.62)!important;
  }
}
@media(max-width:600px){
  .signature-custom-route{
    background:var(--worldclass-card-surface-mobile)!important;
  }
}
@media(max-width:760px){
  .hero-copy .dealer-trust{margin-bottom:18px!important}
  .hero-copy .dealer-trust-track span{
    font-size:1rem!important;
    line-height:1.45!important;
    letter-spacing:.012em!important;
  }
}
@media(max-width:600px){
  .hero-text{
    max-width:100%!important;
    margin:19px 0 27px!important;
    font-size:1rem!important;
    line-height:1.62!important;
    letter-spacing:0!important;
  }
}


/* Gallery + Signature CTA prominence pass — Aug 13 2026. */
.recent-work-heading{
  max-width:920px!important;
  margin-bottom:36px!important;
}
.recent-work-heading .eyebrow{
  margin-bottom:10px!important;
  font-size:clamp(.88rem,1.15vw,1.08rem)!important;
  letter-spacing:.22em!important;
}
.recent-work-heading h2{
  font-size:clamp(4.5rem,8vw,8.2rem)!important;
  line-height:.84!important;
  letter-spacing:-.018em!important;
  text-shadow:0 16px 38px rgba(0,0,0,.34),0 0 32px rgba(33,199,238,.08)!important;
}
.recent-work-heading>p:last-child{
  margin-top:18px!important;
  max-width:720px;
  font-size:clamp(1rem,1.35vw,1.14rem)!important;
  line-height:1.65!important;
}
.recent-work-subline{
  color:#edfaff;
  font-weight:800;
}

.signature-custom-route{
  display:flex!important;
  width:min(100%,760px)!important;
  min-width:0!important;
  margin:42px auto 0!important;
  padding:24px 26px 24px 28px!important;
  gap:28px!important;
  border-color:rgba(33,199,238,.28)!important;
  box-shadow:inset 0 0 0 1px rgba(33,199,238,.025),0 18px 44px rgba(0,0,0,.16)!important;
}
.signature-custom-copy{
  gap:4px!important;
  text-align:left!important;
}
.signature-custom-kicker{
  font-size:.83rem!important;
  letter-spacing:.12em!important;
}
.signature-custom-copy strong{
  font-size:clamp(1.9rem,3.2vw,2.65rem)!important;
  line-height:.96!important;
  letter-spacing:.025em!important;
}
.signature-custom-description{
  display:block!important;
  margin-top:3px;
  color:#b8cbd0!important;
  font-size:.9rem!important;
  font-weight:500!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.signature-custom-arrow{
  flex:0 0 50px!important;
  width:50px!important;
  height:50px!important;
  font-size:1.45rem!important;
}
@media(hover:hover) and (pointer:fine){
  .signature-custom-route:hover,.signature-custom-route:focus-visible{
    transform:translate3d(0,-4px,0)!important;
    border-color:rgba(33,199,238,.66)!important;
    box-shadow:0 22px 52px rgba(0,0,0,.24),inset 0 0 0 1px rgba(33,199,238,.08)!important;
  }
}
@media(max-width:600px){
  .recent-work-heading h2{font-size:clamp(4.15rem,20vw,5.8rem)!important}
  .recent-work-heading>p:last-child{margin-top:14px!important}
  .signature-custom-route{
    display:flex!important;
    width:100%!important;
    margin-top:34px!important;
    padding:20px 18px 20px 20px!important;
    gap:18px!important;
    line-height:normal!important;
  }
  .signature-custom-route span{display:initial}
  .signature-custom-copy{display:flex!important}
  .signature-custom-kicker,.signature-custom-description{display:block!important}
  .signature-custom-copy strong{display:block;font-size:2rem!important}
  .signature-custom-description{font-size:.84rem!important}
  .signature-custom-arrow{flex-basis:44px!important;width:44px!important;height:44px!important}
}


/* v4.5.11 — desktop gallery carousel */
.recent-work-carousel-controls{display:none}
.recent-work-carousel-button{appearance:none;border:1px solid rgba(157,235,255,.18);background:rgba(7,24,28,.82);color:#eefcff;border-radius:999px;width:54px;height:54px;display:grid;place-items:center;font-size:1.2rem;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.recent-work-carousel-button:hover,.recent-work-carousel-button:focus-visible{transform:translateY(-1px);background:rgba(10,31,36,.96);border-color:rgba(157,235,255,.42);box-shadow:0 14px 28px rgba(0,0,0,.22);outline:none}

@media(min-width:701px){
  .recent-work-section{padding-bottom:20px}
  .recent-work-carousel-controls{display:flex;justify-content:flex-end;gap:12px;margin:-8px 0 18px}
  .recent-work-grid{
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(520px,62%)!important;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:4px;
    padding:4px 4px 18px;
    gap:18px!important;
    align-items:stretch;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .recent-work-grid::-webkit-scrollbar{display:none}
  .recent-work-card,.recent-work-card.is-featured,.recent-work-card.is-wide{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:560px;
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  .recent-work-card img,.recent-work-card.is-featured img{min-height:560px}
}

@media(min-width:701px) and (max-width:1120px){
  .recent-work-grid{grid-auto-columns:minmax(440px,74%)!important}
  .recent-work-card,.recent-work-card.is-featured,.recent-work-card.is-wide{min-height:500px}
  .recent-work-card img,.recent-work-card.is-featured img{min-height:500px}
}


/* v4.5.13 — centered gallery hierarchy + tighter carousel placement */
.recent-work-section{
  text-align:center;
}
.recent-work-heading{
  max-width:980px!important;
  margin:0 auto 16px!important;
  text-align:center;
}
.recent-work-heading .eyebrow{
  margin:0 0 12px!important;
  font-size:clamp(1.08rem,1.55vw,1.38rem)!important;
  line-height:1!important;
  letter-spacing:.2em!important;
  text-align:center;
}
.recent-work-heading h2{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center;
}
.recent-work-heading>p:last-child,
.recent-work-subline{
  display:block;
  max-width:none!important;
  margin:15px auto 0!important;
  color:#edfaff!important;
  font-size:clamp(1.08rem,1.55vw,1.3rem)!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:.01em!important;
  text-align:center;
}
.recent-work-carousel-shell{
  position:relative;
  width:100%;
  margin:0 auto;
}
.recent-work-grid{
  margin-top:0!important;
}

@media(min-width:701px){
  .recent-work-carousel-shell{padding-inline:70px}
  .recent-work-carousel-controls{
    display:contents!important;
    margin:0!important;
  }
  .recent-work-carousel-button{
    position:absolute;
    top:50%;
    z-index:6;
    transform:translateY(-50%);
    width:58px;
    height:58px;
    backdrop-filter:blur(10px);
  }
  #recentWorkCarouselPrev{left:0}
  #recentWorkCarouselNext{right:0}
  .recent-work-carousel-button:hover,.recent-work-carousel-button:focus-visible{
    transform:translateY(calc(-50% - 1px));
  }
}

@media(max-width:700px){
  .recent-work-heading{margin-bottom:12px!important}
  .recent-work-heading .eyebrow{
    font-size:clamp(1rem,4.7vw,1.2rem)!important;
    letter-spacing:.17em!important;
  }
  .recent-work-heading>p:last-child,
  .recent-work-subline{
    margin-top:12px!important;
    font-size:1.05rem!important;
  }
  .recent-work-carousel-shell{margin-top:0}
}


/* v4.5.14 — tighten Reviews → Our Work transition */
.reviews-section{
  padding-bottom:18px!important;
  background:linear-gradient(180deg,rgba(3,15,19,.68) 0%,rgba(3,15,19,.74) 100%)!important;
}
.recent-work-section{
  padding-top:22px!important;
  background:linear-gradient(180deg,rgba(3,15,19,.74) 0%,rgba(2,10,14,.46) 34%,rgba(3,15,19,.78) 100%)!important;
}
.reviews-section + .recent-work-section{border-top:0!important}
@media(max-width:700px){
  .reviews-section{padding-bottom:12px!important}
  .recent-work-section{padding-top:16px!important}
}


/* v4.5.15 — centered mobile peek + true drag + cinematic gallery sweep */
.recent-work-card::before{
  content:'';
  position:absolute;
  top:-10%;
  bottom:-10%;
  left:-48%;
  z-index:3;
  width:42%;
  background:linear-gradient(90deg,rgba(118,229,255,0),rgba(118,229,255,.06) 28%,rgba(225,250,255,.18) 50%,rgba(118,229,255,.07) 72%,rgba(118,229,255,0));
  opacity:0;
  transform:translate3d(-20%,0,0) skewX(-12deg);
  pointer-events:none;
  will-change:transform,opacity;
}
.recent-work-card.is-sweep-forward::before{animation:recentWorkSweepForward .72s cubic-bezier(.2,.72,.2,1)}
.recent-work-card.is-sweep-backward::before{left:auto;right:-48%;animation:recentWorkSweepBackward .72s cubic-bezier(.2,.72,.2,1)}
@keyframes recentWorkSweepForward{
  0%{opacity:0;transform:translate3d(-30%,0,0) skewX(-12deg)}
  18%{opacity:1}
  78%{opacity:.92}
  100%{opacity:0;transform:translate3d(380%,0,0) skewX(-12deg)}
}
@keyframes recentWorkSweepBackward{
  0%{opacity:0;transform:translate3d(30%,0,0) skewX(12deg)}
  18%{opacity:1}
  78%{opacity:.92}
  100%{opacity:0;transform:translate3d(-380%,0,0) skewX(12deg)}
}

.recent-work-grid{cursor:grab}
.recent-work-grid.is-dragging{cursor:grabbing;scroll-snap-type:none!important;user-select:none}
.recent-work-grid.is-dragging .recent-work-card-media{pointer-events:none}

@media(max-width:700px){
  .recent-work-carousel-shell{
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
  }
  .recent-work-grid{
    box-sizing:border-box;
    width:100%;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:80%!important;
    padding:4px 10% 16px!important;
    scroll-padding-inline:10%!important;
    gap:12px!important;
    scrollbar-width:none!important;
    touch-action:pan-y pinch-zoom;
    cursor:grab;
  }
  .recent-work-grid::-webkit-scrollbar{display:none!important}
  .recent-work-card,.recent-work-card.is-featured,.recent-work-card.is-wide{
    width:100%;
    scroll-snap-align:center!important;
    transform:translateY(8px) scale(.965);
    opacity:.72;
    transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .42s ease,border-color .28s ease,box-shadow .28s ease!important;
  }
  .recent-work-card.is-visible{transform:translateY(8px) scale(.965);opacity:.72}
  .recent-work-card.is-current,.recent-work-card.is-current.is-visible{
    transform:translateY(0) scale(1);
    opacity:1;
    border-color:rgba(33,199,238,.34);
    box-shadow:0 26px 64px rgba(0,0,0,.32);
  }
  .recent-work-card img,.recent-work-card.is-featured img{min-height:390px}
  .recent-work-card.is-current img{filter:saturate(1.035) brightness(1.025)}
}

@media(prefers-reduced-motion:reduce){
  .recent-work-card.is-sweep-forward::before,.recent-work-card.is-sweep-backward::before{animation:none!important}
}


/* v4.5.16 — full-bleed desktop carousel + refined mouse dragging */
.recent-work-card img{
  -webkit-user-drag:none;
  user-select:none;
  -webkit-user-select:none;
  pointer-events:none;
}
.recent-work-card-media{
  user-select:none;
  -webkit-user-select:none;
}
.recent-work-grid.is-dragging{
  scroll-behavior:auto!important;
}

@media(min-width:701px){
  .recent-work-carousel-shell{
    box-sizing:border-box;
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0!important;
    overflow:visible!important;
  }
  .recent-work-grid{
    box-sizing:border-box;
    width:100%!important;
    max-width:none!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(620px,76vw)!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:4px 2.25vw 18px!important;
    scroll-padding-inline:2.25vw!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    touch-action:pan-y pinch-zoom;
  }
  .recent-work-grid::-webkit-scrollbar{display:none!important}
  .recent-work-card,.recent-work-card.is-featured,.recent-work-card.is-wide{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    min-height:clamp(560px,68vh,760px)!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always;
  }
  .recent-work-card img,.recent-work-card.is-featured img{
    min-height:clamp(560px,68vh,760px)!important;
  }
  .recent-work-carousel-controls{
    display:contents!important;
  }
  .recent-work-carousel-button{
    position:absolute!important;
    top:50%!important;
    z-index:9!important;
    width:62px!important;
    height:62px!important;
    transform:translateY(-50%)!important;
    background:rgba(4,18,22,.76)!important;
    border-color:rgba(190,241,255,.28)!important;
    backdrop-filter:blur(14px)!important;
    box-shadow:0 16px 38px rgba(0,0,0,.28)!important;
  }
  #recentWorkCarouselPrev{left:24px!important}
  #recentWorkCarouselNext{right:24px!important}
  .recent-work-carousel-button:hover,.recent-work-carousel-button:focus-visible{
    transform:translateY(-50%) scale(1.055)!important;
    background:rgba(7,29,34,.94)!important;
    border-color:rgba(190,241,255,.58)!important;
  }
}

@media(min-width:701px) and (max-width:1000px){
  .recent-work-grid{
    grid-auto-columns:minmax(520px,82vw)!important;
    padding-inline:2.5vw!important;
    scroll-padding-inline:2.5vw!important;
  }
  #recentWorkCarouselPrev{left:16px!important}
  #recentWorkCarouselNext{right:16px!important}
}


/* v4.5.17 — continuous gallery drag, flush rails, no image sweep */
.recent-work-card::before,
.recent-work-card.is-sweep-forward::before,
.recent-work-card.is-sweep-backward::before{
  display:none!important;
  animation:none!important;
  content:none!important;
}
.recent-work-grid{
  scroll-behavior:auto;
  scroll-snap-type:x proximity!important;
}
.recent-work-grid.is-dragging{
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  cursor:grabbing!important;
}

@media(min-width:701px){
  .recent-work-grid{
    padding:4px 0 18px!important;
    scroll-padding-inline:0!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
}

@media(max-width:700px){
  .recent-work-grid{
    grid-auto-columns:84%!important;
    padding:4px 0 16px!important;
    scroll-padding-inline:0!important;
    scroll-snap-type:x proximity!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  .recent-work-card,
  .recent-work-card.is-featured,
  .recent-work-card.is-wide{
    scroll-snap-align:start!important;
  }
}


/* v4.5.18 — full-image gallery framing + balanced edge gutters */
.recent-work-heading .eyebrow{
  font-size:clamp(1.18rem,1.7vw,1.52rem)!important;
}
.recent-work-card-media{
  background:radial-gradient(circle at 50% 38%,rgba(23,61,70,.44),rgba(3,13,17,.94) 72%)!important;
}
.recent-work-card img,
.recent-work-card.is-featured img{
  object-fit:contain!important;
  object-position:center!important;
  width:100%!important;
  height:100%!important;
}

@media(min-width:701px){
  .recent-work-grid{
    padding:4px 14px 18px!important;
    scroll-padding-inline:14px!important;
  }
}

@media(max-width:700px){
  .recent-work-heading .eyebrow{
    font-size:clamp(1.08rem,5.1vw,1.3rem)!important;
  }
  .recent-work-grid{
    padding:4px 10px 16px!important;
    scroll-padding-inline:10px!important;
  }
}


/* v4.5.19 — gallery-first homepage + hero contact card refinement */
.hero-card-phone{
  display:block;
  width:100%;
  color:inherit;
  text-decoration:none;
  transition:transform .2s ease,color .2s ease;
}
.hero-card-phone strong{
  color:#f5fbfc;
}
.hero-card-phone span{
  margin-top:2px;
  color:var(--muted);
  font-size:.82rem;
}
@media(hover:hover) and (pointer:fine){
  .hero-card-phone:hover,.hero-card-phone:focus-visible{
    color:var(--ice);
    transform:translateX(2px);
    outline:none;
  }
  .hero-card-phone:hover strong,.hero-card-phone:focus-visible strong{color:var(--ice)}
}

/* Gallery is now the first proof section after the hero. Keep the rail nearly
   full-bleed, but give both edges the same tiny breathing room. */
.recent-work-section{
  padding-top:54px!important;
  padding-bottom:28px!important;
}
.recent-work-grid{
  padding-left:8px!important;
  padding-right:8px!important;
  scroll-padding-left:8px!important;
  scroll-padding-right:8px!important;
}
.recent-work-section + .reviews-section{
  border-top:0!important;
}
.reviews-section{
  padding-top:46px!important;
}
@media(max-width:700px){
  .recent-work-section{
    padding-top:34px!important;
    padding-bottom:20px!important;
  }
  .recent-work-grid{
    padding-left:7px!important;
    padding-right:7px!important;
    scroll-padding-left:7px!important;
    scroll-padding-right:7px!important;
  }
  .reviews-section{padding-top:34px!important}
}


/* v4.5.20 — Signature prominence, balanced gallery rail, linked map location */
.signature-simple .signature-badge{
  margin-bottom:26px!important;
  padding:15px 22px!important;
  gap:10px!important;
  border-radius:999px!important;
  font-size:clamp(.98rem,1.45vw,1.18rem)!important;
  letter-spacing:.13em!important;
  box-shadow:0 14px 36px rgba(33,199,238,.26)!important;
}
.signature-simple .signature-badge span{font-size:1.1em!important}
.signature-simple > .eyebrow{
  margin:0 auto 14px!important;
  color:#a9efff!important;
  font-size:clamp(1.38rem,2.2vw,1.9rem)!important;
  font-weight:800!important;
  letter-spacing:.2em!important;
  line-height:1!important;
  text-shadow:0 0 24px rgba(33,199,238,.14)!important;
}

.hero-card-location,
.hero-card-phone{
  display:block;
  width:100%;
  color:inherit;
  text-decoration:none;
  transition:transform .2s ease,color .2s ease;
}
.hero-card-location strong,
.hero-card-phone strong{color:#f5fbfc}
.hero-card-location span,
.hero-card-phone span{margin-top:2px;color:var(--muted);font-size:.82rem}
.hero-card-location small{
  display:block;
  margin-top:5px;
  color:var(--cyan);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.015em;
}
@media(hover:hover) and (pointer:fine){
  .hero-card-location:hover,.hero-card-location:focus-visible,
  .hero-card-phone:hover,.hero-card-phone:focus-visible{
    color:var(--ice);
    transform:translateX(2px);
    outline:none;
  }
  .hero-card-location:hover strong,.hero-card-location:focus-visible strong,
  .hero-card-phone:hover strong,.hero-card-phone:focus-visible strong{color:var(--ice)}
  .hero-card-location:hover small,.hero-card-location:focus-visible small{color:var(--ice)}
}

/* Put the full-bleed gallery inside a truly symmetric viewport gutter so the
   first and last frames have identical breathing room. */
@media(min-width:701px){
  .recent-work-carousel-shell{
    width:calc(100vw - 20px)!important;
    margin-left:calc(50% - 50vw + 10px)!important;
    margin-right:calc(50% - 50vw + 10px)!important;
  }
  .recent-work-grid{
    padding-left:0!important;
    padding-right:0!important;
    scroll-padding-left:0!important;
    scroll-padding-right:0!important;
  }
  #recentWorkCarouselPrev{left:14px!important}
  #recentWorkCarouselNext{right:14px!important}
}
@media(max-width:700px){
  .signature-simple .signature-badge{
    margin-bottom:22px!important;
    padding:13px 18px!important;
    font-size:1rem!important;
  }
  .signature-simple > .eyebrow{
    margin-bottom:12px!important;
    font-size:clamp(1.25rem,6vw,1.55rem)!important;
    letter-spacing:.17em!important;
  }
  .recent-work-carousel-shell{
    width:calc(100vw - 16px)!important;
    margin-left:calc(50% - 50vw + 8px)!important;
    margin-right:calc(50% - 50vw + 8px)!important;
  }
  .recent-work-grid{
    padding-left:0!important;
    padding-right:0!important;
    scroll-padding-left:0!important;
    scroll-padding-right:0!important;
  }
}


/* v4.5.21 — cleaner image-first gallery + cinematic hero polish */
.recent-work-copy,
.recent-work-lightbox-caption{display:none!important}
.recent-work-card::after{content:none!important}
.recent-work-card-media{background:#02090d!important}
.recent-work-card img,
.recent-work-card.is-featured img{
  image-rendering:auto;
  filter:none!important;
}
.recent-work-card:hover img,
.recent-work-card:focus-within img{filter:none!important}

/* Hero: stronger hierarchy, staged entrance, and cleaner proof points. */
.hero-copy{isolation:isolate}
.hero-copy::after{
  content:"";
  display:block;
  width:min(210px,34vw);
  height:1px;
  margin-top:28px;
  background:linear-gradient(90deg,rgba(157,235,255,.92),rgba(33,199,238,.18),transparent);
  transform-origin:left center;
  animation:heroAccentGrow .9s .72s cubic-bezier(.2,.8,.2,1) both;
}
.hero-copy .dealer-trust{
  position:relative;
  overflow:hidden!important;
  border:1px solid rgba(157,235,255,.22)!important;
  background:linear-gradient(115deg,rgba(4,20,25,.72),rgba(8,34,40,.54))!important;
  box-shadow:0 15px 44px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.035)!important;
  animation:heroSoftIn .58s .05s cubic-bezier(.2,.8,.2,1) both;
}
.hero-copy .dealer-trust::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 18%,rgba(157,235,255,.11) 48%,transparent 78%);
  transform:translateX(-120%);
  animation:heroTrustSheen 1.15s .7s cubic-bezier(.2,.8,.2,1) both;
  pointer-events:none;
}
.hero-title{
  display:flex;
  flex-direction:column;
  gap:.02em;
  max-width:940px!important;
  margin:0!important;
  text-wrap:balance;
}
.hero-title-line{display:block;overflow:hidden;will-change:transform,opacity}
.hero-title-line-primary{
  color:#f3fbfd!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  animation:heroTitleIn .72s .17s cubic-bezier(.16,.8,.24,1) both;
}
.hero-title-line-accent{
  background:linear-gradient(180deg,#effdff 0%,#7de8fb 55%,#21c7ee 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  text-shadow:0 16px 44px rgba(0,0,0,.18);
  animation:heroTitleIn .78s .28s cubic-bezier(.16,.8,.24,1) both;
}
.hero-text{
  animation:heroSoftIn .62s .43s cubic-bezier(.2,.8,.2,1) both;
}
.trust-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px!important;
  max-width:880px;
  margin-top:0!important;
}
.trust-row span{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:52px;
  padding:12px 14px;
  border:1px solid rgba(157,235,255,.13);
  background:linear-gradient(135deg,rgba(5,24,29,.48),rgba(3,15,19,.30));
  color:#dbe9ec!important;
  font-size:.82rem!important;
  font-weight:650;
  line-height:1.35;
  letter-spacing:.008em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  animation:heroProofIn .58s cubic-bezier(.2,.8,.2,1) both;
}
.trust-row span:nth-child(1){animation-delay:.52s}
.trust-row span:nth-child(2){animation-delay:.60s}
.trust-row span:nth-child(3){animation-delay:.68s}
.trust-row b{
  flex:0 0 24px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(33,199,238,.12);
  border:1px solid rgba(157,235,255,.24);
  color:#bff5ff;
  font-size:.72rem;
}

.hero-side{animation:heroCardIn .74s .38s cubic-bezier(.16,.8,.24,1) both}
.hero-card{
  padding:14px!important;
  border-color:rgba(157,235,255,.20)!important;
  background:linear-gradient(145deg,rgba(4,20,25,.74),rgba(4,17,21,.56))!important;
  box-shadow:0 26px 70px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.hero-card-section{
  position:relative;
  display:block;
  width:100%;
  padding:17px 18px!important;
  border:1px solid transparent;
  background:rgba(255,255,255,.015);
  color:inherit;
  text-decoration:none;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),background .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.hero-card-section + .hero-card-section{margin-top:8px}
.hero-card-section .eyebrow{
  margin:0 0 7px!important;
  font-size:.75rem!important;
  letter-spacing:.18em!important;
}
.hero-card-section strong{font-size:1.25rem!important;line-height:1.15}
.hero-card-section span{font-size:.84rem!important}
.hero-card-action-arrow{
  position:absolute;
  right:16px;
  top:50%;
  width:34px;
  height:34px;
  margin-top:-17px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(157,235,255,.18);
  background:rgba(33,199,238,.07);
  color:#bff5ff;
  font-style:normal;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),background .24s ease,border-color .24s ease;
}
.hero-card-location strong,.hero-card-location span,
.hero-card-phone strong,.hero-card-phone span{padding-right:46px}
@media(hover:hover) and (pointer:fine){
  .hero-card-location:hover,.hero-card-location:focus-visible,
  .hero-card-phone:hover,.hero-card-phone:focus-visible{
    transform:translateX(4px)!important;
    background:rgba(33,199,238,.065);
    border-color:rgba(157,235,255,.25);
    box-shadow:0 12px 28px rgba(0,0,0,.15);
    outline:none;
  }
  .hero-card-location:hover .hero-card-action-arrow,.hero-card-location:focus-visible .hero-card-action-arrow,
  .hero-card-phone:hover .hero-card-action-arrow,.hero-card-phone:focus-visible .hero-card-action-arrow{
    transform:translateX(3px);
    background:rgba(33,199,238,.15);
    border-color:rgba(157,235,255,.40);
  }
}

@keyframes heroSoftIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes heroTitleIn{from{opacity:0;transform:translateY(34px);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
@keyframes heroProofIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes heroCardIn{from{opacity:0;transform:translate3d(22px,-12px,0)}to{opacity:1;transform:translate3d(0,-28px,0)}}
@keyframes heroAccentGrow{from{opacity:0;transform:scaleX(.08)}to{opacity:1;transform:scaleX(1)}}
@keyframes heroTrustSheen{from{transform:translateX(-120%)}to{transform:translateX(120%)}}

@media(max-width:900px){
  .trust-row{grid-template-columns:1fr 1fr}
  @keyframes heroCardIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}
@media(max-width:600px){
  .hero{padding-top:98px!important}
  .hero-title{gap:.04em}
  .hero h1{font-size:clamp(3.45rem,17vw,5.05rem)!important;line-height:.88!important}
  .hero-text{margin:20px 0 22px!important}
  .trust-row{grid-template-columns:1fr!important;gap:8px!important}
  .trust-row span{min-height:46px;padding:10px 12px;font-size:.79rem!important}
  .hero-copy::after{margin-top:22px}
  .hero-card{padding:10px!important}
  .hero-card-section{padding:15px 15px!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-copy .dealer-trust,.hero-copy .dealer-trust::after,.hero-title-line,.hero-text,.trust-row span,.hero-side,.hero-copy::after{animation:none!important}
}


/* v4.5.22 — borderless partner proof + unified Build Your Detail hero cards */
/* The dealership/partner proof is intentionally typography-only: no card, pill, or border. */
.hero-copy .dealer-trust{
  position:relative;
  isolation:isolate;
  display:inline-flex!important;
  width:auto!important;
  max-width:min(100%,780px)!important;
  margin-bottom:24px!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  animation:dealerTrustLaunch 1.02s .08s cubic-bezier(.16,.84,.22,1) both!important;
}
.hero-copy .dealer-trust::before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:-1;
  left:-5%;
  top:50%;
  width:76%;
  height:58px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(62,213,244,.18) 0%,rgba(33,199,238,.075) 38%,rgba(33,199,238,0) 72%);
  filter:blur(15px);
  opacity:0;
  transform:translate3d(-18px,-50%,0) scaleX(.55);
  animation:dealerTrustAura 1.45s .24s cubic-bezier(.2,.8,.2,1) both;
  pointer-events:none;
}
.hero-copy .dealer-trust::after{
  content:"";
  position:absolute;
  left:-2%;
  bottom:-7px;
  width:min(300px,48%);
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(174,241,255,.88),rgba(33,199,238,.38),transparent);
  box-shadow:0 0 14px rgba(33,199,238,.28);
  transform-origin:left center;
  animation:dealerTrustLine 1.08s .42s cubic-bezier(.16,.84,.22,1) both;
  pointer-events:none;
}
.hero-copy .dealer-trust-track,
.hero-copy .dealer-trust-track > span{
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}
.hero-copy .dealer-trust-track > span{
  position:relative;
  padding:0!important;
  color:#e9f7fa!important;
  text-shadow:0 8px 24px rgba(0,0,0,.34),0 0 20px rgba(33,199,238,.08);
  animation:dealerTrustTextFocus .92s .12s cubic-bezier(.16,.84,.22,1) both;
}
.dealer-trust-star{
  display:inline-block;
  margin-right:7px;
  color:#bff6ff;
  font-style:normal;
  transform-origin:center;
  text-shadow:0 0 12px rgba(105,226,255,.72),0 0 28px rgba(33,199,238,.35);
  animation:dealerTrustStarPop .9s .30s cubic-bezier(.16,.9,.2,1) both,dealerTrustStarIdle 3.8s 1.25s ease-in-out infinite;
}
.hero-copy .dealer-trust strong{
  color:#fff!important;
  text-shadow:0 0 16px rgba(105,226,255,.28)!important;
}

/* The six hero utility/proof tiles now use the exact neutral card surface used by
   Build Your Detail choices instead of a separate hero-only gradient language. */
.hero-card{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.hero-card-section,
.trust-row span{
  border:1px solid var(--line)!important;
  border-radius:0!important;
  background:var(--worldclass-card-surface)!important;
  box-shadow:none!important;
}
.hero-card-section{
  overflow:hidden;
  padding:20px 18px!important;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease,box-shadow .22s ease,background-color .22s ease!important;
}
.hero-card-section + .hero-card-section{margin-top:12px!important}
.hero-card-section::after,
.trust-row span::after{
  content:"";
  position:absolute;
  inset:auto -26% -70% 30%;
  height:115%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(110deg,transparent,rgba(33,199,238,.11),transparent);
  transform:translate3d(-40%,0,0) rotate(-8deg);
  transition:opacity .2s ease,transform .38s cubic-bezier(.2,.8,.2,1);
}
.hero-card-section{animation:heroUtilityCardIn .58s cubic-bezier(.2,.8,.2,1) both}
.hero-card-section:nth-child(1){animation-delay:.48s}
.hero-card-section:nth-child(2){animation-delay:.57s}
.hero-card-section:nth-child(3){animation-delay:.66s}
.trust-row span{
  position:relative;
  overflow:hidden;
  padding:20px 18px!important;
  min-height:64px!important;
  animation:heroUtilityCardIn .58s cubic-bezier(.2,.8,.2,1) both!important;
}
.trust-row span:nth-child(1){animation-delay:.52s!important}
.trust-row span:nth-child(2){animation-delay:.60s!important}
.trust-row span:nth-child(3){animation-delay:.68s!important}
@media(hover:hover) and (pointer:fine){
  .hero-card-location:hover,.hero-card-location:focus-visible,
  .hero-card-phone:hover,.hero-card-phone:focus-visible{
    transform:translate3d(0,-3px,0)!important;
    border-color:rgba(33,199,238,.52)!important;
    background:var(--worldclass-card-surface)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.18),inset 0 0 0 1px rgba(33,199,238,.05)!important;
    outline:none;
  }
  .hero-card-location:hover::after,.hero-card-location:focus-visible::after,
  .hero-card-phone:hover::after,.hero-card-phone:focus-visible::after,
  .trust-row span:hover::after{
    opacity:1;
    transform:translate3d(28%,0,0) rotate(-8deg);
  }
}

@keyframes dealerTrustLaunch{
  0%{opacity:0;transform:translate3d(-18px,16px,0) scale(.975)}
  58%{opacity:1;transform:translate3d(3px,-1px,0) scale(1.01)}
  100%{opacity:1;transform:none}
}
@keyframes dealerTrustTextFocus{
  0%{opacity:0;filter:blur(7px);letter-spacing:.065em}
  62%{opacity:1;filter:blur(0);letter-spacing:.018em}
  100%{opacity:1;filter:none;letter-spacing:.025em}
}
@keyframes dealerTrustAura{
  0%{opacity:0;transform:translate3d(-18px,-50%,0) scaleX(.55)}
  44%{opacity:1}
  100%{opacity:.36;transform:translate3d(18px,-50%,0) scaleX(1.08)}
}
@keyframes dealerTrustLine{
  0%{opacity:0;transform:scaleX(.06)}
  45%{opacity:1}
  100%{opacity:.7;transform:scaleX(1)}
}
@keyframes dealerTrustStarPop{
  0%{opacity:0;transform:scale(.25) rotate(-70deg)}
  58%{opacity:1;transform:scale(1.32) rotate(10deg)}
  78%{transform:scale(.92) rotate(-4deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes dealerTrustStarIdle{
  0%,84%,100%{filter:brightness(1);transform:scale(1) rotate(0)}
  90%{filter:brightness(1.55);transform:scale(1.16) rotate(8deg)}
  95%{filter:brightness(1.08);transform:scale(.98) rotate(-3deg)}
}
@keyframes heroUtilityCardIn{
  from{opacity:0;transform:translate3d(0,14px,0)}
  to{opacity:1;transform:none}
}

@media(max-width:600px){
  .hero-copy .dealer-trust{margin-bottom:22px!important}
  .hero-copy .dealer-trust::after{width:min(220px,58%)}
  .hero-card-section{padding:18px 16px!important}
  .trust-row span{min-height:58px!important;padding:16px 15px!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-copy .dealer-trust,
  .hero-copy .dealer-trust::before,
  .hero-copy .dealer-trust::after,
  .hero-copy .dealer-trust-track > span,
  .dealer-trust-star,
  .hero-card-section,
  .trust-row span{animation:none!important}
  .hero-card-section::after,.trust-row span::after{display:none!important}
}

/* v4.5.23 — remove stray hero accent rules; keep the launch motion itself. */
.hero-copy .dealer-trust::after,
.hero-copy::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
  animation:none!important;
}

/* v4.5.24 — floating hero proof points (no boxes around Satisfaction / Mobile / Premium) */
.trust-row{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:18px 24px!important;
  max-width:900px;
  margin-top:0!important;
}
.trust-row span{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  gap:10px;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  color:#e3f2f5!important;
  font-size:.92rem!important;
  font-weight:650;
  line-height:1.45;
  letter-spacing:.01em;
  text-shadow:0 8px 24px rgba(0,0,0,.30),0 0 18px rgba(33,199,238,.06);
  animation:heroFloatingProofIn .58s cubic-bezier(.2,.8,.2,1) both!important;
}
.trust-row span::after{display:none!important;content:none!important}
.trust-row span:nth-child(1){animation-delay:.52s!important}
.trust-row span:nth-child(2){animation-delay:.60s!important}
.trust-row span:nth-child(3){animation-delay:.68s!important}
.trust-row b{
  flex:0 0 auto;
  width:auto;
  height:auto;
  display:inline-block;
  margin-top:-1px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--cyan)!important;
  font-size:1rem;
  line-height:1;
  text-shadow:0 0 12px rgba(33,199,238,.24);
}
@keyframes heroFloatingProofIn{
  from{opacity:0;transform:translate3d(0,12px,0)}
  to{opacity:1;transform:none}
}
@media(max-width:900px){
  .trust-row{gap:14px 18px!important}
}
@media(max-width:600px){
  .trust-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .trust-row span{
    font-size:.84rem!important;
    line-height:1.4;
  }
}
@media(prefers-reduced-motion:reduce){
  .trust-row span{animation:none!important}
}


/* v4.5.25 — simplified hero copy + Signature moved directly under hero */
.hero-copy{
  max-width:860px;
}
.hero-copy .hero-title{
  margin-bottom:0!important;
}
.signature-section.signature-hero-follow{
  padding-top:clamp(56px,7vw,92px)!important;
  padding-bottom:clamp(76px,8vw,110px)!important;
  background:linear-gradient(180deg,rgba(3,19,23,.10),rgba(4,21,26,.24))!important;
}
.signature-section.signature-hero-follow::before{
  opacity:.95;
}
.signature-section.signature-hero-follow .signature-simple{
  max-width:1080px;
}
.signature-section.signature-hero-follow .signature-lead{
  max-width:760px;
}
@media(max-width:700px){
  .signature-section.signature-hero-follow{
    padding-top:56px!important;
    padding-bottom:70px!important;
  }
}


/* v4.5.26 — dedicated Build Your Detail page */
.booking-page .site-header{
  position:sticky;
}
.booking-page-main{
  position:relative;
  z-index:2;
}
.booking-page-hero{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:clamp(92px,11vw,150px) clamp(24px,6vw,74px) clamp(34px,5vw,62px);
  text-align:left;
}
.booking-page-hero::after{
  content:"";
  display:block;
  width:min(420px,52vw);
  height:1px;
  margin-top:30px;
  background:linear-gradient(90deg,rgba(157,235,255,.75),rgba(33,199,238,.22),transparent);
}
.booking-page-backlink{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:24px;
  color:#b8d5da;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.02em;
  transition:color .2s ease,transform .2s ease;
}
.booking-page-backlink:hover,.booking-page-backlink:focus-visible{
  color:var(--ice);
  transform:translateX(-3px);
  outline:none;
}
.booking-page-hero .eyebrow{
  margin-bottom:10px;
}
.booking-page-hero h1{
  margin:0;
  max-width:900px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(4.5rem,10vw,9rem);
  line-height:.86;
  text-transform:uppercase;
  background:linear-gradient(180deg,#f4fdff 0%,#84eafc 58%,#21c7ee 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-wrap:balance;
}
.booking-page-hero>p:last-child{
  max-width:720px;
  margin:24px 0 0;
  color:#c7d8dc;
  font-size:1.05rem;
  line-height:1.7;
}
.booking-page .booking-section{
  position:relative;
  z-index:2;
  padding-top:clamp(34px,5vw,60px)!important;
  background:linear-gradient(180deg,rgba(3,19,23,.18),rgba(6,29,34,.58))!important;
}
.booking-page .booking-intro{
  top:112px;
}
.booking-page .booking-page-home{
  min-width:118px;
}
@media(max-width:760px){
  .booking-page-hero{
    padding:82px 18px 30px;
  }
  .booking-page-hero h1{
    font-size:clamp(4rem,18vw,6.1rem);
  }
  .booking-page-hero>p:last-child{
    font-size:.96rem;
  }
  .booking-page .booking-section{
    padding-top:34px!important;
  }
  .booking-page .booking-page-home{
    min-width:0;
  }
}


/* v4.5.28 — dedicated World Class Signature completion flow */
.signature-booking-page .booking-page-hero{
  padding-bottom:clamp(30px,4vw,52px);
}
.signature-flow-selection{
  width:min(100%,560px);
  margin:26px auto 0;
  padding:18px 20px;
  display:grid;
  gap:2px;
  border:1px solid rgba(157,235,255,.20);
  background:rgba(5,24,29,.58);
  box-shadow:0 18px 52px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.03);
  text-align:left;
  animation:heroUtilityCardIn .58s .22s cubic-bezier(.2,.8,.2,1) both;
}
.signature-flow-selection>span{
  color:var(--cyan);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.signature-flow-selection>strong{
  color:#f5fbfc;
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(1.6rem,3vw,2.15rem);
  line-height:1.05;
  text-transform:uppercase;
}
.signature-flow-selection>small{color:var(--muted);font-size:.86rem}
.signature-booking-page .wizard-progress{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.signature-booking-page .booking-intro h2{max-width:560px}
@media(max-width:760px){
  .signature-flow-selection{margin-top:20px;padding:16px 15px}
  .signature-booking-page .wizard-progress{grid-template-columns:repeat(4,minmax(68px,1fr))}
}


/* v4.5.30 — one-layer Signature checkout */
html:has(body.signature-booking-page),
body.signature-booking-page{
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden!important;
  overscroll-behavior:none;
  background:#020b0f;
}
body.signature-booking-page .worldclass-cinematic-stage{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
}
body.signature-booking-page .worldclass-cinematic-scene{
  opacity:0!important;
}
body.signature-booking-page .worldclass-cinematic-scene.scene-city{
  opacity:1!important;
}
body.signature-booking-page .worldclass-cinematic-scene.scene-city img{
  transform:scale(1.025)!important;
  object-position:center center!important;
}
body.signature-booking-page .worldclass-cinematic-scrim{
  background:linear-gradient(90deg,rgba(1,10,14,.76),rgba(2,15,20,.58) 50%,rgba(1,10,14,.72))!important;
}
body.signature-booking-page .worldclass-cinematic-vignette{
  opacity:.62!important;
}
.signature-booking-page .signature-onepage-main{
  position:relative;
  z-index:2;
  width:100%;
  height:100dvh;
  min-height:0;
  display:grid;
  place-items:center;
  padding:clamp(12px,2.1vw,30px)!important;
  overflow:hidden!important;
}
.signature-booking-page .signature-onepage-shell{
  position:relative;
  width:min(1180px,100%);
  height:min(760px,calc(100dvh - clamp(24px,4.2vw,60px)));
  min-height:0;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid rgba(112,220,245,.22);
  background:rgba(1,14,19,.56)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.signature-onepage-topbar{
  flex:0 0 auto;
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:11px 22px;
  border-bottom:1px solid rgba(112,220,245,.18);
  background:rgba(0,10,14,.38);
}
.signature-onepage-back{
  flex:0 0 auto;
  color:#a9c4ca;
  font-size:.78rem;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:color .2s ease,transform .2s ease;
}
.signature-onepage-back:hover,.signature-onepage-back:focus-visible{
  color:var(--ice);
  transform:translateX(-2px);
  outline:none;
}
.signature-onepage-estimates{
  display:flex;
  align-items:stretch;
  gap:8px;
  margin-left:auto;
}
.signature-onepage-estimate{
  min-width:138px;
  padding:8px 13px;
  display:grid;
  gap:1px;
  border-left:1px solid rgba(112,220,245,.18);
}
.signature-onepage-estimate span{
  color:#7f9aa1;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.signature-onepage-estimate strong{
  color:#effcff;
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.25rem;
  line-height:1.05;
}
.signature-booking-page .booking-card{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  display:flex;
  border:0!important;
  background:rgba(1,12,17,.18)!important;
  box-shadow:none!important;
}
.signature-booking-page .booking-wizard{
  width:100%;
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.signature-booking-page .wizard-progress-wrap{
  flex:0 0 auto;
  padding:0 22px!important;
  background:rgba(0,9,13,.30)!important;
}
.signature-booking-page .wizard-progress{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.signature-booking-page .wizard-stage{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(33,199,238,.35) transparent;
}
.signature-booking-page .wizard-stage::-webkit-scrollbar{width:7px}
.signature-booking-page .wizard-stage::-webkit-scrollbar-track{background:transparent}
.signature-booking-page .wizard-stage::-webkit-scrollbar-thumb{background:rgba(33,199,238,.28);border-radius:999px}
.signature-booking-page .wizard-step{
  min-height:100%;
  padding:clamp(24px,3vw,38px)!important;
  border-bottom:0!important;
  background:transparent!important;
}
.signature-booking-page .step-heading{margin-bottom:24px!important}
.signature-booking-page .step-heading h3{font-size:clamp(2rem,3.3vw,3.15rem)!important}
.signature-booking-page .form-grid input,
.signature-booking-page .form-grid select,
.signature-booking-page .form-grid textarea{
  background:rgba(0,13,18,.50)!important;
}
.signature-booking-page .wizard-controls{
  flex:0 0 auto;
  min-height:66px;
  padding:10px 22px!important;
  border-top:1px solid rgba(112,220,245,.16)!important;
  background:rgba(0,9,13,.46)!important;
}
.signature-booking-page .review-step .order-summary{
  background:rgba(0,13,18,.54)!important;
}
.signature-booking-page dialog{z-index:100}

@media(max-width:700px){
  .signature-booking-page .signature-onepage-main{padding:0!important}
  .signature-booking-page .signature-onepage-shell{
    width:100%;
    height:100dvh;
    border-left:0;
    border-right:0;
    border-top:0;
    border-bottom:0;
  }
  .signature-onepage-topbar{min-height:58px;padding:8px 12px;gap:10px}
  .signature-onepage-back{font-size:.68rem;letter-spacing:.04em}
  .signature-onepage-estimates{gap:0}
  .signature-onepage-estimate{min-width:88px;padding:6px 8px}
  .signature-onepage-estimate span{font-size:.52rem;letter-spacing:.08em}
  .signature-onepage-estimate strong{font-size:1.05rem}
  .signature-booking-page .wizard-progress-wrap{padding:0 8px!important}
  .signature-booking-page .wizard-progress{grid-template-columns:repeat(4,minmax(68px,1fr))!important}
  .signature-booking-page .wizard-step{padding:22px 16px!important}
  .signature-booking-page .wizard-controls{min-height:62px;padding:9px 12px!important}
}

/* v4.5.31 — focused Build Your Detail workspace */
/* Build Your Detail is a focused workspace, not a second marketing homepage. */
body.booking-page:not(.signature-booking-page) .site-header{
  height:76px;
  padding-top:7px;
  padding-bottom:7px;
}
body.booking-page:not(.signature-booking-page) .site-header nav{display:none!important}
body.booking-page:not(.signature-booking-page) .site-header .brand{margin-right:auto}
body.booking-page:not(.signature-booking-page) .booking-page-home{
  min-width:86px!important;
  padding:10px 18px!important;
}
.booking-page-main:not(.signature-onepage-main){
  width:100%;
}
body.booking-page:not(.signature-booking-page) .booking-page-hero{
  width:min(100%,1500px);
  max-width:none;
  margin:0 auto;
  padding:clamp(54px,6.5vw,88px) clamp(22px,5vw,72px) 24px;
}
body.booking-page:not(.signature-booking-page) .booking-page-hero::after{
  width:min(290px,42vw);
  margin-top:20px;
  opacity:.72;
}
body.booking-page:not(.signature-booking-page) .booking-page-hero .eyebrow{
  margin-bottom:8px;
}
body.booking-page:not(.signature-booking-page) .booking-page-hero h1{
  max-width:760px;
  font-size:clamp(4rem,7.2vw,7rem);
  line-height:.88;
}
body.booking-page:not(.signature-booking-page) .booking-page-hero>p:last-child{
  max-width:650px;
  margin-top:16px;
  font-size:1rem;
  line-height:1.6;
}
body.booking-page:not(.signature-booking-page) .booking-section{
  width:min(100%,1500px);
  margin:0 auto;
  padding:20px clamp(22px,5vw,72px) 92px!important;
  grid-template-columns:minmax(235px,.38fr) minmax(0,1.62fr)!important;
  gap:34px!important;
  align-items:start;
  background:linear-gradient(180deg,rgba(3,19,23,.08),rgba(6,29,34,.42))!important;
}
body.booking-page:not(.signature-booking-page) .booking-intro{
  top:96px;
}
body.booking-page:not(.signature-booking-page) .booking-intro h2{
  margin-top:20px;
  font-size:clamp(2.8rem,4vw,4.4rem)!important;
  line-height:.9;
}
body.booking-page:not(.signature-booking-page) .booking-static-estimate{
  margin-top:14px;
}
body.booking-page:not(.signature-booking-page) .guarantee{
  margin-top:22px;
  padding:18px;
}
body.booking-page:not(.signature-booking-page) .booking-card{
  align-self:start;
}
body.booking-page:not(.signature-booking-page) .step{
  padding:30px 30px;
}

@media(max-width:900px){
  body.booking-page:not(.signature-booking-page) .booking-section{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  body.booking-page:not(.signature-booking-page) .booking-intro{position:static}
}
@media(max-width:760px){
  body.booking-page:not(.signature-booking-page) .site-header{height:70px}
  body.booking-page:not(.signature-booking-page) .booking-page-hero{
    padding:38px 18px 18px;
  }
  body.booking-page:not(.signature-booking-page) .booking-page-hero h1{
    font-size:clamp(3.55rem,15vw,5rem);
  }
  body.booking-page:not(.signature-booking-page) .booking-page-hero>p:last-child{
    margin-top:12px;
    font-size:.93rem;
  }
  body.booking-page:not(.signature-booking-page) .booking-section{
    padding:14px 16px 78px!important;
  }
  body.booking-page:not(.signature-booking-page) .booking-intro h2{
    font-size:3rem!important;
  }
  body.booking-page:not(.signature-booking-page) .step{
    padding:24px 17px;
  }
}

/* v4.5.32 — source-quality gallery media */
/* Gallery media is rendered directly from the configured original source. The
   browser may resize it for layout, but the site does not recompress or replace
   the source file. Video support follows the same full-source rule. */
.recent-work-card video{
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:340px;
  object-fit:cover!important;
  object-position:center center!important;
  background:#02090d!important;
}
.recent-work-lightbox-figure video{
  display:block;
  width:auto;
  max-width:100%;
  max-height:76vh;
  margin:0 auto;
  border-radius:20px;
  border:1px solid rgba(157,235,255,.18);
  box-shadow:0 26px 80px rgba(0,0,0,.44);
  background:#02090d;
}
@media(min-width:701px){
  .recent-work-card video{min-height:clamp(470px,54vh,610px)!important}
}
@media(max-width:700px){
  .recent-work-lightbox-figure video{max-height:68vh}
}


/* v4.5.33 — gallery lightbox aspect-ratio hotfix */
/* Image and video layers are mutually exclusive. Explicit hidden/display rules
   prevent an empty browser video control bar from appearing beneath photos. */
.recent-work-lightbox-figure video[hidden],
.recent-work-lightbox-figure img[hidden]{
  display:none!important;
}
.recent-work-lightbox-figure{
  max-width:min(1500px,calc(100vw - 190px))!important;
  align-items:center;
  justify-content:center;
}
.recent-work-lightbox-figure img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:84vh!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  aspect-ratio:auto!important;
  transform:none!important;
}
.recent-work-lightbox-figure video{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:84vh!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
}
@media(max-width:700px){
  .recent-work-lightbox-figure{
    width:100%!important;
    max-width:calc(100vw - 32px)!important;
  }
  .recent-work-lightbox-figure img,
  .recent-work-lightbox-figure video{
    max-width:100%!important;
    max-height:76vh!important;
  }
}


/* v4.5.35 — stronger hero proof + Signature scroll reveal */
/* Slightly stronger dealership experience proof without turning it into a banner. */
.hero-copy .dealer-trust-track span{
  font-size:clamp(1.14rem,1.42vw,1.32rem)!important;
  line-height:1.4!important;
}
@media(max-width:700px){
  .hero-copy .dealer-trust-track span{
    font-size:1.02rem!important;
    line-height:1.45!important;
  }
}

/* Signature chapter enters as the visitor scrolls into it. The reveal is
   intentionally one-shot and staggered; hover/button transforms remain free. */
.signature-section.signature-reveal-ready .signature-simple > .signature-badge,
.signature-section.signature-reveal-ready .signature-simple > .eyebrow,
.signature-section.signature-reveal-ready .signature-simple > h2,
.signature-section.signature-reveal-ready .signature-simple > .signature-lead,
.signature-section.signature-reveal-ready .signature-simple > .signature-vehicle-options,
.signature-section.signature-reveal-ready .signature-simple > .signature-custom-route,
.signature-section.signature-reveal-ready .signature-simple > .signature-note{
  opacity:0;
  translate:0 24px;
  transition:opacity .7s ease,translate .82s cubic-bezier(.2,.8,.2,1);
}
.signature-section.signature-reveal-ready .signature-simple > h2{translate:0 30px}
.signature-section.signature-reveal-ready .signature-simple > .signature-badge{transition-delay:.02s}
.signature-section.signature-reveal-ready .signature-simple > .eyebrow{transition-delay:.09s}
.signature-section.signature-reveal-ready .signature-simple > h2{transition-delay:.15s}
.signature-section.signature-reveal-ready .signature-simple > .signature-lead{transition-delay:.22s}
.signature-section.signature-reveal-ready .signature-simple > .signature-vehicle-options{transition-delay:.3s}
.signature-section.signature-reveal-ready .signature-simple > .signature-custom-route{transition-delay:.38s}
.signature-section.signature-reveal-ready .signature-simple > .signature-note{transition-delay:.44s}
.signature-section.signature-reveal-ready.is-revealed .signature-simple > .signature-badge,
.signature-section.signature-reveal-ready.is-revealed .signature-simple > .eyebrow,
.signature-section.signature-reveal-ready.is-revealed .signature-simple > h2,
.signature-section.signature-reveal-ready.is-revealed .signature-simple > .signature-lead,
.signature-section.signature-reveal-ready.is-revealed .signature-simple > .signature-vehicle-options,
.signature-section.signature-reveal-ready.is-revealed .signature-simple > .signature-custom-route,
.signature-section.signature-reveal-ready.is-revealed .signature-simple > .signature-note{
  opacity:1;
  translate:0 0;
}
.signature-section.signature-reveal-ready.is-revealed::before{
  animation:signatureChapterGlowIn 1.35s .08s ease-out both;
}
@keyframes signatureChapterGlowIn{
  0%{opacity:.25}
  55%{opacity:1}
  100%{opacity:.95}
}
@media(prefers-reduced-motion:reduce){
  .signature-section.signature-reveal-ready .signature-simple > .signature-badge,
  .signature-section.signature-reveal-ready .signature-simple > .eyebrow,
  .signature-section.signature-reveal-ready .signature-simple > h2,
  .signature-section.signature-reveal-ready .signature-simple > .signature-lead,
  .signature-section.signature-reveal-ready .signature-simple > .signature-vehicle-options,
  .signature-section.signature-reveal-ready .signature-simple > .signature-custom-route,
  .signature-section.signature-reveal-ready .signature-simple > .signature-note{
    opacity:1!important;
    translate:none!important;
    transition:none!important;
  }
  .signature-section.signature-reveal-ready.is-revealed::before{animation:none!important}
}

/* v4.5.39 — gallery layout/hover intentionally inherits the exact website 5.0 rules above. */

/* v4.5.44 — seamless autoplay gallery videos */
.recent-work-card-media.is-video{
  cursor:default;
  pointer-events:none;
}
.recent-work-card-media.is-video video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border:0;
  outline:0;
  background:#02090d;
}


/* v4.5.45 — gallery media height parity + seamless before/after loop */
/* Videos are removed from grid track sizing and simply fill the exact card frame
   established by the photo cards. This keeps the original photo gallery sizing
   untouched and prevents portrait video dimensions from creating taller rows or gaps. */
.recent-work-card-media.is-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.recent-work-card-media.is-video video{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}


/* v4.5.46: homepage service hub + accessible booking heading */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.seo-services-section{position:relative;background:linear-gradient(180deg,rgba(3,15,19,.78),rgba(5,24,29,.9));border-top:1px solid rgba(33,199,238,.11);border-bottom:1px solid rgba(33,199,238,.11)}
.seo-services-heading{max-width:920px}
.seo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.seo-service-card{position:relative;display:flex;min-height:250px;flex-direction:column;padding:28px;border:1px solid rgba(33,199,238,.16);border-radius:12px;background:linear-gradient(155deg,rgba(10,39,45,.78),rgba(3,18,22,.82));box-shadow:0 16px 44px rgba(0,0,0,.16);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.seo-service-card:hover{transform:translateY(-3px);border-color:rgba(33,199,238,.42);background:linear-gradient(155deg,rgba(12,48,55,.88),rgba(4,22,27,.9))}
.seo-service-card>span{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.12em;color:var(--cyan)}
.seo-service-card>strong{margin-top:34px;font-family:'Barlow Condensed',sans-serif;font-size:1.75rem;line-height:1.02;text-transform:uppercase;color:var(--white)}
.seo-service-card>p{margin:14px 0 24px;color:var(--muted);font-size:.9rem}
.seo-service-card>em{margin-top:auto;color:var(--cyan);font-style:normal;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.seo-services-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:22px 24px;border:1px solid rgba(33,199,238,.13);border-radius:12px;background:rgba(0,0,0,.14)}
.seo-services-cta p{margin:0;color:#c6d7da}
@media(max-width:900px){.seo-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.seo-service-grid{grid-template-columns:1fr}.seo-service-card{min-height:220px;padding:24px}.seo-service-card>strong{margin-top:26px}.seo-services-cta{align-items:stretch;flex-direction:column}.seo-services-cta .button{width:100%}}
