/* ============================================================================
   AvSky DESTINATION 3.0 — stylesheet
   Faithful, complete port of the locked design "Destination Page - Lakeland.html",
   consolidating all of its <style> blocks into one file, scoped under .avsky-sar
   exactly as the design scopes them. Same visual system as itinerary 3.0
   (immersive scrim hero, cream bands + gold hairlines, dual-DOM desktop/mobile
   at 640px). Fonts: Poppins (loaded by the theme) + Fraunces (@imported below
   in the hero block, as the design does) + JetBrains Mono.

   Source blocks (design line ranges): base tokens + shell + shared components
   (8-1093, 1095-1785), details+nearby co-located (2021-2055), mobile-nearby
   (2353-2372), hero+nav (4011-4096), glass-card (4097-4135), cta-anchor
   (4146-4165), avx (4168-4312), spec-calc (4409-4424), avcalc/calculator
   (4425-4720), specui (4721-4772).

   Dead prototype code STRIPPED (not ported): nav style-variant system
   (#nav-switcher, body[data-nav], nav-style-options 4337-4372); the
   device/form/nav preview switchers + .stage/.device/.screen/.harness preview
   chrome; form-switcher (4317-4323); spec-layout-options (5231-5232); the
   redesigned spec card's dead spec-route / spec-tile / spec-opts rules; the
   editorial relocated-form (.quote-section/.quote-aside/.quote-card/
   .quote-points); .hiz-route/.hiz-specs; .spec-cta-inline. The static-map
   crutch markup (.map-controls/.map-pin/.map-label) is inert here — the map is
   one Leaflet container (.map-card.airport-leaflet) driven by destination-3.js.

   WP context: unlike the mockup's centered 1320px canvas, the .avsky-sar
   wrapper is full-bleed here (max-width:none, no card shadow) — see the
   standalone reset + neutralization directly below.
   ========================================================================== */

/* --- Standalone page reset: hide stray theme/plugin chrome from wp_head/footer.
       Scoped out of site-header mode (.avsky-gp-shell), where the GP shell must show. --- */
body.avsky-destination-3:not(.avsky-gp-shell) > *:not(.avsky-sar):not(#wpadminbar):not(.pac-container):not(script):not(style):not(noscript):not(link):not(template){display:none!important}
body.avsky-destination-3{margin:0}

/* --- Site-header mode (per-page toggle, all devices): the GP header/nav replaces
       the 3.0 built-in navs (desktop topnav, phone top bar + drawer). --- */
/* GP's #content is a flexbox (content+sidebar layout); the 3.0 sheet is injected
   as its direct flex item and a flex item won't shrink below its content's
   min-content width (~1220px) — at tablet widths the page burst out of the
   viewport. These pages have no sidebar, so plain block flow is correct. */
body.avsky-gp-shell #content.site-content{padding-top:0;display:block}
body.avsky-gp-shell .avsky-sar-desktop .topnav{display:none!important}
/* The topnav's sticky wrapper paints its own navy "atmosphere band" (padding +
   radial glows). With the GP header on, hiding just the topnav left that band
   as a stray navy strip between the site header and the hero — remove the whole
   wrap so the hero abuts the nav. */
body.avsky-gp-shell .avsky-sar-desktop .nav-wrap{display:none!important}
/* And ease the seam: same scrim shape, slightly deeper at the very top, so the
   hero photo settles under the white site header instead of cutting against it. */
body.avsky-gp-shell .avsky-sar-desktop .hiz-scrim{background:linear-gradient(180deg, rgba(8,16,28,0.68) 0%, rgba(8,16,28,0.26) 16%, rgba(8,16,28,0.14) 58%, rgba(8,16,28,0.30) 80%, rgba(8,16,28,0.62) 100%)}
body.avsky-gp-shell .avsky-sar-mobile .m-topbar{display:none!important}
body.avsky-gp-shell .nv-sheet, body.avsky-gp-shell .nv-backdrop{display:none!important}
/* Our sheets/modals were stacked for the standalone page (z 90–5000). GP's
   sticky nav sets z-index 10000 INLINE (JS) once you scroll, so any of them
   below that painted under the header (date-sheet close button hidden, calc
   modal header covered). In shell mode, lift every full-screen overlay above
   it, preserving our internal order (nav drawer < quote sheet < date/msg
   sheets < calc modal). Note: GP's slideout menu is 100001 — still above us,
   which is correct (it's the site menu). */
body.avsky-gp-shell .avsky-sar-mobile .nv-backdrop{z-index:20010}
body.avsky-gp-shell .avsky-sar-mobile .nv-sheet{z-index:20011}
body.avsky-gp-shell .avsky-sar .qm-backdrop{z-index:20020}
body.avsky-gp-shell .avsky-sar .qm-sheet{z-index:20021}
body.avsky-gp-shell .avsky-sar .ds-backdrop, body.avsky-gp-shell .avsky-sar .msg-sheet-back{z-index:20030}
body.avsky-gp-shell .avsky-sar .ds-sheet, body.avsky-gp-shell .avsky-sar .msg-sheet{z-index:20031}
body.avsky-gp-shell .calc-modal{z-index:20040}

/* ===== SHELL — base reset, tokens, typography, desktop + mobile shared components (design 8-1093) ===== */
  /* ───────────────────────────────────────────────────────────────
     SHARED — base reset, vars, typography
     ─────────────────────────────────────────────────────────────── */
  .avsky-sar {
    font-family: 'Poppins', sans-serif;
    color: #1F2937;
    background: #FFFFFF;
    font-size: 16px;
    line-height: 1.5;
    /* Centered 1320px "sheet" with a soft page shadow — matches itinerary-3.0's
       body treatment. Reset to full-width / no-shadow at the mobile breakpoint. */
    max-width: 1320px;
    margin: 0 auto;
    box-shadow: 0 0 60px rgba(0,0,0,0.06);
    --navy: #0B1626;
    --navy-2: #0F1C2E;
    --gold: #F4C078;
    --gold-mid: #E8A33A;
    --gold-deep: #C8841F;
    --gold-deeper: #B57F32;
    --cream: #FAF7F2;
    --cream-2: #F4F1ED;
    --hairline: #ECE3D2;
    --tan: #8B7355;
    --tan-soft: #B8A88A;
    --tan-line: #D4C4A6;
  }
  .avsky-sar *, .avsky-sar *::before, .avsky-sar *::after { box-sizing: border-box; margin: 0; padding: 0; }
  /* Standalone reset — WordPress theme normally zeroes this; ensures the page
     bleeds edge-to-edge when viewed on its own (e.g. in the mobile frame). */
  html, body { margin: 0; padding: 0; }
  .avsky-sar a { text-decoration: none; color: inherit; }
  .avsky-sar img, .avsky-sar svg { display: block; max-width: 100%; }
  .avsky-sar input, .avsky-sar button, .avsky-sar select, .avsky-sar textarea { font-family: 'Poppins', sans-serif; }

  /* Dual-DOM swap: desktop visible by default, mobile hidden */
  .avsky-sar .avsky-sar-desktop { display: block; }
  .avsky-sar .avsky-sar-mobile  { display: none; }

  /* ───────────────────────────────────────────────────────────────
     DESKTOP STYLES
     ─────────────────────────────────────────────────────────────── */
  .avsky-sar-desktop .sec { padding: 48px 32px; max-width: 1320px; margin: 0 auto; }
  .avsky-sar-desktop .sec.full-bleed { max-width: 100%; }
  .avsky-sar-desktop .inner { max-width: 1320px; margin: 0 auto; }

  /* Buttons */
  .avsky-sar-desktop .btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 28px; background: var(--navy); color: #FFF; border: none; border-radius: 4px; font-size: 15px; font-weight: 600; cursor: pointer; transition: all 0.25s; text-decoration: none; letter-spacing: 0.005em; }
  .avsky-sar-desktop .btn:hover { background: var(--navy-2); box-shadow: 0 6px 16px rgba(11,22,38,0.28); color: #FFF; }
  .avsky-sar-desktop .btn.outline { background: transparent; border: 1.5px solid rgba(11,22,38,0.18); color: var(--navy); }
  .avsky-sar-desktop .btn.outline:hover { border-color: var(--navy); background: rgba(11,22,38,0.04); color: var(--navy); }

  /* Hero */
  .avsky-sar-desktop .form-card { background: #FFF; border-radius: 6px; box-shadow: 0 24px 56px -20px rgba(11,22,38,0.30), 0 8px 24px -12px rgba(11,22,38,0.12); border: 1px solid rgba(11,22,38,0.10); overflow: hidden; min-height: 640px; display: flex; flex-direction: column; }
  .avsky-sar-desktop .form-head { padding: 22px 26px 18px; background: var(--navy); border-bottom: 1px solid rgba(244,192,120,0.25); color: #FFF; position: relative; }
  .avsky-sar-desktop .form-head::after { content: ''; position: absolute; left: 26px; right: 26px; bottom: -1px; height: 1px; background: linear-gradient(to right, var(--gold) 0%, rgba(244,192,120,0.05) 100%); }
  .avsky-sar-desktop .form-head .eyebrow { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 6px; }
  .avsky-sar-desktop .form-head h3,
  .avsky-sar-desktop .form-head h1,
  .avsky-sar-desktop .form-head h2 { font-size: 20px; font-weight: 700; color: #FFF; letter-spacing: -0.012em; line-height: 1.22; margin: 0; text-wrap: pretty; }
  .avsky-sar-desktop .form-tabs { display: flex; padding: 8px; background: var(--navy); border-bottom: 1px solid rgba(255,255,255,0.06); gap: 4px; }
  .avsky-sar-desktop .form-tab { flex: 1; padding: 10px 12px; font-size: 13px; font-weight: 600; background: transparent; color: rgba(255,255,255,0.55); border: none; cursor: pointer; border-radius: 4px; letter-spacing: 0.005em; }
  .avsky-sar-desktop .form-tab.active { background: rgba(244,192,120,0.12); color: var(--gold); }
  .avsky-sar-desktop .form-body { padding: 22px 26px 24px; }
  .avsky-sar-desktop .form-row { display: grid; gap: 10px; margin-bottom: 12px; }
  .avsky-sar-desktop .form-row.two { grid-template-columns: 1fr 1fr; }
  .avsky-sar-desktop .form-row.swap { grid-template-columns: 1fr auto 1fr; align-items: end; }
  .avsky-sar-desktop .form-row.three { grid-template-columns: 1fr 1fr 1fr; }
  .avsky-sar-desktop .form-label { display: block; font-size: 11px; font-weight: 600; color: #6B7280; margin-bottom: 6px; letter-spacing: 0.02em; text-transform: uppercase; }
  .avsky-sar-desktop .form-input { width: 100%; padding: 11px 12px; font-size: 14px; background: #FFF; border: 1px solid #E2E5EA; border-radius: 4px; color: #111827; outline: none; transition: border-color 140ms, box-shadow 140ms; }
  .avsky-sar-desktop .form-input:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(244,192,120,0.18); }
  .avsky-sar-desktop .form-swap-btn { width: 40px; height: 42px; background: #F9FAFB; border: 1px solid #E5E7EB; border-radius: 4px; cursor: pointer; color: #6B7280; display: flex; align-items: center; justify-content: center; }
  .avsky-sar-desktop .form-pax { display: flex; align-items: stretch; height: 42px; border: 1px solid #E5E7EB; border-radius: 4px; background: #FFF; overflow: hidden; }
  .avsky-sar-desktop .form-pax button { width: 40px; border: none; background: #F9FAFB; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--navy); transition: background 140ms; }
  .avsky-sar-desktop .form-pax button:hover { background: #F0F4F8; }
  .avsky-sar-desktop .form-pax button:first-child { border-right: 1px solid #E5E7EB; }
  .avsky-sar-desktop .form-pax button:last-child { border-left: 1px solid #E5E7EB; }
  .avsky-sar-desktop .form-pax .val { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: #111827; }
  .avsky-sar-desktop .form-textarea { min-height: 72px; resize: vertical; }
  .avsky-sar-desktop .form-submit { width: 100%; padding: 14px 18px; background: var(--navy); color: #FFF; border: none; font-size: 14px; font-weight: 700; border-radius: 4px; cursor: pointer; margin-top: 6px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; transition: background 180ms; letter-spacing: 0.005em; }
  .avsky-sar-desktop .form-submit:hover { background: var(--navy-2); }
  .avsky-sar-desktop .form-submit[disabled] { opacity: 0.7; cursor: not-allowed; }
  .avsky-sar-desktop .form-error { margin-top: 10px; padding: 10px 12px; background: #FEF2F2; border: 1px solid #FECACA; color: #991B1B; font-size: 13px; border-radius: 4px; }
  .avsky-sar-desktop .form-success { padding: 48px 40px; text-align: center; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .avsky-sar-desktop .form-success-icon { width: 56px; height: 56px; border-radius: 50%; background: var(--navy); color: #FFF; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
  .avsky-sar-desktop .form-success h3 { font-size: 22px; color: #111827; font-weight: 700; margin-bottom: 10px; }
  .avsky-sar-desktop .form-success p { font-size: 15px; color: #6B7280; line-height: 1.55; }
  /* richer success state */
  .avsky-sar-desktop .fsx { padding: 44px 40px 40px; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .avsky-sar-desktop .fsx-mark { position: relative; width: 72px; height: 72px; margin-bottom: 22px; }
  .avsky-sar-desktop .fsx-mark .ring { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid var(--gold); opacity: 0.55; animation: fsxPulse 2.6s ease-out infinite; }
  .avsky-sar-desktop .fsx-mark .ring2 { position: absolute; inset: 9px; border-radius: 50%; border: 1px solid var(--gold); opacity: 0.35; }
  .avsky-sar-desktop .fsx-mark .disc { position: absolute; inset: 16px; border-radius: 50%; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 22px -8px rgba(11,22,38,0.5); }
  .avsky-sar-desktop .fsx-mark .disc svg { width: 22px; height: 22px; }
  @keyframes fsxPulse { 0% { transform: scale(1); opacity: 0.55; } 70% { transform: scale(1.18); opacity: 0; } 100% { opacity: 0; } }
  .avsky-sar-desktop .fsx-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-deep, #C8841F); margin-bottom: 12px; }
  .avsky-sar-desktop .fsx h3 { font-size: 27px; line-height: 1.1; color: var(--navy); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 10px; }
  .avsky-sar-desktop .fsx .fsx-sub { font-size: 14.5px; color: #6B7280; line-height: 1.6; max-width: 340px; margin: 0 auto 26px; }
  /* receipt */
  .avsky-sar-desktop .fsx-receipt { width: 100%; max-width: 380px; background: var(--cream, #FAF7F2); border: 1px solid var(--hairline, #ECE3D2); border-radius: 14px; padding: 20px 22px; margin-bottom: 24px; text-align: left; position: relative; }
  .avsky-sar-desktop .fsx-receipt::before, .avsky-sar-desktop .fsx-receipt::after { content: ''; position: absolute; top: 50%; width: 14px; height: 14px; border-radius: 50%; background: #fff; transform: translateY(-50%); }
  .avsky-sar-desktop .fsx-receipt::before { left: -8px; box-shadow: inset -1px 0 0 var(--hairline, #ECE3D2); }
  .avsky-sar-desktop .fsx-receipt::after { right: -8px; box-shadow: inset 1px 0 0 var(--hairline, #ECE3D2); }
  .avsky-sar-desktop .fsx-route { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px dashed #D8CBB3; margin-bottom: 14px; }
  .avsky-sar-desktop .fsx-port { flex: 1; }
  .avsky-sar-desktop .fsx-port .code { font-family: 'JetBrains Mono', monospace; font-size: 20px; font-weight: 700; color: var(--navy); letter-spacing: 0.02em; }
  .avsky-sar-desktop .fsx-port .place { font-size: 11px; color: var(--tan, #8B7355); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .avsky-sar-desktop .fsx-port.to { text-align: right; }
  .avsky-sar-desktop .fsx-path { flex: 0 0 auto; color: var(--gold-deep, #C8841F); display: flex; align-items: center; }
  .avsky-sar-desktop .fsx-path svg { width: 20px; height: 20px; }
  .avsky-sar-desktop .fsx-meta { display: flex; gap: 8px; }
  .avsky-sar-desktop .fsx-meta .m { flex: 1; }
  .avsky-sar-desktop .fsx-meta .m .l { font-family: 'JetBrains Mono', monospace; font-size: 9px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #9aa0a6; margin-bottom: 4px; }
  .avsky-sar-desktop .fsx-meta .m .v { font-size: 13px; font-weight: 600; color: var(--navy); }
  /* next steps */
  .avsky-sar-desktop .fsx-next { width: 100%; max-width: 380px; display: flex; flex-direction: column; gap: 12px; margin-bottom: 26px; text-align: left; }
  .avsky-sar-desktop .fsx-step { display: flex; align-items: flex-start; gap: 12px; }
  .avsky-sar-desktop .fsx-step .n { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: rgba(200,132,31,0.12); color: var(--gold-deep, #C8841F); font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; margin-top: 1px; }
  .avsky-sar-desktop .fsx-step .t { font-size: 13px; color: #4B5563; line-height: 1.5; }
  .avsky-sar-desktop .fsx-step .t b { color: var(--navy); font-weight: 600; }
  .avsky-sar-desktop .fsx-call { display: inline-flex; align-items: center; gap: 9px; font-size: 13.5px; color: var(--navy); }
  .avsky-sar-desktop .fsx-call .ic { width: 30px; height: 30px; border-radius: 50%; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; }
  .avsky-sar-desktop .fsx-call .ic svg { width: 14px; height: 14px; }
  .avsky-sar-desktop .fsx-call a { color: var(--navy); font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--gold); padding-bottom: 1px; }
  .avsky-sar-desktop .form-success h3 { font-size: 22px; color: #111827; font-weight: 700; margin-bottom: 10px; }
  .avsky-sar-desktop .form-success p { font-size: 15px; color: #6B7280; line-height: 1.55; }
  .avsky-sar-desktop .opt-suffix { text-transform: none; color: #9CA3AF; font-weight: 400; letter-spacing: 0; }
  .avsky-sar-desktop .legs-wrap { margin-bottom: 12px; }
  .avsky-sar-desktop .leg-row { display: grid; grid-template-columns: 1fr 1fr 1.25fr auto; gap: 10px; align-items: end; margin-bottom: 10px; }
  .avsky-sar-desktop .leg-row .leg-remove-spacer { width: 40px; }
  .avsky-sar-desktop .leg-remove { width: 40px; height: 42px; border: 1px solid #E5E7EB; background: #FFF; cursor: pointer; border-radius: 4px; color: #6B7280; display: inline-flex; align-items: center; justify-content: center; }
  .avsky-sar-desktop .leg-add { padding: 9px 14px; background: transparent; border: 1px dashed #E5E7EB; color: var(--navy); cursor: pointer; border-radius: 4px; font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }

  /* Trust bar (desktop) */
  .avsky-sar-desktop .trust-bar { display: flex; justify-content: center; gap: 28px; flex-wrap: wrap; font-size: 15px; color: #6B7280; padding: 10px 0; }
  .avsky-sar-desktop .trust-bar > div { text-align: center; }
  .avsky-sar-desktop .trust-bar strong { font-size: 18px; color: var(--navy); display: block; font-weight: 700; margin-bottom: 2px; }

  /* Homegrown (desktop) */
  .avsky-sar-desktop .sar-section { position: relative; overflow: hidden; min-height: 460px; background: var(--navy); color: #FFF; }
  .avsky-sar-desktop .sar-photo { position: absolute; inset: 0; background-size: cover; background-position: center 40%; }
  .avsky-sar-desktop .sar-overlay1 { position: absolute; inset: 0; background: linear-gradient(100deg, var(--navy) 0%, rgba(11,22,38,0.92) 28%, rgba(11,22,38,0.55) 52%, rgba(11,22,38,0.20) 78%, rgba(11,22,38,0.10) 100%); }
  .avsky-sar-desktop .sar-overlay2 { position: absolute; inset: 0; background: var(--navy); mix-blend-mode: multiply; opacity: 0.18; }
  .avsky-sar-desktop .sar-wrap { position: relative; max-width: 1320px; margin: 0 auto; padding: 56px 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
  .avsky-sar-desktop .sar-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 100px; background: rgba(244,192,120,0.10); border: 1px solid rgba(244,192,120,0.28); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700; color: var(--gold); margin-bottom: 20px; }
  .avsky-sar-desktop .sar-wrap h2 { font-size: clamp(32px, 3.8vw, 48px); line-height: 1.06; letter-spacing: -0.02em; font-weight: 700; color: #FFF; margin: 0 0 20px; text-wrap: pretty; }
  .avsky-sar-desktop .sar-wrap h2 em { font-style: normal; font-weight: 700; color: var(--gold); }
  .avsky-sar-desktop .sar-wrap p { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,0.82); margin: 0 0 28px; max-width: 540px; text-wrap: pretty; }
  .avsky-sar-desktop .sar-cta { max-width: 560px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.2); }
  .avsky-sar-desktop .sar-cta-pitch { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
  .avsky-sar-desktop .sar-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .avsky-sar-desktop .sar-value { padding: 0 4px; }
  .avsky-sar-desktop .sar-value + .sar-value { border-left: 1px solid rgba(255,255,255,0.15); padding-left: 18px; }
  .avsky-sar-desktop .sar-value-t { font-size: 15px; font-weight: 700; color: #FFF; line-height: 1.25; letter-spacing: -0.005em; margin-bottom: 6px; }
  .avsky-sar-desktop .sar-value-b { font-size: 12.5px; color: rgba(255,255,255,0.7); line-height: 1.5; }
  .avsky-sar-desktop .sar-coords { display: flex; justify-content: flex-end; align-items: flex-end; align-self: stretch; }
  .avsky-sar-desktop .sar-coords-inner { padding: 14px 18px; border-radius: 12px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); font-size: 12px; color: rgba(255,255,255,0.78); display: flex; align-items: center; gap: 10px; }
  .avsky-sar-desktop .sar-coords-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 12px var(--gold); }
  .avsky-sar-desktop .sar-coords-mono { font-family: ui-monospace, monospace; letter-spacing: 0.06em; }

  /* Why (desktop split) */
  .avsky-sar-desktop .why-section { padding: 56px 32px; }
  .avsky-sar-desktop .why-section h2 { font-size: 38px; font-weight: 700; color: var(--navy); margin-bottom: 10px; text-align: center; letter-spacing: -0.018em; line-height: 1.1; text-wrap: pretty; }
  .avsky-sar-desktop .why-section h2 em { font-style: normal; font-weight: 700; color: var(--gold-deep); }
  .avsky-sar-desktop .why-section .why-lede { font-size: 16px; color: #6B7280; text-align: center; margin-bottom: 32px; max-width: 620px; margin-left: auto; margin-right: auto; line-height: 1.6; }
  .avsky-sar-desktop .why-split { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0; max-width: 1080px; margin: 0 auto; }
  .avsky-sar-desktop .why-col { padding: 0 32px; }
  .avsky-sar-desktop .why-rule { width: 1px; background: linear-gradient(to bottom, transparent 0%, #D1D5DB 15%, #D1D5DB 85%, transparent 100%); }
  .avsky-sar-desktop .why-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 4px; }
  .avsky-sar-desktop .why-eyebrow-num { font-size: 13px; font-weight: 700; color: var(--gold-deep); letter-spacing: 0; }
  .avsky-sar-desktop .why-eyebrow-line { flex: 1; height: 1px; background: var(--gold); }
  .avsky-sar-desktop .why-col-title { font-size: 22px; font-weight: 600; color: var(--navy); line-height: 1.25; letter-spacing: -0.01em; margin-bottom: 24px; text-wrap: pretty; }
  .avsky-sar-desktop .why-item { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 18px 0; }
  .avsky-sar-desktop .why-item + .why-item { border-top: 1px solid #E5E7EB; }
  .avsky-sar-desktop .why-item:first-of-type { padding-top: 8px; }
  .avsky-sar-desktop .why-item:last-of-type { padding-bottom: 0; }
  .avsky-sar-desktop .why-item-icon { width: 32px; height: 32px; border-radius: 4px; background: rgba(244,192,120,0.12); color: var(--gold-deep); display: inline-flex; align-items: center; justify-content: center; margin-top: 2px; }
  .avsky-sar-desktop .why-item h3 { font-size: 16px; font-weight: 600; color: var(--navy); margin-bottom: 5px; letter-spacing: -0.005em; }
  .avsky-sar-desktop .why-item p { font-size: 14px; color: #4B5563; line-height: 1.55; }

  /* Reviews (desktop) */
  .avsky-sar-desktop .reviews-section { padding: 56px 0; }
  .avsky-sar-desktop .reviews-head { text-align: center; margin-bottom: 48px; padding: 0 32px; }
  .avsky-sar-desktop .reviews-eyebrow { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep); font-weight: 700; margin-bottom: 12px; }
  .avsky-sar-desktop .reviews-title { font-size: 38px; font-weight: 700; color: var(--navy); letter-spacing: -0.018em; line-height: 1.1; }
  .avsky-sar-desktop .reviews-title em { font-style: normal; font-weight: 700; color: var(--gold-deep); }
  .avsky-sar-desktop .reviews-sub { font-size: 14px; color: #6B7280; margin: 12px 0 0; font-weight: 400; }
  .avsky-sar-desktop .reviews-sub a { color: var(--navy); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color 0.25s ease; }
  .avsky-sar-desktop .reviews-sub a:hover { color: var(--gold-deep); }
  .avsky-sar-desktop .reviews-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding: 0 32px; max-width: 1280px; margin: 0 auto; }
  .avsky-sar-desktop .review-card { background: #FFF; border: 1px solid #E5E7EB; border-radius: 6px; padding: 26px 24px; display: flex; flex-direction: column; justify-content: space-between; }
  .avsky-sar-desktop .review-stars { display: flex; gap: 2px; color: #E8A33A; margin-bottom: 14px; }
  .avsky-sar-desktop .review-card blockquote { font-size: 15px; line-height: 1.55; color: #111827; font-weight: 500; margin: 0 0 18px; letter-spacing: -0.005em; text-wrap: pretty; }
  .avsky-sar-desktop .review-card blockquote::before { content: '\201C'; font-family: Georgia, serif; font-size: 32px; color: var(--navy); line-height: 0; vertical-align: -10px; margin-right: 2px; font-weight: 700; }
  .avsky-sar-desktop .review-card blockquote::after { content: '\201D'; font-family: Georgia, serif; font-size: 32px; color: var(--navy); line-height: 0; vertical-align: -14px; margin-left: 2px; font-weight: 700; }
  .avsky-sar-desktop .review-card cite { font-style: normal; font-size: 12px; color: #6B7280; font-weight: 500; display: block; border-top: 1px solid #F3F4F6; padding-top: 14px; }
  .avsky-sar-desktop .review-card cite b { color: var(--navy); font-weight: 700; display: block; font-size: 13px; }

  /* Team (desktop) */
  .avsky-sar-desktop .team-section { max-width: 1320px; margin: 0 auto; padding: 56px 32px; }
  .avsky-sar-desktop .team-head { text-align: center; max-width: 720px; margin: 0 auto 48px; }
  .avsky-sar-desktop .team-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 24px; display: block; }
  .avsky-sar-desktop .team-head h2 { font-size: 38px; font-weight: 700; color: var(--navy); line-height: 1.1; letter-spacing: -0.018em; text-wrap: pretty; margin: 0 0 24px; }
  .avsky-sar-desktop .team-head h2 em { font-style: normal; font-weight: 700; color: var(--gold-deep); }
  .avsky-sar-desktop .team-head p { font-size: 17px; color: #4B5563; line-height: 1.6; text-wrap: pretty; margin: 0 auto; max-width: 580px; font-weight: 400; }
  .avsky-sar-desktop .team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .avsky-sar-desktop .team-card { display: grid; grid-template-columns: 110px 1fr; gap: 20px; align-items: start; padding: 24px; background: #FFF; border: 1px solid #E5E7EB; border-radius: 6px; transition: border-color 0.2s, box-shadow 0.2s; }
  .avsky-sar-desktop .team-card:hover { border-color: #CBD5E1; box-shadow: 0 4px 16px rgba(15,23,42,0.06); }
  .avsky-sar-desktop .team-portrait { width: 110px; height: 130px; border-radius: 6px; background: linear-gradient(135deg, #E8EEF5 0%, #D1DCE8 100%); position: relative; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #94A3B8; font-size: 11px; font-weight: 500; letter-spacing: 0.04em; }
  .avsky-sar-desktop .team-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; }
  .avsky-sar-desktop .team-portrait::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(11,22,38,0.08) 100%); pointer-events: none; z-index: 1; }
  .avsky-sar-desktop .team-info { padding-top: 4px; }
  .avsky-sar-desktop .team-name { font-size: 18px; font-weight: 700; color: var(--navy); letter-spacing: -0.01em; margin-bottom: 4px; }
  .avsky-sar-desktop .team-role { font-size: 11px; font-weight: 600; color: var(--gold-deep); letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 12px; }
  .avsky-sar-desktop .team-bio { font-size: 13.5px; color: #4B5563; line-height: 1.55; }

  /* Tips (desktop) */
  .avsky-sar-desktop .tips-section { max-width: 1320px; margin: 0 auto; padding: 56px 32px; }
  .avsky-sar-desktop .tips-head { text-align: center; margin-bottom: 48px; }
  .avsky-sar-desktop .tips-head .eyebrow2 { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep); font-weight: 700; margin-bottom: 12px; }
  .avsky-sar-desktop .tips-head h2 { font-size: 38px; font-weight: 700; color: var(--navy); letter-spacing: -0.018em; line-height: 1.1; }
  .avsky-sar-desktop .tips-head h2 em { font-style: normal; font-weight: 700; color: var(--gold-deep); }
  .avsky-sar-desktop .tips-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .avsky-sar-desktop .tip-card { background: #FFF; border: 1px solid #E5E7EB; border-radius: 6px; padding: 28px 28px; display: flex; gap: 22px; align-items: flex-start; }
  .avsky-sar-desktop .tip-num { width: 44px; height: 44px; border-radius: 8px; background: rgba(244,192,120,0.12); color: var(--gold-deep); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px; letter-spacing: -0.02em; flex-shrink: 0; }
  .avsky-sar-desktop .tip-body h3 { font-size: 16px; font-weight: 700; color: var(--navy); margin-bottom: 8px; letter-spacing: -0.005em; line-height: 1.35; }
  .avsky-sar-desktop .tip-body p { font-size: 14px; color: #4B5563; line-height: 1.6; }

  /* Final CTA + richer footer (desktop) */
  .avsky-sar-desktop .cta-section { background: var(--navy); padding: 72px 32px 36px; position: relative; overflow: hidden; }
  .avsky-sar-desktop .cta-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 20% 100%, rgba(232,163,58,0.10), transparent 55%); pointer-events: none; }
  .avsky-sar-desktop .cta-inner { position: relative; max-width: 1320px; margin: 0 auto; padding: 0 32px; }

  /* Top: CTA copy block */
  .avsky-sar-desktop .cta-top { max-width: 600px; margin-bottom: 56px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,0.10); }
  .avsky-sar-desktop .cta-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
  .avsky-sar-desktop .cta-section h2 { font-size: 44px; font-weight: 700; color: #FFF; margin: 0 0 14px; letter-spacing: -0.025em; line-height: 1.05; text-wrap: pretty; }
  .avsky-sar-desktop .cta-section h2 em { font-style: italic; font-weight: 500; color: var(--gold); }
  .avsky-sar-desktop .cta-section p.cta-lede { font-size: 16px; color: rgba(255,255,255,0.75); margin: 0; max-width: 540px; line-height: 1.55; }

  /* Middle: 4-col grid */
  .avsky-sar-desktop .cta-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; column-gap: 48px; row-gap: 32px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,0.10); }
  .avsky-sar-desktop .cta-col { min-width: 0; }

  /* Brand column */
  .avsky-sar-desktop .cta-brand-logo { display: inline-block; margin-bottom: 20px; }
  .avsky-sar-desktop .cta-brand-logo img { height: 48px; width: auto; display: block; filter: brightness(0) invert(1); }
  .avsky-sar-desktop .cta-brand-tagline { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,0.7); margin: 0 0 24px; max-width: 320px; }
  .avsky-sar-desktop .cta-social { display: inline-flex; gap: 12px; }
  /* Social icons — extra-specific selectors so they don't inherit the
     generic .cta-col a pill hover. */
  .avsky-sar-desktop .cta-col-brand .cta-social a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: rgba(255,255,255,0.85) !important;
    box-shadow: none !important;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
  }
  .avsky-sar-desktop .cta-col-brand .cta-social a:hover {
    background: var(--gold) !important;
    color: var(--navy) !important;
    border-color: var(--gold) !important;
    box-shadow: none !important;
    transform: translateY(-1px);
  }
  .avsky-sar-desktop .cta-col-brand .cta-social svg { width: 16px; height: 16px; fill: currentColor; }

  /* Link columns */
  .avsky-sar-desktop .cta-col h4 { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.55); margin: 0 0 18px; }
  .avsky-sar-desktop .cta-col ul { list-style: none; padding: 0; margin: 0; }
  .avsky-sar-desktop .cta-col li { margin-bottom: 4px; }
  .avsky-sar-desktop .cta-col li:last-child { margin-bottom: 0; }
  .avsky-sar-desktop .cta-col a { display: inline-block; color: #FFF; font-size: 14.5px; font-weight: 500; line-height: 1.4; text-decoration: none; letter-spacing: -0.005em; padding: 6px 12px; margin-left: -12px; border-radius: 6px; transition: color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; }
  .avsky-sar-desktop .cta-col a:hover { color: var(--gold); background: rgba(244,192,120,0.08); box-shadow: 0 0 24px rgba(244,192,120,0.10), inset 0 0 12px rgba(244,192,120,0.04); }
  .avsky-sar-desktop .cta-address-line { color: rgba(255,255,255,0.7); font-size: 14px; line-height: 1.5; margin-top: 4px; }

  /* Bottom: legal */
  .avsky-sar-desktop .cta-legal-row { padding-top: 24px; font-size: 12px; color: rgba(255,255,255,0.45); letter-spacing: 0.02em; }

  /* Responsive collapse */
  @media (max-width: 1100px) {
    .avsky-sar-desktop .airports-head { grid-template-columns: 1fr; gap: 24px; }
    .avsky-sar-desktop .cta-grid { grid-template-columns: 1fr 1fr; column-gap: 32px; row-gap: 40px; }
  }
  @media (max-width: 820px) {
    .avsky-sar-desktop .cta-section { padding: 56px 20px 32px; }
    .avsky-sar-desktop .cta-inner { padding: 0; }
    .avsky-sar-desktop .cta-section h2 { font-size: 32px; }
    .avsky-sar-desktop .cta-top { margin-bottom: 40px; padding-bottom: 32px; }
    .avsky-sar-desktop .cta-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; }
  }

  /* Desktop responsive collapse (820/720) */
  @media (max-width: 820px) {
    .avsky-sar-desktop .why-split { grid-template-columns: 1fr; gap: 32px; }
    .avsky-sar-desktop .why-col { padding: 0 20px; }
    .avsky-sar-desktop .why-rule { display: none; }
    .avsky-sar-desktop .hero-buttons { flex-direction: column; align-items: flex-start; }
    .avsky-sar-desktop .hero-wrap { grid-template-columns: 1fr; gap: 32px; padding: 40px 28px; }
    .avsky-sar-desktop .hero-copy h1 { font-size: 36px; }
    .avsky-sar-desktop .sar-wrap { grid-template-columns: 1fr; padding: 56px 28px; gap: 28px; }
    .avsky-sar-desktop .sar-coords { justify-content: flex-start; }
    .avsky-sar-desktop .tips-grid { grid-template-columns: 1fr; }
    .avsky-sar-desktop .tips-section { padding: 48px 20px; }
    .avsky-sar-desktop .reviews-grid { grid-template-columns: 1fr 1fr; }
    .avsky-sar-desktop .team-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 720px) {
    .avsky-sar-desktop .why-section h2,
    .avsky-sar-desktop .reviews-title,
    .avsky-sar-desktop .tips-head h2,
    .avsky-sar-desktop .team-head h2,
    .avsky-sar-desktop .cta-section h2 { font-size: 28px !important; }
    .avsky-sar-desktop .sar-wrap h2 { font-size: clamp(26px, 6.5vw, 34px) !important; }
  }
  @media (max-width: 700px) {
    .avsky-sar-desktop .team-grid { grid-template-columns: 1fr; gap: 16px; }
    .avsky-sar-desktop .team-card { grid-template-columns: 90px 1fr; gap: 16px; padding: 20px; }
    .avsky-sar-desktop .team-portrait { width: 90px; height: 110px; }
  }

  /* ───────────────────────────────────────────────────────────────
     MOBILE STYLES — activated below 640px
     Cream-colored UI with navy slabs and gold accents.
     ─────────────────────────────────────────────────────────────── */
  @media (max-width: 640px) {
    .avsky-sar { box-shadow: none; max-width: 100%; }
    .avsky-sar .avsky-sar-desktop { display: none; }
    .avsky-sar .avsky-sar-mobile  { display: block; }
  }

  /* The mobile DOM still gets its CSS from outside the @media so the rules
     are defined once. We just toggle the wrapper visibility above. */
  .avsky-sar-mobile { background: var(--cream); color: #111827; min-height: 100vh; padding-bottom: 0; }
  .avsky-sar-mobile * { -webkit-font-smoothing: antialiased; }

  /* Hero (mobile) */
  .avsky-sar-mobile .m-hero { display: flex; flex-direction: column; }
  .avsky-sar-mobile .m-hero-photo { position: relative; width: 100%; height: 184px; overflow: hidden; flex-shrink: 0; }
  .avsky-sar-mobile .m-hero-photo .ph { position: absolute; inset: 0; background-image: var(--m-hero-bg); background-size: cover; background-position: center 25%; }
  .avsky-sar-mobile .m-hero-photo .photo-grad { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,28,46,0.4) 0%, transparent 35%); }
  .avsky-sar-mobile .m-hero-slab { background: var(--navy-2); color: #FFF; padding: 16px 18px; border-top: 2px solid rgba(232,163,58,0.6); flex-shrink: 0; }
  .avsky-sar-mobile .m-hero-eyebrow { color: var(--gold); display: block; margin-bottom: 8px; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600; }
  .avsky-sar-mobile .m-hero-eyebrow::before { content: ''; display: inline-block; width: 18px; height: 1px; background: var(--gold); margin-right: 8px; vertical-align: middle; }
  .avsky-sar-mobile .m-hero-h1 { font-weight: 700; letter-spacing: -0.02em; line-height: 1.22; margin: 0; text-wrap: pretty; font-size: 20px; color: #FFF; }
  .avsky-sar-mobile .m-hero-h1 em { font-style: normal; font-weight: 700; color: #FFF; }
  /* Mobile top bar — logo + menu/contact */
  .avsky-sar-mobile .m-topbar { display: flex; align-items: center; justify-content: space-between; height: 54px; padding: 0 16px; background: var(--navy); border-bottom: 2px solid rgba(232,163,58,0.6); flex-shrink: 0; }
  .avsky-sar-mobile .m-topbar .tb-logo { height: 32px; display: block; }
  .avsky-sar-mobile .m-topbar .tb-actions { display: flex; gap: 6px; }
  .avsky-sar-mobile .m-topbar .tb-btn { width: 32px; height: 32px; border-radius: 8px; background: transparent; border: none; display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.85); cursor: pointer; padding: 0; text-decoration: none; }
  .avsky-sar-mobile .m-topbar .tb-btn svg { width: 19px; height: 19px; }
  .avsky-sar-mobile .m-hero-form-stack { padding: 12px; flex-shrink: 0; background: var(--cream); }
  .avsky-sar-mobile .m-form-card { background: #FFF; border-radius: 14px; padding: 12px; box-shadow: 0 16px 40px -10px rgba(15,28,46,0.35); }

  /* Mobile inline form tabs */
  .avsky-sar-mobile .m-tabs { display: flex; gap: 4px; padding: 3px; background: var(--cream-2); border-radius: 9px; margin-bottom: 8px; }
  .avsky-sar-mobile .m-tab { flex: 1; padding: 6px 4px; font-size: 13px; font-weight: 600; color: var(--tan); background: transparent; border: none; border-radius: 7px; cursor: pointer; }
  .avsky-sar-mobile .m-tab.active { background: #FFF; color: var(--navy-2); box-shadow: 0 1px 3px rgba(15,28,46,0.08); }
  .avsky-sar-mobile .m-row { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 6px; }
  .avsky-sar-mobile .m-row.single { grid-template-columns: 1fr; }
  .avsky-sar-mobile .m-cell { display: flex; align-items: center; gap: 8px; background: var(--cream); border: 1px solid var(--hairline); border-radius: 8px; padding: 9px 10px; }
  /* the date cells are <button>s the form engine renders with an inline style="font:inherit",
     so they picked up the ambient 16px; !important is required to beat the inline style and
     match the 14px resting size of the text inputs */
  .avsky-sar-mobile button.m-cell { font-size: 14px !important; }
  .avsky-sar-mobile .m-cell svg { width: 14px; height: 14px; color: var(--tan); flex-shrink: 0; }
  /* 14px at rest, 16px while focused. iOS auto-zooms the page when an input
     under 16px receives focus (and never zooms back); it evaluates the size at
     the focus moment only, so focus-time 16px is enough to suppress the zoom
     while the resting layout stays as designed. Long values ellipsize at rest;
     while editing they scroll (native). Owner-confirmed working on device. */
  .avsky-sar-mobile .m-cell input, .avsky-sar-mobile .m-cell select { width: 100%; padding: 0; font-size: 14px; background: transparent; border: none; color: var(--navy-2); outline: none; -webkit-appearance: none; min-width: 0; text-overflow: ellipsis; }
  .avsky-sar-mobile .m-cell input:focus, .avsky-sar-mobile .m-cell select:focus { font-size: 16px; text-overflow: clip; }
  .avsky-sar-mobile .m-cell input::placeholder { color: var(--tan-soft); }
  .avsky-sar-mobile .m-cell.cal-active { border-color: var(--navy-2); box-shadow: 0 0 0 1px rgba(15,28,46,0.08); }
  .avsky-sar-mobile .m-cell.cal-active svg { color: var(--navy-2); }
  /* Multi-city legs */
  .avsky-sar-mobile .m-leg { position: relative; padding: 10px 10px 10px 22px; background: var(--cream); border: 1px solid var(--hairline); border-radius: 8px; margin-bottom: 6px; }
  .avsky-sar-mobile .m-leg-n { position: absolute; left: 0; top: 0; bottom: 0; width: 18px; background: var(--navy-2); color: #FFF; font-size: 9.5px; font-weight: 700; border-radius: 7px 0 0 7px; display: flex; align-items: center; justify-content: center; letter-spacing: 0.04em; }
  .avsky-sar-mobile .m-leg-rm { position: absolute; top: -6px; right: -6px; width: 18px; height: 18px; border-radius: 50%; background: #FFF; color: var(--tan); border: 1px solid var(--hairline); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 1px 2px rgba(15,28,46,0.08); z-index: 2; }
  .avsky-sar-mobile .m-leg-rm svg { width: 9px; height: 9px; }
  .avsky-sar-mobile .m-leg .m-leg-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .avsky-sar-mobile .m-leg .m-leg-pair + .m-leg-pair { margin-top: 6px; }
  .avsky-sar-mobile .m-leg .m-leg-cell { display: flex; align-items: center; gap: 7px; padding: 7px 8px; background: #FFF; border: 1px solid var(--hairline); border-radius: 6px; }
  .avsky-sar-mobile .m-leg .m-leg-cell svg { width: 12px; height: 12px; color: var(--tan); flex-shrink: 0; }
  .avsky-sar-mobile .m-leg .m-leg-cell input { width: 100%; padding: 0; font-size: 16px; background: transparent; border: none; color: var(--navy-2); outline: none; min-width: 0; }
  .avsky-sar-mobile .m-leg .m-leg-cell input::placeholder { color: var(--tan-soft); }
  .avsky-sar-mobile .m-leg-add { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; padding: 9px; margin-bottom: 6px; background: transparent; border: 1px dashed var(--tan-line); border-radius: 8px; color: #8B6914; font-size: 11.5px; font-weight: 600; cursor: pointer; letter-spacing: 0.005em; }
  .avsky-sar-mobile .m-leg-add svg { width: 12px; height: 12px; }

  .avsky-sar-mobile .m-submit { width: 100%; margin-top: 6px; padding: 11px; background: var(--navy-2); color: #FFF; border: none; font-size: 15px; font-weight: 700; border-radius: 8px; display: inline-flex; justify-content: center; align-items: center; gap: 7px; letter-spacing: 0.02em; cursor: pointer; }
  .avsky-sar-mobile .m-submit:disabled { opacity: 0.7; cursor: not-allowed; }
  .avsky-sar-mobile .m-form-error { margin-top: 8px; padding: 8px 10px; background: #FEF2F2; border: 1px solid #FECACA; color: #991B1B; font-size: 13px; border-radius: 6px; }
  .avsky-sar-mobile .m-msgchip { display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 10px; margin-bottom: 6px; border: 1px solid var(--hairline); background: var(--cream); border-radius: 8px; font-size: 14px; font-weight: 400; color: var(--tan-soft); cursor: pointer; font-family: inherit; }
  .avsky-sar-mobile .m-msgchip svg { width: 14px; height: 14px; color: var(--tan); flex-shrink: 0; }
  .avsky-sar-mobile .m-msgchip.filled { border-color: rgba(31,122,82,0.45); background: rgba(31,122,82,0.06); color: #1F7A52; }
  .avsky-sar-mobile .m-msgchip.filled svg { color: #1F7A52; }
  .avsky-sar .msg-sheet-back { position: fixed; inset: 0; background: rgba(11,22,38,0.45); z-index: 110; opacity: 0; pointer-events: none; transition: opacity .2s; }
  .avsky-sar .msg-sheet-back.open { opacity: 1; pointer-events: auto; }
  .avsky-sar .msg-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 111; background: #FFF; border-radius: 18px 18px 0 0; box-shadow: 0 -16px 40px -8px rgba(15,28,46,0.4); padding: 14px 16px calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateY(110%); transition: transform .3s cubic-bezier(.32,.72,.34,.99); }
  .avsky-sar .msg-sheet.open { transform: translateY(0); }
  .avsky-sar .msg-sheet-handle { width: 36px; height: 4px; border-radius: 2px; background: var(--tan-line); margin: 0 auto 12px; }
  .avsky-sar .msg-sheet-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
  .avsky-sar .msg-sheet-head .lbl { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tan); }
  .avsky-sar .msg-sheet-close { width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--hairline); background: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: var(--tan); }
  .avsky-sar .msg-sheet-close svg { width: 13px; height: 13px; }
  .avsky-sar .msg-sheet textarea { width: 100%; min-height: 120px; resize: none; padding: 12px; font-size: 14px; border: 1px solid var(--hairline); border-radius: 10px; font-family: inherit; outline: none; background: var(--cream); color: var(--navy-2); }
  .avsky-sar .msg-sheet textarea:focus { font-size: 16px; } /* same rest-14/focus-16 pattern as the form inputs (iOS zoom guard) */
  .avsky-sar .msg-sheet .save { margin-top: 12px; width: 100%; padding: 13px; background: var(--gold); color: var(--navy-2); border: 0; border-radius: 10px; font-weight: 700; font-size: 14px; cursor: pointer; font-family: inherit; }

  /* Mobile hero success state */
  .avsky-sar-mobile .m-success { text-align: center; padding: 4px 2px 2px; display: flex; flex-direction: column; align-items: center; }
  .avsky-sar-mobile .m-success-mark { position: relative; width: 52px; height: 52px; margin: 2px 0 12px; }
  .avsky-sar-mobile .m-success-mark .ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--gold-mid); }
  .avsky-sar-mobile .m-success-mark .disc { position: absolute; inset: 4px; border-radius: 50%; background: var(--navy-2); display: flex; align-items: center; justify-content: center; }
  .avsky-sar-mobile .m-success-mark .disc svg { width: 20px; height: 20px; color: var(--gold); stroke-width: 2.5; }
  .avsky-sar-mobile .m-success-h { font-weight: 700; font-size: 20px; line-height: 1.15; letter-spacing: -0.018em; color: var(--navy-2); margin: 0 0 6px; }
  .avsky-sar-mobile .m-success-h em { font-style: italic; font-weight: 500; color: var(--gold-deeper); }
  .avsky-sar-mobile .m-success-sub { font-size: 13.5px; line-height: 1.45; color: #4B5563; margin: 0 0 12px; max-width: 240px; }

  /* Spec card (mobile) — navy 2×2 grid */
  .avsky-sar-mobile .m-trust { background: var(--cream); padding: 0 12px 12px; }
  .avsky-sar-mobile .m-spec { position: relative; background: var(--navy); border: 1px solid rgba(244,192,120,0.18); border-radius: 12px; overflow: hidden; box-shadow: 0 16px 40px -18px rgba(15,28,46,0.4); }
  .avsky-sar-mobile .m-spec::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 100% 0%, rgba(244,192,120,0.12), transparent 55%); pointer-events: none; }
  .avsky-sar-mobile .m-spec > * { position: relative; z-index: 1; }
  .avsky-sar-mobile .m-spec-head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 11px; padding: 22px 20px 18px; border-bottom: 1px solid rgba(244,192,120,0.18); }
  .avsky-sar-mobile .m-route { display: flex; flex-direction: column; align-items: center; gap: 7px; min-width: 0; }
  .avsky-sar-mobile .m-route-cities { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: nowrap; white-space: nowrap; }
  .avsky-sar-mobile .m-route-cities .ct { font-family: 'Poppins', sans-serif; font-size: 19px; font-weight: 700; color: #FFF; letter-spacing: -0.018em; line-height: 1.05; }
  .avsky-sar-mobile .m-route-cities .arr { color: var(--gold); font-size: 15px; font-weight: 600; line-height: 1; }
  .avsky-sar-mobile .m-route-regions { font-family: 'JetBrains Mono', monospace; font-size: 8.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.5); }
  .avsky-sar-mobile .m-route-regions .dot { margin: 0 4px; opacity: 0.55; }
  .avsky-sar-mobile .m-route-dist { flex-shrink: 0; align-self: center; font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); border: 1px solid rgba(244,192,120,0.32); border-radius: 999px; padding: 6px 11px; line-height: 1; white-space: nowrap; }
  .avsky-sar-mobile .m-route-dist .u { font-size: 9px; margin-left: 2px; opacity: 0.8; }
  .avsky-sar-mobile .m-trust-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .avsky-sar-mobile .m-trust-item { position: relative; padding: 18px 16px; display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; min-width: 0; }
  .avsky-sar-mobile .m-trust-item:nth-child(odd)::after { content: ''; position: absolute; top: 16px; bottom: 16px; right: 0; width: 1px; background: rgba(244,192,120,0.18); }
  .avsky-sar-mobile .m-trust-item:nth-child(-n+2)::before { content: ''; position: absolute; left: 16px; right: 16px; bottom: 0; height: 1px; background: rgba(244,192,120,0.18); }
  .avsky-sar-mobile .m-trust-ic { width: 22px; height: 22px; color: var(--gold); }
  .avsky-sar-mobile .m-trust-ic svg { width: 100%; height: 100%; display: block; }
  .avsky-sar-mobile .m-trust-lbl { font-family: 'JetBrains Mono', monospace; font-size: 9px; color: var(--gold); text-transform: uppercase; letter-spacing: 0.16em; font-weight: 700; line-height: 1.25; }
  .avsky-sar-mobile .m-trust-num { font-size: 18px; font-weight: 700; color: #FFF; line-height: 1.15; letter-spacing: -0.01em; }
  .avsky-sar-mobile .m-trust-num.text { font-size: 18px; }
  .avsky-sar-mobile .m-trust-sub { display: block; font-size: 10px; font-weight: 500; color: rgba(255,255,255,0.55); letter-spacing: 0.02em; margin-top: 3px; }
  .avsky-sar-mobile .m-spec-more { border-top: 1px solid rgba(244,192,120,0.18); padding: 12px 16px 14px; }
  .avsky-sar-mobile .m-spec-more .h { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 4px; }
  .avsky-sar-mobile .m-spec-more .h .t { font-family: 'JetBrains Mono', monospace; font-size: 9px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); }
  .avsky-sar-mobile .m-spec-more .h .s { font-size: 10px; color: rgba(255,255,255,0.5); }
  .avsky-sar-mobile .m-spec-more .row { display: flex; align-items: center; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,0.08); font-size: 13.5px; }
  .avsky-sar-mobile .m-spec-more .row:last-child { border-bottom: none; }
  .avsky-sar-mobile .m-spec-more .row .nm { color: #FFF; font-weight: 600; }
  .avsky-sar-mobile .m-spec-more .row .nm .px { color: rgba(255,255,255,0.5); font-weight: 400; font-size: 11.5px; }
  .avsky-sar-mobile .m-spec-more .row .pr { color: var(--gold); font-weight: 700; font-variant-numeric: tabular-nums; }
  .avsky-sar-mobile .m-spec-more .note { margin-top: 12px; font-size: 11.5px; line-height: 1.6; color: rgba(255,255,255,0.68); }
  /* Spec card — LIGHT theme (overrides the navy defaults above) */
  .avsky-sar-mobile .m-spec { background: #FFF; border-color: var(--hairline); box-shadow: 0 10px 30px -16px rgba(15,28,46,0.25); }
  .avsky-sar-mobile .m-spec::before { display: none; }
  .avsky-sar-mobile .m-spec-head { border-bottom-color: var(--hairline); }
  .avsky-sar-mobile .m-route-cities .ct { color: var(--navy); }
  .avsky-sar-mobile .m-route-cities .arr { color: var(--gold-deep); }
  .avsky-sar-mobile .m-route-regions { color: var(--tan); }
  .avsky-sar-mobile .m-route-dist { color: var(--gold-deep); border-color: rgba(200,132,31,0.32); }
  .avsky-sar-mobile .m-trust-item:nth-child(odd)::after, .avsky-sar-mobile .m-trust-item:nth-child(-n+2)::before { background: var(--hairline); }
  .avsky-sar-mobile .m-trust-ic { color: var(--tan); }
  .avsky-sar-mobile .m-trust-lbl { color: var(--tan); }
  .avsky-sar-mobile .m-trust-num { color: var(--navy); }
  .avsky-sar-mobile .m-trust-sub { color: var(--tan); }
  .avsky-sar-mobile .m-spec-more { border-top-color: var(--hairline); }
  .avsky-sar-mobile .m-spec-more .h .t { color: var(--tan); }
  .avsky-sar-mobile .m-spec-more .h .s { color: var(--tan); }
  .avsky-sar-mobile .m-spec-more .row { border-bottom-color: var(--hairline); }
  .avsky-sar-mobile .m-spec-more .row .nm { color: var(--navy); }
  .avsky-sar-mobile .m-spec-more .row .nm .px { color: var(--tan); }
  .avsky-sar-mobile .m-spec-more .row .pr { color: var(--navy); }
  .avsky-sar-mobile .m-spec-more .note { color: var(--tan); }

  /* Why (mobile, Variant B — 2×3 icon grid) */
  .avsky-sar-mobile .m-why-head { padding: 28px 22px 14px; background: var(--cream); }
  .avsky-sar-mobile .m-why-head h2 { font-size: 22px; font-weight: 700; letter-spacing: -0.015em; line-height: 1.2; color: var(--navy-2); margin: 0; text-wrap: pretty; }
  /* Editorial section photo opener (option B) */
  .avsky-sar-mobile .m-why-photo { position: relative; isolation: isolate; min-height: 210px; display: flex; align-items: flex-end; background: linear-gradient(170deg,#22405f,#3f6f93 35%,#8aa6b8 60%,#e3c39c 100%); background-size: cover; background-position: center 30%; }
  .avsky-sar-mobile .m-why-photo::before { content: ''; position: absolute; inset: 0; background: var(--navy); opacity: 0.34; mix-blend-mode: multiply; }
  .avsky-sar-mobile .m-why-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,22,38,0.15) 18%, rgba(11,22,38,0.9)); }
  .avsky-sar-mobile .m-why-photo .cap { position: relative; z-index: 2; padding: 20px 22px; text-shadow: 0 1px 12px rgba(11,22,38,0.6); }
  .avsky-sar-mobile .m-why-photo .m-about-eyebrow { color: var(--gold); margin-bottom: 8px; }
  .avsky-sar-mobile .m-about-eyebrow .dot { display: none; }
  .avsky-sar-mobile .m-why-photo h2 { font-size: 22px; font-weight: 700; letter-spacing: -0.015em; line-height: 1.2; color: #fff; margin: 0; text-wrap: pretty; }
  .avsky-sar-mobile .m-why-photo h2 em { font-style: italic; font-weight: 500; color: var(--gold); }
  .avsky-sar-mobile .m-why-wrap { background: var(--cream); padding: 20px 22px 16px; }
  .avsky-sar-mobile .m-airmap { position: relative; height: 150px; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg,#D9E8E3,#C9DDD5 50%,#B9D2C9); border: 1px solid var(--hairline); }
  .avsky-sar-mobile .m-airmap::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(15,28,46,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(15,28,46,0.06) 1px,transparent 1px); background-size: 22px 22px; }
  .avsky-sar-mobile .m-airmap .lbl { position: absolute; transform: translate(-50%, calc(-100% - 34px)); white-space: nowrap; background: #FFF; border: 1px solid rgba(15,28,46,0.1); border-radius: 4px; padding: 5px 9px; font-size: 11px; font-weight: 600; color: #111827; box-shadow: 0 2px 6px rgba(15,28,46,0.12); }
  .avsky-sar-mobile .m-airmap .pin { position: absolute; width: 24px; height: 30px; transform: translate(-50%,-100%); }
  .avsky-sar-mobile .m-airmap .pin svg { width: 100%; height: 100%; filter: drop-shadow(0 4px 8px rgba(15,28,46,0.3)); }
  .avsky-sar-mobile .m-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .avsky-sar-mobile .m-why-card { padding: 16px 14px 16px 0; border-top: 1px solid var(--hairline); display: flex; align-items: flex-start; gap: 10px; }
  .avsky-sar-mobile .m-why-card:nth-child(2n) { padding-left: 14px; padding-right: 0; border-left: 1px solid var(--hairline); }
  .avsky-sar-mobile .m-why-card:nth-child(1), .avsky-sar-mobile .m-why-card:nth-child(2) { border-top: none; }
  .avsky-sar-mobile .m-why-card svg { width: 16px; height: 16px; color: var(--navy-2); flex-shrink: 0; margin-top: 1px; }
  .avsky-sar-mobile .m-why-card h4 { font-size: 13.5px; font-weight: 700; color: var(--navy-2); margin: 0 0 2px; line-height: 1.2; letter-spacing: -0.005em; }
  .avsky-sar-mobile .m-why-card p { font-size: 12.5px; line-height: 1.35; color: #6B7280; margin: 0; }

  /* About (mobile) */
  .avsky-sar-mobile .m-about { background: var(--navy-2); color: #FFF; padding: 30px 22px 28px; position: relative; overflow: hidden; }
  .avsky-sar-mobile .m-about::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 80% 0%, rgba(232,163,58,0.10), transparent 55%); pointer-events:none; }
  .avsky-sar-mobile .m-about > * { position: relative; }
  .avsky-sar-mobile .m-about-eyebrow { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-mid); margin-bottom: 10px; }
  .avsky-sar-mobile .m-about-eyebrow .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--gold-mid); display: inline-block; }
  .avsky-sar-mobile .m-about-h2 { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.18; color: #FFF; margin: 0 0 14px; text-wrap: pretty; }
  .avsky-sar-mobile .m-about-h2 em { font-style: italic; font-weight: 500; color: var(--gold); }
  .avsky-sar-mobile .m-about-body { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.78); margin: 0 0 10px; text-wrap: pretty; }
  /* Airport-section intro paragraphs: match the 16px body copy + space multi-paragraph runs (default reset gives them margin:0). */
  .avsky-sar-mobile .m-air-intro { font-size: 16px; line-height: 1.6; color: #4B5563; margin: 0 0 12px; text-wrap: pretty; }
  .avsky-sar-mobile .m-air-intro:last-of-type { margin-bottom: 14px; }
  .avsky-sar-mobile .m-about-body:last-of-type { margin-bottom: 18px; }
  .avsky-sar-mobile .m-about-body a {
    color: var(--gold);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.25s ease;
  }
  .avsky-sar-mobile .m-about-body a:hover {
    color: #FFFFFF;
  }
  .avsky-sar-mobile .m-about-photo { height: 168px; border-radius: 10px; margin: 16px 0; background: #1E3A5F; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); }
  .avsky-sar-mobile .m-about-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
  .avsky-sar-mobile .m-about-photo .caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 18px 12px 8px; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #FFF; background: linear-gradient(to top, rgba(15,28,46,0.85) 0%, transparent 100%); }
  .avsky-sar-mobile .m-about-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; border-top: 1px solid rgba(255,255,255,0.12); padding-top: 16px; }
  .avsky-sar-mobile .m-about-stat { padding: 0 8px; border-left: 1px solid rgba(255,255,255,0.12); }
  .avsky-sar-mobile .m-about-stat:first-child { border-left: none; padding-left: 0; }
  .avsky-sar-mobile .m-about-stat-n { font-size: 15px; font-weight: 700; color: var(--gold); line-height: 1.2; letter-spacing: -0.01em; margin-bottom: 4px; text-wrap: pretty; }
  .avsky-sar-mobile .m-about-stat-l { font-size: 12px; line-height: 1.35; color: rgba(255,255,255,0.65); font-weight: 500; text-wrap: pretty; }

  /* Reviews (mobile, no chrome) */
  .avsky-sar-mobile .m-reviews-head { padding: 30px 22px 14px; background: var(--cream); border-top: 1px solid var(--hairline); }
  .avsky-sar-mobile .m-reviews-head h2 { font-size: 22px; font-weight: 700; letter-spacing: -0.015em; line-height: 1.2; color: var(--navy-2); margin: 0; }
  .avsky-sar-mobile .m-reviews-sub { font-size: 14px; color: #6B7280; margin: 6px 0 0; font-weight: 400; }
  .avsky-sar-mobile .m-reviews-sub a { color: var(--navy-2); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color 0.25s ease; }
  .avsky-sar-mobile .m-reviews-sub a:hover { color: var(--gold-deep); }
  .avsky-sar-mobile .m-reviews-wrap { background: var(--cream); padding: 0 22px 18px; }
  .avsky-sar-mobile .m-review { padding: 16px 0; border-top: 1px solid var(--hairline); }
  .avsky-sar-mobile .m-review:first-child { border-top: none; padding-top: 4px; }
  .avsky-sar-mobile .m-review .stars { display: inline-flex; gap: 1px; color: var(--gold-mid); margin-bottom: 8px; }
  .avsky-sar-mobile .m-review .stars svg { width: 12px; height: 12px; }
  .avsky-sar-mobile .m-review blockquote { font-size: 14.5px; line-height: 1.5; color: var(--navy-2); margin: 0 0 8px; font-weight: 500; letter-spacing: -0.005em; text-wrap: pretty; }
  .avsky-sar-mobile .m-review cite { font-style: normal; font-size: 13px; color: #6B7280; font-weight: 600; }

  /* Final CTA (mobile) */
  .avsky-sar-mobile .m-final { background: var(--navy-2); padding: 32px 22px 0; position: relative; overflow: hidden; }
  .avsky-sar-mobile .m-final::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 20% 100%, rgba(232,163,58,0.10), transparent 55%); pointer-events:none; }
  .avsky-sar-mobile .m-final > * { position: relative; }
  .avsky-sar-mobile .m-final-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-mid); margin-bottom: 12px; }
  .avsky-sar-mobile .m-final-h2 { font-size: 30px; font-weight: 700; letter-spacing: -0.025em; line-height: 1.05; color: #FFF; margin: 0 0 14px; text-wrap: pretty; }
  .avsky-sar-mobile .m-final-h2 em { font-style: normal; font-weight: inherit; color: inherit; }
  .avsky-sar-mobile .m-final-sub { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.72); margin: 0; max-width: 330px; text-wrap: pretty; }
  .avsky-sar-mobile .m-final-links { display: grid; grid-template-columns: 1fr; border-top: 1px solid rgba(255,255,255,0.12); margin-top: 14px; }
  .avsky-sar-mobile .m-final-link { display: flex; align-items: center; justify-content: space-between; padding: 14px 2px; font-size: 14.5px; font-weight: 600; color: #FFF; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.12); letter-spacing: -0.005em; }
  .avsky-sar-mobile .m-final-link:last-child { border-bottom: none; }
  .avsky-sar-mobile .m-final-link svg { width: 12px; height: 12px; color: rgba(255,255,255,0.4); flex-shrink: 0; }
  .avsky-sar-mobile .m-final-cta { display: flex; flex-direction: column; gap: 10px; margin: 22px 0 6px; }
  .avsky-sar-mobile .m-final-call { display: flex; align-items: center; justify-content: center; gap: 9px; height: 52px; border-radius: 13px; background: var(--gold); color: var(--navy-2); font-size: 15.5px; font-weight: 700; letter-spacing: 0.01em; border: none; text-decoration: none; cursor: pointer; box-shadow: 0 12px 26px -14px rgba(244,192,120,0.6); }
  .avsky-sar-mobile .m-final-call svg { width: 16px; height: 16px; }
  .avsky-sar-mobile .m-final-call2 { display: flex; align-items: center; justify-content: center; gap: 8px; height: 48px; border-radius: 13px; border: 1px solid rgba(255,255,255,0.22); background: transparent; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
  .avsky-sar-mobile .m-final-call2 svg { width: 14px; height: 14px; color: var(--gold); }
  .avsky-sar-mobile .m-final-floor { margin: 22px -22px 0; padding: 18px 22px calc(22px + env(safe-area-inset-bottom, 0px)); background: var(--navy); border-top: 2px solid rgba(232,163,58,0.5); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
  .avsky-sar-mobile .m-final-logo { height: 32px; width: auto; display: block; }
  .avsky-sar-mobile .m-final-meta { display: flex; flex-direction: column; gap: 3px; text-align: right; min-width: 0; }
  .avsky-sar-mobile .m-final-addr { display: flex; align-items: center; justify-content: flex-end; gap: 6px; font-size: 12px; color: rgba(255,255,255,0.62); }
  .avsky-sar-mobile .m-final-addr svg { width: 11px; height: 11px; color: rgba(255,255,255,0.4); flex-shrink: 0; }
  .avsky-sar-mobile .m-final-legal { font-size: 11px; color: rgba(255,255,255,0.4); line-height: 1.4; letter-spacing: 0.02em; }
  .avsky-sar-mobile .m-final-legal-link { font-size: 11px; color: rgba(255,255,255,0.55); text-decoration: underline; text-underline-offset: 2px; letter-spacing: 0.02em; }

  /* Pinned bottom bar */
  .avsky-sar-mobile .m-bbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; background: var(--navy); border-top: 2px solid rgba(232,163,58,0.7); padding: 16px 20px calc(20px + env(safe-area-inset-bottom, 0px)); display: none; align-items: center; justify-content: center; gap: 16px; }
  .avsky-sar-mobile .m-bbar .b-logo { width: 48px; height: 48px; border-radius: 11px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; flex-shrink: 0; }
  .avsky-sar-mobile .m-bbar .b-logo img { height: 16px; width: auto; filter: brightness(0) invert(1); display: block; }
  .avsky-sar-mobile .m-bbar .b-cta { flex: 0 1 auto; padding: 0 30px; height: 48px; border-radius: 11px; background: var(--gold); color: var(--navy-2); border: none; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; text-decoration: none; }
  .avsky-sar-mobile .m-bbar .b-cta svg { width: 14px; height: 14px; flex-shrink: 0; }
  .avsky-sar-mobile .m-bbar .b-cta .val { font-size: 14.5px; font-weight: 700; letter-spacing: 0.01em; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: var(--navy-2); }
  .avsky-sar-mobile .m-bbar .b-icon { width: 48px; height: 48px; border-radius: 11px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14); display: inline-flex; align-items: center; justify-content: center; color: #FFF; flex-shrink: 0; cursor: pointer; padding: 0; }
  .avsky-sar-mobile .m-bbar .b-icon svg { width: 18px; height: 18px; }

  /* ─── Quote modal sheet ─── */
  /* Same treatment as the calculator's scrim (rgba(11,22,38,.6) + 6px blur) so the two modals read identically. */
  .avsky-sar .qm-backdrop { position: fixed; inset: 0; background: rgba(11,22,38,0.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); z-index: 90; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
  .avsky-sar .qm-backdrop.open { opacity: 1; pointer-events: auto; }
  .avsky-sar .qm-sheet { position: fixed; inset: 0; background: var(--cream); z-index: 91; display: flex; flex-direction: column; transform: translateY(100%); transition: transform .32s cubic-bezier(.2,.7,.2,1), visibility 0s linear .32s; visibility: hidden; }
  .avsky-sar .qm-sheet.open { transform: translateY(0); visibility: visible; transition: transform .32s cubic-bezier(.2,.7,.2,1), visibility 0s linear; }

  /* Desktop — center the quote modal instead of full-bleed bottom sheet */
  @media (min-width: 720px) {
    .avsky-sar .qm-sheet {
      inset: auto;
      top: 50%;
      left: 50%;
      transform: translate(-50%, calc(-50% + 100vh));
      width: min(560px, 92vw);
      max-height: min(820px, 90vh);
      border-radius: 16px;
      /* 1px light ring separates the navy header from dark page content behind
         the blurred scrim (invisible over light areas); shadows unchanged. */
      box-shadow: 0 0 0 1px rgba(255,255,255,0.14), 0 40px 80px -20px rgba(15,28,46,0.55), 0 12px 32px -10px rgba(15,28,46,0.30);
      overflow: hidden;
    }
    .avsky-sar .qm-sheet.open { transform: translate(-50%, -50%); }
    /* The navy header paints its own top radius instead of being square and
       clipped by the sheet's rounded overflow — the clip left a jagged arc. */
    .avsky-sar .qm-head { border-radius: 16px 16px 0 0; }
    .avsky-sar .qm-handle { display: none; }
    .avsky-sar .qm-title { text-wrap: normal; }
    .avsky-sar .qm-sub { max-width: none; }
  }
  .avsky-sar .qm-head { background: var(--navy-2); color: #FFF; padding: 16px 20px 22px; position: relative; flex-shrink: 0; overflow: hidden; }
  .avsky-sar .qm-head::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 90% 0%, rgba(232,163,58,0.14), transparent 60%); pointer-events:none; }
  .avsky-sar .qm-head > * { position: relative; }
  .avsky-sar .qm-handle { width: 36px; height: 4px; border-radius: 2px; background: rgba(255,255,255,0.22); margin: 0 auto 14px; }
  .avsky-sar .qm-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
  .avsky-sar .qm-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-mid); }
  .avsky-sar .qm-close { width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.16); display: inline-flex; align-items: center; justify-content: center; color: #FFF; cursor: pointer; padding: 0; }
  .avsky-sar .qm-close svg { width: 14px; height: 14px; }
  .avsky-sar .qm-title { font-size: 18px; font-weight: 700; letter-spacing: -0.015em; line-height: 1.22; margin: 0 0 6px; text-wrap: pretty; }
  .avsky-sar .qm-title em { font-style: italic; font-weight: 500; color: var(--gold); }
  .avsky-sar .qm-sub { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,0.72); margin: 0; max-width: 300px; }
  /* The modal-content wrapper is a flex column itself so qm-body (flex:1)
     can fill remaining vertical space and scroll, with qm-foot pinned. */
  .avsky-sar #avsky-sar-modal-content { flex: 1; display: flex; flex-direction: column; min-height: 0; }
  .avsky-sar .qm-body { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 16px 16px 12px; }
  .avsky-sar .qm-section-l { font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--tan); margin: 6px 2px 8px; }
  .avsky-sar .qm-section-l:first-child { margin-top: 0; }
  .avsky-sar .qm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
  .avsky-sar .qm-row.single { grid-template-columns: 1fr; }
  .avsky-sar .qm-cell { display: flex; align-items: center; gap: 10px; background: #FFF; border: 1px solid var(--hairline); border-radius: 10px; padding: 12px 12px; }
  .avsky-sar .qm-cell svg { width: 15px; height: 15px; color: var(--tan); flex-shrink: 0; }
  .avsky-sar .qm-cell input, .avsky-sar .qm-cell select { width: 100%; padding: 0; font-size: 16px; background: transparent; border: none; color: var(--navy-2); outline: none; -webkit-appearance: none; min-width: 0; }
  .avsky-sar .qm-cell input::placeholder { color: var(--tan-soft); }
  .avsky-sar .qm-cell.cal-active { border-color: var(--navy-2); box-shadow: 0 0 0 2px rgba(15,28,46,0.08); }
  .avsky-sar .qm-cell.cal-active svg { color: var(--navy-2); }
  .avsky-sar .qm-textarea { display: block; width: 100%; min-height: 84px; resize: none; background: #FFF; border: 1px solid var(--hairline); border-radius: 10px; padding: 12px 12px; font-size: 16px; line-height: 1.45; color: var(--navy-2); outline: none; -webkit-appearance: none; }
  .avsky-sar .qm-textarea::placeholder { color: var(--tan-soft); }
  .avsky-sar .qm-leg { position: relative; background: #FFF; border: 1px solid var(--hairline); border-radius: 12px; padding: 14px 12px 12px 30px; margin-bottom: 8px; }
  .avsky-sar .qm-leg-n { position: absolute; left: 0; top: 0; bottom: 0; width: 24px; background: var(--navy-2); color: #FFF; font-size: 10px; font-weight: 700; border-radius: 11px 0 0 11px; display: flex; align-items: center; justify-content: center; letter-spacing: 0.06em; }
  .avsky-sar .qm-leg-rm { position: absolute; top: -8px; right: -8px; width: 24px; height: 24px; border-radius: 50%; background: #FFF; color: var(--tan); border: 1px solid var(--hairline); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 5px rgba(15,28,46,0.10); z-index: 2; padding: 0; }
  .avsky-sar .qm-leg-rm svg { width: 11px; height: 11px; }
  .avsky-sar .qm-leg-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .avsky-sar .qm-leg-pair + .qm-leg-pair { margin-top: 6px; }
  .avsky-sar .qm-leg-cell { display: flex; align-items: center; gap: 8px; padding: 9px 10px; background: var(--cream); border: 1px solid var(--hairline); border-radius: 8px; }
  .avsky-sar .qm-leg-cell svg { width: 13px; height: 13px; color: var(--tan); flex-shrink: 0; }
  .avsky-sar .qm-leg-cell input { width: 100%; padding: 0; font-size: 16px; background: transparent; border: none; color: var(--navy-2); outline: none; min-width: 0; }
  .avsky-sar .qm-leg-cell input::placeholder { color: var(--tan-soft); }
  .avsky-sar .qm-add { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px; margin-bottom: 4px; background: transparent; border: 1.5px dashed var(--tan-line); border-radius: 12px; color: #8B6914; font-size: 13px; font-weight: 600; cursor: pointer; }
  .avsky-sar .qm-add svg { width: 14px; height: 14px; }
  .avsky-sar .qm-tabs { display: flex; gap: 4px; padding: 4px; background: #FFF; border: 1px solid var(--hairline); border-radius: 10px; margin-bottom: 12px; }
  .avsky-sar .qm-tab { flex: 1; padding: 9px 4px; font-size: 13px; font-weight: 600; color: var(--tan); background: transparent; border: none; border-radius: 7px; cursor: pointer; }
  .avsky-sar .qm-tab.active { background: var(--navy-2); color: #FFF; }
  .avsky-sar .qm-resp { display: flex; align-items: center; gap: 8px; padding: 10px 12px; margin-top: 4px; background: rgba(232,163,58,0.10); border: 1px solid rgba(232,163,58,0.28); border-radius: 10px; }
  .avsky-sar .qm-resp svg { width: 14px; height: 14px; color: #C7831F; flex-shrink: 0; }
  .avsky-sar .qm-resp-t { font-size: 11.5px; font-weight: 600; color: #5C3F0F; line-height: 1.35; letter-spacing: -0.005em; }
  .avsky-sar .qm-foot { padding: 12px 16px 22px; background: var(--cream); border-top: 1px solid var(--hairline); flex-shrink: 0; }
  .avsky-sar .qm-submit { width: 100%; height: 48px; border-radius: 11px; background: var(--gold); color: var(--navy-2); border: none; font-size: 14px; font-weight: 700; letter-spacing: 0.01em; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; box-shadow: 0 6px 16px -4px rgba(232,163,58,0.45); }
  .avsky-sar .qm-submit svg { width: 13px; height: 13px; }
  .avsky-sar .qm-submit:disabled { opacity: 0.7; cursor: not-allowed; }
  .avsky-sar .qm-fine { font-size: 12.5px; color: var(--tan); text-align: center; margin: 8px 0 0; line-height: 1.4; letter-spacing: 0.005em; }
  .avsky-sar .qm-form-error { margin-top: 8px; padding: 10px 12px; background: #FEF2F2; border: 1px solid #FECACA; color: #991B1B; font-size: 13.5px; border-radius: 8px; }
  /* Modal success */
  .avsky-sar .qm-success { padding: 22px 22px 14px; display: flex; flex-direction: column; align-items: center; text-align: center; }
  .avsky-sar .qm-success-mark { position: relative; width: 68px; height: 68px; margin-bottom: 16px; }
  .avsky-sar .qm-success-mark .ring { position: absolute; inset: 0; border-radius: 50%; border: 1.2px solid var(--gold-mid); }
  .avsky-sar .qm-success-mark .disc { position: absolute; inset: 7px; border-radius: 50%; background: var(--navy-2); display: flex; align-items: center; justify-content: center; }
  .avsky-sar .qm-success-mark .disc svg { width: 26px; height: 26px; color: var(--gold); stroke-width: 2.5; }
  .avsky-sar .qm-success-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--navy-2); margin: 0 0 10px; }
  .avsky-sar .qm-success-h { font-size: 22px; font-weight: 700; line-height: 1.18; letter-spacing: -0.015em; color: var(--navy-2); margin: 0 0 4px; text-wrap: pretty; }
  .avsky-sar .qm-success-line { font-size: 16px; font-weight: 500; line-height: 1.35; color: var(--navy-2); margin: 0 0 18px; }
  .avsky-sar .qm-success-overview { font-size: 13.5px; line-height: 1.4; color: var(--navy-2); margin: 0 0 10px; align-self: flex-start; font-weight: 500; }
  .avsky-sar .qm-sum { width: 100%; background: var(--cream); border: 1px solid var(--hairline); border-radius: 12px; padding: 14px 14px 8px; margin: 0 0 18px; text-align: left; }
  .avsky-sar .qm-sum-row { display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; border-top: 1px dashed rgba(212,196,166,0.55); }
  .avsky-sar .qm-sum-row:first-of-type { border-top: none; padding-top: 0; }
  .avsky-sar .qm-sum-k { flex: 0 0 64px; font-size: 10.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--navy-2); padding-top: 2px; opacity: 0.6; }
  .avsky-sar .qm-sum-v { flex: 1; min-width: 0; font-size: 13.5px; font-weight: 500; color: var(--navy-2); line-height: 1.35; word-break: break-word; }
  .avsky-sar .qm-call-line { font-size: 13.5px; line-height: 1.5; color: var(--navy-2); margin: 0; text-align: left; align-self: flex-start; }
  .avsky-sar .qm-call-line a { color: var(--navy-2); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

  /* ─── Inline calendar ─── */
  .avsky-sar .qm-cal { background: #FFF; border: 2px solid var(--navy-2); border-radius: 14px; box-shadow: 0 18px 36px -10px rgba(15,28,46,0.35), 0 4px 10px rgba(15,28,46,0.10); overflow: hidden; margin: 14px 0 26px; }
  .avsky-sar-mobile .m-form-card .qm-cal { margin: 14px 0 24px; }
  .avsky-sar .qm-cal-prompt { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; background: #F4EBD5; border-bottom: 1px solid #E8DCB8; font-size: 11.5px; font-weight: 600; color: #6B5215; letter-spacing: 0.005em; }
  .avsky-sar .qm-cal-prompt.complete { background: var(--navy-2); color: var(--gold); border-bottom-color: var(--navy-2); }
  .avsky-sar .qm-cal-prompt .step { font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.65; flex-shrink: 0; }
  .avsky-sar .qm-cal-prompt .msg { flex: 1; min-width: 0; }
  .avsky-sar .qm-cal-prompt strong { font-weight: 700; }
  .avsky-sar .qm-cal-head { display: flex; align-items: center; justify-content: space-between; padding: 9px 12px 6px; }
  .avsky-sar .qm-cal-month { font-size: 13px; font-weight: 700; color: var(--navy-2); letter-spacing: -0.01em; }
  .avsky-sar .qm-cal-month .yr { font-weight: 400; color: var(--tan); margin-left: 5px; }
  .avsky-sar .qm-cal-nav { display: flex; gap: 4px; }
  .avsky-sar .qm-cal-nav button { width: 24px; height: 24px; border-radius: 50%; background: var(--cream); border: 1px solid var(--hairline); color: var(--navy-2); display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
  .avsky-sar .qm-cal-nav button:disabled { opacity: 0.35; cursor: not-allowed; }
  .avsky-sar .qm-cal-nav button svg { width: 11px; height: 11px; }
  .avsky-sar .qm-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); padding: 0 8px 4px; }
  .avsky-sar .qm-cal-dow { font-size: 9.5px; font-weight: 600; color: var(--tan); text-align: center; padding: 2px 0 6px; letter-spacing: 0.06em; text-transform: uppercase; }
  .avsky-sar .qm-cal-day { position: relative; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 500; color: var(--navy-2); cursor: pointer; background: transparent; border: none; padding: 0; }
  .avsky-sar .qm-cal-day.muted { color: var(--tan-line); }
  .avsky-sar .qm-cal-day.disabled { color: var(--tan-line); cursor: not-allowed; text-decoration: line-through; text-decoration-color: rgba(212,196,166,0.6); }
  .avsky-sar .qm-cal-day .num { position: relative; z-index: 2; }
  .avsky-sar .qm-cal-day.today .num::after { content: ''; position: absolute; left: 50%; bottom: -2px; transform: translateX(-50%); width: 3px; height: 3px; background: var(--gold-deeper); border-radius: 50%; }
  .avsky-sar .qm-cal-day.in-range::before { content: ''; position: absolute; inset: 3px -1px; background: #F4EBD5; z-index: 1; }
  .avsky-sar .qm-cal-day.range-start::before { content: ''; position: absolute; inset: 3px -1px 3px 50%; background: #F4EBD5; z-index: 1; }
  .avsky-sar .qm-cal-day.range-end::before { content: ''; position: absolute; inset: 3px 50% 3px -1px; background: #F4EBD5; z-index: 1; }
  .avsky-sar .qm-cal-day.range-start.range-end::before { display: none; }
  .avsky-sar .qm-cal-day.selected .num { width: 26px; height: 26px; border-radius: 50%; background: var(--navy-2); color: #FFF; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: 11.5px; }
  .avsky-sar .qm-cal-day.today.selected .num::after { background: var(--gold); }
  .avsky-sar .qm-cal-foot { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 8px 10px 9px; border-top: 1px solid var(--hairline); background: var(--cream); }
  .avsky-sar .qm-cal-summary { font-size: 11px; color: #6B5840; font-weight: 500; flex: 1; line-height: 1.2; min-width: 0; }
  .avsky-sar .qm-cal-summary strong { color: var(--navy-2); font-weight: 700; }
  .avsky-sar .qm-cal-summary .nights { color: var(--tan); }
  .avsky-sar .qm-cal-foot button { font-size: 11px; font-weight: 600; padding: 6px 10px; border-radius: 6px; cursor: pointer; }
  .avsky-sar .qm-cal-clear { background: transparent; border: 1px solid var(--hairline); color: var(--tan); }
  .avsky-sar .qm-cal-done { background: var(--navy-2); border: 1px solid var(--navy-2); color: #FFF; }
  .avsky-sar .qm-cal-done:disabled { opacity: 0.4; cursor: not-allowed; }
  /* compact calendar in hero card */
  .avsky-sar-mobile .m-form-card .qm-cal-prompt { padding: 7px 10px; font-size: 10.5px; }
  .avsky-sar-mobile .m-form-card .qm-cal-prompt .step { font-size: 8.5px; }
  .avsky-sar-mobile .m-form-card .qm-cal-head { padding: 7px 10px 4px; }
  .avsky-sar-mobile .m-form-card .qm-cal-month { font-size: 11.5px; }
  .avsky-sar-mobile .m-form-card .qm-cal-nav button { width: 20px; height: 20px; }
  .avsky-sar-mobile .m-form-card .qm-cal-nav button svg { width: 10px; height: 10px; }
  .avsky-sar-mobile .m-form-card .qm-cal-grid { padding: 0 6px 3px; }
  .avsky-sar-mobile .m-form-card .qm-cal-dow { font-size: 8.5px; padding: 2px 0 4px; }
  .avsky-sar-mobile .m-form-card .qm-cal-day { height: 26px; font-size: 11px; }
  .avsky-sar-mobile .m-form-card .qm-cal-day.selected .num { width: 22px; height: 22px; font-size: 10.5px; }
  .avsky-sar-mobile .m-form-card .qm-cal-foot { padding: 6px 8px 7px; }
  .avsky-sar-mobile .m-form-card .qm-cal-summary { font-size: 10px; }
  .avsky-sar-mobile .m-form-card .qm-cal-foot button { font-size: 10px; padding: 5px 8px; }

  /* ─── Date picker sheet (full-screen) ─── */
  .avsky-sar .ds-backdrop { position: fixed; inset: 0; background: rgba(15,28,46,0.55); z-index: 110; opacity: 0; pointer-events: none; transition: opacity .22s ease; }
  .avsky-sar .ds-backdrop.open { opacity: 1; pointer-events: auto; }
  .avsky-sar .ds-sheet { position: fixed; left: 0; right: 0; bottom: 0; top: 6vh; background: #FFF; z-index: 111; border-radius: 18px 18px 0 0; box-shadow: 0 -20px 60px -10px rgba(15,28,46,0.45); display: flex; flex-direction: column; transform: translateY(100%); transition: transform .32s cubic-bezier(.32,.72,.34,.99), visibility 0s linear .32s; overflow: hidden; visibility: hidden; }
  .avsky-sar .ds-sheet.open { transform: translateY(0); visibility: visible; transition: transform .32s cubic-bezier(.32,.72,.34,.99), visibility 0s linear; }

  /* Desktop — center the date picker instead of full-bleed bottom sheet */
  @media (min-width: 720px) {
    .avsky-sar .ds-sheet {
      top: 50%;
      left: 50%;
      right: auto;
      bottom: auto;
      transform: translate(-50%, calc(-50% + 100vh));
      width: min(440px, 92vw);
      max-height: min(640px, 86vh);
      border-radius: 16px;
      box-shadow: 0 40px 80px -20px rgba(15,28,46,0.55), 0 12px 32px -10px rgba(15,28,46,0.30);
    }
    .avsky-sar .ds-sheet.open { transform: translate(-50%, -50%); }
    .avsky-sar .ds-head { cursor: default; touch-action: auto; }
    .avsky-sar .ds-head::before { display: none; }
  }
  .avsky-sar .ds-head { display: flex; align-items: center; gap: 10px; padding: 16px 18px 12px; border-bottom: 1px solid var(--hairline); flex-shrink: 0; position: relative; cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
  .avsky-sar .ds-head:active { cursor: grabbing; }
  .avsky-sar .ds-head::before { content: ''; position: absolute; left: 50%; top: 7px; transform: translateX(-50%); width: 36px; height: 4px; border-radius: 999px; background: var(--tan-line); }
  .avsky-sar .ds-close { width: 36px; height: 36px; border: none; background: var(--cream); border-radius: 50%; color: var(--navy-2); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; flex-shrink: 0; }
  .avsky-sar .ds-close svg { width: 16px; height: 16px; }
  .avsky-sar .ds-title { font-size: 16px; font-weight: 700; color: var(--navy-2); letter-spacing: -0.01em; }
  .avsky-sar .ds-tabs { display: flex; gap: 8px; padding: 12px 16px 14px; flex-shrink: 0; }
  .avsky-sar .ds-tab { flex: 1; min-width: 0; padding: 12px 14px; background: var(--cream); border: 2px solid transparent; border-radius: 12px; cursor: pointer; text-align: left; transition: all .15s ease; }
  .avsky-sar .ds-tab.active { background: #FFF; border-color: var(--navy-2); box-shadow: 0 4px 12px -2px rgba(15,28,46,0.18); }
  .avsky-sar .ds-tab .lbl { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tan); margin: 0 0 4px; }
  .avsky-sar .ds-tab.active .lbl { color: var(--navy-2); opacity: 0.6; }
  .avsky-sar .ds-tab .val { display: block; font-size: 16px; font-weight: 600; color: var(--navy-2); line-height: 1.2; }
  .avsky-sar .ds-tab .val.placeholder { color: var(--tan-soft); font-weight: 500; }
  .avsky-sar .ds-cal-host { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 4px 12px 16px; }
  .avsky-sar .ds-cal-host .qm-cal-prompt { display: none; }
  .avsky-sar .ds-cal-host .qm-cal-head { padding: 14px 6px 10px; }
  .avsky-sar .ds-cal-host .qm-cal-month { font-size: 18px; }
  .avsky-sar .ds-cal-host .qm-cal-month .yr { margin-left: 8px; }
  .avsky-sar .ds-cal-host .qm-cal-nav button { width: 36px; height: 36px; }
  .avsky-sar .ds-cal-host .qm-cal-nav button svg { width: 14px; height: 14px; }
  .avsky-sar .ds-cal-host .qm-cal-grid { padding: 0 2px 4px; }
  .avsky-sar .ds-cal-host .qm-cal-dow { font-size: 11px; padding: 6px 0 8px; }
  .avsky-sar .ds-cal-host .qm-cal-day { height: 46px; font-size: 15px; }
  .avsky-sar .ds-cal-host .qm-cal-day.selected .num { width: 38px; height: 38px; font-size: 14.5px; }
  .avsky-sar .ds-cal-host .qm-cal-foot { display: none; }
  .avsky-sar .ds-foot { display: flex; gap: 10px; padding: 12px 16px calc(28px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--hairline); flex-shrink: 0; background: #FFF; }
  .avsky-sar .ds-clear { flex: 0 0 auto; padding: 14px 22px; background: transparent; border: 1.5px solid var(--hairline); color: var(--navy-2); border-radius: 12px; font-size: 14px; font-weight: 600; cursor: pointer; }
  .avsky-sar .ds-done { flex: 1; padding: 14px 22px; background: var(--navy-2); border: 1.5px solid var(--navy-2); color: #FFF; border-radius: 12px; font-size: 15px; font-weight: 700; cursor: pointer; }
  .avsky-sar .ds-done:disabled { opacity: 0.45; cursor: not-allowed; }

  /* ─── Drawer nav ─── */
  .avsky-sar-mobile .nv-backdrop { position: fixed; inset: 0; background: rgba(15,28,46,0.45); z-index: 95; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
  .avsky-sar-mobile .nv-backdrop.open { opacity: 1; pointer-events: auto; }
  .avsky-sar-mobile .nv-sheet { position: fixed; inset: 0; background: var(--cream); z-index: 96; display: flex; flex-direction: column; transform: translateY(100%); transition: transform .32s cubic-bezier(.32,.72,.34,.99); color: var(--navy-2); overflow: hidden; }
  .avsky-sar-mobile .nv-sheet.open { transform: translateY(0); }
  .avsky-sar-mobile .nv-sheet::before { content: none; }
  .avsky-sar-mobile .nv-head { padding: 14px 18px 0; display: flex; align-items: flex-start; justify-content: flex-end; flex-shrink: 0; position: relative; z-index: 1; background: var(--navy-2); }
  .avsky-sar-mobile .nv-head .nv-handle { position: absolute; top: 7px; left: 50%; transform: translateX(-50%); width: 36px; height: 4px; border-radius: 2px; background: rgba(255,255,255,0.18); }
  .avsky-sar-mobile .nv-close { width: 36px; height: 36px; margin-top: 6px; border-radius: 50%; background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.14); color: #FFF; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
  .avsky-sar-mobile .nv-close svg { width: 14px; height: 14px; }
  .avsky-sar-mobile .nv-mast { padding: 28px 24px 22px; position: relative; z-index: 1; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; text-align: center; background-color: var(--navy-2); background-image: radial-gradient(ellipse at 90% 0%, rgba(232,163,58,0.14), transparent 60%); border-bottom: 1px solid rgba(244,192,120,0.22); }
  .avsky-sar-mobile .nv-mast-logo { display: block; height: 64px; width: auto; max-width: 70%; margin-bottom: 16px; }
  .avsky-sar-mobile .nv-mast-rule { width: 38px; height: 1px; background: var(--gold); margin-bottom: 14px; }
  .avsky-sar-mobile .nv-mast-tag { font-style: italic; font-weight: 500; font-size: 19px; line-height: 1.3; color: rgba(255,255,255,0.88); letter-spacing: 0.005em; }
  .avsky-sar-mobile .nv-mast-tag em { font-style: italic; color: var(--gold); }
  .avsky-sar-mobile .nv-list { padding: 0 24px; position: relative; z-index: 1; }
  .avsky-sar-mobile .nv-item { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--hairline); background: transparent; border-left: none; border-right: none; border-top: none; cursor: pointer; text-align: left; width: 100%; color: #FFF; }
  .avsky-sar-mobile .nv-item:last-child { border-bottom: none; }
  .avsky-sar-mobile .nv-item .nv-num { font-size: 9.5px; font-weight: 600; letter-spacing: 0.14em; color: var(--gold-deep); align-self: center; min-width: 22px; }
  .avsky-sar-mobile .nv-item .nv-label { flex: 1; font-size: 22px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; color: var(--navy-2); }
  .avsky-sar-mobile .nv-item .nv-label em { font-style: normal; color: var(--gold-deep); font-weight: 600; }
  .avsky-sar-mobile .nv-item .nv-arrow { color: rgba(15,28,46,0.3); flex-shrink: 0; align-self: center; }
  .avsky-sar-mobile .nv-item .nv-arrow svg { width: 14px; height: 14px; }
  .avsky-sar-mobile .nv-foot { margin-top: auto; padding: 24px 24px calc(30px + env(safe-area-inset-bottom, 0px)); background: var(--cream-2); border-top: 1px solid var(--hairline); position: relative; z-index: 1; flex-shrink: 0; }
  .avsky-sar-mobile .nv-foot a { color: inherit; text-decoration: none; }
  .avsky-sar-mobile .nv-foot-row { display: flex; align-items: center; gap: 14px; padding: 10px 0; color: var(--navy-2); font-size: 13px; font-weight: 500; letter-spacing: -0.005em; }
  .avsky-sar-mobile .nv-foot-row .nv-foot-ic { width: 28px; height: 28px; border-radius: 8px; background: rgba(200,132,31,0.12); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .avsky-sar-mobile .nv-foot-row .nv-foot-ic svg { width: 13px; height: 13px; color: var(--gold-deep); }
  .avsky-sar-mobile .nv-foot-row .nv-foot-main { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
  .avsky-sar-mobile .nv-foot-row .nv-foot-t { font-size: 13.5px; font-weight: 600; color: var(--navy-2); letter-spacing: -0.01em; line-height: 1.2; }
  .avsky-sar-mobile .nv-foot-row .nv-foot-meta { font-size: 11px; font-weight: 500; color: var(--tan); letter-spacing: 0; line-height: 1.3; }

  /* Lock page scroll when a sheet/modal is open. The lock must live on BOTH
     html and body: body's overflow only propagates to the viewport when html's
     overflow is untouched, and theme CSS touches it — body alone scrolls. */
  html.avsky-sar-locked, body.avsky-sar-locked { overflow: hidden; }

/* ===== SHARED COMPONENTS — nav, spec, airports quad, details, snapshots, faq, footer, overlays (design 1095-1785) ===== */
  /* ═══════════════════════════════════════════════════════════════
     ITINERARY PAGE — DESKTOP STYLES
     Builds on the shared tokens defined in .avsky-sar above.
     Activated for viewports > 640px.
     ═══════════════════════════════════════════════════════════════ */

  /* ═══ TOP NAV — Glass pill floating over navy atmosphere band ═══ */
  .avsky-sar-desktop .nav-wrap {
    position: sticky;
    top: 0;
    background: var(--navy);
    background-image:
      radial-gradient(ellipse at 0% 100%, rgba(244,192,120,0.16), transparent 55%),
      radial-gradient(ellipse at 100% 0%, rgba(143,193,230,0.10), transparent 50%);
    padding: 22px 0 28px;
    z-index: 50;
  }
  .avsky-sar-desktop .nav-wrap::before {
    /* subtle dawn-sky gradient behind, so the glass has something to refract */
    content: ''; position: absolute; inset: 0; z-index: 0;
    background:
      linear-gradient(135deg, rgba(26,42,74,0.0) 0%, rgba(201,123,93,0.18) 60%, rgba(15,28,46,0.0) 100%);
    pointer-events: none;
  }

  .avsky-sar-desktop .topnav {
    position: relative;
    margin: 0 24px;
    background: rgba(15,28,46,0.55);
    backdrop-filter: blur(20px) saturate(1.3);
    -webkit-backdrop-filter: blur(20px) saturate(1.3);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 999px;
    padding: 10px 14px 10px 24px;
    box-shadow:
      0 20px 50px -16px rgba(0,0,0,0.45),
      0 1px 0 rgba(255,255,255,0.06) inset;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
  }
  .avsky-sar-desktop .topnav .logo { justify-self: start; }
  .avsky-sar-desktop .topnav .nav-cta { justify-self: end; }
  .avsky-sar-desktop .topnav .logo { display: inline-flex; align-items: center; }
  .avsky-sar-desktop .topnav .logo img { height: 42px; width: auto; }

  .avsky-sar-desktop .topnav .nav-links {
    display: flex; justify-content: center;
    gap: 2px;
  }
  .avsky-sar-desktop .topnav .nav-links a {
    font-size: 13px; font-weight: 500;
    color: rgba(255,255,255,0.78);
    letter-spacing: 0.01em;
    padding: 9px 18px;
    border-radius: 999px;
    text-decoration: none;
    transition: color .2s ease, background .2s ease;
  }
  .avsky-sar-desktop .topnav .nav-links a:hover {
    color: #FFF;
    background: rgba(255,255,255,0.08);
  }
  .avsky-sar-desktop .topnav .nav-links a.active {
    color: var(--gold);
    background: rgba(244,192,120,0.14);
  }

  .avsky-sar-desktop .topnav .nav-cta {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 20px;
    background: var(--gold);
    color: var(--navy);
    border: 1px solid var(--gold);
    border-radius: 999px;
    font-size: 13px; font-weight: 700;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
    box-shadow: 0 8px 18px -6px rgba(244,192,120,0.45);
  }
  .avsky-sar-desktop .topnav .nav-cta:hover {
    background: #FFD89B;
    box-shadow: 0 12px 24px -8px rgba(244,192,120,0.6);
  }
  .avsky-sar-desktop .topnav .nav-cta svg { width: 13px; height: 13px; }

  /* Desktop quote form date inputs: keep native date picker functional, just polish */
  .avsky-sar-desktop .itin-hero-form-card input[type="date"]:focus { border-color: var(--gold-deep) !important; box-shadow: 0 0 0 3px rgba(244,192,120,0.18) !important; outline: none; }
  /* Date-trigger button (replaces native <input type="date"> on desktop forms) */
  .avsky-sar-desktop .form-input.form-date-trigger { white-space: nowrap;
    text-align: left;
    cursor: pointer;
    font: inherit;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    background: #FFF;
    color: #111827;
    line-height: 1.2;
    padding: 11px 12px;
  }
  .avsky-sar-desktop .form-input.form-date-trigger .d-val { color: #111827; font-weight: 500; }
  .avsky-sar-desktop .form-input.form-date-trigger .d-ph { color: #9CA3AF; }
  .avsky-sar-desktop .form-input.form-date-trigger .d-ic {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #6B7280;
  }
  .avsky-sar-desktop .form-input.form-date-trigger:hover { border-color: var(--gold-deep); }
  .avsky-sar-desktop .form-input.form-date-trigger:focus {
    border-color: var(--gold-deep);
    box-shadow: 0 0 0 3px rgba(244,192,120,0.18);
    outline: none;
  }
  .avsky-sar-desktop .itin-hero { max-width: 1320px; margin: 0 auto; padding: 40px 32px 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
  .avsky-sar-desktop .itin-hero-form-head { padding: 22px 26px 18px; background: var(--navy); border-bottom: 1px solid rgba(244,192,120,0.25); color: #FFF; position: relative; }
  .avsky-sar-desktop .itin-hero-form-head::after { content: ''; position: absolute; left: 26px; right: 26px; bottom: -1px; height: 1px; background: linear-gradient(to right, var(--gold) 0%, rgba(244,192,120,0.05) 100%); }
  .avsky-sar-desktop .itin-hero-form-head .eyebrow { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 8px; }
  .avsky-sar-desktop .itin-hero-form-head h1 { font-size: 24px; line-height: 1.2; letter-spacing: -0.015em; color: #FFF; font-weight: 700; }
  .avsky-sar-desktop .itin-hero-form-card { background: #FFF; border: 1px solid var(--hairline); border-radius: 6px; box-shadow: 0 24px 56px -20px rgba(11,22,38,0.30), 0 8px 24px -12px rgba(11,22,38,0.12); overflow: hidden; }
  .avsky-sar-desktop .itin-hero-images { display: flex; flex-direction: column; gap: 32px; position: relative; align-self: stretch; }
  .avsky-sar-desktop .itin-hero-photo { flex: 1; min-height: 240px; border-radius: 14px; border: 1px solid var(--hairline); position: relative; overflow: hidden; }

  /* Route connector: refined editorial info strip between the two photos */
  .avsky-sar-desktop .hero-route {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 14px 18px;
    background: var(--cream);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 18px;
    box-shadow: 0 4px 14px -8px rgba(15,28,46,0.08);
  }
  .avsky-sar-desktop .hero-route-side {
    display: flex; flex-direction: column;
    line-height: 1.2;
  }
  .avsky-sar-desktop .hero-route-side.right { align-items: flex-end; text-align: right; }
  .avsky-sar-desktop .hero-route-code {
    font-family: ui-monospace, 'JetBrains Mono', monospace;
    font-size: 18px;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: 0.04em;
  }
  .avsky-sar-desktop .hero-route-place {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-4);
    margin-top: 4px;
  }
  .avsky-sar-desktop .hero-route-mid {
    display: flex; flex-direction: column;
    align-items: center;
    gap: 6px;
  }
  .avsky-sar-desktop .hero-route-line {
    display: flex; align-items: center; gap: 6px;
    width: 100%; min-width: 110px;
    color: var(--gold-deep);
  }
  .avsky-sar-desktop .hero-route-line::before,
  .avsky-sar-desktop .hero-route-line::after {
    content: '';
    flex: 1; height: 1px;
    background: var(--gold);
  }
  .avsky-sar-desktop .hero-route-line svg { width: 16px; height: 16px; flex-shrink: 0; }
  .avsky-sar-desktop .hero-route-meta {
    font-family: ui-monospace, 'JetBrains Mono', monospace;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-4);
  }
  .avsky-sar-desktop .hero-route-meta b { color: var(--navy); font-weight: 700; }
  .avsky-sar-desktop .itin-hero-photo .label { position: absolute; top: 14px; left: 16px; background: rgba(15,28,46,0.55); backdrop-filter: blur(8px); color: #FFF; padding: 5px 12px; border-radius: 999px; font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; white-space: nowrap; }
  .avsky-sar-desktop .itin-hero-photo.miami { background: linear-gradient(180deg, #1A2A4A 0%, #4A5E7A 30%, #C97B5D 65%, #E89A6A 88%, #F3B989 100%); }
  .avsky-sar-desktop .itin-hero-photo.miami::before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 70%; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 280' preserveAspectRatio='xMidYMax slice'><g fill='%230A1424'><rect x='0' y='200' width='40' height='80'/><rect x='40' y='160' width='30' height='120'/><rect x='75' y='140' width='38' height='140'/><rect x='118' y='100' width='42' height='180'/><rect x='165' y='130' width='34' height='150'/><rect x='205' y='80' width='48' height='200'/><rect x='258' y='60' width='52' height='220'/><rect x='315' y='110' width='36' height='170'/><rect x='355' y='40' width='60' height='240'/><rect x='420' y='90' width='44' height='190'/><rect x='470' y='130' width='38' height='150'/><rect x='513' y='70' width='46' height='210'/><rect x='563' y='150' width='32' height='130'/><rect x='600' y='110' width='38' height='170'/><rect x='643' y='90' width='42' height='190'/><rect x='690' y='160' width='34' height='120'/><rect x='728' y='130' width='40' height='150'/><rect x='773' y='180' width='27' height='100'/></g></svg>") center bottom / cover no-repeat; }
  .avsky-sar-desktop .itin-hero-photo.miami::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 18%; background: linear-gradient(180deg, rgba(10,20,36,0.6), rgba(74,94,122,0.8)); border-top: 1px solid rgba(232,154,106,0.4); }
  .avsky-sar-desktop .itin-hero-photo.stthomas { background: linear-gradient(180deg, #6FB4D1 0%, #92C9DE 35%, #B5DDDD 60%, #C9DDD0 80%, #6E8C5E 100%); }
  .avsky-sar-desktop .itin-hero-photo.stthomas::before { content: ''; position: absolute; left: 0; right: 0; bottom: 22%; height: 50%; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 200' preserveAspectRatio='xMidYMax slice'><path d='M0 200 L0 150 Q40 130 80 140 Q140 100 220 120 Q280 60 340 80 Q400 30 480 60 Q540 100 600 90 Q670 50 740 80 Q780 100 800 90 L800 200 Z' fill='%23415F3F'/><path d='M0 200 L0 170 Q60 155 120 165 Q200 130 280 150 Q360 110 440 135 Q520 100 600 130 Q670 110 740 130 Q780 135 800 130 L800 200 Z' fill='%232C4A30'/></svg>") center bottom / cover no-repeat; }
  .avsky-sar-desktop .itin-hero-photo.stthomas::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 24%; background: linear-gradient(180deg, rgba(99,159,168,0.4) 0%, rgba(63,123,140,0.8) 100%); border-top: 1px solid rgba(255,255,255,0.18); }

  /* Spec section */
  .avsky-sar-desktop .spec { padding: 16px 32px 56px; max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: 48px; align-items: start; }
  .avsky-sar-desktop .spec .eyebrow-text { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 14px; display: inline-block; white-space: nowrap; }
  .avsky-sar-desktop .spec .eyebrow-text::before { content: ''; display: inline-block; width: 20px; height: 1px; background: var(--gold); vertical-align: 4px; margin-right: 10px; }
  .avsky-sar-desktop .spec h2 { font-family: 'Poppins', sans-serif; font-size: 32px; font-weight: 800; color: var(--navy); letter-spacing: -0.018em; line-height: 1.12; margin-bottom: 18px; text-wrap: pretty; }
  .avsky-sar-desktop .spec h2 em { font-style: normal; color: var(--navy); font-weight: 800; }
  .avsky-sar-desktop .spec .body-copy { font-size: 16px; line-height: 1.7; color: #4B5563; }
  .avsky-sar-desktop .spec .body-copy p + p { margin-top: 14px; }

  /* Owner-authored links inside white/cream body copy (the global .avsky-sar
     reset strips all anchor styling, so each rich-text surface opts back in).
     Navy + gold underline; the navy-background surfaces (.m-about-body,
     .cta-body) keep their own gold-on-navy treatment. */
  .avsky-sar-desktop .body-copy a,
  .avsky-sar-desktop .details-block a,
  .avsky-sar-desktop .snapshot-text a,
  .avsky-sar-desktop .faq-item .a a,
  .avsky-sar-mobile .m-why-wrap a,
  .avsky-sar-mobile .m-tip-txt a,
  .avsky-sar-mobile .m-reviews-wrap a {
    color: var(--navy-2);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: var(--gold-mid);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
  }
  .avsky-sar-desktop .body-copy a:hover,
  .avsky-sar-desktop .details-block a:hover,
  .avsky-sar-desktop .snapshot-text a:hover,
  .avsky-sar-desktop .faq-item .a a:hover,
  .avsky-sar-mobile .m-why-wrap a:hover,
  .avsky-sar-mobile .m-tip-txt a:hover,
  .avsky-sar-mobile .m-reviews-wrap a:hover {
    color: var(--gold-deep);
  }
  /* Spec card bottom CTA — gold button strip */
  .avsky-sar-desktop .spec-cta {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 18px 28px;
    border-top: 1px solid rgba(244,192,120,0.22);
    background: rgba(244,192,120,0.04);
  }
  .avsky-sar-desktop .spec-cta-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%;
    padding: 15px 24px;
    background: var(--gold);
    color: var(--navy);
    border: 1px solid var(--gold);
    border-radius: 12px;
    font-size: 14px; font-weight: 700;
    letter-spacing: 0.01em;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 8px 18px -6px rgba(244,192,120,0.45);
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  .avsky-sar-desktop .spec-cta-btn:hover {
    background: #FFD89B;
    color: var(--navy);
    box-shadow: 0 12px 24px -8px rgba(244,192,120,0.6);
  }
  .avsky-sar-desktop .spec-cta-btn svg { width: 13px; height: 13px; }

  /* Airports — dark navy section */
  .avsky-sar-desktop .airports-section { max-width: 1320px; margin: 0 auto 56px; padding: 0 32px; }
  .avsky-sar-desktop .airports-inner { background: var(--navy); color: #FFF; border-radius: 14px; padding: 40px 36px 44px; position: relative; overflow: hidden; }
  .avsky-sar-desktop .airports-inner::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 0% 0%, rgba(143,193,230,0.06), transparent 60%); pointer-events: none; }
  .avsky-sar-desktop .airports-inner > * { position: relative; }
  .avsky-sar-desktop .airports-inner .eyebrow-text { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; display: inline-block; }
  .avsky-sar-desktop .airports-inner .eyebrow-text::before { content: ''; display: inline-block; width: 20px; height: 1px; background: var(--gold); vertical-align: 4px; margin-right: 10px; }
  .avsky-sar-desktop .airports-inner h2 { font-size: 32px; font-weight: 700; color: #FFF; letter-spacing: -0.018em; line-height: 1.12; margin-bottom: 14px; text-wrap: pretty; }
  .avsky-sar-desktop .airports-inner h2 em { font-style: italic; color: var(--gold); font-weight: 600; }
  .avsky-sar-desktop .airports-inner .intro { font-size: 15.5px; line-height: 1.65; color: rgba(255,255,255,0.72); max-width: 80ch; margin-bottom: 28px; }
  /* Airports head — 2-col: copy on left, airport photo on right */
  .avsky-sar-desktop .airports-head {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 36px;
    align-items: start;
    margin-bottom: 28px;
  }
  .avsky-sar-desktop .airports-head .intro { margin-bottom: 0; }
  .avsky-sar-desktop .airports-photo {
    position: relative;
    aspect-ratio: 3 / 2;
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(135deg, #18263d 0%, #0F1C2E 100%);
    border: 1px solid rgba(244,192,120,0.18);
  }
  .avsky-sar-desktop .airports-photo img {
    width: 100%; height: 100%; object-fit: cover; display: block;
  }
  .avsky-sar-desktop .airports-photo .placeholder {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    flex-direction: column; gap: 10px;
    background:
      repeating-linear-gradient(135deg, rgba(244,192,120,0.04) 0 14px, transparent 14px 28px),
      linear-gradient(135deg, #18263d 0%, #0F1C2E 100%);
    color: var(--gold);
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-align: center;
    padding: 24px;
  }
  .avsky-sar-desktop .airports-photo .placeholder svg {
    width: 32px; height: 32px;
    color: rgba(244,192,120,0.55);
  }
  .avsky-sar-desktop .airports-photo .placeholder span {
    color: rgba(244,192,120,0.55);
    font-weight: 600;
  }
  .avsky-sar-desktop .airports-photo .caption {
    position: absolute;
    left: 16px; bottom: 14px;
    background: rgba(15,28,46,0.55);
    backdrop-filter: blur(8px);
    color: #FFF;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    z-index: 2;
  }
  .avsky-sar-desktop .map-card { height: 280px; border-radius: 10px; overflow: hidden; position: relative; background: linear-gradient(135deg, #D9E8E3 0%, #C9DDD5 50%, #B9D2C9 100%); border: 1px solid rgba(255,255,255,0.08); }
  .avsky-sar-desktop .map-card::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(15,28,46,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(15,28,46,0.06) 1px, transparent 1px); background-size: 50px 50px; }
  .avsky-sar-desktop .map-card .map-controls { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; gap: 4px; }
  .avsky-sar-desktop .map-card .map-controls button { width: 24px; height: 24px; background: rgba(255,255,255,0.92); border: 1px solid rgba(15,28,46,0.12); color: #111827; font-size: 14px; font-weight: 600; cursor: pointer; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; }
  .avsky-sar-desktop .map-pin { position: absolute; width: 28px; height: 36px; transform: translate(-50%, -100%); z-index: 2; }
  .avsky-sar-desktop .map-pin svg { width: 100%; height: 100%; filter: drop-shadow(0 4px 8px rgba(15,28,46,0.3)); }
  .avsky-sar-desktop .map-label { position: absolute; background: #FFF; border: 1px solid rgba(15,28,46,0.1); border-radius: 4px; padding: 6px 10px; font-size: 11px; font-weight: 600; color: #111827; box-shadow: 0 2px 6px rgba(15,28,46,0.12); transform: translate(-50%, calc(-100% - 40px)); white-space: nowrap; z-index: 3; }
  .avsky-sar-desktop .map-label .close { color: #9CA3AF; margin-left: 6px; font-weight: 400; }
  /* Airports — single-destination 2×2 quad */
  .avsky-sar-desktop .airports-quad{ display:grid; grid-template-columns:1fr 1fr; gap:26px 28px; align-items:stretch; }
  .avsky-sar-desktop .airports-quad .aq-info{ display:flex; flex-direction:column; justify-content:center; }
  .avsky-sar-desktop .airports-quad .aq-info .intro{ margin-bottom:0; max-width:none; }
  /* space consecutive intro paragraphs (the description is multi-paragraph) */
  .avsky-sar-desktop .airports-quad .aq-info .intro + .intro{ margin-top:14px; }
  .avsky-sar-desktop .airports-quad .aq-photo{ align-self:start; }
  .avsky-sar-desktop .airports-quad .aq-selector{ display:flex; flex-direction:column; }
  .avsky-sar-desktop .aq-sel-label{ font-size:10.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.55); margin-bottom:12px; }
  .avsky-sar-desktop .aq-options{ display:flex; flex-direction:column; gap:10px; }
  .avsky-sar-desktop .aq-opt{ display:flex; align-items:center; justify-content:space-between; gap:14px; text-align:left; width:100%; cursor:pointer; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); color:#fff; border-radius:10px; padding:14px 16px; transition:background .16s, border-color .16s, box-shadow .16s, color .16s; font-family:inherit; }
  .avsky-sar-desktop .aq-opt:hover{ background:rgba(255,255,255,0.10); }
  .avsky-sar-desktop .aq-opt.on{ background:#fff; border-color:#fff; color:#111827; box-shadow:0 10px 26px -12px rgba(0,0,0,0.6); }
  .avsky-sar-desktop .aq-opt-b{ min-width:0; }
  .avsky-sar-desktop .aq-opt-name{ display:flex; align-items:center; gap:8px; font-size:14.5px; font-weight:700; letter-spacing:-0.005em; margin-bottom:3px; }
  .avsky-sar-desktop .aq-opt-name .code{ font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:0.06em; padding:2px 6px; border-radius:4px; background:rgba(244,192,120,0.18); color:var(--gold); }
  .avsky-sar-desktop .aq-opt.on .aq-opt-name .code{ background:var(--navy); color:var(--gold); }
  .avsky-sar-desktop .aq-opt-addr{ display:block; font-size:12.5px; color:rgba(255,255,255,0.6); line-height:1.4; }
  .avsky-sar-desktop .aq-opt.on .aq-opt-addr{ color:#4B5563; }
  .avsky-sar-desktop .aq-opt-tag{ flex:0 0 auto; font-family:'JetBrains Mono',monospace; font-size:8.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:4px 8px; border-radius:999px; }
  .avsky-sar-desktop .aq-opt-tag.primary{ background:var(--gold); color:var(--navy); }
  .avsky-sar-desktop .aq-opt-tag.alt{ background:rgba(255,255,255,0.12); color:rgba(255,255,255,0.7); }
  .avsky-sar-desktop .aq-opt.on .aq-opt-tag.alt{ background:rgba(15,28,46,0.10); color:#6B7280; }
  .avsky-sar-desktop .aq-map{ display:flex; align-self:start; }
  .avsky-sar-desktop .aq-map .map-card{ width:100%; aspect-ratio:3/2; min-height:0; }
  /* Per-airport aircraft-fit list — white card (approved design) */
  .avsky-sar-desktop .aq-detail{ margin-top:30px; }
  .avsky-sar-desktop .aqf-card{ background:#fff; border:1px solid #ECE3D2; border-radius:14px; box-shadow:0 26px 60px -30px rgba(0,0,0,0.55); overflow:hidden; }
  .avsky-sar-desktop .aqf-bar{ display:flex; align-items:center; gap:11px; padding:15px 26px; background:var(--navy); background-image:radial-gradient(ellipse at 100% 0%, rgba(244,192,120,0.16), transparent 60%); }
  .avsky-sar-desktop .aqf-bar .ic{ color:var(--gold); display:flex; }
  .avsky-sar-desktop .aqf-bar .ic svg{ width:18px; height:18px; }
  .avsky-sar-desktop .aqf-bar .tx{ font-size:12.5px; font-weight:500; color:rgba(255,255,255,0.86); }
  .avsky-sar-desktop .aqf-bar .tx b{ font-weight:700; color:#fff; }
  .avsky-sar-desktop .aqf-head{ padding:22px 26px 4px; }
  .avsky-sar-desktop .aqf-eyebrow{ display:block; font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px; }
  .avsky-sar-desktop .aqf-title{ font-size:19px; font-weight:700; color:var(--navy); letter-spacing:-0.01em; margin:0; }
  .avsky-sar-desktop .aqf-colhead{ display:grid; grid-template-columns:1.7fr 0.85fr 1fr; gap:12px; padding:16px 26px 9px; }
  .avsky-sar-desktop .aqf-colhead span{ font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.11em; text-transform:uppercase; color:#A99A82; }
  .avsky-sar-desktop .aqf-colhead .r{ text-align:right; }
  .avsky-sar-desktop .aqf-row{ display:grid; grid-template-columns:1.7fr 0.85fr 1fr; gap:12px; align-items:center; padding:13px 26px; border-top:1px solid #ECE3D2; }
  .avsky-sar-desktop .aqf-cl .cls{ font-size:14px; font-weight:600; color:var(--navy); }
  .avsky-sar-desktop .aqf-cl .eg{ font-size:12.5px; color:#556070; margin-top:2px; }
  .avsky-sar-desktop .aqf-cost{ font-size:14.5px; font-weight:700; color:var(--navy); font-variant-numeric:tabular-nums; white-space:nowrap; }
  .avsky-sar-desktop .aqf-cost .u{ font-size:11px; font-weight:600; color:#A99A82; margin-left:2px; }
  .avsky-sar-desktop .aqf-stat{ display:inline-flex; align-items:center; gap:8px; justify-content:flex-end; text-align:right; font-size:12.5px; font-weight:600; color:var(--navy); }
  .avsky-sar-desktop .aqf-ic{ flex:0 0 auto; width:18px; height:18px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; }
  .avsky-sar-desktop .aqf-ic svg{ width:11px; height:11px; }
  .avsky-sar-desktop .aqf-stat.ok .aqf-ic{ background:var(--gold-deep); color:#fff; }
  .avsky-sar-desktop .aqf-stat.ltd{ color:#6B5B44; }
  .avsky-sar-desktop .aqf-stat.ltd .aqf-ic{ background:#E8A33A; color:#fff; }
  .avsky-sar-desktop .aqf-stat.maybe{ color:#33608F; }
  .avsky-sar-desktop .aqf-stat.maybe .aqf-ic{ background:#E3EDF8; color:#33608F; }
  .avsky-sar-desktop .aqf-stat.via{ color:#556070; }
  .avsky-sar-desktop .aqf-stat.via .aqf-ic{ background:#E7EAEE; color:#556070; }
  .avsky-sar-desktop .aqf-note{ margin:0; padding:15px 26px 18px; background:#FAF7F2; border-top:1px solid #ECE3D2; font-size:13px; line-height:1.55; color:#556070; }
  @media (max-width:900px){ .avsky-sar-desktop .airports-quad{ grid-template-columns:1fr; } }

  /* Details + Snapshots */
  .avsky-sar-desktop .details-section { max-width: 1320px; margin: 0 auto 56px; padding: 0 32px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 32px; align-items: start; }
  .avsky-sar-desktop .details-left .eyebrow-text { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 12px; display: inline-block; }
  .avsky-sar-desktop .details-left .eyebrow-text::before { content: ''; display: inline-block; width: 20px; height: 1px; background: var(--gold); vertical-align: 4px; margin-right: 10px; }
  .avsky-sar-desktop .details-block { margin-top: 20px; }
  .avsky-sar-desktop .details-left .eyebrow-text + .details-block { margin-top: 6px; }
  .avsky-sar-desktop .details-block + .details-block { padding-top: 20px; border-top: 1px solid var(--hairline); }
  .avsky-sar-desktop .details-block h3 { font-size: 20px; font-weight: 700; color: var(--navy); letter-spacing: -0.01em; margin-bottom: 10px; }
  .avsky-sar-desktop .details-block p { font-size: 15.5px; line-height: 1.65; color: #4B5563; }
  .avsky-sar-desktop .snapshots-card { background: var(--navy); color: #FFF; border-radius: 14px; padding: 32px 32px 30px; position: sticky; top: 96px; overflow: hidden; }
  .avsky-sar-desktop .snapshots-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 100% 100%, rgba(244,192,120,0.10), transparent 55%); pointer-events: none; }
  .avsky-sar-desktop .snapshots-card > * { position: relative; }
  .avsky-sar-desktop .snapshots-card .eyebrow-text { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; display: inline-block; }
  .avsky-sar-desktop .snapshots-card .eyebrow-text::before { content: ''; display: inline-block; width: 20px; height: 1px; background: var(--gold); vertical-align: 4px; margin-right: 10px; }
  .avsky-sar-desktop .snapshots-card h3 { font-size: 22px; font-weight: 700; color: #FFF; letter-spacing: -0.012em; margin-bottom: 20px; line-height: 1.2; }
  .avsky-sar-desktop .snapshots-card h3 em { font-style: italic; color: var(--gold); font-weight: 600; }
  .avsky-sar-desktop .snapshot-row { display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,0.10); }
  .avsky-sar-desktop .snapshot-row:last-child { border-bottom: none; }
  .avsky-sar-desktop .snapshot-row:first-of-type { padding-top: 8px; }
  .avsky-sar-desktop .snapshot-num { width: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; }
  .avsky-sar-desktop .snapshot-num::after { content: ''; width: 18px; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #F4C078, #C8841F); }
  .avsky-sar-desktop .snapshot-num span { font-family: 'JetBrains Mono', monospace; font-size: 24px; font-weight: 700; letter-spacing: 0.02em; line-height: 1; background: linear-gradient(180deg, #F4C078, #C8841F); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .avsky-sar-desktop .snapshot-text h4 { font-size: 15.5px; font-weight: 700; color: #FFF; letter-spacing: -0.005em; margin-bottom: 4px; }
  .avsky-sar-desktop .snapshot-text p { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,0.72); }

  /* FAQ */
  .avsky-sar-desktop .faq-section { position: relative; padding: 56px 32px 56px; overflow: hidden; background: var(--navy); }
  .avsky-sar-desktop .faq-section::before {
    content: '';
    position: absolute; inset: 0;
    background:
      radial-gradient(ellipse at 80% 0%, rgba(244,192,120,0.10), transparent 58%);
    background-repeat: no-repeat;
    pointer-events: none;
  }
  /* texture options */
  /* Glass: mirror the nav bar's dawn-sky atmosphere (gold + blue glows + terracotta wash) */
  .avsky-sar-desktop .faq-section{
    background-image:
      radial-gradient(ellipse at 0% 100%, rgba(244,192,120,0.16), transparent 55%),
      radial-gradient(ellipse at 100% 0%, rgba(143,193,230,0.10), transparent 50%);
  }
  .avsky-sar-desktop .faq-section::before{
    background:
      linear-gradient(135deg, rgba(26,42,74,0.0) 0%, rgba(201,123,93,0.16) 58%, rgba(15,28,46,0.0) 100%);
  }
  /* the other named options clear the atmosphere unless chosen */
  /* frosted-glass FAQ card variant (echoes the nav pill) */
  .avsky-sar-desktop .faq-card-wrap { position: relative; z-index: 1; background: #FFF; border: 1px solid var(--hairline); border-radius: 14px; padding: 36px 36px 32px; max-width: 1256px; margin: 0 auto; box-shadow: 0 20px 60px -20px rgba(15,28,46,0.30), 0 8px 30px -10px rgba(15,28,46,0.15); }
  .avsky-sar-desktop .faq-card-wrap h2 { font-size: 26px; font-weight: 700; color: var(--navy); letter-spacing: -0.012em; margin-bottom: 24px; }
  .avsky-sar-desktop .faq-card-wrap h2 em { font-style: italic; color: var(--gold-deep); font-weight: 600; }
  .avsky-sar-desktop .faq-item { border-top: 1px solid var(--hairline); padding: 16px 0; cursor: pointer; }
  .avsky-sar-desktop .faq-item:last-child { border-bottom: 1px solid var(--hairline); }
  .avsky-sar-desktop .faq-item .q { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14.5px; font-weight: 600; color: var(--navy); letter-spacing: -0.005em; }
  .avsky-sar-desktop .faq-item .q .chev { color: #6B7280; transition: transform .25s; flex-shrink: 0; }
  .avsky-sar-desktop .faq-item .a { display: none; margin-top: 12px; font-size: 15px; line-height: 1.7; color: #4B5563; }
  .avsky-sar-desktop .faq-item.open .a { display: block; }
  .avsky-sar-desktop .faq-item.open .chev { transform: rotate(180deg); color: var(--gold-deep); }
  .avsky-sar-desktop .faq-item:hover .chev { color: var(--gold-deep); }

  /* Footer — B design: flat, square, full-bleed; nav-matched */
  .avsky-sar-desktop .ftr { background: var(--navy); border-top: 2px solid rgba(244,192,120,0.4); color: rgba(255,255,255,0.75); position: relative; overflow: hidden; }
  .avsky-sar-desktop .ftr::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 100% 0%, rgba(244,192,120,0.10), transparent 55%); pointer-events: none; }
  .avsky-sar-desktop .ftr > * { position: relative; z-index: 1; }
  .avsky-sar-desktop .ftr-inner { max-width: 1320px; margin: 0 auto; padding: 0 32px; }
  .avsky-sar-desktop .ftr-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 36px 0 28px; border-bottom: 1px solid rgba(255,255,255,0.10); }
  .avsky-sar-desktop .ftr-brand { display: flex; align-items: center; gap: 20px; }
  .avsky-sar-desktop .ftr-brand img { height: 36px; filter: brightness(0) invert(1); display: block; }
  .avsky-sar-desktop .ftr-brand p { font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.65); max-width: none; white-space: nowrap; }
  .avsky-sar-desktop .ftr-cta { display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px; background: var(--gold); color: var(--navy); border-radius: 999px; font-size: 13.5px; font-weight: 700; text-decoration: none; cursor: pointer; border: 0; box-shadow: 0 8px 18px -6px rgba(244,192,120,0.45); transition: background .18s, transform .18s; flex-shrink: 0; }
  .avsky-sar-desktop .ftr-cta:hover { background: #FFD89B; box-shadow: 0 12px 24px -8px rgba(244,192,120,0.6); }
  .avsky-sar-desktop .ftr-cta svg { width: 13px; height: 13px; }
  .avsky-sar-desktop .ftr-cols { display: grid; grid-template-columns: 1fr 1fr 1fr; margin: 0 -40px; }
  .avsky-sar-desktop .ftr-col { padding: 36px 40px; border-right: 1px solid rgba(255,255,255,0.10); }
  .avsky-sar-desktop .ftr-col:last-child { border-right: none; }
  .avsky-sar-desktop .ftr-col h5 { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
  .avsky-sar-desktop .ftr-col h5::before { content: ''; width: 18px; height: 1px; background: var(--gold); }
  .avsky-sar-desktop .ftr-col a, .avsky-sar-desktop .ftr-col p { display: block; font-size: 14px; color: rgba(255,255,255,0.75); line-height: 1.9; transition: color .15s; text-decoration: none; }
  .avsky-sar-desktop .ftr-col p { color: rgba(255,255,255,0.5); }
  .avsky-sar-desktop .ftr-col a:hover { color: var(--gold); }
  .avsky-sar-desktop .ftr-strip { background: rgba(0,0,0,0.12); border-top: 1px solid rgba(255,255,255,0.10); }
  .avsky-sar-desktop .ftr-strip-inner { max-width: 1320px; margin: 0 auto; padding: 18px 32px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
  .avsky-sar-desktop .ftr-strip .legal { font-size: 12px; color: rgba(255,255,255,0.5); letter-spacing: 0.04em; }
  .avsky-sar-desktop .ftr-strip .legal a { color: rgba(255,255,255,0.65); margin-left: 16px; text-decoration: none; transition: color .15s; }
  .avsky-sar-desktop .ftr-strip .legal a:hover { color: var(--gold); }
  .avsky-sar-desktop .ftr-socials { display: flex; gap: 10px; }
  .avsky-sar-desktop .ftr-socials a { width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14); display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.72); transition: background .15s, border-color .15s, color .15s, transform .15s; }
  .avsky-sar-desktop .ftr-socials a:hover { background: rgba(244,192,120,0.14); border-color: var(--gold); color: var(--gold); }
  .avsky-sar-desktop .ftr-socials svg { width: 13px; height: 13px; }

  /* Responsive collapse below 1024px (tablet) */
  @media (min-width: 641px) and (max-width: 1024px) {
    .avsky-sar-desktop .itin-hero { grid-template-columns: 1fr; }
    .avsky-sar-desktop .itin-hero-images { flex-direction: row; }
    .avsky-sar-desktop .itin-hero-photo { height: 180px; flex: 1; }
    .avsky-sar-desktop .spec { grid-template-columns: 1fr; gap: 36px; }
    .avsky-sar-desktop .pricing-split { grid-template-columns: 1fr; }
    .avsky-sar-desktop .airport-cards { grid-template-columns: 1fr; }
    .avsky-sar-desktop .airport-maps { grid-template-columns: 1fr; }
    .avsky-sar-desktop .details-section { grid-template-columns: 1fr; }
    .avsky-sar-desktop .snapshots-card { position: static; }
    .avsky-sar-desktop .ftr-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .avsky-sar-desktop .ftr-brand { grid-column: 1 / -1; }
  }

/* ===== DETAILS + NEARBY (desktop, co-located, design 2021-2055) ===== */
        /* Match the "AvSky difference" band treatment exactly: white panel with a
           warm gold radial glow + the gradient seams below — NOT a flat cream slab. */
        .avsky-sar-desktop .nearby-section{ background:radial-gradient(ellipse at 82% 6%, rgba(244,192,120,0.12), transparent 58%) #FFF; position:relative; }
        /* Soft gold gradient seams (top + bottom) — matches the "AvSky difference" band
           instead of abrupt solid hairlines. */
        .avsky-sar-desktop .nearby-section::before,
        .avsky-sar-desktop .nearby-section::after{ content:''; position:absolute; left:0; right:0; height:2px; z-index:2; background:linear-gradient(to right, var(--gold) 0%, rgba(244,192,120,0.45) 38%, rgba(244,192,120,0.10) 72%, transparent 100%); }
        .avsky-sar-desktop .nearby-section::before{ top:0; }
        .avsky-sar-desktop .nearby-section::after{ bottom:0; transform:scaleX(-1); }
        .avsky-sar-desktop .nearby-inner{ max-width:1320px; margin:0 auto; padding:56px 32px 60px; }
        .avsky-sar-desktop .nearby-head{ margin-bottom:30px; }
        .avsky-sar-desktop .nearby-head .eyebrow-text{ font-size:11px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:12px; display:inline-block; }
        .avsky-sar-desktop .nearby-head .eyebrow-text::before{ content:''; display:inline-block; width:20px; height:1px; background:var(--gold); vertical-align:4px; margin-right:10px; }
        .avsky-sar-desktop .nearby-head h2{ font-family:'Fraunces',serif; font-size:34px; font-weight:600; color:var(--navy); letter-spacing:-0.02em; margin:0; }
        .avsky-sar-desktop .nearby-head h2 em{ font-style:normal; color:var(--gold-deep); }
        .avsky-sar-desktop .nearby-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
        .avsky-sar-desktop .nearby-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--hairline); border-radius:6px; overflow:hidden; text-decoration:none; color:inherit; box-shadow:0 1px 2px rgba(11,22,38,0.04); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
        .avsky-sar-desktop .nearby-card:hover{ transform:translateY(-5px); box-shadow:0 22px 44px -22px rgba(11,22,38,0.42); border-color:rgba(200,132,31,0.4); }
        /* Photo zone — gradient placeholder; drop a real destination photo as the background of .nc-photo-img */
        .avsky-sar-desktop .nc-photo{ position:relative; height:178px; overflow:hidden; }
        .avsky-sar-desktop .nc-photo-img{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s ease; }
        .avsky-sar-desktop .nearby-card:hover .nc-photo-img{ transform:scale(1.06); }
        .avsky-sar-desktop .nc-photo::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,16,28,0) 42%, rgba(8,16,28,0.42) 100%); }
        .avsky-sar-desktop .nc-p1{ background-image:linear-gradient(150deg,#5AA6C4 0%,#9FD0D6 48%,#E4D8BC 100%); }
        .avsky-sar-desktop .nc-p2{ background-image:linear-gradient(150deg,#E9C57E 0%,#C89A4E 52%,#8A6A2E 100%); }
        .avsky-sar-desktop .nc-p3{ background-image:linear-gradient(150deg,#57B0B8 0%,#4E86B4 52%,#33607A 100%); }
        .avsky-sar-desktop .nc-p4{ background-image:linear-gradient(150deg,#7CB6D4 0%,#3E7EA0 55%,#264F63 100%); }
        .avsky-sar-desktop .nc-hop{ position:absolute; top:12px; left:12px; z-index:2; display:inline-flex; align-items:center; gap:6px; font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#fff; background:rgba(8,16,28,0.5); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,0.18); padding:5px 9px; border-radius:999px; }
        .avsky-sar-desktop .nc-hop svg{ width:11px; height:11px; }
        .avsky-sar-desktop .nc-cap{ position:absolute; left:16px; bottom:13px; z-index:2; display:flex; align-items:baseline; gap:9px; }
        .avsky-sar-desktop .nc-cap h3{ font-family:'Fraunces',serif; font-size:23px; font-weight:600; color:#fff; letter-spacing:-0.01em; margin:0; text-shadow:0 2px 14px rgba(8,16,28,0.55); }
        .avsky-sar-desktop .nc-cap .nc-code{ flex:0 0 auto; font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.06em; padding:3px 7px; border-radius:4px; background:rgba(244,192,120,0.92); color:var(--navy); }
        .avsky-sar-desktop .nc-body{ display:flex; flex-direction:column; flex:1; padding:15px 17px 14px; }
        .avsky-sar-desktop .nc-body p{ font-size:14px; line-height:1.55; color:#556070; margin:0 0 13px; }
        .avsky-sar-desktop .nc-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:12px; border-top:1px solid var(--hairline); }
        .avsky-sar-desktop .nc-dur{ display:inline-flex; align-items:center; gap:6px; font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:600; letter-spacing:0.03em; color:#8A7A5E; white-space:nowrap; }
        .avsky-sar-desktop .nc-dur svg{ width:12px; height:12px; color:var(--gold-deep); }
        .avsky-sar-desktop .nc-link{ display:inline-flex; align-items:center; gap:5px; font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); white-space:nowrap; }
        .avsky-sar-desktop .nc-link svg{ width:13px; height:13px; transition:transform .2s ease; }
        .avsky-sar-desktop .nearby-card:hover .nc-link svg{ transform:translateX(3px); }
        @media (max-width:1024px){ .avsky-sar-desktop .nearby-grid{ grid-template-columns:1fr 1fr; } }

/* ===== MOBILE NEARBY (design 2353-2372) ===== */
  .avsky-sar-mobile .m-near{ padding:28px 22px 30px; background:var(--cream); border-top:1px solid var(--hairline); }
  .avsky-sar-mobile .m-near-eyebrow{ font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px; }
  .avsky-sar-mobile .m-near h2{ font-family:'Fraunces',serif; font-size:25px; font-weight:600; color:var(--navy); letter-spacing:-0.01em; margin:0 0 18px; line-height:1.1; }
  .avsky-sar-mobile .m-near h2 em{ font-style:normal; color:var(--gold-deep); }
  .avsky-sar-mobile .m-near-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .avsky-sar-mobile .m-near-card{ position:relative; display:block; border-radius:8px; overflow:hidden; text-decoration:none; color:#fff; min-height:134px; box-shadow:0 6px 18px -10px rgba(11,22,38,0.42); }
  .avsky-sar-mobile .m-near-card .img{ position:absolute; inset:0; background-size:cover; background-position:center; }
  .avsky-sar-mobile .m-near-card::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,16,28,0.04) 30%, rgba(8,16,28,0.72) 100%); }
  .avsky-sar-mobile .mn-p1{ background-image:linear-gradient(150deg,#5AA6C4,#9FD0D6 48%,#E4D8BC); }
  .avsky-sar-mobile .mn-p2{ background-image:linear-gradient(150deg,#E9C57E,#C89A4E 52%,#8A6A2E); }
  .avsky-sar-mobile .mn-p3{ background-image:linear-gradient(150deg,#57B0B8,#4E86B4 52%,#33607A); }
  .avsky-sar-mobile .mn-p4{ background-image:linear-gradient(150deg,#7CB6D4,#3E7EA0 55%,#264F63); }
  .avsky-sar-mobile .m-near-hop{ position:absolute; top:9px; left:9px; z-index:2; display:inline-flex; align-items:center; gap:5px; font-family:'JetBrains Mono',monospace; font-size:8px; font-weight:700; letter-spacing:0.05em; color:#fff; background:rgba(8,16,28,0.5); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); border:1px solid rgba(255,255,255,0.18); padding:3px 7px; border-radius:999px; }
  .avsky-sar-mobile .m-near-hop svg{ width:9px; height:9px; }
  .avsky-sar-mobile .m-near-cap{ position:absolute; left:11px; right:11px; bottom:10px; z-index:2; }
  .avsky-sar-mobile .m-near-cap .nm{ font-family:'Fraunces',serif; font-size:17px; font-weight:600; letter-spacing:-0.01em; display:block; text-shadow:0 2px 10px rgba(8,16,28,0.5); }
  .avsky-sar-mobile .m-near-cap .meta{ display:flex; align-items:center; gap:6px; margin-top:3px; font-family:'JetBrains Mono',monospace; font-size:8.5px; font-weight:600; letter-spacing:0.05em; color:rgba(255,255,255,0.85); }
  .avsky-sar-mobile .m-near-cap .meta b{ color:var(--gold); font-weight:700; }

/* ===== HERO (immersive) + spec layout + benefits strip (design 4011-4096) ===== */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');
.avsky-sar-desktop .itin-hero-immersive{ position:relative; max-width:1320px; margin:0 auto; border-radius:0; overflow:hidden; min-height:680px; display:flex; flex-direction:column; box-shadow:0 30px 70px -30px rgba(11,22,38,0.55); }
/* Gradient fallback only — the real hero photo is injected inline from ACF
   (dest3_hero_bg_image); an unset image degrades to the prototype gradient. */
.avsky-sar-desktop .hiz-bg{ position:absolute; inset:0; background:linear-gradient(160deg,#2a6f8f,#cdb98a); }
.avsky-sar-desktop .hiz-scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,16,28,0.55) 0%, rgba(8,16,28,0.18) 16%, rgba(8,16,28,0.14) 58%, rgba(8,16,28,0.30) 80%, rgba(8,16,28,0.62) 100%); }
.avsky-sar-desktop .hiz-body{ position:relative; z-index:2; flex:1; display:grid; grid-template-columns:1fr 520px; gap:44px; align-items:center; padding:54px 56px 58px; }
.avsky-sar-desktop .hiz-copy{ max-width:540px; position:relative; }
.avsky-sar-desktop .hiz-copy > *{ position:relative; z-index:1; }
.avsky-sar-desktop .hiz-copy::before{ content:''; position:absolute; z-index:0; inset:-60px -140px -54px -120px; background:radial-gradient(116% 104% at 24% 52%, rgba(8,16,28,0.82) 0%, rgba(8,16,28,0.64) 40%, rgba(8,16,28,0.3) 64%, rgba(8,16,28,0) 82%); filter:blur(26px); pointer-events:none; opacity:var(--hiz-text-scrim,1); transform:scale(var(--hiz-text-scrim-size,1)); }
.avsky-sar-desktop .hiz-copy .hiz-ey{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); font-weight:700; display:inline-flex; align-items:center; gap:10px; white-space:nowrap; }
.avsky-sar-desktop .hiz-copy .hiz-ey::before{ content:''; width:26px; height:1px; background:var(--gold); }
.avsky-sar-desktop .hiz-h1{ font-family:'Fraunces',serif; font-size:calc(66px * var(--hiz-h1-scale,1)); font-weight:600; line-height:1.0; color:#fff; letter-spacing:-0.02em; margin:18px 0 0; text-wrap: pretty; max-width:600px; }
.avsky-sar-desktop .hiz-h1 .ar{ color:var(--gold); font-weight:400; }
.avsky-sar-desktop .hiz-sub{ font-size:15px; line-height:1.6; color:rgba(255,255,255,0.94); margin-top:18px; max-width:400px; text-wrap:pretty; text-shadow:0 1px 16px rgba(8,16,28,0.7), 0 1px 3px rgba(8,16,28,0.5); }
.avsky-sar-desktop .hiz-ey{ text-shadow:0 1px 12px rgba(8,16,28,0.75); }
.avsky-sar-desktop .hiz-pill{ display:inline-flex; align-items:center; gap:9px; margin-top:24px; padding:11px 20px; border:1px solid rgba(244,192,120,0.5); border-radius:999px; background:rgba(8,16,28,0.32); backdrop-filter:blur(6px); text-shadow:0 1px 10px rgba(8,16,28,0.7); font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); background:rgba(8,16,28,0.25); backdrop-filter:blur(6px); white-space:nowrap; }
.avsky-sar-desktop .hiz-pill svg{ width:15px; height:15px; }
.avsky-sar-desktop .hiz-form{ position:relative; z-index:2; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 34px 70px -22px rgba(8,16,28,0.7); align-self:center; }
/* inner form sheds its own chrome so the wrapper owns one clean rounded border */
.avsky-sar-desktop .hiz-form .form-card{ border:none !important; border-radius:0 !important; box-shadow:none !important; background:transparent !important; }
/* compress the form so it reads as a wider rectangle, not a tall column */
.avsky-sar-desktop .hiz-form .form-head{ padding:15px 24px 12px; }
.avsky-sar-desktop .hiz-form .form-body{ padding:15px 24px 19px; gap:9px; }
.avsky-sar-desktop .hiz-form .form-row{ margin-bottom:9px; }
.avsky-sar-desktop .hiz-form .form-label{ margin-bottom:4px; }
.avsky-sar-desktop .hiz-form .form-input{ padding:9px 11px; }
.avsky-sar-desktop .hiz-form .form-textarea{ min-height:48px; }
.avsky-sar-desktop .hiz-bar{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 48px; height:76px; background:rgba(8,16,28,0.58); backdrop-filter:blur(16px); border-top:1px solid rgba(244,192,120,0.22); }
/* spec card sits to the right of the prose, exactly aligned with the hero quote form:
   same 520px width, same gutters/gap as .hiz-body, so card and form share left+right edges */
.avsky-sar-desktop .spec{ padding-top:44px; padding-left:56px; padding-right:56px; grid-template-columns:1fr 520px; gap:44px; }
.avsky-sar-desktop .spec .spec-card{ position:sticky; top:96px; }
@media (max-width:1024px){
  .avsky-sar-desktop .hiz-body{ grid-template-columns:1fr; }
  .avsky-sar-desktop .hiz-bar{ flex-direction:column; height:auto; gap:14px; padding:18px 24px; align-items:flex-start; }
}

/* ── AvSky benefits strip (hero base) ── */
.avsky-sar-desktop .hiz-benefits{ display:grid; grid-template-columns:repeat(4,1fr); width:100%; gap:0; }
.avsky-sar-desktop .hiz-benefit{ display:flex; align-items:center; justify-content:center; gap:13px; padding:0 24px; position:relative; }
.avsky-sar-desktop .hiz-benefit + .hiz-benefit::before{ content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); height:34px; width:1px; background:rgba(255,255,255,0.14); }
.avsky-sar-desktop .hiz-benefit-ic{ flex-shrink:0; width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; color:var(--gold); border:1px solid rgba(244,192,120,0.3); background:rgba(244,192,120,0.06); }
.avsky-sar-desktop .hiz-benefit-ic svg{ width:17px; height:17px; }
.avsky-sar-desktop .hiz-benefit-tx{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.avsky-sar-desktop .hiz-benefit-tx b{ font-size:14px; font-weight:700; color:#fff; letter-spacing:-0.01em; line-height:1.15; }
.avsky-sar-desktop .hiz-benefit-tx span{ font-size:11.5px; color:rgba(255,255,255,0.6); line-height:1.2; }
@media (max-width:1024px){
  .avsky-sar-desktop .hiz-benefits{ grid-template-columns:1fr 1fr; gap:18px 0; }
  .avsky-sar-desktop .hiz-benefit:nth-child(odd){ padding-left:0; }
  .avsky-sar-desktop .hiz-benefit:nth-child(even)::before{ display:none; }
}

/* ===== SPEC CARD — white 'glass-card' surface (design 4097-4135; dead spec-route/tile/opts/cta-inline stripped) ===== */
/* spec card — WHITE rounded card (the design's "glass-card" override).
   Dead spec-route / spec-tile / spec-opts / spec-cta-inline rules stripped:
   the destination spec card is redesigned and the template emits none of them. */
.avsky-sar-desktop .spec-card{
  background:#fff; border:1px solid #ECE3D2; border-radius:14px;
  box-shadow:0 24px 56px -28px rgba(11,22,38,0.22);
  overflow:hidden; backdrop-filter:none; -webkit-backdrop-filter:none;
}
.avsky-sar-desktop .spec-card::before{ display:none; }

/* ===== SPEC CTA ANCHOR — navy call-to-action under the overview (design 4146-4165) ===== */
.avsky-sar-desktop .spec{ align-items:start; }
.avsky-sar-desktop .spec .spec-copy{ align-self:start; grid-column:1; grid-row:1; }
.avsky-sar-desktop .spec-cta-anchor{ grid-column:1; grid-row:2; margin-top:24px; background:var(--navy); border-radius:16px; padding:32px 34px 32px; position:relative; overflow:hidden; }
.avsky-sar-desktop .spec .spec-card{ grid-column:2; grid-row:1 / span 2; position:sticky; top:130px; align-self:start; }
/* Tablet (≤1024px): the fixed 520px spec card overflows beside the prose, so stack
   the whole spec column. Declared AFTER the unconditional grid-placement rules
   above (1746/1781-1783) so it wins the cascade instead of being clobbered. */
@media (max-width:1024px){
  .avsky-sar-desktop .spec{ grid-template-columns:1fr; gap:34px; padding-left:32px; padding-right:32px; }
  .avsky-sar-desktop .spec .spec-copy{ grid-column:1; grid-row:auto; }
  .avsky-sar-desktop .spec .spec-cta-anchor{ grid-column:1; grid-row:auto; }
  .avsky-sar-desktop .spec .spec-card{ grid-column:1; grid-row:auto; position:static; top:auto; width:auto; max-width:560px; }
}
.avsky-sar-desktop .spec-cta-anchor{ grid-column:1; grid-row:2; margin-top:24px; background:var(--navy); border-radius:16px; padding:32px 34px 32px; position:relative; overflow:hidden; }
.avsky-sar-desktop .spec-cta-anchor::before{ content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 100% 0%, rgba(244,192,120,0.12), transparent 58%); pointer-events:none; }
.avsky-sar-desktop .spec-cta-anchor > *{ position:relative; z-index:1; }
.avsky-sar-desktop .spec-cta-anchor .cta-eyebrow{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.avsky-sar-desktop .spec-cta-anchor .cta-lead{ font-family:'Poppins',sans-serif; font-size:25px; font-weight:700; color:#fff; letter-spacing:-0.015em; line-height:1.18; margin:0 0 14px; max-width:none; }
.avsky-sar-desktop .spec-cta-anchor .cta-lead em{ font-style:normal; color:#fff; }
.avsky-sar-desktop .spec-cta-anchor .cta-body{ font-size:15px; line-height:1.65; color:rgba(255,255,255,0.72); margin:0 0 22px; max-width:none; text-wrap:pretty; }
.avsky-sar-desktop .spec-cta-anchor .cta-act{ display:flex; align-items:center; gap:10px 20px; flex-wrap:wrap; margin-top:4px; }
.avsky-sar-desktop .spec-cta-anchor .cta-body{ margin-bottom:22px; }
.avsky-sar-desktop .spec-cta-anchor .cta-btn{ display:inline-flex; align-items:center; gap:10px; padding:16px 28px; border-radius:12px; background:var(--gold); color:var(--navy); font-size:15px; font-weight:700; text-decoration:none; transition:transform .15s, box-shadow .15s; box-shadow:0 14px 30px -12px rgba(232,163,58,0.5); }
.avsky-sar-desktop .spec-cta-anchor .cta-btn svg{ width:16px; height:16px; color:var(--navy); }
.avsky-sar-desktop .spec-cta-anchor .cta-btn:hover{ background:#FFD89B; box-shadow:0 18px 36px -12px rgba(232,163,58,0.65); }
.avsky-sar-desktop .spec-cta-anchor .cta-phone{ font-size:13px; color:rgba(255,255,255,0.6); text-decoration:none; }
.avsky-sar-desktop .spec-cta-anchor .cta-phone:hover{ color:#fff; }

/* ===== AVX — the AvSky difference band (design 4168-4312; only [data-v=06]/.o6 renders, o1-o5 inert per itinerary-3 precedent) ===== */
.avsky-sar-desktop .avx{
  --gold-deep:#C8841F; --gold-mid:#E8A33A; --gold:#F4C078;
  --navy:#0B1626; --navy-2:#0F1C2E; --cream:#FAF7F2; --hairline:#ECE3D2; --tan:#8B7355; --body:#4B5563;
  margin:0 0 56px; padding:0; box-sizing:border-box;
}
.avsky-sar-desktop .avx *{ box-sizing:border-box; }
.avsky-sar-desktop .avx .avx-variant{ display:none; max-width:1320px; margin:0 auto; padding:0 32px; }
.avsky-sar-desktop .avx .avx-variant[data-av-active]{ display:block; }
/* v6 = full-bleed band styled like the spec card: white bg + gold rules */
.avsky-sar-desktop .avx .avx-variant[data-v="06"]{ max-width:none; padding:0; background:#FFF; position:relative; }
.avsky-sar-desktop .avx .avx-variant[data-v="06"]::before,
.avsky-sar-desktop .avx .avx-variant[data-v="06"]::after{ content:''; position:absolute; left:0; right:0; height:2px; z-index:2; background:linear-gradient(to right, var(--gold) 0%, rgba(244,192,120,0.45) 38%, rgba(244,192,120,0.10) 72%, transparent 100%); }
.avsky-sar-desktop .avx .avx-variant[data-v="06"]::before{ top:0; }
.avsky-sar-desktop .avx .avx-variant[data-v="06"]::after{ bottom:0; transform:scaleX(-1); }
/* band shading options */
.avsky-sar-desktop .avx .avx-variant[data-v="06"] .o6{ background:radial-gradient(ellipse at 82% 6%, rgba(244,192,120,0.12), transparent 58%); }
.avsky-sar-desktop .avx{
  .eyebrow{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-deep); }
    h2.head{ font-family:'Poppins',sans-serif; font-weight:700; font-size:34px; line-height:1.08; letter-spacing:-0.02em; color:var(--navy); text-wrap: pretty; }
    h2.head em{ font-style:normal; font-family:inherit; font-weight:inherit; color:inherit; }
    p.body{ font-size:15px; line-height:1.7; color:var(--body); }
    .photo{ position:relative; overflow:hidden; background:
        linear-gradient(135deg, rgba(11,22,38,0.04), rgba(11,22,38,0.10)),
        repeating-linear-gradient(45deg,#d8cdb8 0 14px,#d2c6af 14px 28px); display:flex; align-items:center; justify-content:center; }
    .photo .ph{ display:flex; flex-direction:column; align-items:center; gap:8px; color:#9a8e72; font-size:12px; letter-spacing:0.04em; }
    .photo .ph svg{ width:30px; height:30px; opacity:0.7; }
    /* ============ 6 — FULL-BLEED BAND (spec-card styling) ============ */
    .o6{ background:transparent; border:none; border-radius:0; overflow:visible; display:grid; grid-template-columns:1fr 520px; gap:44px; align-items:center; max-width:1320px; margin:0 auto; padding:60px 56px; }
    .o6 .photo{ min-height:400px; border-radius:14px; border:1px solid var(--hairline); overflow:hidden; position:relative; }
    .o6 .photo img{ width:100%; height:100%; min-height:400px; object-fit:cover; object-position:center; display:block; }
    .o6 .photo .photo-cap{ position:absolute; left:0; right:0; bottom:0; padding:34px 22px 16px; font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:#fff; background:linear-gradient(to top, rgba(11,22,38,0.82), rgba(11,22,38,0)); text-shadow:0 1px 10px rgba(11,22,38,0.5); }
    .o6 .cnt{ padding:0 0 0 28px; align-self:center; }
    .o6 .eyebrow{ display:block; margin-bottom:16px; }
    .o6 h2.head{ margin-bottom:18px; }
    .o6 p.body{ margin-bottom:24px; max-width:none; }
    .o6 .chips{ display:flex; flex-wrap:wrap; gap:10px; }
    .o6 .chips span{ font-size:12.5px; font-weight:600; color:var(--navy); background:#fff; border:1px solid var(--hairline); border-radius:100px; padding:8px 15px; }
  
    /* ============ 7 — TIMELINE / EST. ============ */
    .o7{ display:grid; grid-template-columns:1.15fr 1fr; gap:50px; align-items:center; }
    .o7 .left .eyebrow{ display:block; margin-bottom:16px; }
    .o7 .left h2.head{ margin-bottom:26px; }
    .o7 .tl{ border-left:2px solid var(--hairline); padding-left:26px; display:flex; flex-direction:column; gap:24px; }
    .o7 .tl .row{ position:relative; }
    .o7 .tl .row::before{ content:''; position:absolute; left:-33px; top:4px; width:12px; height:12px; border-radius:50%; background:var(--gold-deep); box-shadow:0 0 0 4px var(--cream); }
    .o7 .tl .yr{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:var(--gold-deep); letter-spacing:0.06em; }
    .o7 .tl .tx{ font-size:14px; color:var(--body); line-height:1.55; margin-top:4px; max-width:360px; }
    .o7 .photo{ height:430px; border-radius:14px; }
  
    /* ============ 8 — DARK QUOTE OVER PHOTO ============ */
    .o8{ position:relative; border-radius:16px; overflow:hidden; min-height:440px; display:flex; align-items:flex-end; }
    .o8 .photo{ position:absolute; inset:0; }
    .o8::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,22,38,0.15) 0%, rgba(11,22,38,0.35) 45%, rgba(11,22,38,0.88) 100%); }
    .o8 .cnt{ position:relative; z-index:1; padding:48px; max-width:640px; color:#fff; }
    .o8 .eyebrow{ color:var(--gold); display:block; margin-bottom:16px; }
    .o8 .big-quote{ font-family:'Fraunces',serif; font-size:30px; line-height:1.3; font-weight:500; letter-spacing:-0.01em; margin-bottom:20px; text-wrap:pretty; }
    .o8 .big-quote em{ font-style:italic; color:var(--gold); }
    .o8 .sign{ display:flex; align-items:center; gap:12px; }
    .o8 .sign .nm{ font-weight:700; font-size:14px; } .o8 .sign .ti{ font-size:12.5px; color:rgba(255,255,255,0.7); }
  
    /* ============ 9 — VALUES TRIPTYCH ============ */
    .o9 .top{ display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:end; margin-bottom:36px; }
    .o9 .eyebrow{ display:block; margin-bottom:16px; }
    .o9 h2.head{ } .o9 .top p.body{ max-width:340px; }
    .o9 .photo{ height:240px; border-radius:14px; margin-bottom:32px; }
    .o9 .vals{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--hairline); }
    .o9 .vals .v{ padding:26px 24px 4px; } .o9 .vals .v + .v{ border-left:1px solid var(--hairline); }
    .o9 .vals .num{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:var(--gold-deep); }
    .o9 .vals h4{ font-family:'Fraunces',serif; font-size:19px; font-weight:600; color:var(--navy); margin:12px 0 8px; }
    .o9 .vals p{ font-size:13.5px; color:var(--body); line-height:1.6; }
  
    /* ============ 10 — ASYMMETRIC NAVY CARD + INSET ============ */
    .o10{ background:var(--navy); border-radius:16px; padding:48px; position:relative; overflow:hidden; }
    .o10::before{ content:''; position:absolute; top:-30%; right:-10%; width:420px; height:420px; background:radial-gradient(circle, rgba(244,192,120,0.14), transparent 65%); }
    .o10 .grid{ position:relative; display:grid; grid-template-columns:1fr 360px; gap:46px; align-items:center; }
    .o10 .eyebrow{ color:var(--gold); display:block; margin-bottom:16px; }
    .o10 h2.head{ color:#fff; margin-bottom:18px; } .o10 h2.head em{ color:var(--gold); }
    .o10 p.body{ color:rgba(255,255,255,0.78); margin-bottom:26px; max-width:440px; }
    .o10 .micro{ display:flex; gap:10px; align-items:center; font-size:13px; color:rgba(255,255,255,0.6); }
    .o10 .micro .dot{ width:5px; height:5px; border-radius:50%; background:var(--gold); }
    .o10 .photo{ height:340px; border-radius:14px; border:1px solid rgba(244,192,120,0.25);
        background:linear-gradient(135deg, rgba(11,22,38,0.3), rgba(11,22,38,0.6)), repeating-linear-gradient(45deg,#2a3a4d 0 14px,#24323f 14px 28px); }
    .o10 .photo .ph{ color:rgba(255,255,255,0.4); }
}
/* switcher */

/* ===== AVCALC — cost calculator modal (design 4425-4720) ===== */
  .avsky-sar-desktop .spec-calc-embed{ align-self:start; }
  .avcalc{ position:relative; width:100%; }

.avcalc {
    --navy:#0B1626; --navy-2:#0F1C2E; --gold:#F4C078; --gold-mid:#E8A33A; --gold-deep:#C8841F;
    --cream:#FAF7F2; --linen:#ECE4D6; --hairline:#ECE3D2; --tan:#8B7355; --ink:#0F1C2E;
    --tan-soft:#BCAF97; --tan-line:#DCCDB4;
  }
.avcalc * { box-sizing:border-box; margin:0; padding:0; }
.avcalc { font-family:'Poppins',sans-serif; color:var(--ink); -webkit-font-smoothing:antialiased; }
.avcalc .cap { max-width:520px; width:100%; margin-bottom:22px; }
.avcalc .cap .k { font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-deep); }
.avcalc .cap h1 { font-family:'Fraunces',Georgia,serif; font-size:26px; font-weight:600; letter-spacing:-0.02em; margin:9px 0 7px; }
.avcalc .cap p { font-size:13px; line-height:1.6; color:#6a6052; max-width:460px; }
.avcalc .cap p b { color:var(--ink); font-weight:600; }
.avcalc /* ── CALCULATOR CARD — same 520px footprint / shape as the rate card ── */
  .calc { width:100%; position:relative; background:#fff; border:1px solid var(--hairline); border-radius:14px;
    box-shadow:0 24px 56px -28px rgba(11,22,38,0.22); overflow:hidden; }
.avcalc /* input zone */
  .calc-in { padding:26px 28px 24px; }
.avcalc .calc-head { margin-bottom:22px; }
.avcalc .calc-eyebrow { font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep); }
.avcalc .calc-title { font-family:'Fraunces',Georgia,serif; font-size:27px; font-weight:600; letter-spacing:-0.02em; color:var(--ink); line-height:1.08; margin-top:9px; text-wrap:balance; }
.avcalc .calc-sub { font-size:13px; font-weight:500; color:var(--tan); line-height:1.5; margin-top:10px; max-width:42ch; }
.avcalc .calc-live { display:inline-flex; align-items:center; gap:6px; font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--tan); }
.avcalc .calc-live .dot { width:6px; height:6px; border-radius:50%; background:#3F9B6B; box-shadow:0 0 0 3px rgba(63,155,107,0.16); }
.avcalc .field { margin-top:16px; }
.avcalc .field:first-child { margin-top:0; }
.avcalc .field > label { display:block; font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--tan); margin-bottom:8px; height:17px; line-height:17px; }
.avcalc /* segmented control */
  .seg { display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:4px; background:#F4EFE6; border:1px solid var(--hairline); border-radius:9px; padding:4px; }
.avcalc .seg button { font-family:inherit; font-size:13px; font-weight:600; color:#7d7364; background:transparent; border:none; border-radius:6px; padding:9px 8px; cursor:pointer; transition:all .16s ease; text-align:center; line-height:1.3; }
.avcalc .seg button:hover { color:var(--ink); }
.avcalc .seg button.on { background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(11,22,38,0.12); }
.avcalc /* city text input */
  .city-input { width:100%; font-family:inherit; font-size:15px; font-weight:600; color:var(--ink); background:#fff; border:1px solid var(--hairline); border-radius:9px; padding:12px 14px; }
.avcalc .city-input::placeholder { color:#B4A88F; font-weight:500; }
.avcalc .city-input:focus { outline:none; border-color:var(--gold-mid); box-shadow:0 0 0 3px rgba(232,163,58,0.16); }
.avcalc /* passengers stepper */
  .stepper { display:flex; align-items:center; justify-content:space-between; background:#fff; border:1px solid var(--hairline); border-radius:9px; padding:5px 6px; }
.avcalc .stepper button { width:38px; height:38px; border-radius:7px; border:1px solid var(--hairline); background:var(--cream); color:var(--ink); font-size:20px; font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .14s; }
.avcalc .stepper button:hover { background:var(--gold); border-color:var(--gold); }
.avcalc .stepper button:disabled { opacity:0.4; cursor:not-allowed; }
.avcalc .stepper .val { font-size:16px; font-weight:700; color:var(--ink); }
.avcalc .stepper .val span { font-size:12px; font-weight:500; color:var(--tan); margin-left:5px; }
.avcalc .field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.avcalc /* date + time controls */
  .datewrap { position:static; }
.avcalc .date-btn { width:100%; height:48px; font-family:'Poppins',sans-serif; font-size:15px; font-weight:500; color:#B4A88F; text-align:left; background-color:#fff; border:1px solid var(--hairline); border-radius:9px; padding:12px 40px 12px 14px; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8841F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:17px 17px; }
.avcalc .date-btn.has-value { color:var(--ink); font-weight:600; }
.avcalc .date-btn:focus { outline:none; border-color:var(--gold-mid); box-shadow:0 0 0 3px rgba(232,163,58,0.16); }
.avcalc .cal-backdrop { position:fixed; inset:0; z-index:65; background:rgba(11,22,38,0.38); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); opacity:1; transition:opacity .22s ease; }
.avcalc .cal-backdrop[hidden] { display:block; opacity:0; pointer-events:none; }
.avcalc .cal { opacity:1; transition:opacity .22s ease, transform .22s ease; }
.avcalc .cal[hidden] { display:block; opacity:0; transform:translate(-50%,-50%) scale(.96); pointer-events:none; }
.avcalc .cal { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:66; width:min(90vw,440px); background:#fff; border:1px solid var(--hairline); border-radius:14px; box-shadow:0 26px 60px -14px rgba(11,22,38,0.5); padding:20px 22px; }
.avcalc .cal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.avcalc .cal-title { font-size:15px; font-weight:700; color:var(--ink); white-space:nowrap; }
.avcalc .cal-nav { width:32px; height:32px; border-radius:8px; border:1px solid var(--hairline); background:var(--cream); color:var(--ink); font-size:17px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.avcalc .cal-nav:hover { background:var(--gold); border-color:var(--gold); }
.avcalc .cal-dow { display:grid; grid-template-columns:repeat(7,1fr); margin-bottom:4px; }
.avcalc .cal-dow span { font-family:'JetBrains Mono',monospace; font-size:8.5px; font-weight:700; letter-spacing:0.08em; color:var(--tan); text-align:center; }
.avcalc .cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.avcalc .cal-day { height:38px; border:none; background:transparent; border-radius:8px; font-family:'Poppins',sans-serif; font-size:14px; font-weight:600; color:var(--ink); cursor:pointer; }
.avcalc .cal-day:hover { background:var(--cream); }
.avcalc .cal-day:disabled { opacity:0.28; cursor:default; background:transparent; }
.avcalc .cal-day.is-today { box-shadow:inset 0 0 0 1px var(--gold-mid); }
.avcalc .cal-day.is-sel { background:var(--gold); color:var(--navy); }
.avcalc .cal-day.in-range { background:rgba(244,192,120,0.22); }
.avcalc .cal-slots { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px; }
.avcalc .cal-slot { background:var(--cream); border:1px solid var(--hairline); border-radius:8px; padding:8px 12px; display:flex; flex-direction:column; gap:2px; cursor:pointer; transition:border-color .15s; }
.avcalc .cal-slot:hover { border-color:var(--gold-mid); }
.avcalc .cal-slot.on { border-color:var(--gold-mid); box-shadow:0 0 0 2px rgba(232,163,58,0.18); }
.avcalc .cal-slot .sl { font-family:'JetBrains Mono',monospace; font-size:8.5px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:var(--tan); }
.avcalc .cal-slot b { font-size:13px; font-weight:700; color:var(--ink); }
.avcalc .cal-done { margin-top:14px; width:100%; padding:12px; background:var(--gold); color:var(--navy); border:none; border-radius:9px; font-family:'Poppins',sans-serif; font-size:13.5px; font-weight:700; cursor:pointer; transition:background .15s; }
.avcalc .cal-done:hover { background:#FFD89B; }
.avcalc .field > label.lbl-row { display:flex; align-items:center; justify-content:space-between; }
.avcalc .time-read { font-family:'Poppins',sans-serif; font-weight:700; font-size:12px; color:var(--gold-deep); text-transform:none; letter-spacing:0; }
.avcalc .slider-box { height:48px; display:flex; align-items:center; background:#fff; border:1px solid var(--hairline); border-radius:9px; padding:0 14px; }
.avcalc .time-slider { -webkit-appearance:none; appearance:none; width:100%; height:22px; background:transparent; cursor:pointer; }
.avcalc .time-slider::-webkit-slider-runnable-track { height:6px; border-radius:999px; background:linear-gradient(to right, var(--gold-mid) var(--pct,50%), #E7DECB var(--pct,50%)); }
.avcalc .time-slider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:20px; height:20px; margin-top:-7px; border-radius:50%; background:#fff; border:2px solid var(--gold-mid); box-shadow:0 2px 6px rgba(11,22,38,0.25); }
.avcalc .time-slider::-moz-range-track { height:6px; border-radius:999px; background:#E7DECB; }
.avcalc .time-slider::-moz-range-progress { height:6px; border-radius:999px; background:var(--gold-mid); }
.avcalc .time-slider::-moz-range-thumb { width:20px; height:20px; border-radius:50%; background:#fff; border:2px solid var(--gold-mid); box-shadow:0 2px 6px rgba(11,22,38,0.25); }
.avcalc .cabin-note { margin-top:8px; font-size:11.5px; color:var(--tan); line-height:1.4; }
.avcalc .cabin-note b { color:var(--gold-deep); font-weight:600; }
.avcalc /* ── OUTPUT ZONE — navy payoff band ── */
  .calc-out { position:relative; background:var(--navy); color:#fff; padding:24px 28px 26px; overflow:hidden; }
.avcalc .calc-out::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 100% 0%, rgba(244,192,120,0.16), transparent 58%); pointer-events:none; }
.avcalc .calc-out > * { position:relative; z-index:1; }
.avcalc .out-top { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.avcalc .out-lab { font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.avcalc .out-price { font-family:'Fraunces',Georgia,serif; font-size:34px; font-weight:600; letter-spacing:-0.02em; line-height:1; color:#fff; }
.avcalc .out-trip { text-align:right; font-size:11px; color:rgba(255,255,255,0.55); line-height:1.4; }
.avcalc .out-trip b { display:block; color:rgba(255,255,255,0.9); font-weight:600; font-size:12px; }
.avcalc .out-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:18px; padding-top:16px; border-top:1px solid rgba(244,192,120,0.2); }
.avcalc .out-stat { position:relative; padding:0 16px; }
.avcalc .out-stat:first-child { padding-left:0; }
.avcalc .out-stat + .out-stat::before { content:''; position:absolute; left:0; top:2px; bottom:2px; width:1px; background:rgba(255,255,255,0.12); }
.avcalc .out-stat .s-ic { color:var(--gold); margin-bottom:7px; }
.avcalc .out-stat .s-ic svg { width:16px; height:16px; display:block; }
.avcalc .out-stat .s-lab { font-family:'JetBrains Mono',monospace; font-size:8.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.45); margin-bottom:3px; }
.avcalc .out-stat .s-val { font-size:14px; font-weight:700; color:#fff; letter-spacing:-0.01em; }
.avcalc .out-cta { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; margin-top:20px; padding:14px; background:var(--gold); color:var(--navy); border:none; border-radius:8px; font-family:inherit; font-size:14px; font-weight:700; letter-spacing:0.01em; cursor:pointer; transition:background .16s; }
.avcalc .out-cta:hover { background:#FFD89B; }
.avcalc .out-cta svg { width:16px; height:16px; }
.avcalc .calc-note { width:520px; margin-top:14px; font-size:11.5px; line-height:1.55; color:var(--tan); text-wrap:pretty; }
.avcalc .calc-note b { color:var(--gold-deep); font-weight:600; }
/* Preview-harness chrome stripped (dead: .stage / .device / .screen /
   .harness / [data-vp] device-frame + viewport switcher). In WP the
   calculator renders directly inside the .calc-modal dialog. */
.avcalc /* ══════════════ WIDGET — locked footprint; calc defines the height, .avcalc quote/success overlay & cross-fade ════════════ */
  .widget { position:relative; width:100%; }
.avcalc .calc { transition:opacity .5s ease; }
.avcalc .calc.dim { opacity:0; pointer-events:none; }
.avcalc .qm-sheet { position:absolute; inset:0; background:var(--cream); border:1px solid var(--hairline); border-radius:14px; overflow:hidden;
    box-shadow:0 24px 56px -28px rgba(11,22,38,0.22); display:flex; flex-direction:column;
    opacity:0; visibility:hidden; pointer-events:none; transition:opacity .5s ease, visibility 0s linear .5s; }
.avcalc .qm-sheet.show { opacity:1; visibility:visible; pointer-events:auto; transition:opacity .5s ease; }
.avcalc .qm-handle { display:none; }
.avcalc .qm-head { background:var(--navy-2); color:#fff; padding:16px 20px 22px; position:relative; flex-shrink:0; overflow:hidden; }
.avcalc .qm-head::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 92% 0%, rgba(232,163,58,0.16), transparent 60%); pointer-events:none; }
.avcalc .qm-head > * { position:relative; }
.avcalc .qm-handle { width:36px; height:4px; border-radius:2px; background:rgba(255,255,255,0.22); margin:0 auto 14px; }
.avcalc .qm-topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.avcalc .qm-eyebrow { font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-mid); }
.avcalc .qm-close { width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.16); display:inline-flex; align-items:center; justify-content:center; color:#fff; cursor:pointer; padding:0; }
.avcalc .qm-close svg { width:14px; height:14px; }
.avcalc .qm-title { font-family:'Fraunces',Georgia,serif; font-size:23px; font-weight:600; letter-spacing:-0.015em; line-height:1.16; margin:0 0 6px; }
.avcalc .qm-title em { font-style:italic; font-weight:500; color:var(--gold); }
.avcalc .qm-sub { font-size:13.5px; line-height:1.5; color:rgba(255,255,255,0.72); margin:0; max-width:none; }
.avcalc #qmContent { flex:1; min-height:0; display:flex; flex-direction:column; transition:opacity .22s ease; }
.avcalc .qm-body { flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:16px 16px 12px; display:flex; flex-direction:column; }
.avcalc .qm-body.sc-fill .brief-grid { flex:1 0 auto; }
.avcalc .qm-body.sc-fill .bf-brief { flex:1 1 auto; display:flex; flex-direction:column; justify-content:flex-start; }
.avcalc .qm-section-l { font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--tan); margin:15px 2px 8px; }
.avcalc .qm-section-l:first-child { margin-top:0; }
.avcalc .qm-section-l .opt { letter-spacing:0; font-weight:500; text-transform:none; color:var(--tan-soft); }
.avcalc .qm-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:8px; }
.avcalc .qm-row.single { grid-template-columns:1fr; }
.avcalc .qm-cell { display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--hairline); border-radius:10px; padding:12px; transition:border-color .15s, box-shadow .15s; }
.avcalc .qm-cell svg { width:15px; height:15px; color:var(--tan); flex-shrink:0; }
.avcalc .qm-cell input { width:100%; padding:0; font-family:'Poppins',sans-serif; font-size:15px; font-weight:500; background:transparent; border:none; color:var(--navy-2); outline:none; min-width:0; }
.avcalc .qm-cell input::placeholder { color:var(--tan-soft); font-weight:400; }
.avcalc .qm-cell:focus-within { border-color:var(--gold-mid); box-shadow:0 0 0 3px rgba(232,163,58,0.16); }
.avcalc .qm-cell:focus-within svg { color:var(--gold-deep); }
.avcalc .qm-textarea { display:block; flex:1 1 auto; width:100%; min-height:82px; resize:none; background:#fff; border:1px solid var(--hairline); border-radius:10px; padding:12px; font-family:'Poppins',sans-serif; font-size:15px; font-weight:500; line-height:1.45; color:var(--navy-2); outline:none; transition:border-color .15s, box-shadow .15s; }
.avcalc .qm-textarea::placeholder { color:var(--tan-soft); font-weight:400; }
.avcalc .qm-textarea:focus { border-color:var(--gold-mid); box-shadow:0 0 0 3px rgba(232,163,58,0.16); }
.avcalc .qm-resp { display:flex; align-items:center; gap:9px; padding:11px 12px; margin-top:10px; background:rgba(232,163,58,0.10); border:1px solid rgba(232,163,58,0.28); border-radius:10px; }
.avcalc .qm-resp svg { width:15px; height:15px; color:#C7831F; flex-shrink:0; }
.avcalc .qm-resp-t { font-size:12px; font-weight:500; color:#5C3F0F; line-height:1.4; }
.avcalc .qm-foot { padding:12px 16px 20px; background:var(--cream); border-top:1px solid var(--hairline); flex-shrink:0; }
.avcalc .qm-submit { width:100%; height:50px; border-radius:11px; background:var(--gold); color:var(--navy-2); border:none; font-family:'Poppins',sans-serif; font-size:14.5px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; box-shadow:0 8px 20px -6px rgba(232,163,58,0.5); transition:transform .12s, box-shadow .2s; }
.avcalc .qm-submit:hover { box-shadow:0 12px 26px -6px rgba(232,163,58,0.6); }
.avcalc .qm-submit svg { width:15px; height:15px; }
.avcalc .qm-foot-lead { font-size:12px; font-weight:500; color:var(--tan); text-align:center; margin:0 0 10px; line-height:1.45; }
.avcalc .qm-fine { font-size:11.5px; color:var(--tan); text-align:center; margin:10px 0 0; line-height:1.45; }
.avcalc .qm-sum { width:100%; background:#fff; border:1px solid var(--hairline); border-radius:12px; padding:14px 14px 10px; margin:0 0 4px; text-align:left; }
.avcalc .qm-sum-row { display:flex; align-items:flex-start; gap:12px; padding:7px 0; border-top:1px dashed rgba(212,196,166,0.55); }
.avcalc .qm-sum-row:first-child { border-top:none; padding-top:0; }
.avcalc .qm-sum-k { flex:0 0 66px; font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--navy-2); padding-top:3px; opacity:0.55; }
.avcalc .qm-sum-v { flex:1; min-width:0; font-size:14px; font-weight:600; color:var(--navy-2); line-height:1.35; }
.avcalc /* success — mirrors the calculator: light zone (calc-in) over a navy payoff band (calc-out) */
  .qm-sheet.qs-mode .qm-head { display:none; }
.avcalc .qs { flex:1; min-height:0; display:flex; flex-direction:column; }
.avcalc .qs-in { flex:1; min-height:0; overflow-y:auto; display:flex; flex-direction:column; justify-content:flex-start; background:var(--cream); background-image:radial-gradient(ellipse at 12% -8%, rgba(200,132,31,0.06), transparent 52%); padding:26px 28px 22px; }
.avcalc .qs-body { flex:0 0 auto; margin:auto 0; }
.avcalc .calc-title em { font-style:italic; font-weight:500; color:var(--gold-deep); }
.avcalc .qs-note { margin:12px 2px 0; font-size:12px; line-height:1.5; color:var(--tan); }
.avcalc .qs-note b { color:var(--gold-deep); font-weight:600; }
.avcalc .out-fine { font-size:11.5px; color:rgba(255,255,255,0.5); text-align:center; margin:12px 0 0; line-height:1.45; }
.avcalc .qs-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.avcalc .qs-eyebrow { font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep); padding-top:5px; animation:ntUp .45s ease backwards; }
.avcalc .qs-close { flex-shrink:0; width:30px; height:30px; border-radius:50%; background:var(--cream); border:1px solid var(--hairline); display:inline-flex; align-items:center; justify-content:center; color:var(--tan); cursor:pointer; padding:0; transition:color .15s, border-color .15s; }
.avcalc .qs-close:hover { color:var(--ink); border-color:var(--tan-line); }
.avcalc .qs-close svg { width:14px; height:14px; }
.avcalc .qs-h { font-family:'Fraunces',Georgia,serif; font-size:27px; font-weight:600; letter-spacing:-0.02em; color:var(--ink); line-height:1.08; margin-top:11px; text-wrap:balance; animation:ntUp .45s .05s ease backwards; }
.avcalc .qs-h em { font-style:italic; font-weight:500; color:var(--gold-deep); }
.avcalc .qs-sub { font-size:13px; font-weight:500; color:var(--tan); line-height:1.5; margin-top:9px; max-width:42ch; animation:ntUp .45s .1s ease backwards; }
.avcalc /* advisor introduction — a real human is on this trip */
  .qs-head { flex:0 0 auto; }
.avcalc .qs-adv { flex:0 0 auto; display:flex; align-items:flex-start; gap:15px; margin-top:26px; animation:ntUp .45s .12s ease backwards; }
.avcalc .qs-avatar { flex:0 0 auto; width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:var(--navy); color:var(--gold); font-family:'Fraunces',Georgia,serif; font-size:19px; font-weight:600; letter-spacing:0.03em; box-shadow:0 0 0 1.5px var(--gold-mid), 0 0 0 5px rgba(232,163,58,0.14); }
.avcalc .qs-adv-b { min-width:0; padding-top:2px; }
.avcalc .qs-adv-lab { font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep); }
.avcalc .qs-adv-name { font-family:'Fraunces',Georgia,serif; font-size:18px; font-weight:600; letter-spacing:-0.01em; color:var(--ink); margin-top:3px; }
.avcalc .qs-adv-note { font-size:13px; font-weight:500; font-style:italic; color:var(--tan); line-height:1.5; margin-top:7px; max-width:42ch; }
.avcalc /* light progress timeline (reuses .tl structure) */
  .tl { flex:0 0 auto; display:flex; flex-direction:column; margin:24px 0 0; }
.avcalc .tl-row { display:flex; align-items:stretch; gap:14px; flex:0 0 auto; animation:ntUp .45s ease backwards; }
.avcalc .tl-row:nth-child(1) { animation-delay:.16s }
.avcalc .tl-row:nth-child(2) { animation-delay:.24s }
.avcalc .tl-row:nth-child(3) { animation-delay:.32s }
.avcalc .tl-rail { flex:0 0 30px; display:flex; flex-direction:column; align-items:center; }
.avcalc .tl-node { flex:0 0 auto; width:30px; height:30px; border-radius:50%; border:1.5px solid var(--tan-line); background:#fff; display:flex; align-items:center; justify-content:center; }
.avcalc .tl-node svg { width:12px; height:12px; }
.avcalc .tl-stem { flex:0 0 auto; width:1.5px; height:44px; margin:5px 0; background:linear-gradient(var(--gold-mid), rgba(232,163,58,0.28)); }
.avcalc .tl-row:last-child { flex:0 0 auto; }
.avcalc .tl-row:last-child .tl-stem { display:none; }
.avcalc .tl-row.done .tl-node { background:var(--gold); border-color:var(--gold); color:var(--navy-2); }
.avcalc .tl-row.active .tl-node { border-color:var(--gold-mid); box-shadow:0 0 0 4px rgba(232,163,58,0.14); }
.avcalc .tl-row.active .tl-node::after { content:''; width:8px; height:8px; border-radius:50%; background:var(--gold-mid); }
.avcalc .tl-b { flex:1; min-width:0; padding-top:4px; }
.avcalc .tl-t { display:block; font-size:14.5px; font-weight:600; color:var(--ink); line-height:1.3; letter-spacing:-0.01em; }
.avcalc .tl-d { display:block; font-size:12px; font-weight:500; color:var(--tan); line-height:1.4; margin-top:2px; }
.avcalc .tl-row:not(.done):not(.active) .tl-t { color:var(--tan); }
.avcalc .tl-row:not(.done):not(.active) .tl-d { color:var(--tan-soft); }
.avcalc .tl-m { flex:0 0 auto; font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-deep); white-space:nowrap; padding-top:5px; }
.avcalc .tl-row:not(.done):not(.active) .tl-m { color:var(--tan-soft); }
.avcalc /* navy payoff band — quick facts (reuses .calc-out / .out-stats / .out-cta) */
  .qs-out { flex-shrink:0; }
.avcalc .qs-para { font-size:12.5px; font-weight:500; line-height:1.55; color:rgba(255,255,255,0.74); margin-top:9px; max-width:52ch; }
.avcalc .qs-back { display:block; width:100%; margin-top:12px; background:none; border:none; text-align:center; color:rgba(255,255,255,0.55); font-family:'Poppins',sans-serif; font-size:12.5px; font-weight:600; cursor:pointer; transition:color .15s; }
.avcalc .qs-back:hover { color:#fff; }
.avcalc /* AI charter briefing (cream) */
  .brief { flex:0 0 auto; margin-top:24px; animation:ntUp .45s .14s ease backwards; }
.avcalc .brief-lab { display:inline-flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep); }
.avcalc .brief-lab svg { width:13px; height:13px; }
.avcalc .brief-para { font-size:13.5px; font-weight:500; line-height:1.62; color:#5c5346; margin-top:11px; max-width:50ch; text-wrap:pretty; }
.avcalc .brief-para b { color:var(--ink); font-weight:600; }
.avcalc .brief-grid { display:flex; flex-direction:column; gap:1px; background:var(--tan-line); border:1px solid var(--tan-line); border-radius:12px; overflow:hidden; margin-top:18px; }
.avcalc .bf-facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; }
.avcalc .bf { background:#fff; padding:12px 14px; display:flex; align-items:center; gap:11px; min-width:0; }
.avcalc .bf.full { grid-column:1 / -1; }
.avcalc .bf.full .bf-v { white-space:normal; }
.avcalc .bf-brief { grid-column:1 / -1; background:#fff; padding:14px 15px 16px; }
.avcalc .bf-brief-l { display:inline-flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep); }
.avcalc .bf-brief-l svg { width:13px; height:13px; }
.avcalc .bf-brief-p { font-size:13px; font-weight:500; line-height:1.6; color:#5c5346; margin-top:9px; text-wrap:pretty; }
.avcalc .bf-brief-p b { color:var(--ink); font-weight:600; }
.avcalc .bf-ic { flex:0 0 auto; width:31px; height:31px; border-radius:8px; background:var(--cream); border:1px solid var(--hairline); display:grid; place-items:center; color:var(--gold-deep); }
.avcalc .bf-ic svg { width:15px; height:15px; }
.avcalc .bf-b { min-width:0; display:flex; flex-direction:column; gap:3px; }
.avcalc .bf-k { font-family:'JetBrains Mono',monospace; font-size:8.5px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:var(--tan); }
.avcalc .bf-v { font-size:12.5px; font-weight:600; color:var(--ink); letter-spacing:-0.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.avcalc .brief-chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.avcalc .chip { display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:600; color:var(--tan); background:var(--cream); border:1px solid var(--tan-line); border-radius:999px; padding:6px 12px 6px 11px; }
.avcalc .chip::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--gold-mid); flex:0 0 auto; }
.avcalc .brief-inc { margin-top:17px; }
.avcalc .brief-inc-l { display:block; font-family:'JetBrains Mono',monospace; font-size:8.5px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:var(--tan); margin-bottom:9px; }
.avcalc .brief-inc .brief-chips { margin-top:0; }
.avcalc .qm-section-l.brief-l { display:inline-flex; align-items:center; gap:7px; color:var(--gold-deep); }
.avcalc .qm-section-l.brief-l svg { width:13px; height:13px; }
.avcalc .qm-foot-adv { display:flex; align-items:center; gap:12px; padding:0 2px 13px; }
.avcalc .qm-foot-av { flex:0 0 auto; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--navy); color:var(--gold); font-family:'Fraunces',Georgia,serif; font-size:16px; font-weight:600; letter-spacing:0.02em; box-shadow:0 0 0 1.5px var(--gold-mid), 0 0 0 4px rgba(232,163,58,0.12); }
.avcalc .qm-foot-b { min-width:0; flex:1; display:flex; flex-direction:column; gap:2px; }
.avcalc .qm-foot-lab { font-family:'JetBrains Mono',monospace; font-size:8.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep); }
.avcalc .qm-foot-name { font-family:'Fraunces',Georgia,serif; font-size:16px; font-weight:600; color:var(--ink); letter-spacing:-0.01em; }
.avcalc .qm-foot-status { display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:600; color:var(--tan); white-space:nowrap; }
.avcalc .qm-foot-status .dot { width:6px; height:6px; border-radius:50%; background:#3F9B6B; box-shadow:0 0 0 3px rgba(63,155,107,0.16); }
.avcalc .qm-backlink { display:block; width:100%; margin-top:11px; background:none; border:none; text-align:center; color:var(--tan); font-family:'Poppins',sans-serif; font-size:12px; font-weight:600; cursor:pointer; transition:color .15s; }
.avcalc .qm-backlink:hover { color:var(--ink); }
.avcalc /* navy band — human advisor + call */
  .qo-adv { display:flex; align-items:center; gap:13px; }
.avcalc .qo-av { flex:0 0 auto; width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:rgba(244,192,120,0.13); border:1px solid rgba(244,192,120,0.5); color:var(--gold); font-family:'Fraunces',Georgia,serif; font-size:16px; font-weight:600; }
.avcalc .qo-b { min-width:0; flex:1; }
.avcalc .qo-lab { font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); }
.avcalc .qo-name { font-family:'Fraunces',Georgia,serif; font-size:18px; font-weight:600; color:#fff; letter-spacing:-0.01em; margin-top:3px; }
.avcalc .qo-status { display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:600; color:rgba(255,255,255,0.62); white-space:nowrap; }
.avcalc .qo-status .dot { width:6px; height:6px; border-radius:50%; background:#5FCB8E; box-shadow:0 0 0 3px rgba(95,203,142,0.18); }
  @keyframes ntUp{ from{ opacity:0; transform:translateY(8px) } }
.avcalc .qm-fine a { color:var(--navy-2); font-weight:700; text-decoration:underline; text-underline-offset:2px; }

  @media (prefers-reduced-motion: reduce){
.avcalc .qm-sheet, .avcalc .qs, .avcalc .qs * { transition:none !important; animation:none !important; } }

/* ===== SPECUI — aircraft-fit table UI inside the airports card (design 4721-4772) ===== */
  /* spec-card bottom CTA — white-card variant */
  .avsky-sar-desktop .spec-card .spec-cta{ flex-direction:column; align-items:stretch; gap:11px; border-top:1px solid #ECE3D2; background:#FAF7F2; padding:20px 26px 22px; }
  .avsky-sar-desktop .spec-cta-note{ font-size:11.5px; line-height:1.6; color:#8B7355; text-align:left; text-wrap:pretty; }
  /* five-example spec card */
  .avsky-sar-desktop .spec-card-bar{ display:flex; align-items:center; gap:11px; padding:14px 22px; background:var(--navy); background-image:radial-gradient(ellipse at 100% 0%, rgba(244,192,120,0.16), transparent 62%); }
  .avsky-sar-desktop .spec-card-bar .scb-ic{ flex:0 0 auto; display:flex; color:var(--gold); }
  .avsky-sar-desktop .spec-card-bar .scb-ic svg{ width:18px; height:18px; }
  .avsky-sar-desktop .spec-card-bar .scb-tx{ font-family:'Poppins',sans-serif; font-size:12.5px; font-weight:500; color:rgba(255,255,255,0.86); line-height:1.35; letter-spacing:0.004em; }
  .avsky-sar-desktop .spec-card-bar .scb-tx b{ font-weight:700; color:#fff; }
  .avsky-sar-desktop .spec-ex-head{ padding:22px 26px 17px; border-bottom:1px solid #ECE3D2; }
  .avsky-sar-desktop .spec-ex-eyebrow{ display:block; font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px; }
  .avsky-sar-desktop .spec-ex-title{ font-family:'Poppins',sans-serif; font-size:19px; font-weight:700; color:var(--navy); letter-spacing:-0.01em; line-height:1.2; margin:0; }
  .avsky-sar-desktop .spec-ex-table{ padding:4px 0 2px; }
  .avsky-sar-desktop .spec-ex-colhead{ display:grid; grid-template-columns:1.35fr 1.2fr 0.62fr 0.95fr; gap:10px; padding:13px 26px 9px; }
  .avsky-sar-desktop .spec-ex-colhead span{ font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.11em; text-transform:uppercase; color:#A99A82; }
  .avsky-sar-desktop .spec-ex-colhead .c{ text-align:center; }
  .avsky-sar-desktop .spec-ex-colhead .r{ text-align:right; }
  .avsky-sar-desktop .spec-ex-row{ display:grid; grid-template-columns:1.35fr 1.2fr 0.62fr 0.95fr; gap:10px; align-items:center; padding:14px 26px; border-top:1px solid #ECE3D2; }
  .avsky-sar-desktop .spec-ex-row .ex-from{ font-family:'Poppins',sans-serif; font-size:14px; font-weight:600; color:var(--navy); line-height:1.25; }
  .avsky-sar-desktop .spec-ex-row .ex-from em{ font-style:normal; font-weight:500; color:#A99A82; }
  .avsky-sar-desktop .spec-ex-row .ex-ac{ font-size:13px; color:#556070; }
  .avsky-sar-desktop .spec-ex-row .ex-pax{ font-size:13px; color:#556070; text-align:center; }
  .avsky-sar-desktop .spec-ex-row .ex-est{ font-family:'Poppins',sans-serif; font-size:14.5px; font-weight:700; color:var(--navy); text-align:right; }
  /* all-inclusive strip */
  .avsky-sar-desktop .spec-inc{ padding:21px 26px 23px; border-top:1px solid #ECE3D2; }
  .avsky-sar-desktop .spec-inc-l{ display:flex; align-items:center; gap:11px; font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:#8B7355; margin-bottom:17px; }
  .avsky-sar-desktop .spec-inc-l::after{ content:''; flex:1; height:1px; background:linear-gradient(to right, #E7DECB, transparent); }
  .avsky-sar-desktop .spec-inc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 16px; }
  .avsky-sar-desktop .inc-cell{ display:flex; align-items:center; gap:12px; }
  .avsky-sar-desktop .inc-ic{ flex:0 0 auto; width:40px; height:40px; border-radius:11px; display:grid; place-items:center; color:var(--gold-deep); background:linear-gradient(150deg, rgba(244,192,120,0.22), rgba(232,163,58,0.08)); border:1px solid rgba(232,163,58,0.22); box-shadow:0 1px 0 rgba(255,255,255,0.6) inset; }
  .avsky-sar-desktop .inc-ic svg{ width:20px; height:20px; }
  .avsky-sar-desktop .inc-tx{ min-width:0; }
  .avsky-sar-desktop .inc-tx b{ display:block; font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; color:var(--navy); line-height:1.2; }
  .avsky-sar-desktop .inc-tx em{ display:block; font-style:normal; font-size:11px; color:#9a8f7d; margin-top:3px; line-height:1.2; }
  .avsky-sar-desktop .spec-cta-btn svg{ width:16px; height:16px; }
  /* calc modal */
  .calc-modal{ position:fixed; inset:0; z-index:5000; display:none; font-family:'Poppins',sans-serif; }
  /* The calc's closed quote sheet is transform-parked one viewport below and
     inflates the dialog's scrollable area (ghost scroll) — ALL widths (the
     desktop-only scoping left phones scrolling into a navy void). Hidden until
     opened; it appears instantly instead of sliding — scroll correctness wins. */
  .calc-modal-dialog .qm-sheet:not(.open){ display:none; }
  .calc-modal-dialog .qm-backdrop:not(.open){ display:none; }
  .calc-modal.open{ display:block; }
  .calc-modal-scrim{ position:absolute; inset:0; background:rgba(11,22,38,0.6); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); animation:cmFade .2s ease; }
  .calc-modal-dialog{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(560px, calc(100vw - 34px)); max-height:92vh; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; border-radius:16px; box-shadow:0 50px 120px -30px rgba(0,0,0,0.65); animation:cmRise .24s cubic-bezier(.22,1,.36,1); }
  .calc-modal-dialog .avcalc{ width:100%; }
  .calc-modal-dialog .avcalc .calc{ box-shadow:none; }
  .calc-modal-x{ position:absolute; top:16px; right:16px; z-index:3; width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,0.28); background:rgba(11,22,38,0.55); backdrop-filter:blur(6px); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s ease; }
  .calc-modal-x:hover{ background:rgba(11,22,38,0.85); }
  .calc-modal-x svg{ width:18px; height:18px; }
  @keyframes cmFade{ from{ opacity:0; } }
  @keyframes cmRise{ from{ opacity:0; transform:translate(-50%,-46%); } }

/* ============================================================================
   PRODUCTIONIZATION TAIL — additions carried over from itinerary-3.css so the
   shared Leaflet map, logo and tablet breakpoint behave identically here.
   ========================================================================== */

/* Leaflet map: the .map-card is also the .airport-leaflet mount. Give it a
   stacking context so Leaflet's absolutely-positioned panes/controls stay
   clipped inside the rounded card. */
.avsky-sar-desktop .map-card{ z-index:0; isolation:isolate; }

/* Permanent airport map labels (Leaflet tooltips on every marker) */
.leaflet-tooltip.av3-map-tip { background:#fff; color:var(--navy,#0B1626); border:1px solid var(--hairline,#ECE3D2); border-radius:6px; font-family:'Poppins',sans-serif; font-size:11px; font-weight:600; padding:3px 8px; box-shadow:0 4px 14px -4px rgba(11,22,38,0.35); white-space:nowrap; }
.leaflet-tooltip.av3-map-tip.leaflet-tooltip-top::before { border-top-color:#fff; }
.avsky-sar-mobile .leaflet-tooltip.av3-map-tip { white-space: normal; width: max-content; max-width: 220px; text-align: center; line-height: 1.3; } /* mobile maps are narrow — wrap long names so they don't clip */

/* Logo aspect fix: Perfmatters "Add Image Dimensions" injects width/height on
   the shared logo file; the logo CSS sets only height, so force width:auto so
   width tracks height via the ratio. */
.avsky-sar-desktop .logo img,
.avsky-sar-desktop .ftr-brand img,
.avsky-sar-mobile .tb-logo,
.avsky-sar-mobile .m-final-logo,
.avsky-sar-mobile .nv-mast-logo { width: auto !important; }

/* ── Tablet (641–1024px — the desktop DOM is still shown here): the desktop
   2-up sections cramp at this width, so give the shared ones a single-column
   treatment. Appended after the base rules so it wins the cascade. */
@media (max-width: 1024px) {
  /* AvSky difference: stack; the photo becomes a centered portrait, not a sliver */
  .avsky-sar-desktop .avx .o6 { grid-template-columns: 1fr !important; gap: 32px; padding: 48px 32px; }
  .avsky-sar-desktop .avx .o6 .photo { max-width: 620px; margin: 0 auto; min-height: 0; aspect-ratio: auto; }
  .avsky-sar-desktop .avx .o6 .photo img { height: auto; min-height: 0; object-fit: contain; }
  .avsky-sar-desktop .avx .o6 .cnt { padding: 0; }
  /* Nav: 5 links + CTA overflow the pill at tablet — tighten and keep on one line. */
  .avsky-sar-desktop .topnav { gap: 14px; padding: 8px 10px 8px 16px; }
  .avsky-sar-desktop .topnav .logo img { height: 36px; }
  .avsky-sar-desktop .topnav .nav-links { gap: 1px; }
  .avsky-sar-desktop .topnav .nav-links a { padding: 7px 10px; font-size: 12px; white-space: nowrap; }
  .avsky-sar-desktop .topnav .nav-cta { padding: 9px 14px; font-size: 12px; }
}

/* =============================================================================
   REVISED MOBILE (Lakeland destination redesign, 2026-07-19 design drop)
   m-est estimates card · m-apt airports + m-aqf mobile fit card · m-tip
   numbered insider tips. Verbatim from the design; mobile-scoped only.
   ========================================================================== */
    /* ── Mobile estimate card (Lakeland destination redesign) ── */
  .avsky-sar-mobile .m-est{ padding:0; }
  .avsky-sar-mobile .m-est-head{ padding:16px 16px 12px; border-bottom:1px solid var(--hairline); }
  .avsky-sar-mobile .m-est-head .eyebrow{ display:block; font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:6px; }
  .avsky-sar-mobile .m-est-head h3{ font-family:'Poppins',sans-serif; font-size:16px; font-weight:700; color:var(--navy); letter-spacing:-0.01em; line-height:1.2; margin:0; }
  .avsky-sar-mobile .m-est-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 16px; border-top:1px solid var(--hairline); }
  .avsky-sar-mobile .m-est-row:first-child{ border-top:none; }
  .avsky-sar-mobile .m-est-row .l{ display:flex; flex-direction:column; gap:2px; min-width:0; }
  .avsky-sar-mobile .m-est-row .from{ font-size:16px; font-weight:600; color:var(--navy); line-height:1.2; }
  .avsky-sar-mobile .m-est-row .from em{ font-style:normal; font-weight:500; color:#A99A82; }
  .avsky-sar-mobile .m-est-row .ac{ font-size:13.5px; color:#6B7280; line-height:1.25; }
  .avsky-sar-mobile .m-est-row .est{ font-size:17px; font-weight:700; color:var(--navy); font-variant-numeric:tabular-nums; flex-shrink:0; }
  .avsky-sar-mobile .m-inc{ padding:16px 16px 18px; border-top:1px solid var(--hairline); }
  .avsky-sar-mobile .m-inc-l{ display:flex; align-items:center; gap:10px; font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:#8B7355; margin-bottom:14px; }
  .avsky-sar-mobile .m-inc-l::after{ content:''; flex:1; height:1px; background:linear-gradient(to right, #E7DECB, transparent); }
  /* Compact 2x2, mirroring the desktop spec-card grid (was a tall 1-col list) */
  .avsky-sar-mobile .m-inc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
  .avsky-sar-mobile .m-inc-cell{ display:flex; align-items:flex-start; gap:8px; min-width:0; }
  .avsky-sar-mobile .m-inc-cell .ic{ flex:0 0 auto; width:30px; height:30px; border-radius:8px; display:grid; place-items:center; color:var(--gold-deep); background:linear-gradient(150deg, rgba(244,192,120,0.22), rgba(232,163,58,0.08)); border:1px solid rgba(232,163,58,0.22); }
  .avsky-sar-mobile .m-inc-cell .ic svg{ width:15px; height:15px; }
  .avsky-sar-mobile .m-inc-cell b{ display:block; font-size:12.5px; font-weight:600; color:var(--navy); line-height:1.25; letter-spacing:-0.01em; }
  .avsky-sar-mobile .m-inc-cell em{ display:block; font-style:normal; font-size:11px; color:#9a8f7d; margin-top:2px; line-height:1.25; }
  .avsky-sar-mobile .m-est-cta{ padding:16px; border-top:1px solid var(--hairline); background:#FAF7F2; }
  /* Disclaimer: supporting small print, a clear step below the 16px body */
  .avsky-sar-mobile .m-est-cta p{ font-size:13.5px; line-height:1.55; color:#8B7355; margin:0 0 12px; }
  .avsky-sar-mobile .m-est-cta .btn{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:13px; background:var(--gold); color:var(--navy); border-radius:10px; font-size:14px; font-weight:700; text-decoration:none; box-shadow:0 8px 18px -6px rgba(244,192,120,0.5); }
  .avsky-sar-mobile .m-est-cta .btn svg{ width:15px; height:15px; }
  /* ── Estimate card · QR-header-match treatment (Option 9, baked in) ── */
  .avsky-sar-mobile .m-trust{ padding:0 0 14px; }
  .avsky-sar-mobile .m-spec{ display:flex; flex-direction:column; background:transparent; border:none; border-radius:0; box-shadow:none; overflow:visible; }
  .avsky-sar-mobile .m-est-head{ order:1; background:var(--navy-2); border-top:2px solid rgba(232,163,58,0.6); border-bottom:none; padding:16px 18px 18px; }
  .avsky-sar-mobile .m-est-head .eyebrow{ font-family:'Poppins',sans-serif; color:var(--gold); margin-bottom:8px; font-size:10px; letter-spacing:0.22em; text-transform:uppercase; font-weight:600; }
  .avsky-sar-mobile .m-est-head .eyebrow::before{ content:''; display:inline-block; width:18px; height:1px; background:var(--gold); margin-right:8px; vertical-align:middle; }
  .avsky-sar-mobile .m-est-head h3{ font-size:20px; font-weight:700; color:#FFF; letter-spacing:-0.02em; line-height:1.22; }
  .avsky-sar-mobile .m-est-rows{ order:2; margin:12px 12px 0; background:#fff; border:1px solid var(--hairline); border-bottom:none; border-radius:14px 14px 0 0; }
  .avsky-sar-mobile .m-inc{ order:3; margin:0 12px; background:#fff; border-left:1px solid var(--hairline); border-right:1px solid var(--hairline); }
  .avsky-sar-mobile .m-est-cta{ order:4; margin:0 12px; border:1px solid var(--hairline); border-radius:0 0 14px 14px; box-shadow:0 16px 36px -14px rgba(15,28,46,0.3); }

  /* ── Mobile single airport (destination redesign) ── */
  .avsky-sar-mobile .m-apt{ padding:30px 22px 30px; background:var(--cream); }
  .avsky-sar-mobile .m-apt-eyebrow{ font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px; }
  .avsky-sar-mobile .m-apt-h2{ font-family:'Poppins',sans-serif; font-size:22px; font-weight:700; letter-spacing:-0.02em; line-height:1.18; color:var(--navy-2); margin:0 0 12px; text-wrap:pretty; }
  .avsky-sar-mobile .m-apt-h2 em{ font-style:italic; font-weight:500; color:var(--gold-deep); }
  .avsky-sar-mobile .m-apt-intro{ font-size:16px; line-height:1.6; color:#4B5563; margin:0 0 20px; text-wrap:pretty; }
  .avsky-sar-mobile .m-apt-photo{ position:relative; border-radius:12px; overflow:hidden; margin-bottom:20px; border:1px solid var(--hairline); }
  .avsky-sar-mobile .m-apt-photo .ph{ aspect-ratio:16/10; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; background:linear-gradient(135deg,#EDE6D8,#E3DAC8); color:var(--tan-soft); }
  .avsky-sar-mobile .m-apt-photo .ph svg{ width:34px; height:34px; opacity:0.6; }
  .avsky-sar-mobile .m-apt-photo .ph span{ font-size:11px; font-weight:600; letter-spacing:0.04em; }
  .avsky-sar-mobile .m-apt-cap{ position:absolute; left:0; right:0; bottom:0; padding:16px 12px 8px; font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:#FFF; background:linear-gradient(to top,rgba(11,22,38,0.85),transparent); }
  .avsky-sar-mobile .m-apt-sel-label{ font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--tan); margin-bottom:10px; }
  .avsky-sar-mobile .m-apt-options{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
  .avsky-sar-mobile .m-aq-opt{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; text-align:left; background:#FFF; border:1px solid var(--hairline); border-radius:11px; padding:13px 14px; cursor:pointer; transition:border-color .15s, box-shadow .15s; -webkit-tap-highlight-color:transparent; }
  .avsky-sar-mobile .m-aq-opt .b{ display:flex; flex-direction:column; gap:3px; min-width:0; }
  .avsky-sar-mobile .m-aq-opt .nm{ font-size:14px; font-weight:700; color:var(--navy-2); letter-spacing:-0.005em; display:flex; align-items:center; gap:7px; }
  .avsky-sar-mobile .m-aq-opt .code{ font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.06em; color:var(--gold-deep); background:rgba(200,132,31,0.10); padding:2px 5px; border-radius:4px; }
  .avsky-sar-mobile .m-aq-opt .addr{ font-size:11.5px; color:var(--tan); line-height:1.35; }
  .avsky-sar-mobile .m-aq-opt .tag{ flex-shrink:0; font-family:'JetBrains Mono',monospace; font-size:8px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:4px 8px; border-radius:99px; }
  .avsky-sar-mobile .m-aq-opt .tag.primary{ background:var(--navy); color:var(--gold); }
  .avsky-sar-mobile .m-aq-opt .tag.alt{ background:#EFEADD; color:var(--tan); }
  .avsky-sar-mobile .m-aq-opt.on{ border-color:var(--gold-mid); box-shadow:0 0 0 1px var(--gold-mid), 0 10px 22px -14px rgba(200,132,31,0.55); }
  /* Same 16/10 shape as .m-apt-photo so photo and map read as twins */
  .avsky-sar-mobile .m-apt-map{ height:auto; aspect-ratio:16/10; margin-bottom:20px; }
  /* Aircraft-fit card */
  .avsky-sar-mobile .m-aqf-card{ background:#FFF; border:1px solid var(--hairline); border-radius:14px; overflow:hidden; box-shadow:0 12px 32px -20px rgba(15,28,46,0.4); }
  .avsky-sar-mobile .m-aqf-bar{ display:flex; align-items:center; gap:9px; padding:11px 15px; background:var(--navy); background-image:radial-gradient(ellipse at 100% 0%, rgba(244,192,120,0.15), transparent 62%); }
  .avsky-sar-mobile .m-aqf-bar .ic{ color:var(--gold); display:flex; }
  .avsky-sar-mobile .m-aqf-bar .ic svg{ width:16px; height:16px; }
  .avsky-sar-mobile .m-aqf-bar .tx{ font-size:12px; color:rgba(255,255,255,0.82); font-weight:500; }
  .avsky-sar-mobile .m-aqf-bar .tx b{ color:#fff; font-weight:700; }
  .avsky-sar-mobile .m-aqf-head{ padding:14px 15px 12px; border-bottom:1px solid var(--hairline); }
  .avsky-sar-mobile .m-aqf-head .eyebrow{ display:block; font-family:'JetBrains Mono',monospace; font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:6px; }
  .avsky-sar-mobile .m-aqf-head .ttl{ font-family:'Poppins',sans-serif; font-size:15px; font-weight:700; color:var(--navy); letter-spacing:-0.01em; line-height:1.22; margin:0; }
  .avsky-sar-mobile .m-aqf-rows{ padding:2px 0; }
  .avsky-sar-mobile .m-aqf-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 15px; border-top:1px solid var(--hairline); }
  .avsky-sar-mobile .m-aqf-row:first-child{ border-top:none; }
  .avsky-sar-mobile .m-aqf-row .l{ min-width:0; }
  .avsky-sar-mobile .m-aqf-row .cls{ font-size:16px; font-weight:700; color:var(--navy-2); letter-spacing:-0.005em; line-height:1.2; }
  .avsky-sar-mobile .m-aqf-row .eg{ font-size:13.5px; color:var(--tan); line-height:1.3; margin-top:2px; }
  .avsky-sar-mobile .m-aqf-row .r{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex-shrink:0; }
  .avsky-sar-mobile .m-aqf-row .cost{ font-family:'JetBrains Mono',monospace; font-size:14px; font-weight:700; color:var(--navy-2); }
  .avsky-sar-mobile .m-aqf-row .cost span{ font-size:10.5px; font-weight:600; color:var(--tan); margin-left:1px; }
  .avsky-sar-mobile .m-aqf-stat{ display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:700; letter-spacing:0.02em; padding:3px 7px 3px 5px; border-radius:99px; white-space:nowrap; }
  .avsky-sar-mobile .m-aqf-stat .ic{ display:flex; }
  .avsky-sar-mobile .m-aqf-stat .ic svg{ width:12px; height:12px; }
  .avsky-sar-mobile .m-aqf-stat.ok{ color:#1F7A4D; background:rgba(31,122,77,0.10); }
  .avsky-sar-mobile .m-aqf-stat.ltd{ color:#B26A00; background:rgba(178,106,0,0.10); }
  .avsky-sar-mobile .m-aqf-stat.maybe{ color:#2E6094; background:rgba(46,96,148,0.10); }
  .avsky-sar-mobile .m-aqf-stat.via{ color:var(--tan); background:#F1ECE1; }
  .avsky-sar-mobile .m-aqf-note{ padding:13px 15px 15px; border-top:1px solid var(--hairline); font-size:16px; line-height:1.6; color:var(--tan); background:#FAF7F2; margin:0; }
  /* ── Aircraft-fit card · QR-header-match slab (matches estimate card) ── */
  .avsky-sar-mobile .m-aqf-card{ background:transparent; border:none; border-radius:0; box-shadow:none; overflow:visible; }
  .avsky-sar-mobile .m-aqf-bar{ display:none; }
  .avsky-sar-mobile .m-aqf-head{ margin:0 -22px; background:var(--navy-2); border-top:2px solid rgba(232,163,58,0.6); border-bottom:none; padding:16px 22px 18px; }
  .avsky-sar-mobile .m-aqf-head .eyebrow{ font-family:'Poppins',sans-serif; font-size:10px; font-weight:600; letter-spacing:0.22em; color:var(--gold); margin-bottom:8px; }
  .avsky-sar-mobile .m-aqf-head .eyebrow::before{ content:''; display:inline-block; width:18px; height:1px; background:var(--gold); margin-right:8px; vertical-align:middle; }
  .avsky-sar-mobile .m-aqf-head .ttl{ font-size:20px; color:#FFF; letter-spacing:-0.02em; line-height:1.22; }
  .avsky-sar-mobile .m-aqf-rows{ margin-top:12px; background:#fff; border:1px solid var(--hairline); border-bottom:none; border-radius:14px 14px 0 0; }
  .avsky-sar-mobile .m-aqf-rows .m-aqf-row:first-child{ border-top:none; }
  .avsky-sar-mobile .m-aqf-note{ border:1px solid var(--hairline); border-radius:0 0 14px 14px; box-shadow:0 16px 36px -14px rgba(15,28,46,0.3); }

  /* Insider tips (numbered medallions) */
  .avsky-sar-mobile .m-tip-row{ display:grid; grid-template-columns:52px 1fr; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid rgba(255,255,255,0.10); }
  .avsky-sar-mobile .m-tip-row:last-child{ border-bottom:none; }
  .avsky-sar-mobile .m-tip-num{ width:52px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
  .avsky-sar-mobile .m-tip-num::after{ content:''; width:18px; height:2px; border-radius:1px; background:linear-gradient(90deg,#F4C078,#C8841F); }
  .avsky-sar-mobile .m-tip-num span{ font-family:'JetBrains Mono',monospace; font-size:24px; font-weight:700; letter-spacing:0.02em; line-height:1; background:linear-gradient(180deg,#F4C078,#C8841F); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .avsky-sar-mobile .m-tip-txt h4{ font-size:16px; font-weight:700; color:#FFF; letter-spacing:-0.005em; margin:0 0 4px; }
  .avsky-sar-mobile .m-tip-txt p{ font-size:16px; line-height:1.55; color:rgba(255,255,255,0.72); margin:0; }
  /* production addition: our 4th fit state (design ships 3) */
  .avsky-sar-mobile .m-aqf-stat.no{ color:#9AA1AC; background:#EEF0F2; }

/* ── Calculator modal: full-screen on phones (design ≤640 block) ── */
  @media (max-width: 640px){
    .calc-modal-dialog{ top:0; left:0; right:0; bottom:0; transform:none; width:100%; height:100%; max-height:none; border-radius:0; animation:cmFade .2s ease; display:flex; flex-direction:column; background:#0F1C2E; }
    .calc-modal-dialog .avcalc{ flex:1; min-height:0; display:flex; flex-direction:column; }
    .calc-modal-dialog .avcalc .widget{ flex:1; min-height:0; display:flex; flex-direction:column; border-radius:0; box-shadow:none; }
    .calc-modal-dialog .avcalc .calc{ flex:1; min-height:0; display:flex; flex-direction:column; border-radius:0; border:none; }
    /* Header slab — page motif: navy, gold top rule, gold dash eyebrow, white title */
    .calc-modal-dialog .avcalc .calc .calc-in{ flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:0 22px 28px; background:#fff; }
    .calc-modal-dialog .avcalc .calc-head{ margin:0 -22px 6px; padding:20px 22px 22px; background:var(--navy-2); border-top:2px solid rgba(232,163,58,0.6); }
    .calc-modal-dialog .avcalc .calc-eyebrow{ color:var(--gold); }
    .calc-modal-dialog .avcalc .calc-eyebrow::before{ content:''; display:inline-block; width:18px; height:1px; background:var(--gold); margin-right:8px; vertical-align:4px; }
    .calc-modal-dialog .avcalc .calc-title{ color:#fff; font-size:25px; padding-right:48px; }
    .calc-modal-dialog .avcalc .calc-sub{ color:rgba(255,255,255,0.72); font-size:14px; }
    .calc-modal-dialog .avcalc .calc .calc-in .field{ margin-top:18px; }
    .calc-modal-dialog .avcalc .calc .calc-in .field-row{ margin-top:18px; }
    .calc-modal-dialog .avcalc .calc .calc-in .field-row .field{ margin-top:0; }
    /* Estimate dock pinned at bottom */
    .calc-modal-dialog .avcalc .calc .calc-out{ flex:0 0 auto; border-radius:0; }
  }
  @media (max-width: 640px){
    /* iOS Safari zooms on focus of any input under 16px (and never zooms back);
       calculator + its quote sheet inputs get 16px on phones. */
    .avcalc .city-input, .avcalc .qm-cell input, .avcalc .qm-textarea{ font-size:16px; }
    /* production: the desktop modal keeps its cabin note; the phone layout hides it */
    .avcalc .cabin-note{ display:none; }
    /* production: taller date button content needs min-height (base rule untouched for desktop) */
    .avcalc .date-btn{ height:auto; min-height:48px; }
  }

/* =============================================================================
     /* ══════════════════════════════════════════════════════════════
     TABLET FIXES (641–1024px)
     Authoritative overrides — placed last in source so they win over the
     later-declared body <style> blocks that were re-asserting 2-column
     desktop grids (.spec, .o6) and defeating the head's tablet rules.
     ══════════════════════════════════════════════════════════════ */
  @media (min-width: 641px) and (max-width: 1024px) {
    /* Safety net: keep any residual bleed from widening the page and
       clipping full-width bands (clip-x preserves the sticky nav). */
    .avsky-sar-desktop { overflow-x: clip; }

    /* (1) NAV — the 1fr logo track was crushing the logo via max-width:100%.
       Give the logo its natural width and let the links flex in the middle.
       Tightened margins/spacing so the single row fits down to ~820px. */
    .avsky-sar-desktop .topnav { grid-template-columns: auto 1fr auto; gap: 14px; margin: 0 16px; padding: 9px 12px 9px 18px; }
    .avsky-sar-desktop .topnav .logo img { max-width: none; height: 34px; width: auto; flex-shrink: 0; }
    .avsky-sar-desktop .topnav .nav-links { gap: clamp(4px, 1.5vw, 16px); }
    .avsky-sar-desktop .topnav .nav-links a { font-size: 12px; padding: 8px 6px; white-space: nowrap; }
    .avsky-sar-desktop .topnav .nav-cta { padding: 9px 15px; font-size: 12px; white-space: nowrap; }

    /* (2) HERO — stack, and bring the oversized headline + form heading to
       a scale that reads cleanly above the quote form. */
    .avsky-sar-desktop .hiz-body { grid-template-columns: 1fr; padding: 40px 40px 44px; gap: 30px; }
    .avsky-sar-desktop .hiz-copy { max-width: none; }
    .avsky-sar-desktop .hiz-h1 { font-size: 46px; max-width: none; }
    .avsky-sar-desktop .hiz-sub { max-width: 560px; }
    .avsky-sar-desktop .hiz-form { align-self: stretch; justify-self: stretch; width: 100%; max-width: none; }
    .avsky-sar-desktop .hiz-form .form-head h1, .avsky-sar-desktop .hiz-form .form-head h2 { font-size: 18px; }

    /* (3) TRUST BAR — keep it a single 4-across row at tablet (it's just the four
       benefits, so it doesn't need to stack). Span the full content width so it
       aligns with the form above and the section below; drop the divider and the
       base justify-content:center that was clustering items off to one side. */
    .avsky-sar-desktop .hiz-bar { flex-direction: row; justify-content: center; align-items: center; height: auto; gap: 0; padding: 30px 40px; }
    .avsky-sar-desktop .hiz-benefits { display: grid; grid-template-columns: auto auto; justify-content: center; column-gap: 72px; row-gap: 26px; width: 100%; }
    .avsky-sar-desktop .hiz-benefit { justify-content: flex-start; padding: 0; gap: 14px; }
    .avsky-sar-desktop .hiz-benefit-ic { width: 38px; height: 38px; }
    .avsky-sar-desktop .hiz-benefit + .hiz-benefit::before { display: none; }

    /* (4) SPEC — bio prose + pricing card must stack. The card is explicitly
       pinned to grid-column:2 / grid-row:1 span 2 by #cta-anchor-styles, which
       spawns an implicit 2nd column even under grid-template-columns:1fr — so
       reset both children's placement to flow into the single column. */
    .avsky-sar-desktop .spec { grid-template-columns: 1fr; gap: 34px; padding-left: 40px; padding-right: 40px; }
    .avsky-sar-desktop .spec .spec-copy { grid-column: 1; grid-row: auto; }
    .avsky-sar-desktop .spec .spec-card { grid-column: 1; grid-row: auto; position: static; justify-self: stretch; width: 100%; max-width: none; }

    /* (5) ABOUT / TEAM block — stack the team photo over the copy. */
    .avsky-sar-desktop .avx .avx-variant[data-v="06"] .o6,
    .avsky-sar-desktop .o6 { grid-template-columns: 1fr; gap: 32px; padding: 44px 40px; }
    .avsky-sar-desktop .o6 .photo { justify-self: stretch; width: 100%; max-width: none; }
    .avsky-sar-desktop .o6 .cnt { padding-left: 0; }

    /* (6) SECTION RHYTHM — the About block double-stacked its own bottom padding
       (o6, 44px) with a 56px section margin, opening a ~100px void before the
       navy Airports box. Trim the margin so the gap matches the Airports→Details
       rhythm (~56px). */
    .avsky-sar-desktop .avx { margin-bottom: 12px; }
  }


/* ===== Google Places autosuggest dropdown (quote forms + cost calculator).
   Google renders .pac-container at body level; z-index must clear the calc
   modal (5000). Attribution (.pac-logo) stays visible per Places TOS.
   The JS positioner pins it flush to the focused input (exact left/width,
   top = input bottom − 1px) and marks the input .av-pac-open, so field +
   dropdown read as ONE control: the input's bottom corners square off and
   its focus glow hands over to the dropdown. ===== */
.pac-container { z-index: 2147480000; font-family: 'Poppins', sans-serif; background: #FFF; border: 1px solid var(--navy, #0F1C2E); border-top: none; border-radius: 0 0 8px 8px; margin: 0; padding: 2px 0 0; box-shadow: 0 22px 34px -18px rgba(15,28,46,0.4); }
.pac-item { padding: 11px 16px; font-size: 14px; line-height: 1.4; color: #5C6470; border-top: 1px solid #F3EDE0; cursor: pointer; }
.pac-item:first-child { border-top: none; }
.pac-item:hover, .pac-item.pac-item-selected { background: #FAF6ED; }
.pac-item .pac-icon { display: none; }
.pac-item-query { font-size: 14px; font-weight: 600; color: #0F1C2E; }
.pac-matched { font-weight: 600; color: #C8841F; }
.pac-logo::after { margin: 6px 12px 8px; }
/* Calculator flavor: match the calc input's gold focus + 9px radius */
.pac-container.av-pac-from-calc { border-color: var(--gold-mid, #E8A33A); border-radius: 0 0 9px 9px; }
/* Phone-layout flavor: the cream cells use the soft tan hairline, not navy.
   (Hardcoded: the pac lives at body level, outside the .avsky-sar var scope.) */
.pac-container.av-pac-mobile { border-color: #ECE3D2; box-shadow: 0 18px 30px -16px rgba(15,28,46,0.28); }

/* Widened beyond its field (narrow multi-city cells): the flush "extension"
   seam can't line up, so the sheet floats as a detached card instead. Wins
   over the flavor borders above by source order. */
.pac-container.av-pac-card { border: 1px solid #E4DCCB; border-radius: 12px; padding: 4px 0 2px; box-shadow: 0 10px 24px -12px rgba(15,28,46,0.22), 0 28px 60px -18px rgba(15,28,46,0.32); }
.pac-container.av-pac-card.av-pac-from-calc { border-color: var(--gold-mid, #E8A33A); }
/* The open input squares its bottom corners and mutes its glow so the
   dropdown continues seamlessly from it (works for both the 4px hero
   inputs and the 9px calculator input). */
.avsky-sar .av-pac-open, .avcalc .av-pac-open { border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; box-shadow: none !important; }

/* ===== Airports right rail (owner ask): photo on top, MAP EXPANDS to fill
   the remaining column height down to the selector's bottom — long intros
   (e.g. St. Barts) no longer leave dead space under the photo. ===== */
.avsky-sar-desktop .airports-quad .aq-info{ grid-column:1; grid-row:1; }
.avsky-sar-desktop .airports-quad .aq-selector{ grid-column:1; grid-row:2; }
.avsky-sar-desktop .airports-quad .aq-right{ grid-column:2; grid-row:1 / 3; display:flex; flex-direction:column; gap:26px; align-self:stretch; min-height:0; }
.avsky-sar-desktop .aq-right .aq-photo{ align-self:stretch; flex:0 0 auto; }
.avsky-sar-desktop .aq-right .aq-map{ flex:1 1 auto; align-self:stretch; display:flex; min-height:0; }
.avsky-sar-desktop .aq-right .aq-map .map-card{ width:100%; height:auto; aspect-ratio:auto; min-height:280px; }
@media (max-width: 1024px){
  /* stacked band: dissolve the rail and restore the original order
     (intro → photo → selector → map) and the fixed map shape */
  .avsky-sar-desktop .airports-quad .aq-right{ display:contents; }
  /* the desktop rules pin info/selector to explicit grid rows, which beats
     order-based auto-placement — release them in the stacked band */
  .avsky-sar-desktop .airports-quad .aq-info{ order:1; grid-row:auto; grid-column:auto; }
  .avsky-sar-desktop .airports-quad .aq-photo{ order:2; }
  .avsky-sar-desktop .airports-quad .aq-selector{ order:3; grid-row:auto; grid-column:auto; }
  .avsky-sar-desktop .airports-quad .aq-map{ order:4; }
  .avsky-sar-desktop .aq-right .aq-map .map-card{ aspect-ratio:3/2; min-height:0; height:auto; }
}


/* ===== Desktop calculator: compact vertical rhythm (owner ask — the modal
   required internal scrolling on normal desktop heights). Phone layout
   (<=640) keeps its full-screen spacing. ===== */
@media (min-width: 641px){
  .calc-modal-dialog .avcalc .calc-head{ padding:12px 22px 12px; margin-bottom:2px; }
  .calc-modal-dialog .avcalc .calc-sub{ margin-top:4px; font-size:12.5px; }
  .calc-modal-dialog .avcalc .field{ margin-top:9px; }
  .calc-modal-dialog .avcalc .field > label{ margin-bottom:4px; height:auto; line-height:1.3; }
  .calc-modal-dialog .avcalc .seg button{ padding:7px 8px; }
  .calc-modal-dialog .avcalc .city-input{ padding:9px 12px; }
  .calc-modal-dialog .avcalc .date-btn{ min-height:40px; }
  .calc-modal-dialog .avcalc .field-row{ gap:10px; }
  .calc-modal-dialog .avcalc .match-note, .calc-modal-dialog .avcalc .calc-in > p:last-of-type{ font-size:12px; margin-top:8px; margin-bottom:6px; }
  .calc-modal-dialog .avcalc .calc .calc-in{ padding-bottom:12px; }
  .calc-modal-dialog .avcalc .out{ padding:14px 22px 16px; }
  .calc-modal-dialog .avcalc .out .price{ font-size:24px; }
  .calc-modal-dialog .avcalc .out-stats{ margin-top:10px; padding-top:10px; }
  .calc-modal-dialog .avcalc .calc-cta, .calc-modal-dialog .avcalc .out .btn{ padding:11px; }

  /* 94vh + compact rhythm = no internal scrolling at typical desktop heights */
  /* Corner geometry must agree: dialog clip = .calc's own 14px radius, and the
     navy .calc-out rounds itself (13px = 14 minus the card's 1px border) so no
     mismatched clipped arcs ("bevels") show at the bottom corners. */
  .calc-modal-dialog{ max-height:94vh; border-radius:14px; }
  .calc-modal-dialog .avcalc .calc .calc-out{ border-radius:0 0 13px 13px; }
}

/* ═══ TABLET/NARROW-DESKTOP FIX (2026-08-23) — the desktop DOM's fixed 520px right
   columns (hero form, estimates card) overflow between 1025 and ~1219px, and inside
   the ≤1024 band the hero grid was never collapsed (the earlier tablet block targets
   .itin-hero — the itinerary hero — not the destination's .hiz-body). ═══ */
@media (min-width: 641px) and (max-width: 1024px) {
  /* stack the immersive hero: copy above, form below, both full width */
  .avsky-sar-desktop .hiz-body { grid-template-columns: 1fr; gap: 36px; align-items: stretch; }
  .avsky-sar-desktop .hiz-form { max-width: 560px; width: 100%; justify-self: start; }
}
@media (min-width: 1025px) and (max-width: 1219px) {
  /* keep the two-column layout but let the fixed 520px columns breathe */
  .avsky-sar-desktop .hiz-body { grid-template-columns: minmax(0, 1fr) minmax(360px, 448px); }
  .avsky-sar-desktop .spec { grid-template-columns: minmax(0, 1fr) minmax(360px, 448px); }
}
@media (max-width: 1219px) {
  .avsky-sar-desktop .hiz-body > *, .avsky-sar-desktop .spec > * { min-width: 0; }
}
