/* SkyPark parking — app layer on /assets/sky-ui/sky.css.
   The booking wizard, date picker, comparator, gallery, map and reviews keep
   their original markup and scripts; they are restyled here by class. */

[data-sky="parcare"] i.fa { display: none; }
[data-sky="parcare"] .container { width: min(var(--sky-wrap), 100% - 2 * var(--sky-gutter)); margin-inline: auto; padding: 0; }
[data-sky="parcare"] .row { margin: 0; }
[data-sky="parcare"] [class*="col-"] { padding: 0; }

/* ------------------------------------------------------------ Hero */
.pk-hero .sky-hero__title { max-width: 11ch; }
.pk-rates { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 12px; margin-top: 18px; }
.pk-rate { display: grid; grid-template-columns: auto 1fr; column-gap: 8px; align-items: end; padding: 12px 18px 12px 16px; border: 2px solid var(--sky-rule-dark); border-radius: var(--sky-r1); }
.pk-rate:first-child { border-color: var(--sky-accent); }
button.pk-rate { width: 100%; margin: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color var(--sky-t2), background-color var(--sky-t2); }
button.pk-rate:hover { background: rgba(244, 247, 251, .05); }
button.pk-rate:focus-visible { outline: 3px solid var(--sky-accent); outline-offset: 2px; }
.pk-rate[aria-pressed="false"] { border-color: var(--sky-rule-dark); }
.pk-rate[aria-pressed="true"] { border-color: var(--sky-accent); background: rgba(247, 201, 72, .08); }
.pk-rate__v { grid-row: span 2; font-size: var(--sky-fs-xl); font-weight: 900; line-height: .85; letter-spacing: -.05em; color: #fff; }
.pk-rate__u { font-weight: 800; color: var(--sky-accent); line-height: 1; }
.pk-rate__k { font-weight: 750; color: var(--sky-paint); font-size: var(--sky-fs-s); line-height: 1.2; }
.pk-rate small { grid-column: 1 / -1; margin-top: 8px; color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 650; }
.pk-perks { display: flex; flex-wrap: wrap; gap: 8px 12px; margin: 14px 0 0; padding: 0; list-style: none; color: var(--sky-mist); font-weight: 650; font-size: var(--sky-fs-s); }
.pk-perks li { display: inline-flex; align-items: center; gap: 8px; }
.pk-perks li::before { content: ""; width: 10px; height: 10px; background: var(--sky-accent); clip-path: polygon(0 0, 100% 50%, 0 100%); }
.pk-link-light { color: var(--sky-paint) !important; }
.pk-hero__photo img { aspect-ratio: 4 / 4.6; }
@media (max-width: 900px) { .pk-hero__photo { order: 2; } .pk-hero__photo img { aspect-ratio: 16 / 10; } }
@media (max-width: 520px) { .pk-rates { grid-template-columns: 1fr 1fr; } .pk-rate { padding: 12px; } .pk-rate__k { font-size: var(--sky-fs-s); } }

/* ------------------------------------------------------ Comparator */
.pk-compare-sec { padding-top: clamp(24px, 3vw, 38px); }
.sc-compare-card { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.35fr) minmax(0, .9fr); border-radius: var(--sky-r2); overflow: hidden; background: var(--sky-paper); box-shadow: var(--sky-e2); }
.sc-compare-price { display: grid; align-content: center; gap: 6px; padding: 16px 24px; }
.sc-compare-ours { background: var(--sky-asphalt); color: var(--sky-paint); align-content: start; }
.sc-compare-airport { background: var(--sky-concrete-2); color: var(--sky-ink); }
.sc-compare-eyebrow { font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .8; }
#compareSkyRate, #compareAirportRate { font-size: var(--sky-fs-s); font-weight: 750; }
#compareSkyTotal, #compareAirportTotal { font-size: var(--sky-fs-l); font-weight: 900; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.sc-compare-ours #compareSkyTotal { color: var(--sky-accent); }
.sc-compare-control { padding: 14px 24px; display: grid; gap: 8px; align-content: center; }
.sc-compare-control h2 { font-size: var(--sky-fs-l); text-align: center; }
.sc-compare-control > label { font-size: var(--sky-fs-s); font-weight: 750; text-align: center; }
.sc-compare-vehicle { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: var(--sky-r2); background: var(--sky-concrete); }
.sc-compare-vehicle button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 0; border-radius: var(--sky-r1); background: transparent; color: var(--sky-ink-2); font-weight: 750; cursor: pointer; transition: background-color var(--sky-t1), color var(--sky-t1), box-shadow var(--sky-t1); }
.sc-compare-vehicle button.is-active, .sc-compare-vehicle button[aria-pressed="true"] { background: #fff; color: var(--sky-ink); box-shadow: var(--sky-e1); }
.sc-compare-days-input { display: flex; align-items: center; justify-content: center; gap: 10px; }
.sc-compare-days-input input { width: 96px; min-height: 48px; padding: 8px 12px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); font-size: var(--sky-fs-l); font-weight: 850; text-align: center; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.sc-compare-days-input input::-webkit-inner-spin-button, .sc-compare-days-input input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.sc-compare-days-input span { font-weight: 700; color: var(--sky-ink-2); }
.pk-step { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 2px solid var(--sky-blue); border-radius: var(--sky-r2); background: #fff; color: var(--sky-blue); font: 800 var(--sky-fs-l)/1 var(--sky-font); cursor: pointer; transition: background-color var(--sky-t1), color var(--sky-t1), transform var(--sky-t1); }
.pk-step:hover { background: var(--sky-blue); color: #fff; }
.pk-step:active { transform: translateY(1px); }
.sc-compare-range { width: 100%; height: 28px; accent-color: var(--sky-blue); }
.sc-compare-scale { display: flex; justify-content: space-between; font-size: var(--sky-fs-s); color: var(--sky-ink-3); font-weight: 650; }
.sc-compare-saving { margin: 0; text-align: center; }
.sc-compare-saving strong { display: inline-block; padding: 6px 10px; border-radius: var(--sky-r1); background: #e7f6ee; color: #145c3c; font-weight: 800; }
.sc-compare-note { margin-top: 12px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); max-width: 90ch; }

/* Totals as two painted bars that scale with the chosen days (transform only). */
.pk-cmp-bars { display: grid; gap: 8px; margin-top: 4px; }
.pk-cmp-bar { display: grid; grid-template-columns: 76px 1fr; align-items: center; gap: 10px; font-size: var(--sky-fs-s); font-weight: 750; color: var(--sky-ink-2); }
.pk-cmp-bar i { display: block; height: 12px; border-radius: 2px; background: var(--sky-concrete); overflow: hidden; }
.pk-cmp-bar b { display: block; height: 100%; transform-origin: left; transform: scaleX(.3); transition: transform var(--sky-t4) var(--sky-ease); }
.pk-cmp-bar--sky b { background: var(--sky-blue); }
.pk-cmp-bar--airport b { background: repeating-linear-gradient(135deg, var(--sky-ink-3) 0 6px, var(--sky-ink-2) 6px 12px); }

/* What the saving buys: SkyCenter's own prices, popping in as the gap grows. */
.pk-buys { padding: 12px 16px; border: 2px dashed #cbd6e2; border-radius: var(--sky-r1); }
.pk-buys[hidden] { display: none; }
.pk-buys__title { margin: 0 0 10px; font-weight: 800; font-size: var(--sky-fs-s); }
.pk-buys__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.pk-buys__list li { display: grid; justify-items: center; align-content: start; gap: 2px; padding: 10px 6px; border-radius: var(--sky-r1); background: var(--sky-concrete); text-align: center; font-size: var(--sky-fs-s); font-weight: 650; line-height: 1.3; color: var(--sky-ink-3); opacity: .6; transition: opacity var(--sky-t2), background-color var(--sky-t2); }
.pk-buys__list li.is-on { opacity: 1; background: #e7f6ee; color: #145c3c; }
.pk-buys__list .sky-ico { width: 28px; height: 28px; }
.pk-buys__list b { font-size: var(--sky-fs-l); font-weight: 900; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--sky-ink); }
.pk-buys__list li.is-on b { color: #145c3c; }
.pk-buys__list li.is-pop .sky-ico, .pk-buys__list li.is-pop b { animation: pk-pop .52s var(--sky-ease); }
@keyframes pk-pop { 0% { transform: scale(.6) translateY(6px); opacity: .2; } 60% { transform: scale(1.18); opacity: 1; } 100% { transform: none; } }
.pk-buys__note { margin: 10px 0 0; font-size: var(--sky-fs-s); color: var(--sky-ink-3); }
/* In the airport column, under its total: what the difference buys, one per line. */
.sc-compare-airport { align-content: start; padding-top: 18px; }
.sc-compare-airport .pk-buys { margin-top: 10px; padding: 10px 12px; background: rgba(255, 255, 255, .55); }
.sc-compare-airport .pk-buys__list { grid-template-columns: 1fr; gap: 6px; }
.sc-compare-airport .pk-buys__list li { grid-template-columns: 26px auto minmax(0, 1fr); justify-items: start; align-items: center; gap: 8px; padding: 6px 8px; text-align: left; }
.sc-compare-airport .pk-buys__list .sky-ico { width: 24px; height: 24px; }
.sc-compare-airport .pk-buys__list b { font-size: var(--sky-fs-m); }

/* Benefits in the dark SkyPark column; icons move via the shared data-motion utility. */
.pk-cmp-perks { display: grid; gap: 10px; margin: 12px 0 0; padding: 12px 0 0; border-top: 1px dashed var(--sky-rule-dark); list-style: none; }
.pk-cmp-perks li { display: grid; grid-template-columns: 26px 1fr; gap: 10px; align-items: center; font-size: var(--sky-fs-s); font-weight: 650; color: var(--sky-paint); }
.pk-cmp-perks .sky-ico { width: 24px; height: 24px; color: var(--sky-accent); }

@media (max-width: 900px) {
  .sc-compare-card { grid-template-columns: 1fr 1fr; }
  .sc-compare-control { grid-column: 1 / -1; grid-row: 1; }
}
@media (max-width: 560px) {
  .sc-compare-card { grid-template-columns: 1fr; }
  .sc-compare-control { padding: 14px 16px; }
  .pk-buys__list { gap: 6px; }
}

/* ------------------------------------------------------- Booking */
.pk-book .form-box { min-width: 0; border-radius: var(--sky-r2); background: var(--sky-paper); box-shadow: var(--sky-e2); overflow: visible; }
.form-box-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 24px; border-radius: var(--sky-r2) var(--sky-r2) 0 0; background: var(--sky-asphalt); color: var(--sky-paint); }
.form-box-banner-title { font-size: var(--sky-fs-m); font-weight: 850; }
.form-box-banner-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--sky-accent) !important; font-weight: 750; text-decoration: none; }
.pk-book form { padding: clamp(12px, 1.6vw, 18px) clamp(18px, 2.6vw, 30px); }
@media (max-width: 960px) { .pk-book .contact-wrap { grid-template-columns: 1fr; } .pk-aside { position: static; } }
.pk-book .status { margin-bottom: 12px; padding: 12px 16px; border-radius: var(--sky-r2); background: #e7f6ee; color: #145c3c; font-weight: 700; }

/* ------------------------------------------------------- Story */
.pk-story { --story-h: 240vh; }
.pk-plan .pk-fence { fill: none; stroke: var(--sky-mist-2); stroke-width: 3; stroke-dasharray: 3 9; stroke-linecap: round; }
.pk-plan .pk-fence { stroke: color-mix(in srgb, var(--sky-mist-2), #f7c948 calc(var(--e2) * 100%)); }
.pk-plan .pk-bay { fill: #f7c948; opacity: calc(.06 + var(--e2) * .45); }
.pk-plan .pk-baynum { font: 900 18px var(--sky-font); fill: #f7c948; opacity: calc(.35 + var(--e2) * .65); }
.pk-plan .pk-cams circle { fill: #f7c948; opacity: calc(.2 + var(--e2) * .8); }
.pk-plan .pk-gate { fill: #f7c948; transform-box: fill-box; transform-origin: 0 50%; transform: rotate(calc(min(1, var(--s1) * 2) * -85deg)); }
.pk-plan .pk-r1 { stroke: #f7c948; --route-p: calc((var(--e1) + var(--e2)) / 2); }
.pk-plan .pk-r2 { stroke: #159eee; --route-p: var(--e3); }
.pk-plan .pk-r3 { stroke: #a9b8ff; --route-p: var(--e4); stroke-dasharray: 1; }
.pk-plan .pk-shuttle--out { opacity: calc(1 - var(--s4) * 3); }
.pk-plan .pk-shuttle--back { opacity: min(1, calc(var(--s4) * 6)); }
.pk-plan .pk-night { fill: #020814; opacity: calc(var(--e4) * .45); pointer-events: none; }
.pk-plan .pk-lamps circle { fill: #ffe7a8; opacity: calc(var(--e4) * .22);  }
.pk-plan .pk-lights { fill: #fff5cc; opacity: calc(var(--e4) * .55); }
.pk-plan .pk-ok { transform-box: fill-box; transform-origin: 50% 50%; transform: scale(var(--e4)); }
.pk-plan .pk-ok circle { fill: #f7c948; }

/* -------------------------------------------------------- Why */
.pk-why__bays { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { .pk-why__bays { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pk-why__bays { grid-template-columns: 1fr; } }
.pk-why .sky-bay { padding-top: 42px; background: var(--sky-concrete); }
.pk-why .sky-bay__num { left: 24px; right: auto; top: 16px; font-size: var(--sky-fs-xl); }

/* ----------------------------------------------------- Gallery */
.pk-gallery .section-heading { display: grid; gap: 12px; max-width: 760px; margin-bottom: 22px; }
.pk-gallery .sp-h, .pk-reviews .sp-h, .pk-location h2 { font-size: var(--sky-fs-xl); line-height: 1.05; letter-spacing: -.03em; font-weight: 820; }
.pk-gallery .sp-hl, .pk-reviews .sp-hl { color: var(--sky-accent); }
.pk-gallery .sp-sub { color: var(--sky-mist); font-size: var(--sky-fs-m); }
.sp-video-wrap { overflow: hidden; border-radius: var(--sky-r2); background: #000; box-shadow: var(--sky-e3); }
.sp-video { display: block; width: 100%; height: 100%; object-fit: cover; }
.sp-scroll-wrap { margin-top: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 10px; }
.sp-scroll-track { display: flex; gap: 12px; width: max-content; }
.sp-gallery-picture { flex: none; scroll-snap-align: start; }
.sp-gallery-picture[aria-hidden="true"], .sp-scroll-track > :nth-child(n+22) { display: none; }
.sp-gallery-image { display: block; width: clamp(240px, 26vw, 340px); aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; transition: transform 900ms var(--sky-ease); }
.sp-gallery-picture:hover .sp-gallery-image { transform: scale(1.03); }

/* ---------------------------------------------------- Location */
.pk-location .location-inner { width: min(var(--sky-wrap), 100% - 2 * var(--sky-gutter)); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: clamp(14px, 2.4vw, 34px); align-items: center; }
.pk-location .location-inner > h2, .pk-location .sp-location-address { grid-column: 1; }
.pk-location .map-wrapper { grid-column: 2; grid-row: 1 / span 3; position: relative; min-height: 380px; border-radius: var(--sky-r2); overflow: hidden; background: var(--sky-asphalt); color: var(--sky-paint); }
.pk-location .map-wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sp-location-address { font-size: var(--sky-fs-m); color: var(--sky-ink-2); }
.sp-location-address strong { display: block; color: var(--sky-ink); font-size: var(--sky-fs-l); font-weight: 850; }
.sc-map-placeholder { display: grid; gap: 12px; align-content: center; min-height: 380px; padding: 16px 28px; }
.sc-map-placeholder h3 { font-size: var(--sky-fs-l); }
.sc-map-pin { display: none; }
.sc-map-preview address { font-style: normal; font-weight: 800; color: #fff; }
.sc-map-preview-label { display: block; font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--sky-accent); }
.sc-map-placeholder p { color: var(--sky-mist); }
.sc-map-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.sc-map-action { display: inline-flex; align-items: center; min-height: 48px; padding: 0 18px; border: 2px solid var(--sky-paint); border-radius: var(--sky-r2); background: var(--sky-paint); color: var(--sky-ink) !important; font-weight: 800; text-decoration: none; cursor: pointer; }
.sc-map-action-secondary { background: transparent; color: var(--sky-paint) !important; }
@media (max-width: 900px) { .pk-location .location-inner { grid-template-columns: 1fr; } .pk-location .map-wrapper { grid-column: 1; grid-row: auto; } }

/* ----------------------------------------------------- Reviews */
.pk-reviews .section-heading { display: grid; gap: 8px; margin-bottom: 16px; }
.pk-reviews .section-heading .sp-sub { order: -1; color: var(--sky-blue); font-weight: 800; }
.sp-review-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 14px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 2px solid var(--sky-ink); }
.sp-review-summary > div { display: flex; align-items: baseline; gap: 12px; }
.sp-review-summary strong { font-size: var(--sky-fs-xl); font-weight: 900; letter-spacing: -.05em; line-height: .9; color: var(--sky-blue); }
.sp-review-stars { color: #e3a008; letter-spacing: 2px; }
.sp-review-summary a { font-weight: 800; }
.sp-review-viewport { overflow-x: auto; scrollbar-width: thin; padding-bottom: 8px; }
.sp-review-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 1fr); gap: 12px; }
.sp-review-card { padding: 14px 22px; border-radius: var(--sky-r2); background: var(--sky-concrete); }
.sp-review-card__head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.sp-review-card__head strong { display: block; font-weight: 800; }
.sp-review-card__head small { color: var(--sky-ink-2); }
.sp-review-avatar { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--sky-r1); background: var(--sky-asphalt); color: var(--sky-paint); font-weight: 800; font-size: var(--sky-fs-s); }
.sp-review-rating { margin-left: auto; color: #e3a008; }
.sp-review-disclosure { margin-top: 12px; color: var(--sky-ink-3); font-size: var(--sky-fs-s); }

/* Mobile: let the browser skip rendering far-below-fold sections until
   they approach the viewport (booking, prices and comparator stay eager). */
@media (max-width: 767px) {
  #despre { content-visibility: auto; contain-intrinsic-size: auto 1450px; }
  #galerie { content-visibility: auto; contain-intrinsic-size: auto 750px; }
  #location { content-visibility: auto; contain-intrinsic-size: auto 710px; }
}

/* ================================================ Secondary pages */
/* FAQ, legal, status and legacy-booking pages share the information-page
   frame from sky.css (.sky-page-hero, .sky-lanes); these are their extras. */

/* FAQ */
.pk-faq .sky-headgroup { margin-bottom: 16px; }
.pk-cta-panel { position: relative; display: grid; gap: 12px; justify-items: start; margin-top: clamp(24px, 3.6vw, 38px); padding: 16px 26px 16px 30px; border-radius: var(--sky-r2); background: var(--sky-concrete); }
.pk-cta-panel::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 4px; border-radius: 0 2px 2px 0; background: var(--sky-accent); }
.pk-cta-panel h2 { font-size: var(--sky-fs-l); }
.pk-cta-panel p { color: var(--sky-ink-2); }
.pk-cta-panel .sky-btn { margin-top: 6px; }
.pk-cta-panel .sky-btn img { width: 20px; height: 20px; flex: none; }

/* Legal */
.pk-legal .sky-prose { max-width: 72ch; }
.pk-legal .sky-prose h2 { font-size: var(--sky-fs-l); }
.pk-legal .sky-prose h2:first-child { margin-top: 0; }
.pk-legal .sky-prose li::marker { color: var(--sky-ink-3); }
.pk-legal .sky-prose a { font-weight: 700; overflow-wrap: anywhere; }
.pk-legal .sky-prose .pk-legal__contact { margin-top: 1.6em; padding-top: 12px; border-top: 2px solid var(--sky-ink); color: var(--sky-ink-2); font-size: var(--sky-fs-s); }

/* Status pages: one calm screen with the message and its next step. */
.pk-status { display: grid; align-content: center; min-height: min(68vh, 620px); }
.pk-status .sky-page-hero__grid { align-items: center; }
.pk-status__msg:empty { display: none; }
.pk-status__msg { font-weight: 650; color: var(--sky-paint); }

/* Legacy booking page (rezervare.html): same frame as the home booking. */
.pk-rez-hero .pk-accent { color: var(--sky-accent); }
.pk-rez-label { margin-top: 16px; font-size: var(--sky-fs-s); font-weight: 800; color: var(--sky-mist); }
.pk-rez-hero .pk-rates { margin-top: 10px; }
.pk-hero-note { margin-top: 12px; max-width: 60ch; color: var(--sky-mist); font-size: var(--sky-fs-s); }
.pk-hero-note a { color: var(--sky-paint); font-weight: 750; }
.pk-rez-info__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(14px, 2.4vw, 34px); align-items: start; }
.pk-rules { display: grid; gap: 12px; margin: 14px 0 0; padding: 0; list-style: none; counter-reset: pk-rule; }
.pk-rules li { counter-increment: pk-rule; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center; font-size: var(--sky-fs-m); font-weight: 650; }
.pk-rules li::before { content: counter(pk-rule); display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid var(--sky-ink); border-radius: var(--sky-r1); font-weight: 900; font-variant-numeric: tabular-nums; }
.pk-rez-service { padding: 14px 24px 10px; border-radius: var(--sky-r2); background: var(--sky-concrete); }
.pk-rez-service .pk-rez-label { margin: 0 0 6px; color: var(--sky-ink); font-size: var(--sky-fs-m); }
.pk-rez-service dl { margin: 0; }
.pk-rez-service dl > div { display: grid; grid-template-columns: minmax(0, 10em) 1fr; gap: 4px 12px; padding: 12px 0; border-top: 1px dashed rgba(14, 27, 45, .22); }
.pk-rez-service dt { font-weight: 750; }
.pk-rez-service dd { margin: 0; color: var(--sky-ink-2); }
.pk-rez-book .sky-headgroup { margin-bottom: 14px; }
.pk-rez-form form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.pk-rez-form form > [class*="col-"] { display: grid; gap: 12px; align-content: start; min-width: 0; }
.pk-rez-form .form-group > p, .pk-rez-form .form-group small { margin: 0; color: var(--sky-ink-2) !important; font-size: var(--sky-fs-s); line-height: 1.5; }
.pk-rez-form .extras-section, .pk-rez-form .form-group > div[style] { display: grid; gap: 4px; padding: 0 !important; }
.pk-rez-form .extras-section label, .pk-rez-form .form-group > div[style] label { display: flex; align-items: center; gap: 12px; min-height: 48px; margin: 0 !important; padding: 8px 12px; border-radius: var(--sky-r2); background: var(--sky-concrete); font-size: var(--sky-fs-s); font-weight: 650; cursor: pointer; }
.pk-rez-form :is(input[type="checkbox"], input[type="radio"]) { width: 22px; height: 22px; margin: 0; flex: none; }
.pk-rez-form input[type="datetime-local"].form-control { appearance: auto; }
.pk-rez-form output.form-control { display: flex; align-items: center; background: var(--sky-concrete); font-weight: 750; }
.pk-rez-form .submit-button { width: 100%; }
@media (max-width: 760px) {
  .pk-rez-info__grid, .pk-rez-form form { grid-template-columns: 1fr; }
  .pk-rez-service dl > div { grid-template-columns: 1fr; }
}
.pk-rez-location__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: clamp(14px, 2.4vw, 34px); align-items: center; }
.pk-rez-location__text { display: grid; gap: 12px; }
.pk-rez-location__text h2 a { color: inherit; text-decoration: none; }
.pk-rez-location__text h2 a:hover { color: var(--sky-blue); }
.pk-rez-location__text address { font-style: normal; color: var(--sky-ink-2); }
.pk-rez-location .sc-map-embed { position: relative; min-height: 340px; border-radius: var(--sky-r2); overflow: hidden; background: var(--sky-asphalt); color: var(--sky-paint); }
.pk-rez-location .sc-map-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pk-rez-location .sc-map-placeholder { min-height: 340px; }
@media (max-width: 900px) { .pk-rez-location__grid { grid-template-columns: 1fr; } }

/* ================================================ Translated locale homes */
/* /<locale>/ pages (built by ops/localization/build_parcare_locale_homes.py):
   a condensed home: hero with rate plates, the offers as bays, useful lanes. */

.pk-locale-hero .sky-hero__title { max-width: 14ch; overflow-wrap: break-word; hyphens: auto; }
.pk-locale-hero .pk-rates { margin-top: 16px; }
.pk-offers__bays { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .pk-offers__bays { grid-template-columns: 1fr; } }
.pk-offer { min-height: 220px; padding-top: 42px; background: var(--sky-concrete); }
.pk-offer .sky-bay__num { left: 24px; right: auto; top: 16px; font-size: var(--sky-fs-xl); }
.pk-offer .sky-bay__foot { flex-wrap: wrap; }
.pk-offer .sky-bay__price { font-size: var(--sky-fs-xl); }
.pk-offer__more { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--sky-blue-deep); font-weight: 750; }
a.pk-offer:hover .pk-offer__more .sky-btn__arrow { transform: translateX(4px); }
.pk-offer__more .sky-btn__arrow { transition: transform var(--sky-t2) var(--sky-ease); }
.pk-locale-links__title { margin-bottom: clamp(12px, 1.8vw, 20px); font-size: var(--sky-fs-l); }
@media (max-width: 900px) { .pk-offer { min-height: 0; } }

/* One numbering system: the progress lane carries step numbers, the panel
   headings show an empty check box until the step is complete. */
/* Comparator thumb large enough for a thumb. */
.sc-compare-range::-webkit-slider-thumb { width: 28px; height: 28px; }
.sc-compare-range::-moz-range-thumb { width: 28px; height: 28px; }

/* Night lamps: crisp lamp heads with a flat halo ring, no blur smudge. */
.pk-plan .pk-lamps circle { r: 7px; stroke: #ffe7a8; stroke-opacity: .28; stroke-width: 22px; opacity: calc(var(--e4) * .9); }
/* Why SkyPark: a ruled list of reasons, not a grid of identical tiles. */
.pk-why__bays { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 0 clamp(14px, 2.4vw, 34px); }
.pk-why__bays .sky-bay { padding: 14px 0 16px; background: none; box-shadow: none; border-top: 2px solid var(--sky-ink); transform: none; }
.pk-why__bays .sky-bay::before, .pk-why__bays .sky-bay::after, .pk-why__bays .sky-bay__base { display: none; }
.pk-why__bays .sky-bay--featured { background: none; }

/* Hero copy shares the column with the step list: tighter boards and perks. */
.pk-scenes .sky-hero__lead { max-width: none; }
.pk-scenes .pk-rates { margin-top: 12px; }
.pk-scenes .pk-rate { padding: 8px 14px 8px 12px; }
@media (min-width: 901px) {
  .pk-scenes .pk-rate small { grid-column: 2; margin-top: 2px; line-height: 1.2; }
  .pk-scenes .pk-rate__v { grid-row: span 3; align-self: center; }
}
.pk-scenes .pk-perks { margin-top: 10px; gap: 4px 12px; }
.pk-scenes .sky-hero__actions { margin-top: 12px; }

/* sky-scenes:start (generated by shared/sky-ui/scenes/build.py) */
.pk-scenes .pk-s1-gl { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s1-gl { animation: pk-s1-gl 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pk-s1-gl { 0% { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; } 14% { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; } 26% { transform: translate(35.075cqw, 61.060cqh) rotate(0deg) scale(1); opacity: 1; } 48% { transform: translate(35.075cqw, 61.060cqh) rotate(0deg) scale(1); opacity: 1; } 60% { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s1-gr { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s1-gr { animation: pk-s1-gr 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pk-s1-gr { 0% { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; } 14% { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; } 26% { transform: translate(44.000cqw, 68.200cqh) rotate(0deg) scale(1); opacity: 1; } 48% { transform: translate(44.000cqw, 68.200cqh) rotate(0deg) scale(1); opacity: 1; } 60% { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s1-batt { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s1-batt { animation: pk-s1-batt 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s1-batt { 0% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s1-fill { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1, 1); opacity: 1; transform-origin: 4% 50%; }
.pk-scenes .scene.is-on .pk-s1-fill { animation: pk-s1-fill 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pk-s1-fill { 0% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(0.15, 1); opacity: 1; } 90% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1, 1); opacity: 1; } 100% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1, 1); opacity: 1; } }
.pk-scenes .pk-s1-chg { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s1-chg { animation: pk-s1-chg 3800ms ease-in-out both; }
@keyframes pk-s1-chg { 0% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 12% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 25% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 37% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 50% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 62% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 75% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 87% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s1-smk0 { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; }
.pk-scenes .scene.is-on .pk-s1-smk0 { animation: pk-s1-smk0 3800ms ease-out both; }
@keyframes pk-s1-smk0 { 0% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 1% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 8% { transform: translate(15.138cqw, 31.610cqh) rotate(0deg) scale(0.8); opacity: 0.5; } 40% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } }
.pk-scenes .pk-s1-smk1 { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; }
.pk-scenes .scene.is-on .pk-s1-smk1 { animation: pk-s1-smk1 3800ms ease-out both; }
@keyframes pk-s1-smk1 { 0% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 31% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 38% { transform: translate(15.138cqw, 31.610cqh) rotate(0deg) scale(0.8); opacity: 0.5; } 70% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } }
.pk-scenes .pk-s1-smk2 { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; }
.pk-scenes .scene.is-on .pk-s1-smk2 { animation: pk-s1-smk2 3800ms ease-out both; }
@keyframes pk-s1-smk2 { 0% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 61% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 68% { transform: translate(15.138cqw, 31.610cqh) rotate(0deg) scale(0.8); opacity: 0.5; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } }
.pk-scenes .pk-s1-pass { transform: translate(-11.994cqw, 27.995cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s1-pass { animation: pk-s1-pass 3800ms linear both; }
@keyframes pk-s1-pass { 0% { transform: translate(85.756cqw, 106.195cqh) rotate(0deg) scale(1); opacity: 0; } 30% { transform: translate(85.756cqw, 106.195cqh) rotate(0deg) scale(1); opacity: 0; } 31% { transform: translate(85.756cqw, 106.195cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(-11.994cqw, 27.995cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s1-caru { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 0; }
.pk-scenes .scene.is-on .pk-s1-caru { animation: pk-s1-caru 3800ms cubic-bezier(.45,.05,.35,1) both; }
@keyframes pk-s1-caru { 0% { transform: translate(-11.994cqw, 33.095cqh) rotate(0deg) scale(1); opacity: 1; } 28% { transform: translate(33.481cqw, 69.475cqh) rotate(0deg) scale(1); opacity: 1; } 28.8% { transform: translate(33.481cqw, 69.475cqh) rotate(0deg) scale(1); opacity: 0; } 40% { transform: translate(43.150cqw, 61.740cqh) rotate(0deg) scale(1); opacity: 0; } 40.8% { transform: translate(43.150cqw, 61.740cqh) rotate(0deg) scale(1); opacity: 1; } 52% { transform: translate(51.331cqw, 68.285cqh) rotate(0deg) scale(1); opacity: 1; } 52.8% { transform: translate(51.331cqw, 68.285cqh) rotate(0deg) scale(1); opacity: 0; } 64% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 0; } }
.pk-scenes .pk-s1-carv { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s1-carv { animation: pk-s1-carv 3800ms cubic-bezier(.45,.05,.35,1) both; }
@keyframes pk-s1-carv { 0% { transform: translate(-11.994cqw, 33.095cqh) rotate(0deg) scale(1); opacity: 0; } 28% { transform: translate(33.481cqw, 69.475cqh) rotate(0deg) scale(1); opacity: 0; } 28.8% { transform: translate(33.481cqw, 69.475cqh) rotate(0deg) scale(1); opacity: 1; } 40% { transform: translate(43.150cqw, 61.740cqh) rotate(0deg) scale(1); opacity: 1; } 40.8% { transform: translate(43.150cqw, 61.740cqh) rotate(0deg) scale(1); opacity: 0; } 52% { transform: translate(51.331cqw, 68.285cqh) rotate(0deg) scale(1); opacity: 0; } 52.8% { transform: translate(51.331cqw, 68.285cqh) rotate(0deg) scale(1); opacity: 1; } 64% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s1-ring { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1.45); opacity: 0; }
.pk-scenes .scene.is-on .pk-s1-ring { animation: pk-s1-ring 3800ms ease-out both; }
@keyframes pk-s1-ring { 0% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(0.6); opacity: 0; } 62% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(0.6); opacity: 0; } 68% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 1; } 82% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1.45); opacity: 0; } 100% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1.45); opacity: 0; } }
.pk-scenes .pk-s1-plate { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s1-plate { animation: pk-s1-plate 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pk-s1-plate { 0% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(0.4); opacity: 0; } 66% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(0.4); opacity: 0; } 74% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(1.08); opacity: 1; } 80% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s2-batt { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s2-batt { animation: pk-s2-batt 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s2-batt { 0% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s2-fill { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1, 1); opacity: 1; transform-origin: 4% 50%; }
.pk-scenes .scene.is-on .pk-s2-fill { animation: pk-s2-fill 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pk-s2-fill { 0% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(0.15, 1); opacity: 1; } 90% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1, 1); opacity: 1; } 100% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1, 1); opacity: 1; } }
.pk-scenes .pk-s2-chg { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s2-chg { animation: pk-s2-chg 3800ms ease-in-out both; }
@keyframes pk-s2-chg { 0% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 12% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 25% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 37% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 50% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 62% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 75% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 87% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s2-smk0 { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; }
.pk-scenes .scene.is-on .pk-s2-smk0 { animation: pk-s2-smk0 3800ms ease-out both; }
@keyframes pk-s2-smk0 { 0% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 1% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 8% { transform: translate(15.138cqw, 31.610cqh) rotate(0deg) scale(0.8); opacity: 0.5; } 40% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } }
.pk-scenes .pk-s2-smk1 { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; }
.pk-scenes .scene.is-on .pk-s2-smk1 { animation: pk-s2-smk1 3800ms ease-out both; }
@keyframes pk-s2-smk1 { 0% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 31% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 38% { transform: translate(15.138cqw, 31.610cqh) rotate(0deg) scale(0.8); opacity: 0.5; } 70% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } }
.pk-scenes .pk-s2-smk2 { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; }
.pk-scenes .scene.is-on .pk-s2-smk2 { animation: pk-s2-smk2 3800ms ease-out both; }
@keyframes pk-s2-smk2 { 0% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 61% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 68% { transform: translate(15.138cqw, 31.610cqh) rotate(0deg) scale(0.8); opacity: 0.5; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } }
.pk-scenes .pk-s2-pass { transform: translate(-11.994cqw, 27.995cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s2-pass { animation: pk-s2-pass 3800ms linear both; }
@keyframes pk-s2-pass { 0% { transform: translate(85.756cqw, 106.195cqh) rotate(0deg) scale(1); opacity: 0; } 30% { transform: translate(85.756cqw, 106.195cqh) rotate(0deg) scale(1); opacity: 0; } 31% { transform: translate(85.756cqw, 106.195cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(-11.994cqw, 27.995cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s2-fence { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0.6; }
.pk-scenes .scene.is-on .pk-s2-fence { animation: pk-s2-fence 3800ms ease-in-out both; }
@keyframes pk-s2-fence { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 40% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 52% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0.95; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0.6; } }
.pk-scenes .pk-s2-cam0 { transform: translate(52.500cqw, 17.200cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s2-cam0 { animation: pk-s2-cam0 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s2-cam0 { 0% { transform: translate(52.500cqw, 17.200cqh) rotate(0deg) scale(1); opacity: 0.35; } 20% { transform: translate(52.500cqw, 17.200cqh) rotate(0deg) scale(1); opacity: 1; } 40% { transform: translate(52.500cqw, 17.200cqh) rotate(0deg) scale(1); opacity: 0.35; } 60% { transform: translate(52.500cqw, 17.200cqh) rotate(0deg) scale(1); opacity: 1; } 80% { transform: translate(52.500cqw, 17.200cqh) rotate(0deg) scale(1); opacity: 0.35; } 100% { transform: translate(52.500cqw, 17.200cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s2-cam1 { transform: translate(90.750cqw, 47.800cqh) rotate(0deg) scale(1); opacity: 0.35; }
.pk-scenes .scene.is-on .pk-s2-cam1 { animation: pk-s2-cam1 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s2-cam1 { 0% { transform: translate(90.750cqw, 47.800cqh) rotate(0deg) scale(1); opacity: 1; } 20% { transform: translate(90.750cqw, 47.800cqh) rotate(0deg) scale(1); opacity: 0.35; } 40% { transform: translate(90.750cqw, 47.800cqh) rotate(0deg) scale(1); opacity: 1; } 60% { transform: translate(90.750cqw, 47.800cqh) rotate(0deg) scale(1); opacity: 0.35; } 80% { transform: translate(90.750cqw, 47.800cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(90.750cqw, 47.800cqh) rotate(0deg) scale(1); opacity: 0.35; } }
.pk-scenes .pk-s2-cam2 { transform: translate(58.875cqw, 73.300cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s2-cam2 { animation: pk-s2-cam2 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s2-cam2 { 0% { transform: translate(58.875cqw, 73.300cqh) rotate(0deg) scale(1); opacity: 0.35; } 20% { transform: translate(58.875cqw, 73.300cqh) rotate(0deg) scale(1); opacity: 1; } 40% { transform: translate(58.875cqw, 73.300cqh) rotate(0deg) scale(1); opacity: 0.35; } 60% { transform: translate(58.875cqw, 73.300cqh) rotate(0deg) scale(1); opacity: 1; } 80% { transform: translate(58.875cqw, 73.300cqh) rotate(0deg) scale(1); opacity: 0.35; } 100% { transform: translate(58.875cqw, 73.300cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s2-ring { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1.5); opacity: 0; }
.pk-scenes .scene.is-on .pk-s2-ring { animation: pk-s2-ring 3800ms ease-out both; }
@keyframes pk-s2-ring { 0% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(0.5); opacity: 0; } 6% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(0.5); opacity: 0; } 14% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 1; } 30% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1.5); opacity: 0; } 100% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1.5); opacity: 0; } }
.pk-scenes .pk-s2-bolt { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 1; }
.pk-scenes .scene.is-on .pk-s2-bolt { animation: pk-s2-bolt 3800ms ease-in-out both; }
@keyframes pk-s2-bolt { 0% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 0; } 10% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 0; } 16% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 1; } 28% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 0.25; } 40% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 1; } 52% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 0.25; } 64% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 1; } 76% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 0.25; } 88% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 1; } 100% { transform: translate(65.569cqw, 51.115cqh) rotate(0deg) scale(1.3); opacity: 1; } }
.pk-scenes .pk-s2-shield { transform: translate(59.406cqw, 48.225cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s2-shield { animation: pk-s2-shield 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pk-s2-shield { 0% { transform: translate(59.406cqw, 48.225cqh) rotate(0deg) scale(0.3); opacity: 0; } 60% { transform: translate(59.406cqw, 48.225cqh) rotate(0deg) scale(0.3); opacity: 0; } 70% { transform: translate(59.406cqw, 48.225cqh) rotate(0deg) scale(1.1); opacity: 1; } 76% { transform: translate(59.406cqw, 48.225cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(59.406cqw, 48.225cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s3-world { transform: translate(20.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s3-world { animation: pk-s3-world 4000ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s3-world { 0% { transform: translate(100.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 56% { transform: translate(100.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(20.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s3-staff { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 0; }
.pk-scenes .scene.is-on .pk-s3-staff { animation: pk-s3-staff 4000ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s3-staff { 0% { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 56% { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 62% { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 0; } }
.pk-scenes .pk-s3-client { transform: translate(58.750cqw, 71.600cqh) rotate(0deg) scale(0.9); opacity: 0; }
.pk-scenes .scene.is-on .pk-s3-client { animation: pk-s3-client 4000ms linear both; }
@keyframes pk-s3-client { 0% { transform: translate(8.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 10% { transform: translate(18.750cqw, 71.000cqh) rotate(0deg) scale(1); opacity: 1; } 20% { transform: translate(31.250cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 32% { transform: translate(55.000cqw, 71.200cqh) rotate(0deg) scale(1); opacity: 1; } 50% { transform: translate(55.000cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 56% { transform: translate(58.750cqw, 71.600cqh) rotate(0deg) scale(0.9); opacity: 0; } 100% { transform: translate(58.750cqw, 71.600cqh) rotate(0deg) scale(0.9); opacity: 0; } }
.pk-scenes .pk-s3-shake { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; }
.pk-scenes .scene.is-on .pk-s3-shake { animation: pk-s3-shake 4000ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pk-s3-shake { 0% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; } 34% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; } 40% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(1.2); opacity: 1; } 48% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(1); opacity: 1; } 54% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; } 100% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; } }
.pk-scenes .pk-s3-vanp { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; }
.pk-scenes .scene.is-on .pk-s3-vanp { animation: pk-s3-vanp 4000ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s3-vanp { 0% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } 58% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } 59% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.pk-scenes .pk-s3-vanm { transform: translate(70.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s3-vanm { animation: pk-s3-vanm 4000ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s3-vanm { 0% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; } 58% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; } 59% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } 74% { transform: translate(82.500cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(70.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s4-plane { transform: translate(58.750cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s4-plane { animation: pk-s4-plane 4000ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s4-plane { 0% { transform: translate(28.750cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 1; } 30% { transform: translate(55.000cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 1; } 46% { transform: translate(77.500cqw, 63.600cqh) rotate(-12deg) scale(1); opacity: 1; } 58% { transform: translate(110.000cqw, 42.000cqh) rotate(-14deg) scale(1); opacity: 1; } 59% { transform: translate(110.000cqw, 42.000cqh) rotate(-14deg) scale(1); opacity: 0; } 63% { transform: translate(-15.000cqw, 30.000cqh) rotate(9deg) scale(1); opacity: 0; } 64% { transform: translate(-15.000cqw, 30.000cqh) rotate(9deg) scale(1); opacity: 1; } 86% { transform: translate(47.500cqw, 74.400cqh) rotate(2deg) scale(1); opacity: 1; } 100% { transform: translate(58.750cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s4-car { transform: translate(81.250cqw, 77.200cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s4-car { animation: pk-s4-car 4000ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pk-s4-car { 0% { transform: translate(81.250cqw, 77.200cqh) rotate(0deg) scale(1); opacity: 0; } 82% { transform: translate(81.250cqw, 77.200cqh) rotate(0deg) scale(1); opacity: 0; } 90% { transform: translate(81.250cqw, 77.200cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(81.250cqw, 77.200cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s4-ok { transform: translate(87.750cqw, 67.200cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s4-ok { animation: pk-s4-ok 4000ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pk-s4-ok { 0% { transform: translate(87.750cqw, 67.200cqh) rotate(0deg) scale(0.3); opacity: 0; } 88% { transform: translate(87.750cqw, 67.200cqh) rotate(0deg) scale(0.3); opacity: 0; } 94% { transform: translate(87.750cqw, 67.200cqh) rotate(0deg) scale(1.1); opacity: 1; } 100% { transform: translate(87.750cqw, 67.200cqh) rotate(0deg) scale(1); opacity: 1; } }
.pk-scenes .pk-s4-w0 { transform: translate(75.000cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; }
.pk-scenes .scene.is-on .pk-s4-w0 { animation: pk-s4-w0 4000ms ease-in both; }
@keyframes pk-s4-w0 { 0% { transform: translate(75.000cqw, 66.000cqh) rotate(0deg) scale(1); opacity: 0; } 80% { transform: translate(75.000cqw, 66.000cqh) rotate(0deg) scale(1); opacity: 0; } 84% { transform: translate(75.000cqw, 68.000cqh) rotate(0deg) scale(1); opacity: 1; } 92% { transform: translate(75.000cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(75.000cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; } }
.pk-scenes .pk-s4-w1 { transform: translate(79.250cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; }
.pk-scenes .scene.is-on .pk-s4-w1 { animation: pk-s4-w1 4000ms ease-in both; }
@keyframes pk-s4-w1 { 0% { transform: translate(79.250cqw, 66.000cqh) rotate(0deg) scale(1); opacity: 0; } 82% { transform: translate(79.250cqw, 66.000cqh) rotate(0deg) scale(1); opacity: 0; } 86% { transform: translate(79.250cqw, 68.000cqh) rotate(0deg) scale(1); opacity: 1; } 94% { transform: translate(79.250cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(79.250cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; } }
.pk-scenes .pk-s4-w2 { transform: translate(83.500cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; }
.pk-scenes .scene.is-on .pk-s4-w2 { animation: pk-s4-w2 4000ms ease-in both; }
@keyframes pk-s4-w2 { 0% { transform: translate(83.500cqw, 66.000cqh) rotate(0deg) scale(1); opacity: 0; } 84% { transform: translate(83.500cqw, 66.000cqh) rotate(0deg) scale(1); opacity: 0; } 88% { transform: translate(83.500cqw, 68.000cqh) rotate(0deg) scale(1); opacity: 1; } 96% { transform: translate(83.500cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(83.500cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; } }
.pk-scenes .pk-s4-w3 { transform: translate(87.750cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; }
.pk-scenes .scene.is-on .pk-s4-w3 { animation: pk-s4-w3 4000ms ease-in both; }
@keyframes pk-s4-w3 { 0% { transform: translate(87.750cqw, 66.000cqh) rotate(0deg) scale(1); opacity: 0; } 86% { transform: translate(87.750cqw, 66.000cqh) rotate(0deg) scale(1); opacity: 0; } 90% { transform: translate(87.750cqw, 68.000cqh) rotate(0deg) scale(1); opacity: 1; } 98% { transform: translate(87.750cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(87.750cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 0; } }
.pk-scenes .pk-s4-cl { transform: translate(70.000cqw, 38.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pk-scenes .scene.is-on .pk-s4-cl { animation: pk-s4-cl 4000ms linear both; }
@keyframes pk-s4-cl { 0% { transform: translate(87.500cqw, 38.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(70.000cqw, 38.000cqh) rotate(0deg) scale(1); opacity: 1; } }
/* sky-scenes:end */

/* Density 2026-10-03: numerals keep their own room; film and photos share a row. */
.pk-hero__photo img { aspect-ratio: 4 / 3; }
.pk-why .sky-bay, .pk-offer { padding-top: calc(var(--sky-fs-xl) + 24px); }
.pk-offer { min-height: 0; }
@media (min-width: 1000px) {
  .pk-gallery .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 16px; align-items: center; }
  .pk-gallery .section-heading { grid-column: 1 / -1; margin-bottom: 0; }
  .pk-gallery .sp-scroll-wrap { min-width: 0; margin-top: 0; }
}


/* Extras (wash, EV charging) as a compact stack; invoice toggle with its fields. */
.sc-extra-option { display: grid; gap: 8px; }
.sc-extra-option label { min-height: 48px; padding: 8px 12px; }
/* Step 2 on one compact row: vehicle beside the extras, a slim total strip. */
@media (max-width: 720px) {
}
.sc-invoice-toggle { display: inline-flex; align-items: center; gap: 8px; font-weight: 750; cursor: pointer; }
.sc-invoice-toggle input { width: 20px; height: 20px; }
.sc-invoice-toggle small { color: var(--sky-blue-deep); font-weight: 800; }
.sc-invoice-fields { margin-top: 8px; }
.sc-invoice-fields[hidden] { display: none; }

/* Gallery 2026-10-04: beside the film, photos sit four at a time (2 x 2) and
   scroll sideways by swipe, wheel/scrollbar or the arrows; the block is as
   tall as the film. */
.pk-gallery .sp-scroll-wrap { position: relative; aspect-ratio: 16 / 9; margin-top: 12px; padding-bottom: 0; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--sky-mist-2) transparent; }
.pk-gallery .sp-scroll-track { display: grid; grid-auto-flow: column; grid-template-rows: repeat(2, minmax(0, 1fr)); grid-auto-columns: calc(50% - 4px); gap: 8px; width: auto; height: 100%; }
.pk-gallery .sp-gallery-picture { display: block; min-height: 0; overflow: hidden; border-radius: var(--sky-r1); scroll-snap-align: start; }
.pk-gallery .sp-gallery-picture:nth-child(4n+3), .pk-gallery .sp-gallery-picture:nth-child(4n+4) { scroll-snap-align: none; }
.pk-gallery .sp-gallery-image { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.pk-gallery .pk-gal-side { position: relative; }
.pk-gallery .pk-gal-nav { position: absolute; right: 8px; bottom: 8px; display: flex; gap: 6px; }
.pk-gallery .pk-gal-nav button { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--sky-rule-dark); border-radius: 50%; background: rgba(11, 23, 40, .78); color: var(--sky-paint); cursor: pointer; transition: background-color var(--sky-t2), border-color var(--sky-t2); }
.pk-gallery .pk-gal-nav button:hover { border-color: var(--sky-accent); background: var(--sky-asphalt-3); }
.pk-gallery .pk-gal-nav button:disabled { opacity: .35; cursor: default; }
.pk-gallery .pk-gal-nav svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 1000px) {
  .pk-gallery .container { align-items: start; }
  .pk-gallery .sp-scroll-wrap { margin-top: 0; }
  .pk-gallery .pk-gal-side { min-width: 0; }
}

/* Location 2026-10-04: one slim strip under the hero; the map is a small
   window that opens to full width only when asked for. */
.pk-location--strip { padding-block: 14px; border-bottom: 1px solid var(--sky-rule); }
.pk-loc { display: grid; grid-template-columns: minmax(0, 1fr) auto 280px; gap: 12px 20px; align-items: center; }
.pk-loc__h { display: flex; align-items: center; gap: 10px; font-size: var(--sky-fs-m); font-weight: 820; line-height: 1.2; }
.pk-loc__h .sky-ico { width: 24px; height: 24px; color: var(--sky-blue); }
.pk-loc__addr { margin-top: 2px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.pk-loc__addr strong { color: var(--sky-ink); }
.pk-loc__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pk-loc__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 2px solid var(--sky-blue); border-radius: var(--sky-r1); color: var(--sky-blue); font-weight: 800; text-decoration: none; transition: background-color var(--sky-t2), color var(--sky-t2); }
.pk-loc__btn:hover { background: var(--sky-blue); color: #fff; }
.pk-location .pk-loc__map { grid-column: 3; grid-row: 1; min-height: 0; height: 96px; border-radius: var(--sky-r1); background: var(--sky-asphalt) repeating-linear-gradient(115deg, transparent 0 26px, rgba(244, 247, 251, .07) 26px 30px); }
.pk-location .pk-loc__map .sc-map-placeholder { min-height: 0; height: 100%; padding: 0; place-items: center; }
.pk-location .pk-loc__map .sc-map-action { min-height: 40px; }
.pk-location .pk-loc__map[data-map-loaded] { grid-column: 1 / -1; grid-row: auto; height: 320px; }
@media (max-width: 900px) {
  .pk-loc { grid-template-columns: minmax(0, 1fr); }
  .pk-location .pk-loc__map { grid-column: 1; grid-row: auto; height: 84px; }
}

/* Compare 2026-10-04: label, daily rate and total read as one line; the
   perks take two columns, so the card is about half as tall. */
@media (min-width: 701px) {
  .sc-compare-price { grid-template-columns: auto auto minmax(0, 1fr); column-gap: 12px; align-items: baseline; align-content: start; }
  .sc-compare-price > * { grid-column: 1 / -1; }
  .sc-compare-price > .sc-compare-eyebrow { grid-column: 1; }
  .sc-compare-price > [id$="Rate"] { grid-column: 2; white-space: nowrap; }
  .sc-compare-price > [id$="Total"] { grid-column: 3; white-space: nowrap; }
}
.pk-cmp-perks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.pk-cmp-perks li { grid-template-columns: 22px 1fr; gap: 8px; line-height: 1.25; }
.pk-cmp-perks .sky-ico { width: 22px; height: 22px; }
.pk-location .pk-loc__h { font-size: var(--sky-fs-m); line-height: 1.2; letter-spacing: 0; }
/* The airport plate is the narrow column: its label takes its own line. */
@media (min-width: 701px) {
  .sc-compare-airport { grid-template-columns: auto minmax(0, 1fr); }
  .sc-compare-airport > .sc-compare-eyebrow { grid-column: 1 / -1; }
  .sc-compare-airport > [id$="Rate"] { grid-column: 1; }
  .sc-compare-airport > [id$="Total"] { grid-column: 2; }
}

/* Round 6: the reviews continue the gallery's navy ground. */
.pk-reviews.sky-asphalt { padding-top: 0; }
.pk-reviews.sky-asphalt .sp-h { color: var(--sky-paint); }
.pk-reviews.sky-asphalt .sp-review-summary { border-bottom-color: var(--sky-rule-dark); }
.pk-reviews.sky-asphalt .sp-review-summary strong { color: var(--sky-accent); }
.pk-reviews.sky-asphalt a { color: var(--sky-paint); }
.pk-reviews.sky-asphalt .sp-review-card { background: rgba(255, 255, 255, .07); color: var(--sky-paint); }
.pk-reviews.sky-asphalt .sp-review-card__head small, .pk-reviews.sky-asphalt .sp-review-disclosure { color: var(--sky-mist); }
.pk-reviews.sky-asphalt .sp-review-avatar { background: var(--sky-accent); color: var(--sky-asphalt); }
/* Round 6: no empty band between the compare card and the booking form. */
.pk-compare-sec { padding-bottom: 0; }
.pk-compare-sec + .pk-book { padding-top: clamp(16px, 2vw, 24px); }

/* Round 6: the booking is the shared card (.sb-*): form + suggestions left,
   the dark summary with payment and Rezervă right. */
.pk-bookmain { min-width: 0; }
.pk-book .form-box-banner { padding: 8px 18px; }
.pk-book .form-box-banner-title { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; font-size: var(--sky-fs-m); }
.pk-book .form-box-banner-title small { color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 650; }
.pk-book form.sb { padding: 14px 18px 16px; }
@media (max-width: 760px) { .pk-book form.sb { padding: 12px; } .pk-book .form-box-banner-link { display: none; } }

/* Phones (owner, batch 11b): booking card banner on one line. */
@media (max-width: 760px) {
  .pk-book .form-box-banner { padding: 6px 12px; }
  .pk-book .form-box-banner-title { font-size: var(--sky-fs-s); }
  .pk-book .form-box-banner-title small { font-size: 12px; }
}

/* Phones (owner, batch 11b): the hero about half as tall: tighter boards,
   perks two by two, the paid note beside the button. */
@media (max-width: 760px) {
  .pk-scenes .sky-hero__title { font-size: clamp(1.7rem, 7.4vw, 2.1rem); }
  .pk-scenes .sky-hero__lead { margin-top: 6px; font-size: var(--sky-fs-s); line-height: 1.4; }
  .pk-scenes .pk-rates { gap: 8px; margin-top: 10px; }
  .pk-scenes .pk-rate { column-gap: 6px; padding: 6px 10px; }
  .pk-scenes .pk-rate__v { font-size: var(--sky-fs-l); }
  .pk-scenes .pk-rate__u, .pk-scenes .pk-rate__k { font-size: 12.5px; }
  .pk-scenes .pk-rate small { margin-top: 3px; font-size: 11.5px; }
  .pk-scenes .pk-perks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 10px; margin-top: 8px; font-size: 12.5px; }
  .pk-scenes .pk-perks li { gap: 6px; line-height: 1.25; }
  .pk-scenes .pk-perks li::before { flex: none; width: 8px; height: 8px; }
  /* Hero grid (batch 11c, scene beside the title): the paid note and the
     button share the last row. */
  /* Batch 11d: "Rezervă acum" fills the left column under the lead (beside
     the scene), the paid note closes the perks. */
  .pk-scenes .sky-scenes__grid { grid-template-rows: auto auto 1fr; }
  .pk-scenes .sky-scenes__play { grid-row: 1 / span 3; }
  .pk-scenes .sky-scenes__copy > .sky-hero__actions { grid-column: 1; grid-row: 3; align-self: end; margin-top: 10px; }
  .pk-scenes .sky-hero__actions .sky-btn { min-height: 44px; width: 100%; justify-content: center; padding-inline: 10px; }
  .pk-scenes .sky-scenes__copy > .sky-paid-note { margin: 2px 0 0; font-size: 11.5px; }
}

/* Price comparator on phones (owner, batch 11b): the controls on top, then
   three tabs (SkyPark price · included · airport and the saving), one panel
   at a time. Desktop keeps the three columns and hides the tabs. */
.pk-cmp-tabs { display: none; }
@media (max-width: 760px) {
  .sc-compare-control { gap: 6px; padding: 10px 12px; }
  .sc-compare-control h2 { font-size: var(--sky-fs-m); }
  .sc-compare-control > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sc-compare-vehicle button { min-height: 38px; font-size: 13px; gap: 6px; }
  .sc-compare-days-input { gap: 8px; }
  .sc-compare-days-input input { width: 72px; min-height: 40px; padding: 4px 8px; font-size: var(--sky-fs-m); }
  .pk-step { width: 40px; height: 40px; }
  .sc-compare-range { height: 22px; }
  .sc-compare-scale { font-size: 11.5px; }
  .pk-cmp-bars { gap: 4px; }
  .pk-cmp-bar { grid-template-columns: 64px 1fr; font-size: 12px; }
  .pk-cmp-bar i { height: 9px; }
  .sc-compare-saving strong { padding: 4px 8px; font-size: 13px; }
  .sc-compare-card > .sc-compare-control { order: 1; grid-row: auto; }
  .sc-compare-card > .pk-cmp-tabs { order: 2; }
  .sc-compare-card > .sc-compare-price { order: 3; }
  .pk-cmp-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 12px 10px; }
  .pk-cmp-tabs button { min-height: 38px; font-size: 13px; }
  .sc-compare-card[data-pk-view] > .sc-compare-price { display: none; padding: 10px 14px 12px; }
  .sc-compare-card[data-pk-view="sky"] > .sc-compare-ours, .sc-compare-card[data-pk-view="perks"] > .sc-compare-ours, .sc-compare-card[data-pk-view="airport"] > .sc-compare-airport { display: grid; }
  .sc-compare-card[data-pk-view="sky"] > .sc-compare-ours > :is(.pk-cmp-perks, .sky-paid-note) { display: none; }
  .sc-compare-card[data-pk-view="perks"] > .sc-compare-ours > :not(.pk-cmp-perks, .sky-paid-note) { display: none; }
  .sc-compare-card[data-pk-view="perks"] .pk-cmp-perks { margin: 0; padding: 0; border: 0; gap: 6px 10px; }
  .pk-cmp-perks li { font-size: 12.5px; }
  .sc-compare-airport .pk-buys { margin-top: 6px; padding: 8px; }
  .sc-compare-airport .pk-buys__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sc-compare-airport .pk-buys__list li { grid-template-columns: 1fr; justify-items: center; gap: 2px; padding: 6px 4px; text-align: center; font-size: 12px; }
  .pk-buys__title { margin-bottom: 6px; }
  .pk-buys__note { margin-top: 6px; font-size: 11.5px; }
}
@media (max-width: 560px) {
  .pk-location .pk-loc__map[data-map-loaded] { height: 220px; }
}

/* --- Batch 11e (owner 2026-10-07) --- */
/* Comparator on phones, one small table: no tabs. The SkyPark price sits
   beside the days, the bars and the saving follow, then what the saving
   buys (icons), then the perks, always shown. */
@media (max-width: 760px) {
  .sc-compare-card { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title title" "veh veh" "days sum" "range range" "scale scale" "save save" "buys buys" "perks perks" "note note"; column-gap: 10px; padding: 10px 12px 12px; }
  .sc-compare-card > :is(.sc-compare-ours, .sc-compare-control, .sc-compare-airport) { display: contents !important; }
  .sc-compare-card > .pk-cmp-tabs { display: none !important; }
  .sc-compare-card :is(.sc-compare-eyebrow, #compareAirportRate, #compareAirportTotal) { display: none; }
  .sc-compare-control > h2 { grid-area: title; margin: 0 0 6px; text-align: center; }
  .sc-compare-control > .sc-compare-vehicle { grid-area: veh; margin-bottom: 8px; }
  .sc-compare-control > .sc-compare-days-input { grid-area: days; }
  .sc-compare-card[data-pk-view] #compareSkyRate { grid-area: sum; display: block; align-self: start; justify-self: end; color: var(--sky-ink-2); font-size: 12px; font-weight: 750; }
  .sc-compare-card[data-pk-view] #compareSkyTotal { grid-area: sum; display: block; align-self: end; justify-self: end; color: var(--sky-blue-deep); font-size: var(--sky-fs-l); }
  .sc-compare-control > .sc-compare-range { grid-area: range; margin-top: 6px; }
  .sc-compare-control > .sc-compare-scale { grid-area: scale; }
  .sc-compare-control > .pk-cmp-bars { grid-area: bars; margin-top: 4px; }
  .sc-compare-control > .sc-compare-saving { grid-area: save; margin: 6px 0 0; text-align: center; }
  .sc-compare-airport > .pk-buys { grid-area: buys; margin: 6px 0 0; padding: 6px 8px; }
  .sc-compare-airport > .pk-buys .pk-buys__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sc-compare-airport > .pk-buys .pk-buys__list li { grid-template-columns: 1fr; justify-items: center; gap: 1px; padding: 4px; text-align: center; font-size: 11.5px; line-height: 1.2; }
  .sc-compare-airport > .pk-buys :is(.pk-buys__title, .pk-buys__note) { margin: 0 0 4px; font-size: 11.5px; text-align: center; }
  .sc-compare-airport > .pk-buys .pk-buys__note { margin: 4px 0 0; }
  .sc-compare-card[data-pk-view] > .sc-compare-ours > .pk-cmp-perks { grid-area: perks; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 10px; margin: 10px 0 0; padding: 8px 0 0; border-top: 1px dashed var(--sky-rule); }
  .sc-compare-ours > .pk-cmp-perks li { font-size: 12px; line-height: 1.25; color: var(--sky-ink-2); }
  .sc-compare-card[data-pk-view] > .sc-compare-ours > .sky-paid-note { grid-area: note; display: block; margin: 4px 0 0; font-size: 11.5px; color: var(--sky-ink-3); }
}
/* Where we are (batch 11e): a smaller map beside the address and the two
   buttons, also once the map has loaded. */
.pk-location .pk-loc__map[data-map-loaded] { grid-column: 3; grid-row: 1 / span 2; height: 150px; }
@media (max-width: 900px) {
  .pk-loc { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); grid-template-areas: "text map" "act map"; gap: 8px 12px; }
  .pk-loc__text { grid-area: text; }
  .pk-loc__actions { grid-area: act; }
  .pk-location .pk-loc__map, .pk-location .pk-loc__map[data-map-loaded] { grid-area: map; grid-column: auto; grid-row: auto; height: auto; min-height: 120px; align-self: stretch; }
  .pk-loc__actions { flex-wrap: nowrap; gap: 6px; }
  .pk-loc__btn { min-height: 38px; padding-inline: 8px; font-size: 13px; }
}
/* Hero (batch 11e): a smaller "Rezervă acum" and tighter perks. */
@media (max-width: 760px) {
  .pk-scenes .sky-hero__actions .sky-btn { min-height: 38px; font-size: 14px; }
  .pk-scenes .sky-hero__title { font-size: clamp(1.45rem, 6.6vw, 1.85rem); }
  .pk-scenes .pk-rates { margin-top: 8px; }
  .pk-scenes .pk-perks { margin-top: 6px; font-size: 12px; }
}

/* --- Batch 11f (owner 2026-10-07) --- */
/* Cars 2..5 in the booking card: a compact block per car with its own plate,
   vehicle and extras (parking-form.js), × takes it out. */
.pk-cars { display: grid; gap: 8px; }
.pk-cars:empty { display: none; }
/* The car block itself (.pk-car*) is shared: sky-ui/sky.css (batch 11h). */

/* --- Batch 11g (owner 2026-10-07) --- */
/* Hero on phones: the perks fill the text column under the lead (beside the
   scene, which stretches level with it); the rate boards and "Rezervă acum"
   share one row under both (batch 11h). */
@media (max-width: 760px) {
  .pk-scenes .sky-scenes__grid { grid-template-rows: auto auto auto 1fr; }
  .pk-scenes .sky-scenes__play { grid-row: 1 / span 4; align-self: stretch; grid-template-rows: auto 1fr auto; }
  .pk-scenes .sky-scenes__play > .sky-scenes__cap { min-height: 0; }
  .pk-scenes .sky-scenes__copy > .pk-perks { grid-column: 1; grid-row: 3; grid-template-columns: 1fr; gap: 3px; margin-top: 8px; font-size: 11.5px; }
  .pk-scenes .sky-scenes__copy > .sky-paid-note { grid-column: 1; grid-row: 4; align-self: start; margin-top: 2px; }
  /* Batch 11h: the two rate boards on the left, stacked; "Rezervă acum" on the
     right, a compact block exactly as tall as the two boards. */
  .pk-scenes .sky-scenes__copy > .pk-rates { grid-column: 1; grid-row: 5; grid-template-columns: minmax(0, 1fr); gap: 6px; margin-top: 10px; }
  .pk-scenes .sky-scenes__copy > .sky-hero__actions { grid-column: 2; grid-row: 5; display: flex; align-self: stretch; margin-top: 10px; }
  .pk-scenes .sky-hero__actions .sky-btn { flex-direction: column; justify-content: center; gap: 4px; width: 100%; height: 100%; min-height: 0; padding: 8px 10px; border-radius: var(--sky-r1); text-align: center; }
}

/* --- Batch 11h (owner 2026-10-07) --- */
/* Car 1 is the same block as cars 2..5 (plate on top, then its tiles); the
   frame and "Mașina 1" show only once a second car is added. The plate left
   the contact row, so the return flight takes the full row on phones. */
.pk-car--first:not(.is-many) { padding: 0; border: 0; background: none; }
.pk-car--first:not(.is-many) > legend { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 760px) {
  .pk-form .sb-who > :last-child { grid-column: 1 / -1; }
}
/* Google reviews glide by themselves like the portal's (shared sky.js
   initMarquee, which adds the copies): no scrollbar, no pause button. */
.pk-reviews .sp-review-viewport { overflow: hidden; padding-bottom: 0; scrollbar-width: none; }
.pk-reviews .sp-review-track { display: flex; grid-auto-flow: initial; gap: 12px; }
.pk-reviews .sp-review-card { flex: none; width: 300px; }
@media (max-width: 560px) { .pk-reviews .sp-review-card { width: 240px; padding: 12px 14px; } }

/* --- Batch 11i (owner 2026-10-07) --- */
/* Hero on phones: "Rezervă acum" is a small button right under the scene,
   which gets a wider column; the rate boards stay on the left, stacked under
   the lead, and the perks go under the button (replaces 11h's big block
   beside the boards). The scene keeps its 8:5 window (actors are placed for it). */
@media (max-width: 760px) {
  .pk-scenes .sky-scenes__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); grid-template-rows: auto auto auto auto auto 1fr; }
  .pk-scenes .sky-scenes__play { grid-row: 1 / span 3; align-self: start; grid-template-rows: auto auto auto; }
  .pk-scenes .sky-scenes__play > .sky-scenes__cap { min-height: 0; }
  .pk-scenes .sky-scenes__copy > .pk-rates { grid-column: 1; grid-row: 3 / span 4; align-self: start; margin-top: 10px; }
  .pk-scenes .sky-scenes__copy > .sky-hero__actions { grid-column: 2; grid-row: 4; align-self: start; display: block; margin-top: 8px; }
  .pk-scenes .sky-hero__actions .sky-btn { flex-direction: row; gap: 6px; width: 100%; height: auto; min-height: 36px; padding: 6px 12px; font-size: 13.5px; border-radius: var(--sky-r1); }
  .pk-scenes .sky-hero__actions .sky-btn .sky-btn__arrow { width: 18px; }
  .pk-scenes .sky-scenes__copy > .pk-perks { grid-column: 2; grid-row: 5; margin-top: 8px; }
  .pk-scenes .sky-scenes__copy > .sky-paid-note { grid-column: 2; grid-row: 6; }
}

/* --- Batch 11n (owner 2026-10-09) --- */
/* Hero on phones: the rate boards on the left with "Rezervă acum" right under
   them (a board tap books too, with a small arrow saying so); the perks and
   the paid note go under the scene (sky.js initHeroAside), so neither side
   leaves an empty area. */
@media (max-width: 760px) {
  .pk-scenes .sky-scenes__grid { grid-template-rows: auto auto auto auto 1fr; }
  .pk-scenes .sky-scenes__play { grid-row: 1 / span 5; }
  .pk-scenes .sky-scenes__copy > .pk-rates { grid-row: 3; }
  .pk-scenes .sky-scenes__copy > .sky-hero__actions { grid-column: 1; grid-row: 4; margin-top: 8px; }
  .pk-scenes .sky-scenes__aside .pk-perks { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; margin: 0; font-size: 12px; }
  .pk-scenes .sky-scenes__aside .sky-paid-note { margin: 0; font-size: 11.5px; }
  .pk-scenes button.pk-rate { position: relative; padding-right: 26px; }
  .pk-scenes button.pk-rate::after { content: "\2192"; position: absolute; right: 9px; top: 50%; transform: translateY(-50%); color: var(--sky-accent); font-size: 16px; font-weight: 850; }
}

/* --- Batch 11o (owner 2026-10-09) --- */
/* Hero on phones: no "Rezervă acum" and no perk list any more (the scene
   window books and names the amenities), so the two rate boards run side by
   side under the title and the scene, and neither column is left empty. */
@media (max-width: 760px) {
  .pk-scenes .sky-scenes__grid { grid-template-rows: auto 1fr auto; }
  .pk-scenes .sky-scenes__copy > .sky-hero__lead { align-self: start; }
  .pk-scenes .sky-scenes__play { grid-row: 1 / span 2; }
  .pk-scenes .sky-scenes__copy > .pk-rates { grid-column: 1 / -1; grid-row: 3; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
}

/* --- Batch 11p (owner 2026-10-09) --- */
/* Hero on phones: the services list fills the text column under the lead,
   beside the scene; the paid note closes it; the rate boards under both. */
@media (max-width: 760px) {
  .pk-scenes .sky-scenes__grid { grid-template-rows: auto auto auto 1fr auto; }
  .pk-scenes .sky-scenes__play { grid-row: 1 / span 4; align-self: start; }
  .pk-scenes .sky-scenes__copy > .pk-perks { display: grid; grid-column: 1; grid-row: 3; grid-template-columns: minmax(0, 1fr); gap: 3px; margin: 10px 0 0; font-size: 12.5px; }
  .pk-scenes .sky-scenes__copy > .sky-paid-note { display: block; grid-column: 1; grid-row: 4; align-self: start; margin: 4px 0 0; font-size: 11.5px; }
  .pk-scenes .sky-scenes__copy > .pk-rates { grid-row: 5; }
}
/* Narrow phones: the title takes four lines there, so the list and the
   paid note sit under it beside the scene and the lead runs under both (the
   two sides still end level). */
@media (max-width: 400px) {
  .pk-scenes .sky-scenes__grid { grid-template-rows: auto auto 1fr auto auto; }
  .pk-scenes .sky-scenes__play { grid-row: 1 / span 3; }
  .pk-scenes .sky-scenes__copy > .pk-perks { grid-row: 2; }
  .pk-scenes .sky-scenes__copy > .sky-paid-note { grid-row: 3; }
  .pk-scenes .sky-scenes__copy > .sky-hero__lead { grid-column: 1 / -1; grid-row: 4; margin-top: 10px; }
}

/* --- Batch 11r (owner 2026-10-09) --- */
/* Phones: the step runs inside the picture and the button sits under the
   window, so the scene column is shorter: the title and the lead beside it,
   the services list in two columns under both, then the paid note and the
   rate boards. */
@media (max-width: 760px) {
  .pk-scenes .sky-scenes__grid { grid-template-rows: auto auto auto 1fr auto; }
  .pk-scenes .sky-scenes__play { grid-row: 1 / span 4; }
  .pk-scenes .sky-scenes__copy > .sky-hero__lead { grid-column: 1; grid-row: 2; align-self: start; margin-top: 8px; }
  .pk-scenes .sky-scenes__copy > .pk-perks { grid-column: 1; grid-row: 3; grid-template-columns: minmax(0, 1fr); gap: 2px; margin: 8px 0 0; }
  .pk-scenes .sky-scenes__copy > .sky-paid-note { grid-column: 1; grid-row: 4; margin: 3px 0 0; }
  .pk-scenes .sky-scenes__copy > .pk-rates { grid-row: 5; }
}
@media (max-width: 420px) {
  .pk-scenes .sky-scenes__copy > .pk-perks { gap: 1px; font-size: 11.5px; }
  .pk-scenes .sky-scenes__copy > .pk-perks li { line-height: 1.2; }
}
