/* Quote landing pages only; pricing and booking behaviour stay in the existing engine. */
.quote-landing-page .quote-page-hero { min-height: 850px; }
.quote-landing-page .quote-page-hero > img { object-position: 62% center; }
.quote-landing-page .quote-page-hero::after { background: linear-gradient(90deg,#080e15ed 0%,#080e15bf 48%,#080e1570),linear-gradient(0deg,#080e15,transparent 70%); }
.quote-landing-page .quote-page-hero .page-hero-content { width: min(1380px,91vw); padding: 142px 0 68px; }
.quote-landing-page .quote-hero-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); gap: clamp(28px,5vw,78px); align-items: center; }
.quote-landing-page .quote-hero-copy { min-width: 0; }
.quote-landing-page .quote-page-hero h1 { font-size: clamp(2.8rem,4.65vw,5rem); line-height: 1.04; letter-spacing: -.025em; margin: 22px 0; overflow-wrap: break-word; }
.quote-landing-page .quote-page-lead { max-width: 620px; font-size: 1.05rem; line-height: 1.75; }
.quote-landing-page .quote-benefits { display: flex; flex-wrap: wrap; gap: 12px 22px; list-style: none; padding: 0; margin: 24px 0; font-size: .875rem; line-height: 1.5; color: var(--night-gold); }
.quote-landing-page .quote-benefits li { border-left: 2px solid var(--night-gold); padding-left: 10px; }
.quote-landing-page .quote-page-card { width: 100%; max-width: 520px; margin: 0; padding: 26px; align-self: center; text-align: left; }
.quote-landing-page .quote-page-card label { display: block; font-size: .875rem; line-height: 1.5; letter-spacing: .02em; color: var(--night-text); }
.quote-landing-page .quote-page-card .booking-mode { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.quote-landing-page .quote-page-card .booking-mode legend { font-size: .875rem; margin-bottom: 8px; }
.quote-landing-page .quote-page-card .booking-mode label { display: flex; align-items: center; gap: 8px; text-transform: none; letter-spacing: normal; }
.quote-landing-page .quote-page-card input:not([type="radio"]):not([type="hidden"]) { width: 100%; max-width: 100%; min-width: 0; min-height: 50px; font-size: 1rem; }
.quote-landing-page .quote-page-card input[type="radio"] { appearance: auto; width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: #b28d48; }
.quote-landing-page .quote-page-card > p { font-size: .875rem; line-height: 1.6; }
.quote-landing-page .quote-page-card .card-top { font-size: .875rem; gap: 12px; }
.quote-landing-page .quote-page-card .status-dot { font-size: .75rem; }
.quote-landing-page .quote-page-card .card-button { width: 100%; font-size: .875rem; line-height: 1.5; min-height: 52px; letter-spacing: .03em; white-space: normal; }
.quote-landing-page #quote-calculator,.quote-landing-page #planning { scroll-margin-top: 116px; }
.quote-landing-page .quote-page-card .hero-quote-options { max-height: none; }
.quote-landing-page .quote-page-card .hero-vehicle-option { min-height: 76px; }
.quote-landing-page .quote-page-card .hero-vehicle-option small { font-size: .75rem; line-height: 1.5; }
.quote-landing-page .quote-page-card .hero-book-now { font-size: .875rem; }
.quote-landing-page .quote-photo-section { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.9fr); gap: 7vw; align-items: center; }
.quote-landing-page .quote-photo-section figure { margin: 0; min-width: 0; }
.quote-landing-page .quote-photo-section img { width: 100%; height: 470px; object-fit: cover; border: 1px solid var(--night-line); }
.quote-landing-page .quote-photo-section figcaption { font-size: .875rem; line-height: 1.6; margin-top: 14px; color: var(--night-muted); }
.quote-landing-page .quote-photo-section h2 { font-size: clamp(2.25rem,4vw,4rem); }
.quote-landing-page .quote-steps { padding-left: 1.3rem; margin: 28px 0; }
.quote-landing-page .quote-steps li { padding-left: 10px; margin: 22px 0; color: var(--night-gold); }
.quote-landing-page .quote-steps strong { font-size: 1rem; color: var(--night-text); font-weight: 600; }
.quote-landing-page .quote-steps p { font-size: 1rem; line-height: 1.65; color: var(--night-muted); margin: 8px 0; }
.quote-landing-page .quote-directory .related-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.quote-landing-page .quote-directory .related-card { min-height: 0; }
.quote-landing-page .quote-directory .related-card h3 { font-size: 1.6rem; line-height: 1.25; }
.quote-landing-page .quote-directory .related-card p { font-size: .875rem; line-height: 1.6; }
.quote-landing-page .editorial-copy p,.quote-landing-page .faq-list p { font-size: 1rem; line-height: 1.8; }
.quote-landing-page .breadcrumb { font-size: .875rem; line-height: 1.7; }
.quote-landing-page .kicker { font-size: .75rem; line-height: 1.7; }
.quote-landing-page a:focus-visible,.quote-landing-page button:focus-visible,.quote-landing-page input:focus-visible { outline: 2px solid var(--night-gold); outline-offset: 4px; }
.quote-landing-page [hidden] { display: none !important; }
body.marketing-page.quote-landing-page .quote-page-card input:not([type="radio"]):not([type="hidden"]) { background: #edf0ed !important; color: #17324a !important; -webkit-text-fill-color: #17324a !important; }
body.marketing-page.quote-landing-page .mobile-journey-actions a:last-child { color: #17324a !important; }
@media(max-width:1080px) {
  .quote-landing-page .quote-hero-grid { grid-template-columns: minmax(0,1fr) minmax(320px,.9fr); gap: 24px; }
  .quote-landing-page .quote-page-card { padding: 22px; }
  .quote-landing-page .quote-directory .related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .quote-landing-page .quote-page-hero { min-height: 0; padding-top: 88px; }
  .quote-landing-page .quote-page-hero > img { position: relative; height: 205px; object-position: 60% center; }
  .quote-landing-page .quote-page-hero::after { display: none; }
  .quote-landing-page .quote-page-hero .page-hero-content { width: 100%; padding: 25px 20px 42px; }
  .quote-landing-page .quote-hero-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .quote-landing-page .quote-page-hero h1 { font-size: clamp(2.25rem,8.5vw,3.7rem) !important; line-height: 1.08 !important; }
  .quote-landing-page .quote-page-card { max-width: none; padding: 22px 18px; }
  .quote-landing-page .quote-photo-section { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .quote-landing-page .quote-photo-section img { height: 280px; }
  .quote-landing-page .quote-directory .related-grid { grid-template-columns: minmax(0,1fr); }
  .quote-landing-page .quote-benefits { gap: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .quote-landing-page .reveal { opacity: 1; transform: none; transition: none; }
}
