

/* P0: official brand, right-aligned navigation and a mobile disclosure menu. */
.local-site-nav { position:fixed; z-index:35; inset:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:18px max(24px,4vw); padding-top:calc(18px + env(safe-area-inset-top,0px)); background:#fffdf8; border-bottom:1px solid #b7863533; box-shadow:0 4px 24px #3216180a; }
.local-brand { display:flex; flex:none; align-items:center; gap:12px; color:#282320; text-decoration:none; }
.local-brand-block { flex:none; min-width:0; }
.local-brand-phones { display:flex; align-items:center; gap:10px; margin-left:61px; color:#8a6328; }
.local-brand-phones a { display:inline-flex; align-items:center; min-height:28px; color:inherit; background:transparent; font-family:Inter,sans-serif; font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:.03em; text-decoration:none; white-space:nowrap; }
.local-brand-phones a:hover { color:#481923; text-decoration:underline; text-underline-offset:4px; }
.local-brand-phones>span { color:#b7a58a; font-size:12px; }
.local-brand-mark { display:block; width:49px; height:48px; overflow:hidden; flex:none; }
.local-brand-mark img { display:block; width:auto; max-width:none; height:48px; mix-blend-mode:multiply; }
.local-brand-name { display:grid; gap:6px; }
.local-brand-name strong { font-size:18px; letter-spacing:.035em; font-weight:600; line-height:1.4; white-space:nowrap; }
.local-brand-name>span { font-size:9px; letter-spacing:.025em; color:#74664e; }
.local-nav-links { margin-left:auto; display:flex; justify-content:flex-end; flex-wrap:wrap; align-items:center; gap:4px 22px; max-width:800px; }
.local-nav-links a { display:inline-flex; align-items:center; min-height:28px; text-decoration:none; color:#4e4844; font-size:12px; letter-spacing:.04em; white-space:nowrap; }
.local-nav-links a:hover { color:#94660c; }
.local-nav-toggle { display:none; }
.local-site-nav a:focus-visible,.local-site-nav button:focus-visible,.local-payment-link:focus-visible { outline:2px solid #94660c; outline-offset:5px; }

/* Keep the full source frame: the windscreen, flag, plate and wheels are not cropped. */
.motion-template-hero { isolation:isolate; position:relative; width:100%; min-height:100svh; padding:calc(var(--site-nav-height) + 28px) 0 36px; overflow:hidden; background:#000; color:#fff; font-family:Inter,sans-serif; scroll-margin-top:var(--site-nav-height); }
.motion-template-wordmark { position:relative; z-index:1; width:100%; padding:0 24px; pointer-events:none; text-align:center; font-size:clamp(76px,9vw,132px); font-weight:600; letter-spacing:.16em; text-indent:.16em; line-height:1.12; white-space:nowrap; color:transparent; background:linear-gradient(180deg,#f5e8c6 10%,#c39b61 100%); -webkit-background-clip:text; background-clip:text; }
.motion-template-ambient { position:absolute; z-index:0; inset:0; width:100%; height:100%; pointer-events:none; }
.motion-template-stage { position:relative; z-index:0; width:min(92%,1240px); margin:-30px auto -26px; aspect-ratio:2562/1440; }
/* Only soften the outer background pixels into the matching live edge colours. */
.motion-template-video { display:block; width:100%; height:100%; object-fit:contain; mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(180deg,#000 94%,transparent); mask-composite:intersect; }
.motion-template-content { position:relative; z-index:2; max-width:1440px; margin:0 auto; padding:0 112px 0 64px; }
.motion-template-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; }
.motion-template-introduction { max-width:430px; }
.motion-template-copy { margin:0; color:#fff8ef; font-size:16px; line-height:1.6; }
.motion-template-note { margin:10px 0 0; color:#fff8ef; font-size:12px; line-height:1.6; }
.motion-template-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:46px; padding:0 22px; margin-top:18px; border:1px solid #e2c18c; border-radius:4px; background:#edd6ac; color:#431522; text-decoration:none; font-size:14px; font-weight:600; transition:transform .18s; }
.motion-template-cta:hover { transform:translateY(-2px); }
.motion-template-outro { max-width:440px; text-align:right; }
.motion-template-tagline { color:#fff8ef; font-family:'Bebas Neue',Impact,sans-serif; font-size:clamp(38px,4vw,58px); font-weight:400; letter-spacing:.015em; line-height:1; text-wrap:balance; margin:0; }
.motion-template-caption { margin:12px 0 0; font-size:12px; letter-spacing:.12em; color:#fff8ef; }
.motion-template-copy,.motion-template-note,.motion-template-caption { text-shadow:0 1px 2px #000b,0 0 6px #0006; }
.motion-template-hero a:focus-visible,.motion-template-hero button:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.motion-template-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.local-payment-link { appearance:none; padding:0 0 6px; border:0; border-bottom:1px solid #94660c; border-radius:0; background:none; font:inherit; font-size:.72em; letter-spacing:0; color:#78510a; cursor:pointer; line-height:1.3; }
.local-payment-link:hover { color:#431522; }

@media(min-width:1100px) {
  .motion-template-stage { width:min(92%,1240px,max(880px,calc((100svh - 450px) * 1.779))); }
}
@media(max-width:1099px) {
  .local-site-nav { gap:12px; padding:14px 24px; padding-top:calc(14px + env(safe-area-inset-top,0px)); }
  .local-nav-toggle { display:inline-flex; align-items:center; justify-content:center; gap:10px; flex:none; min-height:44px; padding:0 12px; background:transparent; border:1px solid #b7863555; border-radius:4px; font-size:13px; color:#483920; cursor:pointer; }
  .local-nav-toggle span:last-child { font-size:21px; line-height:1; }
  .local-nav-links { display:none; position:absolute; top:100%; left:0; right:0; max-width:none; max-height:calc(100svh - var(--site-nav-height)); overflow:auto; margin:0; padding:16px 24px 24px; background:#fffdf8; border-bottom:1px solid #b7863555; box-shadow:0 20px 28px #32161820; }
  .local-nav-links.is-open { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
  .local-nav-links a { min-height:46px; border-bottom:1px solid #b7863522; font-size:14px; }
  .motion-template-hero { min-height:0; padding-top:calc(var(--site-nav-height) + 32px); }
  .motion-template-stage { width:94%; margin:-10px auto 8px; }
  .motion-template-content { padding:0 96px 0 32px; }
  .motion-template-bottom { gap:32px; }
  .motion-template-introduction { max-width:380px; }
  .motion-template-copy { font-size:14px; }
  .motion-template-tagline { font-size:40px; }
}
@media(max-width:639px) {
  .local-site-nav { padding:12px 14px; padding-top:calc(12px + env(safe-area-inset-top,0px)); gap:8px; }
  .local-brand { gap:7px; min-width:0; }
  .local-brand-phones { margin-left:43px; gap:8px; }
  .local-brand-phones a { min-height:44px; font-size:12px; letter-spacing:0; }
  .local-brand-mark { width:36px; height:35px; }
  .local-brand-mark img { height:35px; }
  .local-brand-name strong { font-size:clamp(11px,3.2vw,17px); letter-spacing:0; }
  .local-brand-name>span { display:none; }
  .local-nav-toggle { padding:0 8px; font-size:11px; gap:5px; }
  .local-nav-toggle span:last-child { font-size:18px; }
  .local-nav-links { padding:8px 20px 20px; }
  .local-nav-links.is-open { gap:0 16px; }
  .motion-template-hero { padding-top:calc(var(--site-nav-height) + 30px); padding-bottom:38px; }
  .motion-template-wordmark { padding:0 14px; font-size:clamp(52px,13.5vw,85px); letter-spacing:.1em; text-indent:.1em; }
  .motion-template-stage { width:100%; margin:10px auto 18px; }
  .motion-template-content { padding:0 82px 0 22px; }
  .motion-template-bottom { flex-direction:column; align-items:stretch; gap:28px; }
  .motion-template-outro { text-align:left; }
  .motion-template-tagline { font-size:38px; max-width:320px; }
  .motion-template-copy { font-size:14px; }
  .motion-template-note,.motion-template-caption { font-size:11px; line-height:1.6; }
  .motion-template-cta { margin-top:16px; min-height:44px; }
  /* Reserve the floating tools' right rail so they never cover the vehicle. */
  .site-shell:has(.motion-template-hero) .floating-tools { top:auto; bottom:22px; transform:none; right:12px; }
}
@media(prefers-reduced-motion:reduce) { .motion-template-hero * { transition:none!important; } .motion-template-stage { margin-bottom:18px; } }
