.site-header { height: 128px; }
.site-header .brand { font-size: 1.42rem; gap: 1rem; line-height: 1.1; }
.site-header .brand img { width: 112px; height: 112px; }
.hero { min-height: 720px; }
.hero-copy,.hero-photo { min-width: 0; }
.hero-photo { position: relative; width: 100%; margin: 0; border-radius: 36px; overflow: hidden; box-shadow: var(--shadow); background: var(--navy); aspect-ratio: 3 / 2; }
.hero-photo picture,
.hero-photo img { display: block; width: 100%; height: 100%; }
.hero-photo img { object-fit: cover; object-position: 58% center; }
.hero-photo::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(4,19,38,.86)); pointer-events: none; }
.hero-photo figcaption { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 24px; display: flex; flex-wrap: wrap; gap: .25rem 1rem; color: #fff; font-weight: 750; }
.hero-photo figcaption strong { color: #8ae9b2; }
.contact { display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; align-items: center; }
.contact-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); }
.contact-card p { margin: 0 0 20px; }
.contact-card p span { display: block; color: var(--muted); font-size: .76rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.contact-card p a { display: inline-block; margin-top: 4px; color: #075da8; font-size: 1.2rem; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.contact-card .button { margin-top: 8px; }
footer { grid-template-columns: 1.3fr .8fr .9fr; padding-top: 58px; padding-bottom: 36px; align-items: start; }
footer .footer-brand p { max-width: 390px; color: #9eb1c4; }
footer .brand { color: #fff; font-size: 1.05rem; }
footer .brand img { width: 64px; height: 64px; }
.tier-grid article { min-height: 390px; display: flex; flex-direction: column; }
.tier-grid h3 { margin-bottom: 12px; }
.tier-grid .tier-lede { min-height: 3.2em; margin: 0 0 18px; color: var(--ink); font-weight: 800; }
.tier-grid .featured .tier-lede { color: #fff; }
.tier-grid ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.tier-grid li { position: relative; padding-left: 22px; color: var(--muted); line-height: 1.45; }
.tier-grid .featured li { color: #c8d9e8; }
.tier-grid li::before { content: "✓"; position: absolute; left: 0; color: #087a40; font-weight: 900; }
.tier-grid .featured li::before { color: var(--green); }
.benefits-details { max-width: 760px; margin: 26px auto 0; padding: 0 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.benefits-details summary { padding: 18px 0; color: #075da8; cursor: pointer; font-weight: 850; }
.benefits-details p { margin: -2px 0 20px; color: var(--muted); }
.availability-badge { display: inline-flex; align-items: center; min-height: 28px; margin-bottom: 14px; padding: 2px 10px; border-radius: 999px; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.availability-badge.available { color: #075f35; background: #dff8e9; }
.availability-badge.coming { color: #754000; background: #fff0dc; }
.fleet-coming { background: #f8fafc !important; }
.fleet-coming .vehicle-icon { filter: saturate(.55); }
footer nav { display: grid; align-content: start; justify-content: start; gap: 10px; padding-top: 8px; }
.footer-contact { display: grid; gap: 7px; }
.footer-contact h2 { margin: 0 0 8px; font-size: 1.15rem; color: #fff; letter-spacing: -.02em; }
.footer-contact a { color: #c6d3df; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.social-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
footer small { grid-column: 1 / -1; }
@media(max-width:900px){
  html { scroll-padding-top: 100px; }
  .site-header { height: 92px; }
  .site-header .brand { font-size: 1.08rem; }
  .site-header .brand img { width: 72px; height: 72px; }
  .site-header nav { top: 92px; }
  .hero { min-height: auto; }
  .hero-photo { min-height: 430px; aspect-ratio: 4 / 3; }
  .contact { grid-template-columns: 1fr; gap: 28px; }
  footer { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: 2; grid-row: 1 / span 2; }
}
@media(max-width:620px){
  .site-header .brand { font-size: 1rem; gap: .65rem; }
  .site-header .brand img { width: 64px; height: 64px; }
  .hero-photo { min-height: 360px; aspect-ratio: 1 / 1; }
  .hero-photo img { object-position: 56% center; }
  .hero-photo figcaption { left: 20px; right: 20px; bottom: 18px; display: grid; gap: 0; font-size: .92rem; }
  .contact-card { padding: 24px; }
  footer { grid-template-columns: 1fr; gap: 28px; }
  footer nav,.footer-contact { grid-column: 1; grid-row: auto; }
}
@media(max-width:350px){
  .site-header { padding-left: 12px; padding-right: 12px; }
  .site-header .brand { gap: .45rem; font-size: .82rem; }
  .site-header .brand img { width: 60px; height: 60px; }
  .hero-photo { min-height: 330px; }
  .hero-photo figcaption { right: 16px; }
}
