/* The job and next step lead; the garage remains an optional visual explanation. */
.page-home .story-continuation::before{opacity:.14;height:min(640px,100%)}
.garage-story:not(.page-home) .story-continuation::before{opacity:.08}
.garage-story .site-masthead .header-book,.garage-story .site-masthead .mobile-book,.garage-story .selected-work-book,.garage-story .contact-book,.wc-page .wc-book{font-family:Onest,Arial,sans-serif;font-weight:550;letter-spacing:-.01em}
.garage-story .site-masthead .contextual-book{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 18px;min-height:54px;padding:8px 18px;text-align:left}
.contextual-book>.button-label{grid-column:1;grid-row:1;font-size:14px;line-height:1.25}
.contextual-book>.header-book-detail{grid-column:1;grid-row:2;font-size:12px;line-height:1.3;font-weight:400;letter-spacing:0}
.contextual-book>span:last-child{grid-column:2;grid-row:1/3}
.booking-choice h2{font-family:Onest,Arial,sans-serif;font-size:30px;font-weight:500;letter-spacing:-.025em}
.booking-choice-row strong{font-family:Onest,Arial,sans-serif;font-size:19px;font-weight:550}
.page-home .work-heading{align-items:end;gap:32px;margin-bottom:20px}
.page-home .work-heading h2{font-family:Onest,Arial,sans-serif;font-size:clamp(31px,3.3vw,44px);font-weight:500;line-height:1.16;letter-spacing:-.03em}
.page-home .work-heading .work-heading-note{font-size:14px;line-height:1.7;color:#c5ced8;max-width:51ch;margin:12px 0 0}
.page-home .work-experience-grid{grid-template-columns:minmax(0,1.42fr) minmax(300px,1fr);grid-template-areas:'visual copy';gap:40px;align-items:center}
.page-home .service-visual{grid-area:visual}
.page-home .work-panel{grid-area:copy;display:flex;flex-direction:column;scroll-margin-top:calc(var(--header-height) + 18px)}
.page-home .work-summary{order:1}
.page-home .work-experience .work-summary h3{font-size:clamp(28px,2.8vw,36px);font-weight:550;margin-bottom:14px}
.page-home .work-experience .work-summary p{font-size:15px;line-height:1.7;max-width:45ch}
.page-home .work-price-block{order:2;margin-top:18px}
.page-home .work-actions{order:3}
.page-home .work-detail-link{order:4}
.page-home .work-experience .work-actions{gap:10px;margin-top:18px}
.page-home .work-experience .work-actions .work-visit{font-family:Onest,Arial,sans-serif;font-size:18px;line-height:1.45;font-weight:500;color:#ffd1b8;margin:0;max-width:none}
.page-home .work-visit[hidden],.page-home .work-planned-link[hidden],.page-home .work-budget-link[hidden],.page-home .work-detail-link[hidden]{display:none}
.page-home [data-camera-state=error] + .service-camera-hint{display:block}
.page-home .work-experience .selected-work-book{min-height:52px;background:#f4f0e8;color:#111b24}
.page-home .work-experience .selected-work-book:hover{background:#fff9f1}
.page-home .work-experience[data-current-work=suspension] .work-price-block,.page-home .work-experience[data-current-work=brakes] .work-price-block{order:3;margin-top:20px;padding-top:14px;border-top:1px solid #b8c8d52e}
.page-home .work-experience[data-current-work=suspension] .work-actions,.page-home .work-experience[data-current-work=brakes] .work-actions{order:2}
.page-home .work-experience[data-current-work=suspension] .work-price,.page-home .work-experience[data-current-work=brakes] .work-price{font-family:Onest,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.65;text-wrap:pretty;margin:0}
.page-home .work-experience[data-current-work=suspension] .work-visit,.page-home .work-experience[data-current-work=brakes] .work-visit{font-size:24px;line-height:1.35}
.page-home .work-experience .work-price-condition{font-size:12px;line-height:1.65;max-width:46ch;color:#b9c6d4}
.work-planned-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:12px;line-height:1.6;text-decoration:none;color:#e1e5e7}
.work-planned-link>span{color:#ff946d;font-size:18px}
.work-budget-link,.service-budget-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:12px;line-height:1.6;text-decoration:none;color:#e7e6e2;max-width:48ch}
.work-budget-link>span,.service-budget-link>span{color:#ff946d;font-size:18px;flex:none}
.service-budget-link{margin-top:8px}
.customer-care-links{display:flex;flex-wrap:wrap;column-gap:22px}
.customer-care-links .customer-care-link{font-size:12px;gap:14px}
.page-home .work-question{justify-content:space-between;gap:20px;margin-top:24px;padding-top:14px}
.page-home .work-question p{font-size:13px}
.page-home .work-question-call{font-size:14px;white-space:nowrap}
.callback-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#f0f4fa;font-size:14px;text-underline-offset:4px}
.callback-link>span{color:#ff946d;font-size:18px}
.callback-link:hover{color:#ffab8b}
.wc-contact-connection .callback-link{margin-top:5px}
.contact-layout .contact-action>.callback-link{grid-column:1/-1;justify-self:start}
.page-service .service-detail h2,.page-suspension .suspension-detail h2,.page-catalog .catalog-page h2{font-weight:500;letter-spacing:-.022em}
.page-service .service-detail h3,.page-suspension .suspension-steps h3{font-family:Onest,Arial,sans-serif;font-size:20px;font-weight:500;line-height:1.4;letter-spacing:-.015em}
.service-detail{--service-gap:clamp(40px,4.5vw,64px)}
.service-detail .service-action{background:#f4f0e8}
.customer-care .customer-care-copy h2{font-family:Onest,Arial,sans-serif;font-weight:500;font-size:clamp(32px,3.3vw,45px);line-height:1.17;letter-spacing:-.03em}
.service-maintenance .oil-figure>img{aspect-ratio:3/2}
.service-figure figcaption a{display:inline-flex;align-items:center;gap:10px;min-height:32px;text-decoration:none;color:#d2dce5}
.service-figure figcaption a>span{color:#ff946d}
@media(max-width:1000px){.page-home .work-experience-grid{grid-template-columns:minmax(0,1.15fr) minmax(275px,1fr);gap:28px}}
@media(max-width:700px){
 .garage-story .site-masthead .header-book.contextual-book{display:none}
 .garage-story .site-masthead .contextual-book{min-height:44px;padding:7px 12px;gap:1px 10px}
 .contextual-book>.button-label{font-size:12px}
 .contextual-book>.header-book-detail{font-size:11px}
 .page-home .work-heading{display:block;margin-bottom:12px}
 .page-home .work-heading h2{font-size:32px;line-height:1.2;max-width:16ch}
 .page-home .work-heading .work-heading-note{font-size:13px;line-height:1.7;margin-top:10px;max-width:40ch}
 .page-home .work-catalog-link{font-size:12px;min-height:36px;margin-top:6px}
 .page-home .work-choices{display:flex;flex-wrap:nowrap;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#8093a633 transparent;margin-bottom:20px;padding-bottom:4px}
 .page-home .work-choice{flex:0 0 auto;width:auto;min-width:0;min-height:44px;white-space:nowrap;padding:10px 0;font-size:14px;text-align:left}
 .page-home .work-experience-grid{grid-template-columns:1fr;grid-template-areas:'copy' 'visual';gap:24px}
 .page-home .work-experience .work-summary h3{font-size:28px;margin-bottom:12px}
 .page-home .work-experience .work-summary p{font-size:14px;line-height:1.7;max-width:43ch}
 .page-home .work-experience .work-actions{margin-top:16px;gap:9px}
 .page-home .work-experience .work-actions .work-visit{font-size:16px}
 .page-home .work-experience[data-current-work=suspension] .work-visit,.page-home .work-experience[data-current-work=brakes] .work-visit{font-size:23px}
 .page-home .work-experience .work-actions p[data-work-note]{font-size:12px;line-height:1.6;max-width:42ch}
 .page-home .work-experience .work-price-condition{font-size:12px}
 .page-home .service-stage{aspect-ratio:3/2}
 .page-home .scene-attribution{font-size:10px;line-height:1.6}
 .page-home .work-question{display:block;margin-top:16px;padding-top:12px}
 .page-home .work-question p{font-size:12px}
 .page-home .work-question-call{min-height:44px;font-size:14px}
 .page-service .service-detail h2,.page-suspension .suspension-detail h2{font-size:30px;line-height:1.2}
 .page-service .service-detail h3,.page-suspension .suspension-steps h3{font-size:19px}
 .customer-care .customer-care-copy h2{font-size:32px;line-height:1.2}
}

.page-home.motion-page .scene-stage {
  width: min(100%, max(700px, calc((100svh - var(--header-height)) * 1.9)));
  height: auto;
  aspect-ratio: 1672 / 941;
  min-height: 0;
  margin-inline: auto;
}

.page-home.motion-page .scene-stage::after {
  height: 5.5%;
}

.page-home .scene-stage > .scene-world {
  position: absolute;
  inset: 0;
}

.mobile-booking-bar {
  display: none;
}

@media (max-width: 700px) {
  .garage-story {
    --header-height: 68px;
  }

  .garage-story .site-masthead .masthead-main {
    height: var(--header-height);
  }

  .has-mobile-booking-bar {
    --mobile-action-height: calc(59px + env(safe-area-inset-bottom, 0px));
    padding-bottom: var(--mobile-action-height);
  }

  .mobile-booking-bar {
    position: fixed;
    z-index: 15;
    inset: auto 0 0;
    height: var(--mobile-action-height);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 16px calc(6px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--line);
    background: #091524;
  }

  .mobile-booking-bar .mobile-booking-action {
    min-height: 44px;
    width: min(100%, 420px);
    justify-content: center;
    gap: 10px;
    border-radius: 10px;
    clip-path: none;
    background: var(--accent);
    color: #101724;
    font: 650 15px/1.2 Onest, Arial, sans-serif;
  }

  .mobile-booking-bar .mobile-booking-action > span {
    color: inherit;
  }

  .has-mobile-booking-bar .analytics-consent {
    bottom: calc(var(--mobile-action-height) + 6px);
  }

  .page-home.motion-page .scene-stage {
    width: 100%;
    aspect-ratio: 888 / 1672;
  }

  .page-home.motion-page .scene-stage::after {
    height: 4%;
  }

  .page-home .work-choices {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 8px;
    margin-bottom: 12px;
    overflow: visible;
  }

  .page-home .work-choice {
    min-height: 44px;
    white-space: normal;
    padding: 6px 4px;
    font-size: clamp(12px, 3.5vw, 14px);
  }
}

.map-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0 12px;
}

.map-tools button {
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--blue-ink);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.map-tools a {
  min-height: 44px;
  align-items: center;
}

.map-component[data-map-state="loading"] .map-mount {
  pointer-events: none;
}

@media (max-width: 700px) {
  .map-tools { justify-content: flex-start; }
}
