/* Loaded by index.html only; commercial and guide pages keep their existing styles. */
.premium-home {
  --black: #0d0e0e;
  --black-soft: #131414;
  --black-card: #181918;
  --white: #eee9e1;
  --muted: #bdb8b0;
  --bronze: #b29173;
  --bronze-highlight: #c6a282;
  --radius-button: 12px;
  --bronze-fill: linear-gradient(110deg, #ad8867, #c1a080);
}
.premium-home .container { width: min(1240px, calc(100% - 96px)); }
.premium-home .nav { gap: 24px; min-height: 98px; flex-wrap: nowrap; }
.premium-home .brand { flex-shrink: 0; }
.premium-home .brand-emblem { display: none; }
.premium-home .brand strong { font-size: 27px; font-weight: 500; letter-spacing: .17em; line-height: 1.2; }
.premium-home .brand-subtitle { display: block; color: var(--white); font-size: 11px; letter-spacing: .47em; text-align: center; margin-top: 6px; }
.premium-home .hero-language { order: 2; margin: 0; }
.premium-home .nav-links { margin-left: auto; gap: 22px; font-size: 13px; font-weight: 500; }
.premium-home .nav-call { display: none; }
.premium-home .nav-cta { padding: 12px 25px; }
.premium-home .language-picker { padding-left: 10px; padding-right: 29px; background: transparent; }
.premium-home .language-picker::after { right: 12px; width: 6px; height: 6px; border-width: 1px; }
.premium-home .language-select { min-width: 80px; font-size: 12px; }
/* Put keyboard focus on the rounded wrapper, including the mobile badge. */
.premium-home .language-select:focus { outline: none; box-shadow: none; }
.premium-home .language-picker:not([data-pointer-focus]):has(.language-select:focus-visible) {
  outline: 2px solid var(--bronze);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(var(--bronze-rgb), .12);
}
.premium-home .language-symbol { background: #0d0e0e; box-shadow: none; }
.premium-home .hero { min-height: min(800px, calc(100svh - 98px)); padding-block: 104px 112px; }
.premium-home .hero .hero-copy { max-width: 730px; }
.premium-home .hero h1 { font-size: clamp(60px, 7.8vw, 112px); line-height: 1.04; letter-spacing: -.045em; margin: 28px 0; }
.premium-home .hero h1 span + span { font-size: .67em; letter-spacing: .15em; margin-top: 12px; }
.premium-home .hero-text { max-width: 47ch; font-size: 18px; line-height: 1.85; }
.premium-home .eyebrow { font-size: 11px; letter-spacing: .24em; font-weight: 500; }
.premium-home .hero-actions { gap: 16px; margin: 36px 0 30px; }
.premium-home .btn { padding: 15px 30px; min-height: 56px; font-size: 14px; font-weight: 500; gap: 24px; }
.premium-home .btn.primary:not(.full)::after { content: '→'; font-size: 20px; line-height: 1; }
.premium-home .btn.secondary { background: rgba(13,14,14,.65); border-color: var(--bronze); color: var(--white); }
.premium-home .btn:hover, .premium-home .nav-cta:hover { transform: translateY(-1px); filter: brightness(1.08); }
.premium-home .hero-contacts { gap: 8px 24px; font-size: 13px; }
.premium-home .hero-contacts a { font-weight: 400; border: 0; overflow-wrap: anywhere; }
.premium-home .hero-contacts a:hover { color: var(--sand); }
.premium-home .section { padding-block: 112px; }
.premium-home h2.gold-text { color: var(--white); }
.premium-home h2 { font-size: clamp(32px, 3.7vw, 50px); line-height: 1.2; }
.premium-home h3 { font-family: var(--font-display); font-weight: 500; font-size: 25px; line-height: 1.3; }
.premium-home .section-heading { margin-bottom: 52px; max-width: 800px; }
.premium-home .gold-strip { background: #101111; border-top: 0; }
.premium-home .strip-grid { padding-block: 26px; font-weight: 400; font-size: 10px; letter-spacing: .2em; }
.premium-home .strip-grid span + span { border-left: 1px solid var(--line); }
.premium-home .cards { gap: 0; }
.premium-home .service-card { border: 0; border-radius: 0; border-top: 1px solid var(--line-strong); background: transparent; box-shadow: none; padding: 30px 28px 0; }
.premium-home .service-card:first-child { padding-left: 0; }
.premium-home .service-card:last-child { padding-right: 0; }
.premium-home .service-card + .service-card { border-left: 1px solid var(--line); }
.premium-home .service-icon { border: 0; border-radius: 0; background: transparent; width: auto; justify-content: start; margin-bottom: 24px; color: var(--bronze); }
.premium-home .service-links { gap: 12px; margin-top: 26px; }
.premium-home .text-link { font-size: 13px; font-weight: 400; }
.premium-home .fleet-grid { grid-template-columns: 1fr; gap: 42px; }
.premium-home .fleet-grid > .reveal { max-width: 660px; }
.premium-home .fleet-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.premium-home .vehicle-card { display: block; padding: 0; background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.premium-home .vehicle-photo { min-height: 0; aspect-ratio: 16 / 10; border-radius: 12px; border: 0; }
.premium-home .vehicle-card-body { padding: 26px 0 0 50px; }
.premium-home .vehicle-badge { position: absolute; left: 0; top: 30px; width: auto; height: auto; border: 0; font-size: 14px; font-weight: 400; }
.premium-home .vehicle-card p { font-size: 15px; }
.premium-home .route-box { padding: 0; border: 0; background: transparent; box-shadow: none; gap: 0; }
.premium-home .route-box div { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 24px 0; gap: 22px; }
.premium-home .route-box span { background: transparent; color: var(--bronze); width: 28px; flex-basis: 28px; font-family: var(--font-display); font-size: 18px; font-weight: 400; }
.premium-home .route-box strong { font-weight: 400; font-size: 15px; }
.premium-home .related-card { padding: 28px; background: transparent; border-width: 0 0 1px; border-radius: 0; }
.premium-home .info-card { background: transparent; border-width: 0 0 0 1px; border-radius: 0; padding: 12px 0 12px 36px; }
.premium-home .info-card h2 { font-size: 32px; }
.premium-home .contact-panel { padding: 24px 0; background: transparent; border-width: 1px 0 0; border-radius: 0; box-shadow: none; }
.premium-home .contact-panel a, .premium-home .footer-contact a { overflow-wrap: anywhere; }
.premium-home .booking-form { padding: 36px; border-color: var(--line); box-shadow: none; }
.premium-home input, .premium-home textarea, .premium-home select:not(.language-select) { border-color: #716252; background-color: #131414; }
.premium-home .site-footer { padding-block: 52px; }
.premium-home .footer-grid { gap: 40px; }
.premium-home section[id] { scroll-margin-top: 118px; }
/* Carousel cards are equal-height; the clipped track never widens the page. */
.reviews-section { padding: 54px 0 32px; background: #101111; border-bottom: 1px solid var(--line); }
.reviews-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.reviews-heading .eyebrow { margin-bottom: 10px; }
.premium-home .reviews-heading h2 { font-size: clamp(30px, 3vw, 40px); margin: 0; }
.reviews-caption { color: var(--muted); font-size: 12px; margin: 0 0 6px; }
.reviews-viewport { --review-columns: 3; min-height: 304px; overflow: hidden; touch-action: pan-y; }
.reviews-track { display: flex; gap: 20px; transition: transform 450ms ease; }
.review-card { flex: 0 0 calc((100% - 40px) / 3); min-width: 0; min-height: 304px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 12px; background: #151616; padding: 28px; }
.review-stars { color: var(--bronze-highlight); letter-spacing: .16em; font-size: 18px; line-height: 1.2; }
.review-card blockquote { margin: 22px 0 28px; color: var(--white); font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.review-person { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.review-avatar { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--sand); font-family: var(--font-display); }
.review-name { display: block; font-size: 13px; font-weight: 500; }
.review-source { display: block; color: var(--muted); font-size: 11px; }
.reviews-controls { display: flex; align-items: center; justify-content: center; gap: 15px; margin-top: 22px; }
.reviews-controls[hidden] { display: none; }
.review-arrow, .review-play { background: transparent; color: var(--sand); border: 1px solid var(--line-strong); cursor: pointer; height: 44px; border-radius: 10px; }
.review-arrow { width: 44px; font-size: 21px; }
.review-play { font-size: 11px; padding: 0 13px; min-width: 64px; }
.review-arrow:hover, .review-play:hover { background: #24221f; }
.review-dots { display: flex; }
.review-dot { width: 28px; height: 44px; display: grid; place-items: center; border: 0; padding: 0; background: transparent; cursor: pointer; }
.review-dot::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #625c55; transition: background .2s ease; }
.review-dot[aria-current="true"]::before { background: var(--sand); width: 7px; height: 7px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1100px) {
  .premium-home .container { width: calc(100% - 64px); }
  .premium-home .nav { gap: 16px; }
  .premium-home .nav-links { gap: 14px; }
  .premium-home .brand strong { font-size: 23px; }
  .premium-home .nav-cta { padding-inline: 18px; }
}
@media (max-width: 980px) {
  .premium-home .nav { min-height: 82px; flex-wrap: wrap; gap: 12px; }
  .premium-home .hero-language { margin-left: auto; order: 0; }
  .premium-home .nav-links { margin-left: 0; }
  .premium-home .nav-call { display: block; }
  .premium-home .hero { min-height: 660px; padding-block: 90px; }
  .premium-home .section { padding-block: 80px; }
  .premium-home .service-card { padding: 28px; }
  .premium-home .service-card:nth-child(odd) { padding-left: 0; border-left: 0; }
  .premium-home .service-card:nth-child(even) { padding-right: 0; }
  .premium-home .cards { row-gap: 36px; }
  .reviews-viewport { --review-columns: 2; }
  .review-card { flex-basis: calc((100% - 20px) / 2); }
  .reviews-caption { max-width: 170px; }
}
@media (max-width: 640px) {
  .premium-home .container { width: calc(100% - 40px); }
  .premium-home .nav { min-height: 78px; gap: 10px; }
  .premium-home .brand strong { font-size: 20px; letter-spacing: .12em; }
  .premium-home .brand-subtitle { font-size: 9px; letter-spacing: .34em; }
  .premium-home .language-picker { gap: 5px; padding-inline: 7px 22px; border: 0; }
  .premium-home .language-picker::after { right: 7px; }
  .premium-home .language-select { position: absolute; inset: 0; width: 100%; min-width: 0; opacity: 0; }
  .premium-home .nav-toggle { width: 40px; flex-basis: 40px; }
  .premium-home .hero { min-height: calc(100svh - 78px); padding-block: 70px 76px; }
  .premium-home .hero h1 { font-size: clamp(46px, 12.2vw, 76px); margin-block: 28px; }
  .premium-home .hero .eyebrow { max-width: 28ch; font-size: 10px; line-height: 1.9; }
  .premium-home .hero-text { font-size: 16px; }
  .premium-home .hero-actions { gap: 12px; }
  .premium-home .hero-actions .btn { width: 100%; padding-inline: 20px; }
  .premium-home .hero-contacts { display: grid; font-size: 12px; }
  .premium-home .section { padding-block: 68px; }
  .premium-home .section-heading { margin-bottom: 34px; }
  .premium-home .strip-grid { font-size: 9px; gap: 16px; }
  .premium-home .strip-grid span:nth-child(3) { border: 0; }
  .premium-home .service-card, .premium-home .service-card + .service-card { padding: 28px 0 0; border-left: 0; }
  .premium-home .service-icon { margin-bottom: 14px; }
  .premium-home .fleet-list { grid-template-columns: 1fr; gap: 36px; }
  .premium-home .info-card { padding-left: 24px; }
  .premium-home .booking-form { padding: 20px; }
  .premium-home .booking-grid > *, .premium-home .footer-grid > * { min-width: 0; }
  .premium-home .contact-panel a, .premium-home .footer-contact { font-size: 13px; }
  .reviews-section { padding-block: 38px 28px; }
  .reviews-heading { display: block; }
  .reviews-caption { max-width: none; margin-top: 14px; }
  .reviews-viewport { --review-columns: 1; }
  .review-card { flex-basis: 100%; min-height: 304px; padding: 24px; }
  .reviews-controls { gap: 7px; }
  .review-dot { width: 24px; }
  .review-play { padding-inline: 9px; min-width: 58px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .premium-home *, .premium-home *::before, .premium-home *::after { transition: none !important; animation: none !important; }
  .premium-home .reveal { opacity: 1; transform: none; }
}
