/* Owner's sweep fixes, part B (11 Oct 2026, build/SWEEP-FIX-BRIEF.md). Loaded after site.css on every templated page.
   The section headed "==== homepage" is copied into css/head.css by build/home_nav.py for index.html and home-1b,
   which cannot load this file whole (their class names collide with the site's). */

/* ---------- footer credit link ---------- */
.sitefoot-base a { color: inherit; border-bottom: 1px solid rgba(201, 169, 110, 0.35); transition: color 0.3s, border-color 0.3s; }
.sitefoot-base a:hover, .sitefoot-base a:focus-visible { color: var(--champagne); border-color: var(--champagne); }

/* ---------- facts grid: no grey behind the cells, no reveal (owner, /airports/salzburg-szg and every page with it) ---------- */
/* the hairlines were the grid's grey background showing through 1px gaps, so it showed through the cells while they
   faded in, and in any empty cell; the lines are now drawn by each cell, on ink */
.facts-grid { background: var(--ink); }
.facts-grid li { outline: 1px solid var(--hairline); opacity: 1 !important; visibility: visible !important; transform: none !important; }

/* ---------- sideways lists on phones: a fade on the edge that has more (js/sweep.js) ---------- */
.mk-tablist.more-r, .mk-side-list.more-r, .mk-ov-list.more-r, .mk-map-scroll.more-r, .mk-kindcards.more-r { -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 64px), transparent 100%); mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 64px), transparent 100%); }
.mk-tablist.more-l, .mk-side-list.more-l, .mk-ov-list.more-l, .mk-map-scroll.more-l, .mk-kindcards.more-l { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 100%); mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 100%); }
.mk-tablist.more-l.more-r, .mk-side-list.more-l.more-r, .mk-ov-list.more-l.more-r, .mk-map-scroll.more-l.more-r, .mk-kindcards.more-l.more-r { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 64px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 64px), transparent 100%); }
.mk-swipe { display: none; }
@media (max-width: 820px) {
  .mk-swipe { display: block; color: var(--faint); margin: 0 0 10px; }
}

/* ---------- airports index: the sidebar picks one group (js/sweep.js) ---------- */
.mk-sidebar.is-picking .mk-side-group[hidden] { display: none; }
.mk-sidebar.is-picking .mk-side-group { padding-top: 0; border-top: 0; margin-bottom: 0; }
.mk-sidebar.is-picking .mk-side-list a { cursor: pointer; }

/* ---------- overlay panels for a longer list (jet hub "Ways to fly"): four to a row, then a sideways strip on phones ---------- */
.mk-ovs--many .mk-ov-list { flex-wrap: wrap; height: auto; }
.mk-ovs--many .mk-ov { flex: 1 1 calc(25% - 22px); height: clamp(360px, 46vh, 460px); }
.mk-ovs--many .mk-ov:hover { flex-grow: 1.5; }
.mk-ovs--many .mk-ov-body h3 { font-size: clamp(1.4rem, 1.9vw, 2rem); }
.mk-ovs--many .mk-ov-body p { font-size: 0.9rem; }
.mk-ovs--many .svc-group { margin-top: clamp(40px, 6vh, 72px); }
@media (max-width: 1180px) and (min-width: 821px) {
  .mk-ovs--many .mk-ov { flex: 1 1 calc(50% - 22px); height: 380px; }
}
@media (max-width: 820px) {
  .mk-ovs--many .mk-ov-list { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-right: calc(var(--pad-x) * -1); padding-right: var(--pad-x); scrollbar-width: none; }
  .mk-ovs--many .mk-ov-list::-webkit-scrollbar { display: none; }
  .mk-ovs--many .mk-ov, .mk-ovs--many .mk-ov:hover { flex: 0 0 78%; height: auto; scroll-snap-align: start; }
  .mk-ovs--many .mk-ov a { aspect-ratio: 4 / 5; }
}

/* ---------- two-column heading with a picture: the copy sits in the middle, between the first line of the heading and the
   foot of the picture (owner, /global-network: "in the middle of the bottom of the picture and the first line") ---------- */
@media (min-width: 821px) {
  .intro--fig .intro-grid { align-items: center; }
  .intro--fig .intro-head { align-self: stretch; }
}

/* ---------- global network map on phones: larger, sliding sideways, opening on London (js/sweep.js) ---------- */
@media (max-width: 600px) {
  .mk-map-scroll { overflow-x: auto; overflow-y: hidden; margin: 0 calc(var(--pad-x) * -1); padding: 0 var(--pad-x); scrollbar-width: none; overscroll-behavior-x: contain; }
  .mk-map-scroll::-webkit-scrollbar { display: none; }
  .mk-map-scroll .mk-map { width: 190%; max-width: none; }
}

/* ---------- yacht hub on phones: each size row with its own drawing at one scale; the kinds as a sideways strip ---------- */
.mk-scale-row { display: none; }
@media (min-width: 601px) { .mk-swipe--sm { display: none !important; } }
@media (max-width: 600px) {
  .mk-ladder--scale .mk-ladder-svg { display: none; }
  .mk-ladder--scale .mk-scale-row { display: block; width: 100% !important; height: auto; margin: 0 0 6px; }
  .mk-ladder--scale li:not(.mk-ladder-svg) a { padding: 18px 0; }
  .mk-kindcards { grid-template-columns: none; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-auto-columns: 84%;
    overflow-x: auto; scroll-snap-type: x mandatory; margin-right: calc(var(--pad-x) * -1); padding-right: var(--pad-x); scrollbar-width: none; }
  .mk-kindcards::-webkit-scrollbar { display: none; }
  .mk-kindcards li { scroll-snap-align: start; }
  .mk-kindcards li a { height: 100%; }
}

/* ---------- aircraft, car and yacht pages on phones: the whole picture in a 16:9 band under the header, the words below it
   on ink, instead of a tall crop that shows only a wing (owner, /aircraft/bombardier-global-7500, phone) ---------- */
@media (max-width: 600px) {
  .page-asset .phero { min-height: 0; padding-top: calc(var(--nav-h) + 56.25vw + 18px); }
  .page-asset .phero-media { top: var(--nav-h); bottom: auto; height: 56.25vw; }
  .page-asset .phero-media img { object-position: 50% 50% !important; }
  .page-asset .phero-scrim { top: var(--nav-h); bottom: auto; height: 56.25vw; background: linear-gradient(180deg, rgba(6, 9, 15, 0.35) 0%, rgba(6, 9, 15, 0) 30%, rgba(6, 9, 15, 0) 70%, var(--ink) 100%); }
}

/* ==== homepage (index.html and home-1b) ==== */
.sitefoot-base a { color: inherit; border-bottom: 1px solid rgba(201, 169, 110, 0.35); transition: color 0.3s, border-color 0.3s; }
.sitefoot-base a:hover, .sitefoot-base a:focus-visible { color: var(--champagne); border-color: var(--champagne); }
.sitefoot .footer-brand { font-family: 'Fraunces', serif; font-size: 1.05rem; }
/* the place-name banner loops for ever, and holds still under the pointer. index.html now carries eight copies of the
   line (each about 690 px), so half the track is wider than any screen up to 2560 px and the loop never shows its end;
   the duration keeps the old speed (46 s for one copy, so 184 s for the four in each half) */
.marquee-track { animation-duration: 184s; }
.marquee:hover .marquee-track { animation-play-state: paused; }
/* the film's mini tiles are links to their pages (the chapter itself ignores the pointer) */
.offer-card a.offer-link { display: block; pointer-events: auto; color: inherit; }
.offer-card a.offer-link figure img { transition: transform 0.9s var(--ease-lux, ease); }
.offer-card a.offer-link:hover figure img, .offer-card a.offer-link:focus-visible figure img { transform: scale(1.06); }
.offer-card a.offer-link:hover p, .offer-card a.offer-link:focus-visible p { color: var(--porcelain); }

/* tablets: the kinds of charter as a sideways strip too, two cards wide (owner, 11 Oct 2026) */
@media (min-width: 601px) and (max-width: 1180px) {
  .mk-kindcards { grid-template-columns: none; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-auto-columns: 46%;
    overflow-x: auto; scroll-snap-type: x mandatory; margin-right: calc(var(--pad-x) * -1); padding-right: var(--pad-x); scrollbar-width: none; }
  .mk-kindcards::-webkit-scrollbar { display: none; }
  .mk-kindcards li { scroll-snap-align: start; }
  .mk-kindcards li a { height: 100%; }
}
