@font-face{font-family:'OsCar Condensed';src:url('assets/display.ttf') format('truetype');font-weight:700;font-display:swap}
/* Full-bleed film with readable foreground copy. */
.video-opener{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:max(720px,calc(100svh - 90px));height:auto;max-height:none;padding:0 var(--pad);background:#191919;color:#fff;overflow:hidden}
.opener-stage{position:absolute;inset:0;margin:0;width:100%;height:100%;background:#252525;isolation:isolate;z-index:0}
.opener-stage:before{content:none}
.video-opener .opener-video{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:62% 50%;filter:none}
.opener-shade{position:absolute;inset:0;width:100%;height:100%;clip-path:none;z-index:-1;background:linear-gradient(90deg,#090c10d9 0%,#090c1080 43%,#090c1010 78%),linear-gradient(0deg,#090c10b3,transparent 30%,transparent 75%,#090c1040)}
.opener-copy{position:relative;z-index:1;display:block;width:100%;max-width:900px;min-width:0;align-self:auto;margin:0;padding:110px 0 150px;pointer-events:none}
.opener-message{min-width:0}.opener-kicker{display:flex;align-items:center;gap:10px;font:700 10px/1.6 var(--body);letter-spacing:.1em;color:#eee;margin:0 0 30px}.opener-kicker>i{display:block;width:7px;height:7px;background:var(--red);flex:0 0 7px}
.opener-copy h1{font:700 clamp(54px,6.5vw,102px)/1.08 var(--display);letter-spacing:-.06em;margin:0;width:fit-content;max-width:100%;transform:none;color:#fff;text-shadow:0 3px 24px #0003}
.opener-copy h1 em{display:inline;font:inherit;line-height:inherit;letter-spacing:inherit;color:#ff4942;margin:0}
.opener-actions{display:block;width:100%;padding:0;margin:30px 0 0;background:none;position:static;pointer-events:auto}.opener-actions>p{font:15px/1.8 var(--body);color:#eee;margin:0 0 28px;max-width:440px}.opener-cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px}
.opener-cta-row>.button{min-height:56px;padding:14px 24px;font-size:13px;gap:30px;background:var(--red);color:white;border:1px solid var(--red)}.opener-cta-row>.button:hover{background:#ce201d;border-color:#ce201d}.opener-discover{display:flex;align-items:center;gap:13px;font:600 12px/1.5 var(--body);color:white;min-height:46px;padding:8px 0;border-bottom:1px solid #ffffff66}.opener-discover svg{width:17px;height:17px}.opener-discover:hover{color:#ff7772}
.opener-location{display:none}
.opener-signature{z-index:1;position:absolute;right:var(--pad);left:auto;top:35px;bottom:auto;padding:0;background:none;color:#fff;font:700 clamp(65px,7vw,105px)/1 var(--display);letter-spacing:-.075em;white-space:nowrap}.opener-signature>span{color:var(--red)}
.opener-film-link{position:absolute;top:auto;right:var(--pad);bottom:125px;transform:none;display:flex;align-items:center;gap:14px;min-height:65px;padding:0;text-align:left;color:white}
.opener-film-link>span:first-child{display:grid;place-items:center;width:65px;height:65px;flex-shrink:0;border:1px solid #ffffff99;border-radius:50%;background:#14141444;backdrop-filter:blur(5px);padding:0;transition:background .2s,transform .2s}.opener-film-link>.mono{font:700 9px/1.7 var(--body);letter-spacing:.06em;text-shadow:0 1px 5px #000}.opener-film-link:hover>span:first-child{background:var(--red);transform:scale(1.06)}.opener-film-link:focus-visible{outline-color:white}
.opener-video-toggle{position:absolute;right:var(--pad);bottom:25px;display:flex;align-items:center;gap:10px;min-height:42px;padding:6px 12px;background:#17171799;color:#fff;font:600 9px/1.5 var(--body);letter-spacing:.04em;border:1px solid #ffffff44}.opener-video-toggle>span{display:grid;place-items:center;border:0;border-radius:0;width:21px;height:21px}.opener-video-toggle:hover>span{background:transparent}.opener-video-toggle:focus-visible{outline-color:white}
.opener-bottom{position:absolute;z-index:1;left:var(--pad);right:calc(var(--pad) + 190px);bottom:25px;display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0;gap:25px;border:0;color:#eee}.opener-scroll{display:flex;align-items:center;gap:15px;font-size:9px;color:#fff}.opener-scroll>span{font-size:24px;color:#ff4942}.opener-bottom>span{display:block;font-size:8px}
@media(max-width:1100px){.opener-bottom>span{display:none}.opener-film-link>.mono{display:none}.opener-copy{max-width:760px}}
@media(max-width:800px){
 .video-opener{min-height:calc(100svh - 140px);padding:28px var(--pad) 88px;height:auto;max-height:none;justify-content:flex-start;align-items:stretch}
 .opener-copy{display:block;margin:30px 0 0;padding:0;width:100%;max-width:560px}
 .opener-kicker{font-size:8px;letter-spacing:.035em;margin-bottom:16px;gap:8px}.opener-copy h1{font-size:clamp(34px,9.3vw,64px);line-height:1.12;letter-spacing:-.06em;margin:0;transform:none}.opener-copy h1 em{display:inline;font:inherit;letter-spacing:inherit;margin:0;color:#ff4942}
 .opener-actions{display:block;padding:0;margin:20px 0 0;background:none}.opener-actions>p{font-size:13px;line-height:1.7;margin:0 0 22px;max-width:370px}.opener-actions>p br{display:none}.opener-cta-row{display:grid;grid-template-columns:1fr;gap:5px;width:100%;max-width:370px}.opener-cta-row>.button{width:100%;justify-content:space-between;min-height:52px;padding:14px 20px;font-size:13px;gap:20px}.opener-discover{justify-content:center;font-size:12px;gap:12px;min-height:44px;padding:9px 0;border-bottom:0}
 .opener-stage{inset:0;margin:0;width:100%;height:100%}.video-opener .opener-video{inset:0;width:100%;height:100%;object-position:58% 50%}.opener-shade{inset:0;clip-path:none;background:linear-gradient(90deg,#090c10ad,#090c1040),linear-gradient(0deg,#090c10b3,transparent 30%,#090c1033 80%)}
 .opener-signature{position:relative;left:auto;right:auto;top:auto;bottom:auto;align-self:flex-start;font-size:clamp(52px,15vw,76px);padding:0;line-height:1;letter-spacing:-.075em}
 .opener-film-link{top:39px;right:var(--pad);bottom:auto;min-height:48px;transform:none}.opener-film-link>span:first-child{width:48px;height:48px}.opener-film-link>.mono{display:none}
 .opener-video-toggle{top:auto;bottom:25px;right:var(--pad);font-size:7px;padding:6px 8px;min-height:40px;gap:5px}.opener-video-toggle>span{width:18px;height:18px}
 .opener-bottom{left:var(--pad);right:calc(var(--pad) + 135px);bottom:25px;min-height:40px;gap:0;padding:0}.opener-scroll{font-size:7px;gap:8px;line-height:1.8}.opener-scroll>span{font-size:22px}.opener-bottom>span{display:none}
}
@media(max-width:370px){.opener-copy h1{font-size:34px}.opener-kicker{font-size:7px}.opener-actions>p{font-size:12px}.opener-cta-row{gap:7px 14px}.opener-discover{font-size:12px}.opener-scroll{font-size:6px}}
@media(prefers-reduced-motion:reduce){.opener-film-link>span:first-child{transition:none}.opener-film-link:hover>span:first-child{transform:none}}
.trust-strip{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:50px;padding:30px var(--pad);background:#faf9f5;border-bottom:1px solid #d5d0c7;color:#242424}
.trust-award{display:flex;gap:26px;align-items:center;min-width:0}.trust-award>img{display:block;flex:0 0 122px;width:122px;height:auto;max-height:180px;object-fit:contain;filter:none;mix-blend-mode:normal}
.trust-strip .eyebrow{font-size:9px;line-height:1.5;letter-spacing:.07em;color:#75716b;margin-bottom:9px}.trust-award h2{font:700 clamp(20px,1.7vw,27px)/1.2 var(--display);letter-spacing:-.04em}.trust-award p{font:12px/1.7 var(--body);color:#68645e;margin-top:12px}.trust-award p strong{color:#292929}
.trust-partner{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #d9d5cc;padding:20px 0 20px 45px;min-height:130px}.trust-partner .eyebrow{margin-bottom:19px}.trust-partner>img{display:block;width:min(100%,350px);height:auto;object-fit:contain;filter:none;mix-blend-mode:normal}

@media(max-width:1100px) and (min-width:801px){.trust-strip{gap:30px;padding-top:26px;padding-bottom:26px}.trust-award{gap:20px}.trust-award>img{width:104px;flex-basis:104px}.trust-partner{padding-left:28px}.trust-award h2{font-size:20px}}
@media(max-width:800px){.trust-strip{grid-template-columns:1fr;padding:28px var(--pad) 30px;gap:24px}.trust-award{gap:21px;align-items:center}.trust-award>img{flex-basis:100px;width:100px;max-height:none}.trust-strip .eyebrow{font-size:8px;margin-bottom:8px}.trust-award h2{font-size:20px;line-height:1.2}.trust-award p{font-size:11px;line-height:1.6;margin-top:10px}.trust-partner{border-left:0;border-top:1px solid #d9d5cc;padding:22px 0 0;min-height:0}.trust-partner .eyebrow{margin-bottom:14px}.trust-partner>img{width:min(100%,300px)}}
@media(max-width:370px){.trust-award{gap:15px}.trust-award>img{width:87px;flex-basis:87px}.trust-award h2{font-size:17px}.trust-award p{font-size:10px}.trust-strip .eyebrow{font-size:7px}}
/* Repeat proof where visitors read reviews and decide to get in touch. */
.trust-reminder{margin-top:30px;color:#242424}
.trust-reminder-award{display:flex;align-items:center;gap:20px}
.trust-reminder-award>img{display:block;width:88px;height:auto;flex:0 0 88px;object-fit:contain;filter:none;mix-blend-mode:normal}
.trust-reminder .eyebrow{display:block;font-size:8px;line-height:1.5;letter-spacing:.06em;color:#69645d;margin:0 0 8px}
.trust-reminder-award>div>strong{display:block;font:700 15px/1.4 var(--body);letter-spacing:-.02em}
.trust-reminder-award>div>span:last-child{display:block;margin-top:7px;font:12px/1.5 var(--body);color:#69645d}
.trust-reminder-contact{background:#faf9f5;padding:23px 26px;max-width:430px;border-left:4px solid #242424}
.trust-reminder-contact .trust-reminder-award>img{width:94px;flex-basis:94px}
.trust-reminder-partner{border-top:1px solid #d9d5cc;margin-top:20px;padding-top:20px}
.trust-reminder-partner>img{display:block;width:min(100%,280px);height:auto;object-fit:contain;filter:none;mix-blend-mode:normal}
@media(max-width:800px){.trust-reminder{margin-top:25px}.trust-reminder-contact{padding:20px;max-width:400px}.trust-reminder-award{gap:18px}.trust-reminder-contact .trust-reminder-award>img{width:88px;flex-basis:88px}}
@media(max-width:370px){.trust-reminder-contact{padding:16px}.trust-reminder-award{gap:14px}.trust-reminder-award>div>strong{font-size:13px}.trust-reminder .eyebrow{font-size:7px}.trust-reminder-award>div>span:last-child{font-size:11px}.trust-reminder-contact .trust-reminder-award>img{width:77px;flex-basis:77px}}


/* Vector media controls never rely on platform emoji or symbol fonts. */
.media-icon{display:block;width:22px;height:22px;flex:0 0 auto;fill:currentColor;pointer-events:none}
.opener-film-link>span:first-child,.reel-play{padding-left:0}
.opener-film-link .media-icon{width:23px;height:23px}
.opener-video-toggle .media-icon{width:16px;height:16px}
.film-round .media-icon{width:26px;height:26px}
.reel-play .media-icon{width:26px;height:26px}
.atmosphere-toggle,.social-motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.atmosphere-toggle .media-icon,.social-motion-toggle .media-icon{width:15px;height:15px}
@media(max-width:800px){.opener-film-link .media-icon{width:20px;height:20px}.film-round .media-icon{width:23px;height:23px}.reel-play .media-icon{width:23px;height:23px}}


/* Consistent vector arrows, independent of operating-system emoji fonts. */
.direction-icon{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.15em;flex-shrink:0;pointer-events:none}
.engine-detail-nav button{display:grid;place-items:center}.engine-detail-nav .direction-icon{width:22px;height:22px}
.engine-reset .direction-icon{width:15px;height:15px}.engine-range-labels .direction-icon{width:14px;height:14px}
.service-cross .direction-icon{display:block;width:1em;height:1em}
.garage-transition-bottom>a{display:grid;place-items:center}.garage-transition-bottom>a .direction-icon{width:25px;height:25px}
.breadcrumb .direction-icon,.back-button .direction-icon{width:16px;height:16px;margin-right:5px}
.opener-scroll>span{display:flex;align-items:center}.opener-scroll .direction-icon{width:22px;height:22px}

/* Keep both contact actions aligned with the copy on phones, with a compact short-screen layout. */
@media(max-width:500px){.opener-cta-row{max-width:none}}
@media(max-width:800px) and (max-height:700px){
 .video-opener{padding-top:22px;padding-bottom:76px}
 .opener-signature{font-size:46px}
 .opener-copy{margin-top:20px}
 .opener-kicker{margin-bottom:12px}
 .opener-copy h1{font-size:32px}
 .opener-actions{margin-top:12px}
 .opener-actions>p{font-size:12px;line-height:1.6;margin-bottom:12px}
 .opener-cta-row{gap:0}
 .opener-cta-row>.button{min-height:48px;padding:12px 18px}
 .opener-discover{min-height:40px}
 .opener-video-toggle,.opener-bottom{bottom:18px}
}

/* Mobile opener: content sets the height, including on tall phones. */
@media(max-width:800px){
 .video-opener{min-height:0;padding:24px var(--pad) 82px}
 .opener-signature{font-size:clamp(50px,14vw,66px)}
 .opener-copy{margin-top:24px}
 .opener-kicker{margin-bottom:13px}
 .opener-copy h1{font-size:clamp(32px,9.1vw,58px);line-height:1.1}
 .opener-actions{margin-top:17px}
 .opener-actions>p{line-height:1.65;margin-bottom:18px}
 .opener-cta-row{gap:2px}
 .video-opener .opener-video{object-position:58% 45%}
 .opener-video-toggle,.opener-bottom{bottom:18px}
}
@media(max-width:800px) and (max-height:700px){
 .video-opener{padding-top:20px;padding-bottom:72px}
 .opener-signature{font-size:46px}
 .opener-copy{margin-top:20px}
 .opener-actions{margin-top:14px}
 .opener-actions>p{margin-bottom:14px}
}

/* Google reviews sit alongside the existing contact-section trust logos. */
.trust-reminder-google{display:flex;align-items:center;gap:16px;border-top:1px solid #d9d5cc;margin-top:20px;padding-top:20px;min-height:72px;color:#242424;text-decoration:none}
.trust-reminder-google>img{display:block;width:80px;height:25px;flex:0 0 80px;object-fit:contain;filter:none;mix-blend-mode:normal}
.trust-reminder-google>span{display:block;flex:1;min-width:0}
.trust-reminder-google strong{display:block;font:700 13px/1.4 var(--body)}
.trust-reminder-google>span>span{display:block;margin-top:4px;font:11px/1.5 var(--body);color:#69645d}
.trust-reminder-google>svg{flex:0 0 18px;width:18px;height:18px}
.trust-reminder-google:hover strong{color:#b5211e}
.trust-reminder-google:focus-visible{outline:2px solid #242424;outline-offset:5px}
@media(max-width:370px){.trust-reminder-google{gap:12px}.trust-reminder-google>img{width:70px;flex-basis:70px;height:22px}.trust-reminder-google strong{font-size:12px}}

.trust-reminder-google .google-rating{font-size:24px;line-height:1.1;letter-spacing:-.035em}
.trust-reminder-google .google-rating small{font-size:12px;font-weight:400;letter-spacing:0;color:#69645d}
