/* SkyCenter Rent-a-Car layer on the shared Painted Ground system.
 * Styles the original booking, fleet and modal markup without changing it. */

/* -------------------------------------------------------------- Hero + booking */
.rc-hero { padding-block: clamp(16px, 3vw, 44px) clamp(28px, 4.2vw, 58px); }
.rc-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(16px, 3vw, 44px); align-items: start; }
.rc-hero__copy { display: grid; gap: 14px; align-content: start; padding-top: clamp(4px, 1.2vw, 16px); }
.rc-title { font-size: var(--sky-fs-xl); max-width: 14ch; }
.rc-hero .sky-hero__lead { max-width: 44ch; }
.rc-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.rc-chips .sky-chip { min-height: 44px; text-decoration: none; transition: background-color var(--sky-t1), box-shadow var(--sky-t1); }
.rc-chips .sky-chip:hover { background: rgba(63, 209, 143, .14); box-shadow: inset 0 0 0 1px rgba(63, 209, 143, .55); }
.rc-hero__photo { margin-top: 10px; max-width: 520px; }
.rc-hero__photo img { aspect-ratio: 16 / 10; }
.rc-hero__photo .sky-plate__unit { max-width: 14ch; }


/* Progress: the original three rent steps, painted like the other wizards. */

/* Form: the two legacy columns flow into one ordered grid. */
.rc-hero input[type="datetime-local"].form-control { font-variant-numeric: tabular-nums; }
.rc-hero input[type="datetime-local"].form-control::-webkit-calendar-picker-indicator { opacity: .7; cursor: pointer; }
.sc-field-error { color: var(--sky-error); font-size: var(--sky-fs-s); font-weight: 700; }
.sc-field-error:empty { display: none; }
.sc-field-error:not(:empty)::before { content: "!"; display: inline-grid; place-items: center; width: 18px; height: 18px; margin-right: 6px; border-radius: 50%; background: var(--sky-error); color: #fff; font-size: var(--sky-fs-s); font-weight: 900; vertical-align: -3px; }

/* Buttons: legacy .select-btn becomes the shared primary button. */
[data-sky="rentacar"] .select-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 24px; border: 2px solid var(--sky-blue); border-radius: var(--sky-r2); background: var(--sky-blue); color: #fff; font: inherit; font-weight: 850; font-size: var(--sky-fs-m); cursor: pointer; transition: background-color var(--sky-t1), transform var(--sky-t2) var(--sky-ease); }
[data-sky="rentacar"] .select-btn:hover { background: var(--sky-blue-deep); border-color: var(--sky-blue-deep); }
[data-sky="rentacar"] .select-btn:active { transform: translateY(1px); }
[data-sky="rentacar"] .select-btn:disabled { opacity: .65; cursor: progress; }
[data-sky="rentacar"] .select-btn:focus-visible { outline: 3px solid var(--sky-sky); outline-offset: 3px; }
#select-car-button { width: 100%; }
#select-car-button::after { content: ""; width: 9px; height: 9px; border-top: 2.5px solid currentColor; border-right: 2.5px solid currentColor; transform: rotate(45deg); transition: transform var(--sky-t2) var(--sky-ease); }
#select-car-button:hover::after { transform: translateX(3px) rotate(45deg); }


@media (max-width: 960px) {
  .rc-hero__grid { grid-template-columns: 1fr; }
  .rc-hero__photo { display: none; }
}
@media (max-width: 560px) {
}

/* -------------------------------------------------------------- Fleet */
.rc-fleet { padding-top: clamp(24px, 3.6vw, 44px); }
.rc-fleet .section-heading { margin-bottom: clamp(14px, 2.4vw, 24px); text-align: left; }
.sc-fleet-status { margin-top: 12px; color: var(--sky-ink-2); }
.sc-fleet-status[hidden] { display: none; }

.rc-trip { position: sticky; top: calc(var(--sky-header-h) + 12px); z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-bottom: clamp(14px, 2.4vw, 24px); padding: 12px 12px 12px 20px; border-radius: var(--sky-r2); background: var(--sky-asphalt); color: var(--sky-paint); box-shadow: var(--sky-e2); }
.rc-trip::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 4px; border-radius: 0 2px 2px 0; background: var(--sky-accent); }
.rc-trip__text { flex: 1 1 280px; margin: 0; color: var(--sky-mist); font-weight: 650; }
.rc-trip__text b { color: var(--sky-paint); font-weight: 850; font-variant-numeric: tabular-nums; }
.rc-trip__total { margin: 0; font-weight: 850; }
.rc-trip__total small { color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 750; }
.rc-trip__total b { color: var(--sky-accent); font-size: var(--sky-fs-l); font-variant-numeric: tabular-nums; }
.rc-trip__total[hidden] { display: none; }
.sky-has-actionbar .rc-trip { position: relative; top: 0; }

#cars-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: clamp(12px, 1.4vw, 16px); counter-reset: bay; }
#cars-container[aria-busy="true"] { min-height: 420px; background: repeating-linear-gradient(90deg, transparent 0 calc(33.33% - 2px), var(--sky-rule) calc(33.33% - 2px) 33.33%); border-radius: var(--sky-r2); }

.car-card { counter-increment: bay; position: relative; display: flex; flex-direction: column; background: var(--sky-paper); border-radius: 2px; box-shadow: var(--sky-e1); transition: transform var(--sky-t3) var(--sky-ease), box-shadow var(--sky-t3) var(--sky-ease); }
.car-card::before, .car-card::after { content: ""; position: absolute; top: 0; bottom: 0; width: var(--sky-stripe); background: var(--sky-rule); transition: background-color var(--sky-t2); }
.car-card::before { left: 0; }
.car-card::after { right: 0; }
.car-card:hover { transform: translateY(-4px); box-shadow: var(--sky-e2); }
.car-card:hover::before, .car-card:hover::after, .car-card.is-selected::before, .car-card.is-selected::after { background: var(--sky-accent); }
.car-card.is-selected { box-shadow: var(--sky-e2), inset 0 0 0 2px rgba(63, 209, 143, .7); }
.car-info { position: relative; display: flex; flex-direction: column; padding: 14px 24px 0; }
.car-info::before { content: "R" counter(bay); position: absolute; top: 18px; right: 22px; font-size: var(--sky-fs-xl); font-weight: 900; line-height: 1; letter-spacing: -.02em; color: transparent; -webkit-text-stroke: 1.5px var(--sky-rule); transition: -webkit-text-stroke-color var(--sky-t2); }
.car-card:hover .car-info::before { -webkit-text-stroke-color: var(--sky-accent); }
.car-info h2 { order: 1; padding-right: 60px; font-size: var(--sky-fs-l); font-weight: 820; letter-spacing: -.015em; line-height: 1.15; }
.car-info > p { order: 2; margin-top: 4px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
/* The car sits on a painted bay floor and rolls forward on hover. */
.car-info > img, .car-info > .car-image img { display: block; width: 100%; max-width: none; aspect-ratio: 16 / 9; padding: 8% 12% 6%; object-fit: contain; background: linear-gradient(180deg, var(--sky-concrete) 0 64%, var(--sky-concrete-2) 64%); transition: transform 700ms var(--sky-ease); }
.car-info > img { order: 0; width: calc(100% + 48px); margin: -14px -24px 12px; }
.car-info > .car-image { order: 0; display: block; margin: -14px -24px 12px; overflow: hidden; }
.car-card:hover .car-info > img, .car-card:hover .car-info > .car-image img { transform: translateX(3%); }
.car-info .tags { order: 3; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.car-info .tags span { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: var(--sky-r1); background: var(--sky-concrete); color: var(--sky-ink-2); font-size: var(--sky-fs-s); font-weight: 750; }
.car-info .vehicle-details-link { order: 4; align-self: flex-start; display: inline-flex; align-items: center; min-height: 44px; margin-top: 6px; color: var(--sky-blue-deep); font-weight: 750; text-underline-offset: 4px; }
.car-plan { display: grid; gap: 8px; margin-top: auto; padding: 12px 24px 14px; border-top: 2px dashed var(--sky-concrete-2); }
.car-plan h3 { display: flex; align-items: center; gap: 8px; font-size: var(--sky-fs-s); font-weight: 850; }
.car-plan h3::before { content: ""; width: 10px; height: 10px; border-radius: 2px; background: var(--sky-accent); }
.car-plan > p { margin: 0; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.car-plan > p strong { font-weight: 750; }
.car-plan .features { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.car-plan .features li { position: relative; padding-left: 16px; }
.car-plan .features li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 3px; background: var(--sky-accent); }
.car-plan .price { margin: 8px 0 0; color: var(--sky-ink); font-size: var(--sky-fs-l); font-weight: 900; letter-spacing: -.03em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.car-plan .price span { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 750; letter-spacing: 0; }
.car-plan .select-button .select-btn { width: 100%; }

/* Draft fleet: visible reference, visibly not bookable. */
.draft-fleet-preview { grid-column: 1 / -1; margin-top: clamp(14px, 2.4vw, 28px); padding-top: clamp(14px, 2.4vw, 24px); border-top: 2px dashed var(--sky-concrete-2); }
.draft-fleet-kicker { display: none; }
.draft-fleet-heading h3 { font-size: var(--sky-fs-l); font-weight: 820; letter-spacing: -.02em; }
.draft-fleet-heading p { max-width: 70ch; margin-top: 10px; color: var(--sky-ink-2); }
.draft-fleet-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 12px; margin-top: 14px; }
.draft-car-card { position: relative; overflow: hidden; border-radius: 2px; background: var(--sky-paper); box-shadow: inset 0 0 0 1px var(--sky-rule); }
.draft-car-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; filter: saturate(.55); }
.draft-car-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 16 / 10; background: repeating-linear-gradient(-45deg, rgba(11, 23, 40, .12) 0 8px, transparent 8px 18px); pointer-events: none; }
.draft-car-copy { padding: 12px 18px 12px; }
.draft-car-copy h4 { font-size: var(--sky-fs-m); font-weight: 820; }
.draft-car-status { margin-top: 4px; color: var(--sky-warn); font-size: var(--sky-fs-s); font-weight: 750; }
.draft-car-details { margin-top: 12px; }
.draft-car-details h5 { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 800; }
.draft-car-details dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; margin: 8px 0 0; }
.draft-car-details dt { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 750; }
.draft-car-details dd { margin: 0; font-size: var(--sky-fs-s); font-weight: 700; }

/* -------------------------------------------------------------- Summary dialog */
body.modal-open { overflow: hidden; }
#infoModal { position: fixed; inset: 0; z-index: 400; display: grid; place-items: center; padding: 12px 16px; background: rgba(5, 12, 22, .72); }
#infoModal[hidden] { display: none; }
#infoModal .modal-content { position: relative; width: min(760px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: clamp(14px, 2.4vw, 22px) clamp(22px, 4vw, 36px); border-radius: var(--sky-r2); background: var(--sky-paper); color: var(--sky-ink); box-shadow: var(--sky-e3); animation: sky-drop var(--sky-t3) var(--sky-ease); }
#infoModal .modal-content::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: repeating-linear-gradient(90deg, var(--sky-accent) 0 22px, transparent 22px 36px), var(--sky-asphalt-2); }
#infoModal .close { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: var(--sky-r2); background: var(--sky-concrete); color: var(--sky-ink); font-size: var(--sky-fs-l); line-height: 1; cursor: pointer; }
#infoModal .close:hover { background: var(--sky-concrete-2); }
#modal-title { padding-right: 52px; font-size: var(--sky-fs-l); font-weight: 820; letter-spacing: -.02em; }
#infoModal .details-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; margin-top: 12px; }
#infoModal .details-grid p { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 9px 0; border-bottom: 1px dashed var(--sky-concrete-2); font-size: var(--sky-fs-s); }
#infoModal .details-grid p strong { color: var(--sky-ink-2); font-weight: 700; }
#infoModal .details-grid p:last-child { font-weight: 850; }
#infoModal .extra-fees { margin-top: 12px; padding: 12px 16px; border-radius: var(--sky-r2); background: repeating-linear-gradient(-45deg, var(--sky-concrete) 0 10px, #f5f8fb 10px 20px); color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
#infoModal .modal-buttons { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-top: 14px; }
#submitBooking, #closeModalBtn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 24px; border-radius: var(--sky-r2); font: inherit; font-weight: 850; cursor: pointer; }
#submitBooking { order: 2; border: 2px solid var(--sky-blue); background: var(--sky-blue); color: #fff; }
#submitBooking:hover { background: var(--sky-blue-deep); }
#submitBooking:disabled { opacity: .65; cursor: progress; }
#closeModalBtn { order: 1; border: 2px solid var(--sky-concrete-2); background: #fff; color: var(--sky-ink); }
@media (max-width: 640px) {
  #infoModal { padding: 0; place-items: end stretch; }
  #infoModal .modal-content { width: 100%; max-height: 92dvh; border-radius: var(--sky-r3) var(--sky-r3) 0 0; }
  #infoModal .modal-buttons > button { flex: 1 1 100%; }
}

/* -------------------------------------------------------------- Story: the road opens */
.rc-story { --story-h: 240vh; }
.rc-story .sky-story__legs { grid-template-rows: auto auto auto; align-content: center; }
.rc-story .sky-leg { grid-area: 2 / 1; }
.rc-story__title { grid-area: 1 / 1; max-width: 14ch; margin-bottom: 16px; font-size: var(--sky-fs-l); }
.rc-story .sky-story__ticks { grid-row: 3; }
.rc-plan .rc-r1 { stroke: var(--sky-paint); stroke-width: 3; opacity: .75; --route-p: clamp(0, calc(var(--e1) * 2 - 1), 1); }
.rc-plan .rc-r2 { stroke: #3fd18f; --route-p: var(--e3); }
.rc-plan .rc-r3 { stroke: #a9b8ff; --route-p: var(--e4); }
.rc-plan .rc-plane__body { fill: var(--sky-paint); transform: scale(calc(1.45 - min(1, var(--e1) * 2.5) * .45)); transition: none; }
.rc-plan .rc-plane__shadow { fill: rgba(0, 0, 0, .35); transform: translate(calc((1 - min(1, var(--e1) * 2.5)) * 18px), calc((1 - min(1, var(--e1) * 2.5)) * 14px)); }
.rc-plan .rc-bay { fill: #3fd18f; opacity: calc(.06 + var(--e2) * .42); }
.rc-plan .rc-baynum { font: 900 18px var(--sky-font); fill: #3fd18f; opacity: calc(.35 + var(--e2) * .65); }
.rc-plan .rc-key { stroke: #3fd18f; transform-box: fill-box; transform-origin: 50% 50%; transform: scale(var(--e2)) rotate(calc((1 - var(--e2)) * -70deg)); opacity: calc(1 - var(--s3) * 3); }
.rc-plan .rc-lights { fill: #fff5cc; opacity: calc(var(--e2) * .5); }
.rc-plan .rc-lights--back { opacity: calc(.35 + var(--e4) * .3); }
.rc-plan .rc-road { transform-box: fill-box; transform-origin: 50% 50%; transform: scaleY(calc(.32 + var(--e3) * .68)); }
.rc-plan .rc-edge { opacity: var(--e3); }
.rc-plan .rc-trees circle { fill: #1f5a43; transform-box: fill-box; transform-origin: 50% 100%; transform: scale(var(--e3)); }
.rc-plan .rc-trees--bottom circle { transform: scale(clamp(0, calc(var(--e3) * 1.4 - .4), 1)); }
.rc-plan .rc-car--out { opacity: calc(1 - var(--s4) * 3); }
.rc-plan .rc-car--back { opacity: min(1, calc(var(--s4) * 6)); }
.rc-plan .rc-dusk { fill: #020814; opacity: calc(var(--e4) * .42); pointer-events: none; }
.rc-plan .rc-lamps circle { fill: #ffe7a8; opacity: calc(var(--e4) * .22);  }
.rc-plan .rc-ok { transform-box: fill-box; transform-origin: 50% 50%; transform: scale(var(--e4)); }
.rc-plan .rc-ok circle { fill: #3fd18f; }
@media (max-width: 900px) { .rc-story__title { margin-bottom: 12px; } }
.sky-reduced .rc-story .sky-leg, .sky-nojs .rc-story .sky-leg { grid-area: auto; }
.sky-reduced .rc-story__title, .sky-nojs .rc-story__title { grid-area: auto; }

/* -------------------------------------------------------------- Useful links */
.rc-info__bays { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.rc-link-bay { min-height: 132px; justify-content: flex-end; gap: 12px; padding-bottom: 18px; }
.rc-link-bay .sky-bay__title { padding-right: 64px; }
.rc-link-bay .sky-btn__arrow { width: 24px; height: 16px; fill: none; stroke: var(--sky-blue); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--sky-t2) var(--sky-ease); }
.rc-link-bay:hover { transform: translateY(-4px); box-shadow: var(--sky-e2); --bay-stripe: var(--sky-accent); }
.rc-link-bay:hover .sky-btn__arrow { transform: translateX(6px); }
.rc-link-bay:hover .sky-bay__num { color: var(--sky-accent); }
.rc-link-bay:focus-visible { outline: 3px solid var(--sky-sky); outline-offset: 3px; }

/* -------------------------------------------------------------- Mobile bar */
.rc-bar-value { font-variant-numeric: tabular-nums; }

/* ============================================================== Subpages
 * Secondary routes, vehicle detail, about/FAQ/legal and status pages. */

/* Social icons kept on the secondary template (below the related lanes). */
.rc-social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.rc-social .ssd-btn { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--sky-r2); background: var(--sky-concrete); color: var(--sky-ink); box-shadow: inset 0 0 0 1px var(--sky-rule); transition: background-color var(--sky-t1), color var(--sky-t1), transform var(--sky-t2) var(--sky-ease); }
.rc-social .ssd-btn:hover { background: var(--sky-asphalt); color: var(--sky-accent); transform: translateY(-2px); }
.rc-social .ssd-btn:focus-visible { outline: 3px solid var(--sky-sky); outline-offset: 2px; }

/* -------------------------------------------------------------- Vehicle detail */
.rc-vehicle-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(16px, 3vw, 44px); align-items: center; }
.rc-vehicle-hero__copy { min-width: 0; }
.rc-vehicle-hero .sky-page-hero__lead { margin-top: 12px; }
.rc-availability { display: inline-flex; align-items: center; gap: 10px; margin-top: 12px; color: var(--sky-paint); font-weight: 750; }
.rc-availability::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--sky-accent); box-shadow: 0 0 0 4px rgba(63, 209, 143, .2); }
.rc-availability.is-unavailable { color: var(--sky-mist); }
.rc-availability.is-unavailable::before { background: var(--sky-mist-2); box-shadow: 0 0 0 4px rgba(142, 163, 187, .2); }
.rc-vehicle-tags { margin: 12px 0 0; padding: 0; list-style: none; }
.rc-vehicle-hero__buy { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px; margin-top: 16px; }
.rc-vehicle-plate { grid-auto-flow: row; grid-template-columns: auto auto; justify-content: start; margin: 0; color: var(--sky-paint); }
.rc-vehicle-plate .sky-plate__note { grid-row: 2; }
.rc-vehicle-plate .sky-plate__value { color: var(--sky-paint); }
.rc-vehicle-plate .sky-plate__note { color: var(--sky-mist); opacity: 1; }
/* The car stands on a painted bay floor, bounded by two accent stripes. */
.rc-vehicle-bay { position: relative; margin: 0; padding: 0 var(--sky-stripe); border-radius: 2px; background: linear-gradient(180deg, var(--sky-concrete) 0 64%, var(--sky-concrete-2) 64%); box-shadow: var(--sky-e2); overflow: hidden; }
.rc-vehicle-bay::before, .rc-vehicle-bay::after { content: ""; position: absolute; top: 0; bottom: 0; width: var(--sky-stripe); background: var(--sky-accent); }
.rc-vehicle-bay::before { left: 0; }
.rc-vehicle-bay::after { right: 0; }
.rc-vehicle-bay img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; padding: 9% 11% 6%; object-fit: contain; }
.rc-vehicle-bay__mark { position: absolute; top: 14px; right: 22px; font-size: var(--sky-fs-xl); font-weight: 900; line-height: 1; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 2px rgba(14, 27, 45, .22); user-select: none; }

.rc-vehicle-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: clamp(12px, 1.2vw, 14px); margin: 0; counter-reset: fact; }
.rc-fact { counter-increment: fact; position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 132px; padding: 14px 24px 14px; background: var(--sky-paper); box-shadow: inset 0 calc(-1 * var(--sky-stripe)) 0 var(--sky-rule); }
.rc-fact::before, .rc-fact::after { content: ""; position: absolute; top: 0; bottom: 0; width: var(--sky-stripe); background: var(--sky-rule); }
.rc-fact::before { left: 0; }
.rc-fact::after { right: 0; }
.rc-fact:first-child::before, .rc-fact:first-child::after { background: var(--sky-accent); }
.rc-fact dt { padding-right: 44px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); font-weight: 750; line-height: 1.35; }
.rc-fact dt::after { content: counter(fact); position: absolute; top: 16px; right: 20px; font-size: var(--sky-fs-xl); font-weight: 900; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px var(--sky-rule); }
.rc-fact dd { margin: auto 0 0; color: var(--sky-ink-2); font-weight: 700; }
.rc-fact dd b { color: var(--sky-ink); font-size: var(--sky-fs-l); font-weight: 870; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.rc-vehicle-disclosure { max-width: 72ch; margin-top: clamp(14px, 1.8vw, 20px); }
@media (max-width: 900px) {
  .rc-vehicle-hero__grid { grid-template-columns: 1fr; }
  .rc-vehicle-bay { order: -1; max-width: 560px; }
}
@media (max-width: 560px) {
  .rc-vehicle-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .rc-fact { min-height: 120px; padding: 12px 16px 12px; }
  .rc-fact dt { padding-right: 26px; font-size: var(--sky-fs-s); }
  .rc-fact dt::after { top: 14px; right: 12px; font-size: var(--sky-fs-l); }
}

/* -------------------------------------------------------------- About */
.rc-about__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(16px, 3vw, 44px); align-items: start; }
.rc-about__story { font-size: var(--sky-fs-m); line-height: 1.45; color: var(--sky-ink-2); }
.rc-about__story p:first-child { color: var(--sky-ink); font-size: var(--sky-fs-m); font-weight: 650; line-height: 1.45; }
.rc-note-bays { margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.rc-note-bays .sky-bay { min-height: 150px; justify-content: flex-end; padding-top: 38px; }
.rc-note-bays .sky-bay__text { margin: 0; color: var(--sky-ink); font-size: var(--sky-fs-m); font-weight: 600; line-height: 1.45; }
.sky-paper .rc-note-bays .sky-bay { background: var(--sky-concrete); }
.rc-quote { margin: 0; padding-left: clamp(18px, 3vw, 28px); border-left: 6px solid var(--sky-accent); font-size: var(--sky-fs-l); font-weight: 720; line-height: 1.3; letter-spacing: -.015em; }
.rc-quote strong { display: block; margin-bottom: 8px; color: var(--sky-accent); font-size: var(--sky-fs-m); font-weight: 850; letter-spacing: 0; }
.rc-quote-band__note { margin-top: 16px; color: var(--sky-mist); font-size: var(--sky-fs-m); }
.rc-quote-band__note em { color: var(--sky-paint); font-style: normal; font-weight: 750; }
.rc-about__em { max-width: 70ch; margin-top: clamp(14px, 2.4vw, 24px); color: var(--sky-ink-2); }
.rc-signoff { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin-top: 14px; padding: 14px clamp(20px, 3vw, 32px); border-radius: var(--sky-r2); background: var(--sky-paper); box-shadow: inset 4px 0 0 var(--sky-accent), var(--sky-e1); }
.rc-signoff p { margin: 0; max-width: 60ch; }
.rc-signoff span { color: var(--sky-ink-2); }
@media (max-width: 900px) { .rc-about__grid { grid-template-columns: 1fr; } }

/* -------------------------------------------------------------- FAQ */
.rc-faq-head { margin-bottom: clamp(14px, 1.8vw, 20px); }
.rc-faq-head .sky-h2 { font-size: var(--sky-fs-l); }
.rc-faq-head p { margin-top: 10px; color: var(--sky-ink-2); }
.rc-help__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 28px; align-items: center; }
.rc-help .sky-lead { margin-top: 12px; color: var(--sky-mist); }
.rc-help__wa { gap: 12px; }
.rc-help__wa img { flex: none; }
@media (max-width: 720px) { .rc-help__grid { grid-template-columns: 1fr; } }

/* -------------------------------------------------------------- Legal */
.rc-legal { color: var(--sky-ink-2); line-height: 1.5; }
.rc-legal h2 { color: var(--sky-ink); font-size: var(--sky-fs-l); }
.rc-legal h2:first-child { margin-top: 0; }
.rc-legal strong { color: var(--sky-ink); }
.rc-legal a { color: var(--sky-blue-deep); font-weight: 700; text-underline-offset: 3px; }
.rc-legal .rc-prose-foot { margin-top: 1.6em; padding-top: .8em; border-top: 2px dashed var(--sky-concrete-2); font-size: var(--sky-fs-s); }

/* -------------------------------------------------------------- Status pages */
.rc-status { position: relative; overflow: clip; display: grid; align-items: center; min-height: min(72vh, 680px); padding-block: clamp(34px, 5.4vw, 72px); }
.rc-status::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: repeating-linear-gradient(90deg, var(--sky-accent) 0 22px, transparent 22px 36px); opacity: .9; }
.rc-status__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(14px, 3vw, 44px); align-items: end; }
.rc-status__copy { max-width: 720px; }
.rc-status h1 { font-size: var(--sky-fs-xl); font-weight: 850; line-height: 1.06; letter-spacing: -.035em; text-wrap: balance; }
.rc-status__text { margin: 12px 0 18px; max-width: 60ch; color: var(--sky-mist); font-size: var(--sky-fs-m); line-height: 1.4; }
.rc-status__links { margin-top: 20px; }
@media (max-width: 720px) { .rc-status__grid { grid-template-columns: 1fr; } .rc-status .sky-page-hero__mark { display: none; } }

/* Critique: the fixed long title sets in 2-3 lines; on narrow screens the
   booking form follows the lead and the link chips move below it. */
.rc-title { font-size: var(--sky-fs-xl); max-width: 18ch; }
@media (max-width: 960px) {
  .rc-hero__copy { display: contents; }
  .rc-hero__grid { gap: 12px; }
  .rc-title { order: 1; }
  .rc-hero .sky-hero__lead { order: 2; }
  .rc-chips { order: 4; }
}
/* The trip strip appears once a period exists (before, the form status says the same). */
.rc-trip[data-empty] { display: none; }

.rc-plan .rc-lamps circle { r: 7px; stroke: #ffe7a8; stroke-opacity: .28; stroke-width: 22px; opacity: calc(var(--e4) * .9); }
.rc-hero__photo img { aspect-ratio: 540 / 262; }
/* Notes use the hatch ground instead of accent side stripes. */
.rc-trip::before { display: none; }
.rc-quote { padding: 12px 0 0; border-left: 0; border-top: 4px dashed var(--sky-accent); }
.rc-info__lanes { margin-top: 8px; }
/* Plate sits over the sky, clear of the car. */
.rc-hero__photo .sky-plate { top: 12px; bottom: auto; left: 12px; }
/* The two hero columns end on one line: the photo fills the copy column's
   width and stretches to the bottom of the booking card and offers. */
@media (min-width: 901px) {
  .rc-hero__grid { align-items: stretch; gap: clamp(16px, 2.4vw, 32px); }
  .rc-hero__copy { display: flex; flex-direction: column; }
  .rc-hero__photo { position: relative; flex: 1 1 auto; min-height: 220px; max-width: none; }
  .rc-hero__photo img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
  .rc-title { max-width: none; }
}
/* Native date-time inputs themed to the shared field look (field contract unchanged). */
.rc-hero input[type="datetime-local"].form-control { color-scheme: light; font-family: var(--sky-font); font-weight: 700; color: var(--sky-ink); }
.rc-hero input[type="datetime-local"].form-control::-webkit-datetime-edit-fields-wrapper { padding: 0; }
.rc-hero input[type="datetime-local"].form-control::-webkit-calendar-picker-indicator { opacity: 1; filter: invert(28%) sepia(92%) saturate(1650%) hue-rotate(185deg) brightness(88%); }

/* sky-scenes:start (generated by shared/sky-ui/scenes/build.py) */
.rc-scenes .rc-s1-plane { transform: translate(56.250cqw, 75.600cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s1-plane { animation: rc-s1-plane 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes rc-s1-plane { 0% { transform: translate(-13.750cqw, 22.000cqh) rotate(12deg) scale(1); opacity: 1; } 36% { transform: translate(37.500cqw, 75.200cqh) rotate(2deg) scale(1); opacity: 1; } 56% { transform: translate(55.000cqw, 75.600cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(56.250cqw, 75.600cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s1-d1 { transform: translate(13.000cqw, 34.800cqh) rotate(0deg) scale(1, 1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s1-d1 { animation: rc-s1-d1 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s1-d1 { 0% { transform: translate(13.000cqw, 34.800cqh) rotate(0deg) scale(0, 1); opacity: 0; } 34% { transform: translate(13.000cqw, 34.800cqh) rotate(0deg) scale(0, 1); opacity: 0; } 42% { transform: translate(13.000cqw, 34.800cqh) rotate(0deg) scale(1, 1); opacity: 1; } 100% { transform: translate(13.000cqw, 34.800cqh) rotate(0deg) scale(1, 1); opacity: 1; } }
.rc-scenes .rc-s1-d2 { transform: translate(28.250cqw, 34.800cqh) rotate(0deg) scale(1, 1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s1-d2 { animation: rc-s1-d2 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s1-d2 { 0% { transform: translate(28.250cqw, 34.800cqh) rotate(0deg) scale(0, 1); opacity: 0; } 46% { transform: translate(28.250cqw, 34.800cqh) rotate(0deg) scale(0, 1); opacity: 0; } 54% { transform: translate(28.250cqw, 34.800cqh) rotate(0deg) scale(1, 1); opacity: 1; } 100% { transform: translate(28.250cqw, 34.800cqh) rotate(0deg) scale(1, 1); opacity: 1; } }
.rc-scenes .rc-s1-pin { transform: translate(74.500cqw, 52.400cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s1-pin { animation: rc-s1-pin 3800ms ease-in both; }
@keyframes rc-s1-pin { 0% { transform: translate(74.500cqw, 40.000cqh) rotate(0deg) scale(1); opacity: 0; } 66% { transform: translate(74.500cqw, 40.000cqh) rotate(0deg) scale(1); opacity: 0; } 76% { transform: translate(74.500cqw, 52.400cqh) rotate(0deg) scale(1); opacity: 1; } 82% { transform: translate(74.500cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 88% { transform: translate(74.500cqw, 52.400cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(74.500cqw, 52.400cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s2-hatch { transform: translate(35.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; }
.rc-scenes .scene.is-on .rc-s2-hatch { animation: rc-s2-hatch 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s2-hatch { 0% { transform: translate(50.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 1; } 30% { transform: translate(50.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 1; } 33% { transform: translate(35.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; } 100% { transform: translate(35.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; } }
.rc-scenes .rc-s2-seats0 { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; }
.rc-scenes .scene.is-on .rc-s2-seats0 { animation: rc-s2-seats0 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes rc-s2-seats0 { 0% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } 0% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } 5% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 1; } 30% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 1; } 33% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.rc-scenes .rc-s2-break { transform: translate(35.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; }
.rc-scenes .scene.is-on .rc-s2-break { animation: rc-s2-break 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s2-break { 0% { transform: translate(65.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; } 33.3% { transform: translate(65.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; } 38.3% { transform: translate(50.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 1; } 63.3% { transform: translate(50.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 1; } 66.3% { transform: translate(35.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; } 100% { transform: translate(35.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; } }
.rc-scenes .rc-s2-seats1 { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; }
.rc-scenes .scene.is-on .rc-s2-seats1 { animation: rc-s2-seats1 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes rc-s2-seats1 { 0% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } 33.3% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } 38.3% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 1; } 63.3% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 1; } 66.3% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.rc-scenes .rc-s2-mpv { transform: translate(50.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 1; }
.rc-scenes .scene.is-on .rc-s2-mpv { animation: rc-s2-mpv 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s2-mpv { 0% { transform: translate(65.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; } 66.6% { transform: translate(65.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 0; } 71.6% { transform: translate(50.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 1; } 96.6% { transform: translate(50.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 1; } 100% { transform: translate(50.000cqw, 66.000cqh) rotate(0deg) scale(1.6); opacity: 1; } }
.rc-scenes .rc-s2-seats2 { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s2-seats2 { animation: rc-s2-seats2 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes rc-s2-seats2 { 0% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } 66.6% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 0; } 71.6% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 1; } 96.6% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 88.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s2-bar { transform: translate(50.000cqw, 20.200cqh) rotate(0deg) scale(0.85, 1); opacity: 1; transform-origin: 0% 50%; }
.rc-scenes .scene.is-on .rc-s2-bar { animation: rc-s2-bar 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s2-bar { 0% { transform: translate(50.000cqw, 20.200cqh) rotate(0deg) scale(0.3, 1); opacity: 1; } 30% { transform: translate(50.000cqw, 20.200cqh) rotate(0deg) scale(0.3, 1); opacity: 1; } 38% { transform: translate(50.000cqw, 20.200cqh) rotate(0deg) scale(0.55, 1); opacity: 1; } 63% { transform: translate(50.000cqw, 20.200cqh) rotate(0deg) scale(0.55, 1); opacity: 1; } 71% { transform: translate(50.000cqw, 20.200cqh) rotate(0deg) scale(0.85, 1); opacity: 1; } 100% { transform: translate(50.000cqw, 20.200cqh) rotate(0deg) scale(0.85, 1); opacity: 1; } }
.rc-scenes .rc-s3-f0 { transform: translate(18.750cqw, 29.000cqh) rotate(0deg) scale(1, 1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s3-f0 { animation: rc-s3-f0 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes rc-s3-f0 { 0% { transform: translate(18.750cqw, 29.000cqh) rotate(0deg) scale(0, 1); opacity: 1; } 6% { transform: translate(18.750cqw, 29.000cqh) rotate(0deg) scale(0, 1); opacity: 1; } 14% { transform: translate(18.750cqw, 29.000cqh) rotate(0deg) scale(1, 1); opacity: 1; } 100% { transform: translate(18.750cqw, 29.000cqh) rotate(0deg) scale(1, 1); opacity: 1; } }
.rc-scenes .rc-s3-f1 { transform: translate(18.750cqw, 39.400cqh) rotate(0deg) scale(1, 1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s3-f1 { animation: rc-s3-f1 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes rc-s3-f1 { 0% { transform: translate(18.750cqw, 39.400cqh) rotate(0deg) scale(0, 1); opacity: 1; } 16% { transform: translate(18.750cqw, 39.400cqh) rotate(0deg) scale(0, 1); opacity: 1; } 24% { transform: translate(18.750cqw, 39.400cqh) rotate(0deg) scale(1, 1); opacity: 1; } 100% { transform: translate(18.750cqw, 39.400cqh) rotate(0deg) scale(1, 1); opacity: 1; } }
.rc-scenes .rc-s3-f2 { transform: translate(18.750cqw, 49.800cqh) rotate(0deg) scale(1, 1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s3-f2 { animation: rc-s3-f2 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes rc-s3-f2 { 0% { transform: translate(18.750cqw, 49.800cqh) rotate(0deg) scale(0, 1); opacity: 1; } 26% { transform: translate(18.750cqw, 49.800cqh) rotate(0deg) scale(0, 1); opacity: 1; } 34% { transform: translate(18.750cqw, 49.800cqh) rotate(0deg) scale(1, 1); opacity: 1; } 100% { transform: translate(18.750cqw, 49.800cqh) rotate(0deg) scale(1, 1); opacity: 1; } }
.rc-scenes .rc-s3-send { transform: translate(18.750cqw, 61.800cqh) rotate(0deg) scale(1); opacity: 0; }
.rc-scenes .scene.is-on .rc-s3-send { animation: rc-s3-send 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes rc-s3-send { 0% { transform: translate(18.750cqw, 61.800cqh) rotate(0deg) scale(1); opacity: 0; } 40% { transform: translate(18.750cqw, 61.800cqh) rotate(0deg) scale(1); opacity: 0; } 44% { transform: translate(18.750cqw, 61.800cqh) rotate(0deg) scale(1.06); opacity: 1; } 50% { transform: translate(18.750cqw, 61.800cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(18.750cqw, 61.800cqh) rotate(0deg) scale(1); opacity: 0; } }
.rc-scenes .rc-s3-ok { transform: translate(25.750cqw, 18.000cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s3-ok { animation: rc-s3-ok 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s3-ok { 0% { transform: translate(25.750cqw, 18.000cqh) rotate(0deg) scale(0.3); opacity: 0; } 48% { transform: translate(25.750cqw, 18.000cqh) rotate(0deg) scale(0.3); opacity: 0; } 54% { transform: translate(25.750cqw, 18.000cqh) rotate(0deg) scale(1.15); opacity: 1; } 60% { transform: translate(25.750cqw, 18.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(25.750cqw, 18.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s3-staff { transform: translate(70.000cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s3-staff { animation: rc-s3-staff 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes rc-s3-staff { 0% { transform: translate(70.000cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(70.000cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s3-client { transform: translate(64.000cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s3-client { animation: rc-s3-client 3800ms linear both; }
@keyframes rc-s3-client { 0% { transform: translate(41.250cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 0; } 52% { transform: translate(41.250cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 0; } 56% { transform: translate(43.750cqw, 72.000cqh) rotate(0deg) scale(1); opacity: 1; } 66% { transform: translate(64.000cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(64.000cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s3-shake { transform: translate(67.125cqw, 68.000cqh) rotate(0deg) scale(0); opacity: 0; }
.rc-scenes .scene.is-on .rc-s3-shake { animation: rc-s3-shake 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s3-shake { 0% { transform: translate(67.125cqw, 68.000cqh) rotate(0deg) scale(0); opacity: 0; } 68% { transform: translate(67.125cqw, 68.000cqh) rotate(0deg) scale(0); opacity: 0; } 73% { transform: translate(67.125cqw, 68.000cqh) rotate(0deg) scale(1.2); opacity: 1; } 80% { transform: translate(67.125cqw, 68.000cqh) rotate(0deg) scale(1); opacity: 1; } 85% { transform: translate(67.125cqw, 68.000cqh) rotate(0deg) scale(0); opacity: 0; } 100% { transform: translate(67.125cqw, 68.000cqh) rotate(0deg) scale(0); opacity: 0; } }
.rc-scenes .rc-s3-key { transform: translate(65.000cqw, 56.000cqh) rotate(-15deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s3-key { animation: rc-s3-key 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s3-key { 0% { transform: translate(67.500cqw, 60.000cqh) rotate(0deg) scale(0.5); opacity: 0; } 82% { transform: translate(68.500cqw, 63.200cqh) rotate(0deg) scale(0.5); opacity: 0; } 88% { transform: translate(66.250cqw, 58.000cqh) rotate(-15deg) scale(1); opacity: 1; } 100% { transform: translate(65.000cqw, 56.000cqh) rotate(-15deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s4-road { transform: translate(17.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s4-road { animation: rc-s4-road 4000ms linear both; }
@keyframes rc-s4-road { 0% { transform: translate(100.000cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } 62% { transform: translate(20.000cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(17.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s4-trees { transform: translate(36.250cqw, 72.000cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s4-trees { animation: rc-s4-trees 4000ms linear both; }
@keyframes rc-s4-trees { 0% { transform: translate(87.500cqw, 72.000cqh) rotate(0deg) scale(1); opacity: 1; } 62% { transform: translate(37.500cqw, 72.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(36.250cqw, 72.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s4-term { transform: translate(77.500cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s4-term { animation: rc-s4-term 4000ms cubic-bezier(.16,1,.3,1) both; }
@keyframes rc-s4-term { 0% { transform: translate(125.000cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; } 60% { transform: translate(125.000cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; } 92% { transform: translate(77.500cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(77.500cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s4-car { transform: translate(52.500cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; }
.rc-scenes .scene.is-on .rc-s4-car { animation: rc-s4-car 4000ms ease-in-out both; }
@keyframes rc-s4-car { 0% { transform: translate(41.250cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; } 20% { transform: translate(41.750cqw, 81.200cqh) rotate(0deg) scale(1); opacity: 1; } 40% { transform: translate(41.250cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; } 60% { transform: translate(41.750cqw, 81.200cqh) rotate(0deg) scale(1); opacity: 1; } 92% { transform: translate(52.500cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(52.500cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; } }
.rc-scenes .rc-s4-stripe { transform: translate(52.625cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; }
.rc-scenes .scene.is-on .rc-s4-stripe { animation: rc-s4-stripe 4000ms ease-in-out both; }
@keyframes rc-s4-stripe { 0% { transform: translate(41.375cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; } 20% { transform: translate(41.875cqw, 81.400cqh) rotate(0deg) scale(1); opacity: 0.9; } 40% { transform: translate(41.375cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; } 60% { transform: translate(41.875cqw, 81.400cqh) rotate(0deg) scale(1); opacity: 0.9; } 92% { transform: translate(52.625cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; } 100% { transform: translate(52.625cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; } }
.rc-scenes .rc-s4-plane { transform: translate(112.500cqw, 34.000cqh) rotate(-16deg) scale(0.7); opacity: 1; }
.rc-scenes .scene.is-on .rc-s4-plane { animation: rc-s4-plane 4000ms ease-in both; }
@keyframes rc-s4-plane { 0% { transform: translate(90.000cqw, 66.000cqh) rotate(-12deg) scale(0.7); opacity: 0; } 84% { transform: translate(87.500cqw, 60.000cqh) rotate(-12deg) scale(0.7); opacity: 0; } 88% { transform: translate(90.000cqw, 58.000cqh) rotate(-12deg) scale(0.7); opacity: 1; } 100% { transform: translate(112.500cqw, 34.000cqh) rotate(-16deg) scale(0.7); opacity: 1; } }
.rc-scenes.sky-scenes--embed { padding: 0; margin-top: 4px; content-visibility: visible; contain-intrinsic-size: none; display: grid; gap: 10px; max-width: 520px; }
.rc-scenes.sky-scenes--embed .sky-scenes__play { display: grid; gap: 10px; }
.rc-scenes.sky-scenes--embed .sky-scenes__controls { margin: 0; }
.rc-scenes.sky-scenes--embed .sky-scenes__legs { display: grid; min-height: 0; }
.rc-scenes.sky-scenes--embed .sky-leg { grid-area: 1 / 1; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: baseline; margin: 0; padding: 0; border: 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity 420ms var(--sky-ease), transform 420ms var(--sky-ease), visibility 0s 420ms; }
.rc-scenes.sky-scenes--embed .sky-leg.is-active { opacity: 1; visibility: visible; transform: none; transition: opacity 420ms var(--sky-ease), transform 420ms var(--sky-ease); }
.rc-scenes.sky-scenes--embed .sky-leg__num { grid-row: span 2; align-self: start; font-size: var(--sky-fs-l); }
.rc-scenes.sky-scenes--embed .sky-leg__title { margin: 0; font-size: var(--sky-fs-m); }
.rc-scenes.sky-scenes--embed .sky-leg p { margin: 2px 0 0; color: var(--sky-mist); font-size: var(--sky-fs-s); }
@media (max-width: 960px) { .rc-scenes.sky-scenes--embed { order: 5; max-width: none; margin-top: 8px; } }
/* Desktop: the player takes exactly the height left under the hero copy, so
   the copy column ends level with the booking card. The stage keeps 8:5 and
   the running step's caption sits on it as a plate. */
@media (min-width: 961px) {
  .rc-scenes.sky-scenes--embed { position: relative; flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; gap: 8px; max-width: none; }
  .rc-scenes.sky-scenes--embed .sky-scenes__play { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; gap: 8px; }
  .rc-scenes.sky-scenes--embed .sky-scenes__stage { flex: 1 1 0; min-height: 180px; width: auto; max-width: 100%; aspect-ratio: 8 / 5; align-self: flex-start; }
  .rc-scenes.sky-scenes--embed .sky-scenes__legs { position: absolute; top: 12px; left: 12px; width: min(340px, 62%); pointer-events: none; }
  .rc-scenes.sky-scenes--embed .sky-leg { padding: 10px 14px; border-radius: var(--sky-r2); background: rgba(11, 23, 40, .86); box-shadow: inset 0 0 0 1px var(--sky-rule-dark); }
  .rc-scenes.sky-scenes--embed .sky-leg.is-active { pointer-events: auto; }
}
/* sky-scenes:end */

/* Density 2026-10-03 */
.rc-note-bays .sky-bay { min-height: 0; padding-top: calc(var(--sky-fs-xl) + 20px); }


/* Included 2026-10-04: four short groups side by side, each a stack of icon
   tiles, instead of eight tall cards. */
.rc-amen { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px clamp(10px, 1.4vw, 18px); }
.rc-amen__h { margin: 0 0 8px; padding-bottom: 6px; border-bottom: 2px solid var(--sky-ink); font-size: var(--sky-fs-s); font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.rc-amen .sky-amen { grid-template-columns: 1fr; gap: 6px; }
@media (max-width: 1100px) { .rc-amen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .rc-amen { grid-template-columns: 1fr; } .rc-amen .sky-amen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Round 6: the booking is its own section under the hero, on the shared card
   (.sb-*); the scene player takes the hero's right column. */
.rc-hero__scene { min-width: 0; }
.rc-hero__scene .rc-scenes.sky-scenes--embed { max-width: none; margin-top: 0; }
.rc-bookmain { min-width: 0; }
.rc-book { padding-top: clamp(16px, 2vw, 24px); }
.rc-opts { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.6fr) minmax(0, .8fr) minmax(0, .9fr); }
@media (min-width: 961px) {
  .rc-hero .rc-hero__grid { align-items: center; }
  .rc-hero .rc-hero__scene .rc-scenes.sky-scenes--embed { flex: none; }
  .rc-hero .rc-hero__scene .rc-scenes .sky-scenes__play { flex: none; }
  .rc-hero .rc-hero__scene .rc-scenes .sky-scenes__stage { flex: none; width: 100%; max-height: 400px; }
}
@media (max-width: 900px) { .rc-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rc-opts > .sb-pick { grid-column: 1 / -1; } }
@media (max-width: 760px) { .rc-opts > .sb-extra--select:not(:first-of-type) { grid-column: auto; } }

/* Phones (owner, batch 11): two cars and two amenity groups per row. */
@media (max-width: 720px) {
  #cars-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
@media (max-width: 560px) {
  .rc-amen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-amen .sky-amen { grid-template-columns: 1fr; }
}

/* Phones (owner, batch 11b): the car picker spans the row; place, age and
   second driver share one row. */
@media (max-width: 760px) {
  .rc-opts { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .rc-opts > :is(.sb-pick.sb-pick--select, .sb-extra.sb-extra--select) { grid-column: span 2; }
  .rc-opts > .sb-pick:not(.sb-pick--select) { grid-column: 1 / -1; }
}

/* Phones (owner, batch 11b): car cards two per row, contents tighter. */
@media (max-width: 720px) {
  .car-info { padding: 8px 10px 0; }
  .car-info > img { width: calc(100% + 20px); margin: -8px -10px 6px; }
  .car-info > .car-image { margin: -8px -10px 6px; }
  .car-info > img, .car-info > .car-image img { padding: 6% 8% 4%; }
  .car-info::before { top: 8px; right: 8px; font-size: var(--sky-fs-l); }
  .car-info h2 { padding-right: 0; font-size: var(--sky-fs-m); }
  .car-info .vehicle-details-link { min-height: 32px; margin-top: 2px; font-size: 13px; }
  .car-info .tags { gap: 4px; margin-top: 6px; }
  .car-plan { gap: 4px; padding: 8px 10px 10px; }
  .car-plan h3, .car-plan > p { font-size: 13px; }
  .car-plan .features { gap: 2px; font-size: 12.5px; line-height: 1.25; }
  .car-plan .features li { padding-left: 12px; }
  .car-plan .features li::before { width: 6px; top: .55em; }
  .car-plan .price { margin-top: 4px; font-size: var(--sky-fs-m); }
  .car-plan .select-button .select-btn { min-height: 40px; }
}

/* Phones (owner, batch 11c): the animation beside the title and lead on the
   same row (scene text and steps in the shared scene column), the link chips
   full width under both, then the booking form. */
@media (max-width: 900px) {
  .rc-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 12px; row-gap: 8px; align-items: start; }
  .rc-title { grid-column: 1; grid-row: 1; font-size: clamp(1.25rem, 5.6vw, 1.75rem); }
  .rc-hero .sky-hero__lead { grid-column: 1; grid-row: 2; margin: 0; font-size: var(--sky-fs-s); line-height: 1.4; }
  .rc-hero__scene { grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
  .rc-chips { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .rc-chips { gap: 6px; }
  .rc-chips .sky-chip { min-height: 38px; padding: 0 10px; font-size: 13px; }
}

/* --- Batch 11f (owner 2026-10-07) --- */
/* "Inclus la fiecare închiriere" on phones: two groups per row, short tiles
   (icon on the title's line, shared sky.css), tighter headings. */
@media (max-width: 560px) {
  .rc-amen { gap: 8px; }
  .rc-amen .sky-amen { gap: 4px; }
  .rc-amen__h { margin-bottom: 4px; padding-bottom: 3px; font-size: 11.5px; }
  .rc-amen .sky-amen > li { padding: 5px 6px 6px; }
}
/* Cars on phones: three per row, everything from photo to Rezervă in small
   type (owner); the card keeps all its lines. */
@media (max-width: 560px) {
  #cars-container { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .car-info { padding: 5px 6px 0; }
  .car-info > img { width: calc(100% + 12px); margin: -5px -6px 4px; }
  .car-info > .car-image { margin: -5px -6px 4px; }
  .car-info > img, .car-info > .car-image img { padding: 4% 4% 2%; }
  .car-info::before { top: 4px; right: 5px; font-size: 12px; }
  .car-info h2 { font-size: 12px; line-height: 1.2; }
  .car-info > p { display: none; }
  .car-info .tags { display: none; }
  .car-info .vehicle-details-link { min-height: 24px; margin-top: 0; font-size: 10.5px; line-height: 1.15; }
  .car-plan { gap: 1px; padding: 4px 6px 6px; }
  .car-plan h3, .car-plan > p { font-size: 10.5px; line-height: 1.25; }
  .car-plan h3 .fa, .car-plan h3::before { transform: scale(.8); }
  .car-plan .price { margin-top: 2px; font-size: 14px; }
  .car-plan .select-button .select-btn { min-height: 34px; padding: 0 4px; font-size: 12.5px; }
}

/* --- Batch 11i (owner 2026-10-07) --- */
/* Hero on phones like the other three homes (shared sky.css "Batch 11i"):
   the same title and lead size; the scene in the slightly wider column. */
@media (max-width: 900px) {
  .rc-title { font-size: clamp(1.4rem, 6.4vw, 1.75rem); line-height: 1.08; }
}
/* "Rezervă" on a car card: the pickup field is pointed out (it is not
   filled or opened), so the card waits for the dates. */
.rc-form .is-ask .sc-picker-trigger { animation: rc-ask 800ms var(--sky-ease) 3; }
@keyframes rc-ask { 0%, 100% { box-shadow: 0 0 0 0 rgba(8, 120, 184, 0); } 50% { box-shadow: 0 0 0 4px rgba(8, 120, 184, .45); } }

/* --- Batch 11j (owner 2026-10-08): readable form on narrow phones --- */
/* The place gets its own row (it read "Aeroport…"); age and second driver
   share the next one. */
@media (max-width: 560px) {
  .rc-opts > .sb-pick:not(.sb-pick--select) + * { grid-column: 1 / -1; }
  .rc-opts > .sb-pick:not(.sb-pick--select) + * ~ :is(.sb-pick--select, .sb-extra--select) { grid-column: span 3; }
}

/* --- Batch 11n (owner 2026-10-09) --- */
/* The first step's "Rezervă mașina" feeds the scene's button on phones
   (sky.js); the step text over the picture stays text only. */
.rc-scenes .sky-leg .sky-link { display: none; }

/* --- Batch 11p (owner 2026-10-09) --- */
/* Hero like parking and hotel: a short two-part title, the lead and the
   services list on the left beside the scene; the page links under both. */
.rc-hero .rc-title em { font-style: normal; color: var(--sky-accent); }
@media (max-width: 900px) { .rc-hero .rc-title em { display: block; } }
@media (max-width: 900px) {
  .rc-hero__grid { grid-template-rows: auto auto 1fr auto; }
  .rc-hero__scene { grid-row: 1 / span 3; align-self: start; }
  .rc-hero .rc-hero__copy > .sky-hero__list { grid-column: 1; grid-row: 3; align-self: start; margin-top: 2px; }
  .rc-chips { grid-row: 4; }
}
/* Computers: the running step's plate sits under the amenity band. */
@media (min-width: 961px) { .rc-scenes.sky-scenes--embed .sky-scenes__legs { top: 62px; } }

/* --- Batch 11r (owner 2026-10-09) --- */
/* Phones: the step runs inside the picture and the button sits under the
   window: the title and the lead beside it, the services list in two
   columns under both, then the page links. */
@media (max-width: 900px) {
  .rc-hero__grid { grid-template-rows: auto auto 1fr auto; }
  .rc-hero__scene { grid-row: 1 / span 3; }
  .rc-hero .rc-hero__copy > .sky-hero__list { grid-column: 1; grid-row: 3; grid-template-columns: minmax(0, 1fr); gap: 2px; margin-top: 8px; }
}
