/* The poster is usable before JS, without motion, and on constrained connections. */
.repair-journey{position:relative;color:#fff;background:#152d3d;--journey-height:100svh}
.journey-stage{height:var(--journey-height);min-height:700px;position:relative;overflow:hidden;isolation:isolate}
.journey-media{position:absolute;inset:84px 0 0;z-index:-3;background:#152d3d}
.journey-layer{position:absolute;inset:0;opacity:0;overflow:hidden}
.journey-layer:first-child{opacity:1}
.journey-poster,.journey-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.journey-video{opacity:0}.journey-video.is-painted{opacity:1}
.journey-shade{position:absolute;inset:84px 0 0;z-index:-1;background:linear-gradient(90deg,#091925e8,#091925b8 30%,#09192518 75%)}
.journey-copy{position:absolute;top:50%;left:6vw;transform:translateY(-42%);max-width:38rem;width:43vw}
.journey-copy[hidden]{display:none}
.journey-copy h1,.journey-copy h2{font-size:clamp(2.8rem,5.2vw,5.6rem);max-width:13ch;line-height:1.02;font-weight:600;letter-spacing:-.055em;margin:0;text-wrap:balance;color:#fff}
.journey-copy>p:not(.hero-location):not(.journey-guarantee){font-size:1.08rem;line-height:1.65;max-width:43ch;color:#ecf3f8}
.journey-copy .hero-lead{font-weight:600;font-size:1.3rem!important;margin:1.5rem 0 .6rem}
.journey-copy>.primary-action{margin-top:1rem}
.journey-guarantee{font-size:.73rem;color:#d5e5ef;line-height:1.6;max-width:40ch;margin-top:1.5rem}
.journey-bottom{position:absolute;bottom:2rem;left:6vw;right:6vw;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.journey-hint{font-size:.8rem;margin:0;display:flex;gap:1rem}.journey-hint span{font-size:1.2rem}
.journey-chapters{display:flex;gap:.35rem}.journey-chapters[hidden]{display:none}
.journey-chapters button{font:inherit;font-size:.78rem;cursor:pointer;background:#122532d9;color:#fff;border:1px solid #ffffff45;border-radius:4px;min-height:44px;padding:.6rem .85rem}
.journey-chapters button[aria-current]{background:#fff;color:#152d3d;border-color:#fff}.journey-chapters span{margin-left:.3rem}
.journey-skip{font-size:.78rem;color:white;text-underline-offset:4px}
.journey-caption{position:absolute;right:1rem;top:96px;background:#122532b8;padding:.25rem .5rem;font-size:.6rem}
.journey-progress{position:absolute;bottom:0;left:0;height:3px;width:100%;background:#86cffa;transform:scaleX(var(--journey-progress,0));transform-origin:left}
.repair-journey[data-hero-mode="static"] .journey-progress{display:none}
.repair-journey.is-enhanced{height:calc(var(--journey-height)*5.4)}
.is-enhanced .journey-stage{position:sticky;top:0;min-height:0}
@media(max-width:900px){.journey-copy{width:50vw}.journey-chapters span{display:none}.journey-hint{max-width:15ch}}
@media(max-width:700px){
 .journey-stage,.is-enhanced .journey-stage{height:100svh;min-height:640px;display:grid;grid-template-rows:70px auto 1fr auto;align-content:start}
 .journey-media{position:relative;inset:auto;grid-row:2;width:100%;height:auto;aspect-ratio:16/9;min-height:0;z-index:0}
 .journey-poster,.journey-video{object-fit:contain;object-position:center}
 .journey-shade{display:none}
 .journey-copy{position:relative;grid-row:3;left:auto;top:auto;transform:none;width:auto;max-width:none;align-self:start;padding:22px 5vw 12px}
 .journey-copy h1,.journey-copy h2{font-size:clamp(1.85rem,7.8vw,2.5rem);max-width:19ch;line-height:1.06}
 .journey-copy .hero-location{margin:0 0 10px;font-size:.68rem}
 .journey-copy>p:not(.hero-location):not(.journey-guarantee){font-size:.94rem;line-height:1.5;margin:12px 0}
 .journey-copy .hero-lead{font-size:1rem!important;margin:12px 0 6px}
 .journey-copy .hero-actions{gap:8px 16px;margin-top:14px}
 .journey-copy>.primary-action{margin-top:8px}
 .journey-copy .primary-action{min-height:44px;padding:12px 16px}
 .journey-guarantee{margin:10px 0 0;font-size:.65rem}
 .journey-bottom{position:relative;grid-row:4;left:auto;right:auto;bottom:auto;padding:8px 5vw max(14px,env(safe-area-inset-bottom))}
 .journey-hint{font-size:.68rem;max-width:none}
}
@media(max-height:740px) and (max-width:700px){
 .journey-copy{padding-top:16px}.journey-copy h1,.journey-copy h2{font-size:1.85rem}
 .journey-guarantee,.journey-copy .hero-call{display:none}
 .journey-copy>p:not(.hero-location):not(.journey-guarantee){font-size:.87rem;margin:10px 0}
}
@media(prefers-reduced-motion:reduce){.repair-journey.is-enhanced{height:auto}.is-enhanced .journey-stage{position:relative}.journey-progress,.journey-video{display:none}}

/* Immersive mobile hero: animation fills the screen behind readable copy. */
@media(max-width:700px){
 .journey-stage,.is-enhanced .journey-stage{display:block;min-height:640px}
 .journey-media{position:absolute;inset:70px 0 0;height:auto;width:auto;aspect-ratio:auto;z-index:-3}
 .journey-poster,.journey-video{object-fit:cover;object-position:53% center;filter:blur(1px);transform:scale(1.015)}
 .journey-shade{display:block;position:absolute;inset:70px 0 0;z-index:-1;background:linear-gradient(180deg,rgba(9,25,37,.08) 0%,rgba(9,25,37,.12) 22%,rgba(9,25,37,.68) 48%,rgba(9,25,37,.92) 100%)}
 .journey-copy{position:absolute;left:6vw;right:6vw;top:auto;bottom:76px;transform:none;width:auto;padding:0;max-width:36rem;text-shadow:0 1px 12px #09192566}
 .journey-copy h1,.journey-copy h2{font-size:clamp(2.25rem,9vw,2.9rem);line-height:1.04;max-width:17ch}
 .journey-copy .hero-location{font-size:.68rem;letter-spacing:.08em}
 .journey-copy>p:not(.hero-location):not(.journey-guarantee){color:#f1f5f8;font-size:.95rem;line-height:1.5}
 .journey-bottom{position:absolute;left:6vw;right:6vw;bottom:20px;padding:0}
 .journey-hint{color:#e2edf4}
 .journey-guarantee{color:#dce6ee}
}
@media(max-height:740px) and (max-width:700px){
 .journey-copy{bottom:66px}.journey-copy h1,.journey-copy h2{font-size:2.15rem}
 .journey-copy>p:not(.hero-location):not(.journey-guarantee){font-size:.88rem;margin:10px 0}
}

@media(max-width:700px){
 .uses-stills .journey-poster{filter:none;transform:none;object-position:53% center}
 .uses-stills .journey-layer{will-change:opacity,transform}
 .repair-journey.is-enhanced.uses-stills{height:calc(var(--journey-height)*5.4)}
}

@media(max-width:700px){.journey-poster{filter:none;transform:none}.journey-progress{display:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mobile-hero-picture{display:none}.desktop-hero-picture{display:block}
@media(max-width:700px){.mobile-hero-picture{display:block}.desktop-hero-picture{display:none}}

/* Leave a full viewport of pinned runway after the final animation target. */
.hero-warranty{position:absolute;right:4vw;bottom:2rem;margin:0;padding:1rem 1.3rem;background:#152d3deb;border:1px solid #9dd8f56b;border-radius:8px;box-shadow:0 8px 28px #0002;max-width:18rem;line-height:1.4}
.hero-warranty strong{display:block;color:#bde6ff;font-size:1.25rem}.hero-warranty span{display:block;font-size:.75rem;color:#e3edf3;margin-top:.25rem}
.credentials-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#eaf1f5;color:#152d3d;padding:1.5rem 6vw 0}.credentials-heading p{margin:0;font-weight:650}.credentials-heading span{font-size:.75rem;white-space:nowrap}
.credentials-carousel{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:0;padding:1.4rem 6vw 1.8rem!important;background:#eaf1f5;color:#152d3d}
.credentials-carousel>div{flex:0 0 27%;min-width:245px;scroll-snap-align:start;padding:1rem 1.5rem!important;border-right:1px solid #152d3d33}.credentials-carousel>div:first-child{padding-left:0!important}.credentials-carousel p{border:0!important}.credentials-carousel span{max-width:29ch;line-height:1.5}
@media(max-width:700px){.hero-warranty{right:6vw;bottom:3.7rem;padding:.7rem 1rem;max-width:88vw}.hero-warranty strong{font-size:1.05rem}.hero-warranty span{font-size:.7rem}.journey-copy{bottom:180px}.credentials-heading{padding-top:1.2rem;align-items:start}.credentials-heading p{max-width:18ch}.credentials-carousel>div{flex-basis:82%;min-width:245px}.journey-bottom{bottom:18px}}
@media(max-height:740px) and (max-width:700px){.journey-copy{bottom:155px}.hero-warranty{bottom:3.4rem}}

.credentials-controls{display:flex;align-items:center;gap:.5rem}.credentials-controls button{width:44px;height:44px;border:1px solid #152d3d66;background:transparent;border-radius:4px;color:#152d3d;cursor:pointer;font:inherit}.credentials-controls button:disabled{opacity:.35;cursor:default}@media(max-width:700px){.credentials-controls>span{display:none}}

/* A typographic warranty signature, using the same type as the hero. */
.hero-warranty{background:none;border:0;border-radius:0;box-shadow:none;padding:0 0 0 1.25rem;border-left:1px solid #ffffff80;min-width:190px;text-shadow:0 2px 14px #09192580}
.hero-warranty strong{display:flex;align-items:center;gap:.65rem;font-weight:500;color:#fff;line-height:1}
.hero-warranty .warranty-years{font-size:4.5rem;line-height:.9;letter-spacing:-.07em;margin:0;color:#fff;font-weight:500}
.hero-warranty .warranty-title{font-size:1.05rem;line-height:1.2;letter-spacing:-.02em;margin:0;color:#fff}
.hero-warranty .warranty-coverage{font-size:.7rem;margin:.65rem 0 0;color:#e3edf3;letter-spacing:.02em}
main .credentials-carousel{display:block!important;overflow:hidden;padding:1.5rem 0!important;background:#fff}
main .credentials-carousel>.credentials-track{display:flex;gap:0;min-width:0;padding:0!important;border:0;max-width:none;width:max-content}
.credentials-group{display:flex;flex:none;align-items:stretch}
.credentials-group>div{display:flex;align-items:center;gap:1rem;width:330px;flex:none;padding:1rem 2rem;border-right:1px solid #152d3d22;box-sizing:border-box}
.credentials-group p{margin:0}.credentials-group strong,.credentials-group span{display:block}
.is-running .credentials-track{animation:credentials-drift 32s linear infinite;will-change:transform}
.credentials-carousel:hover .credentials-track,.credentials-carousel:focus-within .credentials-track,.credentials-carousel.is-offscreen .credentials-track{animation-play-state:paused}
@keyframes credentials-drift{to{transform:translateX(-50%)}}
#quote-status:empty{display:none}
@media(max-width:700px){.hero-warranty{min-width:170px;padding-left:1rem}.hero-warranty .warranty-years{font-size:3.4rem}.hero-warranty .warranty-title{font-size:.95rem}.hero-warranty .warranty-coverage{font-size:.65rem}.credentials-group>div{width:300px}}
@media(prefers-reduced-motion:reduce){main .credentials-carousel{overflow-x:auto}.credentials-track{animation:none!important}}

.credentials-carousel.is-paused .credentials-track{animation-play-state:paused}.credentials-toggle{font:inherit;font-size:.75rem;color:inherit;background:none;border:0;border-bottom:1px solid #152d3d55;padding:.5rem;cursor:pointer}@media(prefers-reduced-motion:reduce){.credentials-toggle{display:none}}

@media(prefers-reduced-motion:reduce){.credentials-group[aria-hidden="true"]{display:none}}

/* Keep both marquee copies in one horizontal row at every breakpoint. */
main .credentials-carousel>.credentials-track{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:0!important}
main .credentials-track>.credentials-group{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;flex:0 0 auto!important;gap:0!important}
.credentials-group>div{flex-direction:row!important;flex-wrap:nowrap!important}
.credentials-carousel .credentials-toggle:focus-visible{position:absolute;width:auto;height:auto;clip:auto;overflow:visible;padding:.6rem;background:#fff;z-index:2;left:1rem}
@media(max-width:700px){
 .journey-copy .hero-actions,.journey-copy>p:not(.hero-location){display:none}
 .journey-copy{bottom:165px}
 .hero-warranty{bottom:2rem}
 main .credentials-carousel{padding:.7rem 0!important}
 .credentials-group>div{width:300px;padding:.7rem 1.3rem}
 .credentials-group .value-icon{width:2.4rem;height:2.4rem}
 main .credentials-carousel strong{font-size:.85rem}
 main .credentials-carousel span{font-size:.75rem;line-height:1.4}
}

@media(max-width:700px){.hero-warranty{left:6vw;right:auto}}

/* Blend the supplied dark logo background into the navigation and footer. */
