/* Premium CMS public pages (navy/sky/teal). Loaded only on CMS content routes. */
@import 'tailwindcss' source(none);
@import './core/theme.css';

@layer components {
    .cms-page { position: relative; isolation: isolate; overflow: clip; }
    .cms-page__preview {
        background: var(--color-warning-100); padding: .65rem 1rem; text-align: center;
        font-size: var(--text-small); font-weight: 600; color: #93370d;
    }
    .cms-page__atmosphere { pointer-events: none; position: absolute; inset: 0; z-index: 0; overflow: hidden; }
    .cms-page__glow {
        position: absolute; border-radius: 9999px; filter: blur(64px); opacity: .5;
        animation: cms-glow 16s ease infinite alternate;
    }
    .cms-page__glow--a {
        top: -6rem; inset-inline-start: -4rem; width: min(36rem, 75vw); height: min(36rem, 75vw);
        background: color-mix(in oklab, var(--color-sky-400) 50%, transparent);
    }
    .cms-page__glow--b {
        top: 16rem; inset-inline-end: -8rem; width: min(28rem, 65vw); height: min(28rem, 65vw);
        background: color-mix(in oklab, var(--color-teal-400) 40%, transparent); animation-delay: -5s;
    }
    .cms-page__grid {
        position: absolute; inset: 0;
        background-image:
            linear-gradient(color-mix(in oklab, var(--color-navy-900) 7%, transparent) 1px, transparent 1px),
            linear-gradient(90deg, color-mix(in oklab, var(--color-navy-900) 7%, transparent) 1px, transparent 1px);
        background-size: 4rem 4rem;
        mask-image: linear-gradient(180deg, #0008, transparent 70%);
    }
    .cms-page__article { position: relative; z-index: 1; }
    .cms-page__intro {
        margin-inline: auto; max-width: 52rem; padding: clamp(3rem, 7vw, 5.5rem) 1.25rem 1.5rem; text-align: center;
    }
    .cms-page__brand {
        margin: 0 0 .85rem; font-size: clamp(1.7rem, 4vw, 2.6rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.05;
        background: linear-gradient(120deg, var(--color-navy-900), var(--color-sky-600) 55%, var(--color-teal-600));
        -webkit-background-clip: text; background-clip: text; color: transparent;
        animation: cms-rise .85s ease both;
    }
    .cms-page__title {
        margin: 0; font-size: clamp(1.3rem, 2.3vw, 1.75rem); font-weight: 600; letter-spacing: -.02em;
        animation: cms-rise .85s .06s ease both;
    }
    .cms-page__lede {
        margin: .9rem auto 0; max-width: 38rem; font-size: clamp(1.05rem, 1.5vw, 1.15rem);
        line-height: 1.55; color: var(--ink-muted); animation: cms-rise .85s .12s ease both;
    }

    .cms-section-title {
        margin: 0 0 1.5rem; font-size: clamp(1.45rem, 2.6vw, 1.9rem); font-weight: 700; letter-spacing: -.03em;
    }

    .cms-block--hero {
        position: relative; display: grid; min-height: min(86vh, 48rem); place-items: end stretch; overflow: clip; color: #fff;
        background:
            radial-gradient(110% 80% at 10% 8%, color-mix(in oklab, var(--color-sky-500) 50%, transparent), transparent 55%),
            radial-gradient(80% 60% at 90% 18%, color-mix(in oklab, var(--color-teal-400) 35%, transparent), transparent 50%),
            linear-gradient(160deg, var(--color-navy-950), var(--color-navy-900) 50%, #0c2748);
    }
    .cms-hero__media { position: absolute; inset: 0; }
    .cms-hero__wash {
        position: absolute; inset: 0;
        background:
            linear-gradient(180deg, transparent 40%, rgb(6 18 40 / .7)),
            repeating-linear-gradient(-18deg, transparent, transparent 28px, rgb(255 255 255 / .03) 28px, rgb(255 255 255 / .03) 29px);
    }
    .cms-hero__orbit {
        position: absolute; top: 12%; inset-inline-end: -8%; width: min(34rem, 68vw); aspect-ratio: 1;
        border-radius: 9999px; border: 1px solid rgb(255 255 255 / .12);
        box-shadow: inset 0 0 72px rgb(79 194 191 / .16); animation: cms-orbit 22s linear infinite;
    }
    .cms-hero__content {
        position: relative; z-index: 1; width: min(72rem, 100%); margin-inline: auto;
        padding: clamp(3.5rem, 9vw, 6rem) 1.25rem clamp(2.5rem, 6vw, 4.5rem);
    }
    .cms-hero__title {
        margin: 0; max-width: 16ch; font-size: clamp(2.5rem, 6.5vw, 5rem); font-weight: 700;
        letter-spacing: -.045em; line-height: .98; text-wrap: balance; animation: cms-rise .95s ease both;
    }
    .cms-hero__lead {
        margin: 1.1rem 0 0; max-width: 34rem; font-size: clamp(1.05rem, 1.8vw, 1.25rem);
        line-height: 1.5; color: rgb(255 255 255 / .82); animation: cms-rise .95s .08s ease both;
    }
    .cms-hero__actions {
        display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; animation: cms-rise .95s .14s ease both;
    }
    .cms-hero__cta {
        display: inline-flex; min-height: 3rem; align-items: center; padding: .75rem 1.3rem;
        border-radius: .65rem; font-weight: 700; text-decoration: none; transition: translate .15s ease;
    }
    .cms-hero__cta:hover { translate: 0 -2px; }
    .cms-hero__cta--primary {
        background: linear-gradient(135deg, var(--color-teal-400), var(--color-sky-500));
        color: var(--color-navy-950); box-shadow: 0 1rem 2.25rem rgb(79 194 191 / .25);
    }
    .cms-hero__cta--ghost {
        border: 1px solid rgb(255 255 255 / .35); color: #fff; background: rgb(255 255 255 / .06);
    }

    .cms-block--cta-band {
        padding: clamp(3rem, 7vw, 5rem) 1.25rem; color: #fff;
        background: linear-gradient(115deg, var(--color-navy-900), var(--color-navy-800) 42%, var(--color-sky-800));
    }
    .cms-cta__inner { width: min(54rem, 100%); margin-inline: auto; text-align: center; }
    .cms-cta__title { margin: 0; font-size: clamp(1.7rem, 3.2vw, 2.5rem); font-weight: 700; letter-spacing: -.035em; }
    .cms-cta__body { margin: .75rem auto 0; max-width: 34rem; color: rgb(255 255 255 / .8); }
    .cms-cta__button {
        display: inline-flex; min-height: 3rem; align-items: center; margin-top: 1.5rem; padding: .75rem 1.4rem;
        border-radius: .65rem; background: #fff; color: var(--color-navy-900); font-weight: 700; text-decoration: none;
    }

    .cms-page__body > .cms-block:not(.cms-block--hero):not(.cms-block--cta-band):not([class*='cms-block--spacer']) {
        width: min(72rem, 100%); margin-inline: auto; padding: clamp(2.75rem, 6vw, 4.75rem) 1.25rem;
    }

    .cms-feature-grid {
        display: grid; gap: 1.1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
    }
    .cms-feature-grid__item {
        padding: 1.35rem 1.25rem 1.35rem 1.5rem; border-inline-start: 3px solid var(--color-teal-400);
        background: linear-gradient(160deg, color-mix(in oklab, var(--color-sky-50) 75%, transparent), transparent);
    }
    .cms-feature-grid__title { display: block; font-size: 1.1rem; font-weight: 700; }
    .cms-feature-grid__body { margin: .45rem 0 0; color: var(--ink-muted); line-height: 1.5; }

    .cms-stats {
        display: grid; gap: 1.25rem; margin: 0; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); text-align: center;
    }
    .cms-stats__value {
        margin: 0; font-size: clamp(2.1rem, 4.5vw, 3.25rem); font-weight: 700; letter-spacing: -.04em; line-height: 1;
        background: linear-gradient(135deg, var(--color-navy-900), var(--color-sky-600));
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .cms-stats__label {
        margin: .45rem 0 0; font-size: var(--text-small); font-weight: 600; letter-spacing: .06em;
        text-transform: uppercase; color: var(--ink-muted);
    }

    .cms-steps { margin: 0; padding: 0; list-style: none; }
    .cms-steps__item {
        display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; padding: 1.35rem 0;
        border-top: 1px solid color-mix(in oklab, var(--color-navy-900) 12%, transparent);
    }
    .cms-steps__item:last-child { border-bottom: 1px solid color-mix(in oklab, var(--color-navy-900) 12%, transparent); }
    .cms-steps__index {
        font-size: clamp(1.85rem, 3.5vw, 2.5rem); font-weight: 700; letter-spacing: -.05em; line-height: 1;
        color: color-mix(in oklab, var(--color-sky-500) 70%, var(--color-navy-900));
    }
    .cms-steps__title { margin: 0; font-size: 1.2rem; font-weight: 700; }
    .cms-steps__body { margin: .35rem 0 0; color: var(--ink-muted); line-height: 1.5; }

    .cms-block--spacer-sm { height: 2rem; }
    .cms-block--spacer-md { height: 4rem; }
    .cms-block--spacer-lg { height: 6.5rem; }

    /* —— Homepage (Phase 6 redesign) —— */
    .site-home { position: relative; }

    .home-hero {
        position: relative;
        /* Keep visible so the quote date picker is not clipped mid-open. */
        overflow: visible;
        color: #fff;
        background: #040c18;
        min-height: min(100svh, 54rem);
        display: grid;
        align-items: start;
    }

    .home-hero__bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
    .home-hero__aurora {
        position: absolute; inset: -10% -5%;
        background:
            conic-gradient(from 210deg at 30% 20%, color-mix(in oklab, var(--color-sky-400) 28%, transparent), transparent 40%, color-mix(in oklab, var(--color-teal-400) 22%, transparent), transparent 70%),
            radial-gradient(70% 55% at 70% 10%, color-mix(in oklab, var(--color-sky-500) 35%, transparent), transparent 60%),
            linear-gradient(155deg, #040d1c 0%, #0a1e3f 45%, #0c355c 100%);
        animation: home-aurora 18s ease-in-out infinite alternate;
    }
    .home-hero__beam {
        position: absolute; inset: -20% -10% auto;
        height: 70%;
        background:
            radial-gradient(55% 70% at 18% 30%, color-mix(in oklab, var(--color-sky-400) 45%, transparent), transparent 70%),
            radial-gradient(40% 50% at 78% 20%, color-mix(in oklab, var(--color-teal-400) 35%, transparent), transparent 65%);
        animation: cms-glow 14s ease infinite alternate;
    }
    .home-hero__ring {
        position: absolute; top: 8%; inset-inline-end: -12%;
        width: min(42rem, 78vw); aspect-ratio: 1; border-radius: 9999px;
        border: 1px solid rgb(255 255 255 / .1);
        box-shadow: inset 0 0 100px rgb(79 194 191 / .12);
        animation: cms-orbit 28s linear infinite;
    }
    .home-hero__orbit {
        position: absolute; top: 18%; inset-inline-start: -8%;
        width: min(28rem, 55vw); aspect-ratio: 1; border-radius: 9999px;
        border: 1px dashed rgb(255 255 255 / .12);
        animation: cms-orbit 40s linear infinite reverse;
    }
    .home-hero__route {
        position: absolute; inset-inline: 8%; bottom: 18%; height: 2px;
        background: linear-gradient(90deg, transparent, rgb(255 255 255 / .35), transparent);
        mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
    }
    .home-hero__route::before,
    .home-hero__route::after {
        content: ''; position: absolute; top: 50%; translate: 0 -50%;
        width: .7rem; height: .7rem; border-radius: 999px;
        background: var(--color-teal-300);
        box-shadow: 0 0 1.25rem var(--color-teal-400);
    }
    .home-hero__route::before { inset-inline-start: 12%; }
    .home-hero__route::after {
        inset-inline-end: 18%;
        background: var(--color-sky-300);
        box-shadow: 0 0 1.25rem var(--color-sky-400);
    }
    .home-hero__grain {
        position: absolute; inset: 0;
        background:
            linear-gradient(180deg, transparent 45%, rgb(4 12 28 / .65)),
            repeating-linear-gradient(-16deg, transparent 0 26px, rgb(255 255 255 / .025) 26px 27px);
    }

    .home-hero__inner {
        position: relative; z-index: 1;
        width: min(74rem, 100%);
        margin-inline: auto;
        padding: clamp(2rem, 4.5vw, 3.5rem) 1.25rem clamp(2.5rem, 5vw, 4rem);
        display: grid;
        gap: clamp(1.5rem, 3vw, 2.75rem);
        align-items: start;
    }

    @media (width >= 64rem) {
        .home-hero__inner {
            grid-template-columns: minmax(0, 1.05fr) minmax(26rem, 34rem);
            gap: 2.75rem;
            align-items: center;
            min-height: min(calc(100svh - 7rem), 46rem);
        }
    }

    .home-hero__eyebrow {
        margin: 0 0 .85rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: color-mix(in oklab, var(--color-teal-300) 80%, #fff);
        animation: cms-rise .85s ease both;
    }

    .home-hero__brand {
        margin: 0 0 .75rem;
        font-size: clamp(2rem, 4.6vw, 3.1rem);
        font-weight: 700;
        letter-spacing: -.05em;
        line-height: 1;
        color: #fff;
        text-shadow: 0 1rem 2.5rem rgb(0 0 0 / .25);
        animation: cms-rise .9s ease both;
    }

    .home-hero__title {
        margin: 0;
        max-width: 14ch;
        font-size: clamp(1.9rem, 4vw, 3.35rem);
        font-weight: 700;
        letter-spacing: -.045em;
        line-height: 1.02;
        text-wrap: balance;
        animation: cms-rise .9s .06s ease both;
    }
    .home-hero__title-accent {
        display: inline;
        background: linear-gradient(120deg, var(--color-teal-300), var(--color-sky-300) 55%, #fff);
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }

    .home-hero__lead {
        margin: 1.15rem 0 0;
        max-width: 34rem;
        font-size: clamp(1.05rem, 1.7vw, 1.2rem);
        line-height: 1.55;
        color: rgb(255 255 255 / .82);
        animation: cms-rise .9s .12s ease both;
    }

    .home-hero__proof {
        display: flex; flex-wrap: wrap; gap: .55rem;
        margin: 1.5rem 0 0; padding: 0; list-style: none;
        animation: cms-rise .9s .18s ease both;
    }
    .home-hero__proof li {
        display: inline-flex; align-items: center; gap: .4rem;
        min-height: 2.15rem; padding: .4rem .85rem; border-radius: 999px;
        border: 1px solid rgb(255 255 255 / .22);
        background: rgb(255 255 255 / .08);
        backdrop-filter: blur(8px);
        font-size: .82rem; font-weight: 700; letter-spacing: .02em;
    }

    .home-hero__quote {
        width: 100%;
        animation: cms-rise .95s .1s ease both;
        filter: drop-shadow(0 1.5rem 2.5rem rgb(0 0 0 / .28));
    }

    .home-strip {
        border-block: 1px solid color-mix(in oklab, var(--color-navy-900) 10%, transparent);
        background: color-mix(in oklab, var(--color-sky-50) 75%, #fff);
    }
    .home-strip__inner {
        display: flex; flex-wrap: wrap; justify-content: center; gap: .85rem 1.75rem;
        padding-block: 1.15rem;
        font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
        color: var(--color-navy-800);
    }
    .home-strip__inner p {
        display: inline-flex; align-items: center; gap: .45rem; margin: 0;
    }

    .home-section { padding: clamp(3.25rem, 7vw, 5.5rem) 0; }
    .home-section--muted { background: color-mix(in oklab, var(--color-sky-50) 55%, transparent); }
    .home-section--dark {
        background: linear-gradient(120deg, var(--color-navy-950), var(--color-navy-900));
        color: #fff;
    }
    .home-section__title {
        margin: 0 0 1.75rem;
        font-size: clamp(1.6rem, 3vw, 2.15rem);
        font-weight: 700;
        letter-spacing: -.03em;
        color: inherit;
    }

    /* Common questions — premium accordion */
    .home-faq {
        position: relative;
        overflow: clip;
        background:
            radial-gradient(65% 50% at 0% 0%, color-mix(in oklab, var(--color-teal-100) 70%, transparent), transparent 55%),
            radial-gradient(55% 45% at 100% 100%, color-mix(in oklab, var(--color-sky-100) 75%, transparent), transparent 50%),
            linear-gradient(180deg, color-mix(in oklab, var(--color-sky-50) 50%, #fff), #fff);
    }
    .home-faq__inner {
        display: grid; gap: 2.25rem; align-items: start;
    }
    @media (width >= 64rem) {
        .home-faq__inner { grid-template-columns: minmax(16rem, 22rem) 1fr; gap: 3rem; }
    }
    .home-faq__intro { max-width: 28rem; }
    .home-faq__eyebrow {
        margin: 0 0 .65rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: var(--color-teal-700);
    }
    .home-faq__intro .home-section__title { margin-bottom: .7rem; }
    .home-faq__lede {
        margin: 0; font-size: 1.08rem; line-height: 1.6; color: var(--ink-muted);
    }
    .home-faq__cta {
        display: inline-flex; align-items: center; gap: .4rem;
        margin-top: 1.35rem;
        font-size: .95rem; font-weight: 700;
        color: var(--color-sky-700); text-decoration: none;
        transition: gap .15s ease, color .15s ease;
    }
    .home-faq__cta:hover { gap: .65rem; color: var(--color-navy-900); }

    .home-faq__panel {
        display: grid; gap: .65rem;
    }
    .home-faq__item {
        border-radius: 1.15rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background:
            linear-gradient(165deg, #fff 0%, color-mix(in oklab, var(--color-sky-50) 55%, #fff) 100%);
        box-shadow: 0 .85rem 1.75rem rgb(19 43 82 / .05);
        overflow: hidden;
        transition: border-color .15s ease, box-shadow .15s ease;
    }
    .home-faq__item[open] {
        border-color: color-mix(in oklab, var(--color-sky-500) 28%, transparent);
        box-shadow: 0 1.15rem 2.4rem rgb(19 43 82 / .1);
    }
    .home-faq__summary {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: .9rem; align-items: center;
        padding: 1.15rem 1.2rem;
        cursor: pointer; list-style: none;
        font-weight: 700;
    }
    .home-faq__summary::-webkit-details-marker { display: none; }
    .home-faq__summary:focus-visible {
        outline: 2px solid var(--color-sky-500);
        outline-offset: -2px;
    }
    .home-faq__num {
        display: grid; place-items: center;
        width: 2.4rem; height: 2.4rem; border-radius: .75rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .04em;
        color: var(--color-navy-900);
        background: linear-gradient(145deg, color-mix(in oklab, var(--color-sky-200) 70%, #fff), color-mix(in oklab, var(--color-teal-100) 55%, #fff));
    }
    .home-faq__item[open] .home-faq__num {
        color: #fff;
        background: linear-gradient(135deg, var(--color-navy-900), var(--color-sky-700));
    }
    .home-faq__question {
        font-size: 1.05rem; letter-spacing: -.015em; line-height: 1.35;
        color: var(--color-navy-950);
    }
    .home-faq__toggle {
        display: grid; place-items: center;
        width: 2rem; height: 2rem; border-radius: 999px;
        color: var(--ink-muted);
        background: color-mix(in oklab, var(--color-navy-900) 5%, transparent);
        transition: rotate .2s ease, background .15s ease, color .15s ease;
    }
    .home-faq__item[open] .home-faq__toggle {
        rotate: 180deg;
        color: var(--color-sky-700);
        background: color-mix(in oklab, var(--color-sky-100) 80%, #fff);
    }
    .home-faq__answer {
        padding: 0 1.2rem 1.25rem 4.5rem;
    }
    .home-faq__answer p {
        margin: 0;
        border-top: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        padding-top: .9rem;
        font-size: 1rem; line-height: 1.6; color: var(--ink-muted);
    }
    @media (width < 40rem) {
        .home-faq__answer { padding-inline-start: 1.2rem; }
    }

    /* How online booking works — premium journey track */
    .home-flow-section {
        position: relative;
        background:
            radial-gradient(80% 60% at 10% 0%, color-mix(in oklab, var(--color-sky-100) 70%, transparent), transparent 55%),
            radial-gradient(70% 50% at 90% 100%, color-mix(in oklab, var(--color-teal-100) 55%, transparent), transparent 50%),
            color-mix(in oklab, var(--color-sky-50) 35%, #fff);
        overflow: clip;
    }
    .home-flow__intro { max-width: 38rem; margin-bottom: 2.5rem; }
    .home-flow__eyebrow {
        margin: 0 0 .65rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: var(--color-sky-700);
    }
    .home-flow__intro .home-section__title { margin-bottom: .7rem; }
    .home-flow__lede {
        margin: 0; font-size: 1.08rem; line-height: 1.6; color: var(--ink-muted);
    }

    .home-flow {
        --flow-gap: 1rem;
        display: grid;
        gap: var(--flow-gap);
        margin: 0;
        padding: 0;
        list-style: none;
        counter-reset: none;
    }
    @media (width >= 64rem) {
        .home-flow {
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 0;
            align-items: stretch;
        }
    }

    .home-flow__item {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1rem;
        position: relative;
    }
    @media (width >= 64rem) {
        .home-flow__item {
            grid-template-columns: 1fr;
            gap: 1.1rem;
            padding-inline: .55rem;
        }
        .home-flow__item:not(:last-child)::after {
            content: '';
            position: absolute;
            top: 1.35rem;
            inset-inline-start: calc(50% + 1.4rem);
            width: calc(100% - 2.8rem);
            height: 2px;
            background: linear-gradient(90deg, var(--color-sky-400), var(--color-teal-400));
            opacity: .55;
            z-index: 0;
        }
    }

    .home-flow__rail {
        display: grid;
        align-content: start;
        justify-items: center;
        position: relative;
        z-index: 1;
    }
    @media (width < 64rem) {
        .home-flow__item:not(:last-child) .home-flow__rail::after {
            content: '';
            position: absolute;
            top: 2.9rem;
            bottom: -1rem;
            width: 2px;
            background: linear-gradient(180deg, var(--color-sky-400), var(--color-teal-400));
            opacity: .45;
        }
    }
    .home-flow__node {
        display: grid; place-items: center;
        width: 2.7rem; height: 2.7rem;
        border-radius: 999px;
        font-size: .82rem; font-weight: 800; letter-spacing: -.02em;
        color: #fff;
        background: linear-gradient(145deg, var(--color-navy-900), var(--color-sky-700));
        box-shadow:
            0 0 0 4px color-mix(in oklab, var(--color-sky-100) 80%, #fff),
            0 .65rem 1.25rem rgb(19 43 82 / .22);
    }
    @media (width >= 64rem) {
        .home-flow__rail { justify-self: center; }
    }

    .home-flow__card {
        display: grid;
        gap: .65rem;
        align-content: start;
        min-height: 100%;
        padding: 1.35rem 1.25rem 1.45rem;
        border-radius: 1.15rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        background:
            linear-gradient(165deg, #fff 0%, color-mix(in oklab, var(--color-sky-50) 55%, #fff) 100%);
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .07);
        transition: translate .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .home-flow__card:hover {
        translate: 0 -.18rem;
        border-color: color-mix(in oklab, var(--color-sky-500) 35%, transparent);
        box-shadow: 0 1.4rem 2.5rem rgb(19 43 82 / .12);
    }
    .home-flow__icon {
        display: inline-flex; width: 2.5rem; height: 2.5rem;
        align-items: center; justify-content: center; border-radius: .75rem;
        background: color-mix(in oklab, var(--color-teal-100) 75%, #fff);
        color: var(--color-navy-900);
    }
    .home-flow__title {
        margin: 0;
        font-size: 1.12rem; font-weight: 700; letter-spacing: -.02em;
        color: var(--color-navy-950);
    }
    .home-flow__body {
        margin: 0; font-size: .95rem; line-height: 1.55; color: var(--ink-muted);
    }

    .home-flow__cta { margin: 2.25rem 0 0; }
    .home-flow__btn {
        display: inline-flex; min-height: 2.9rem; align-items: center;
        padding: .7rem 1.3rem; border-radius: .75rem; font-weight: 700; text-decoration: none;
        background: linear-gradient(135deg, var(--color-navy-900), var(--color-sky-700));
        color: #fff;
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .22);
        transition: translate .15s ease;
    }
    .home-flow__btn:hover { translate: 0 -2px; }

    /* Why travellers choose — premium mosaic */
    .home-why {
        position: relative;
        overflow: clip;
        background:
            radial-gradient(70% 55% at 85% 10%, color-mix(in oklab, var(--color-teal-100) 65%, transparent), transparent 55%),
            radial-gradient(60% 50% at 5% 90%, color-mix(in oklab, var(--color-sky-100) 70%, transparent), transparent 50%),
            linear-gradient(180deg, #fff, color-mix(in oklab, var(--color-sky-50) 40%, #fff));
    }
    .home-why__intro { max-width: 40rem; margin-bottom: 2.5rem; }
    .home-why__eyebrow {
        margin: 0 0 .65rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: var(--color-teal-700);
    }
    .home-why__intro .home-section__title { margin-bottom: .7rem; }
    .home-why__lede {
        margin: 0; font-size: 1.08rem; line-height: 1.6; color: var(--ink-muted);
    }

    .home-why__mosaic {
        display: grid;
        gap: 1rem;
        margin: 0;
        padding: 0;
        list-style: none;
        grid-template-columns: 1fr;
    }
    @media (width >= 48rem) {
        .home-why__mosaic { grid-template-columns: repeat(2, 1fr); }
    }
    @media (width >= 72rem) {
        .home-why__mosaic { grid-template-columns: repeat(12, 1fr); }
        .home-why__item { grid-column: span 4; }
        .home-why__item--feature { grid-column: span 8; grid-row: span 2; min-height: 100%; }
    }

    .home-why__item {
        position: relative;
        display: grid;
        gap: .75rem;
        align-content: start;
        padding: 1.45rem 1.35rem 1.55rem;
        border-radius: 1.2rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        background:
            linear-gradient(165deg, #fff 0%, color-mix(in oklab, var(--color-sky-50) 60%, #fff) 100%);
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .06);
        overflow: hidden;
        transition: translate .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .home-why__item:hover {
        translate: 0 -.16rem;
        border-color: color-mix(in oklab, var(--color-sky-500) 30%, transparent);
        box-shadow: 0 1.45rem 2.75rem rgb(19 43 82 / .12);
    }
    .home-why__item--feature {
        padding: clamp(1.75rem, 3vw, 2.35rem);
        background:
            linear-gradient(145deg, var(--color-navy-950) 0%, var(--color-navy-900) 48%, #0c3d66 100%);
        color: #fff;
        border-color: transparent;
        box-shadow: 0 1.5rem 3rem rgb(6 18 40 / .28);
    }
    .home-why__item--feature .home-why__body { color: rgb(255 255 255 / .78); }
    .home-why__item--feature .home-why__tag {
        background: rgb(255 255 255 / .1);
        color: rgb(255 255 255 / .88);
        border-color: rgb(255 255 255 / .18);
    }
    .home-why__item--feature .home-why__icon {
        background: rgb(255 255 255 / .12);
        color: #fff;
    }
    .home-why__item--feature .home-why__index {
        color: rgb(255 255 255 / .12);
    }
    .home-why__item--feature .home-why__title {
        font-size: clamp(1.55rem, 2.8vw, 2.2rem);
        max-width: 14ch;
    }

    .home-why__tag {
        justify-self: start;
        font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
        padding: .3rem .65rem; border-radius: 999px;
        border: 1px solid color-mix(in oklab, var(--color-sky-500) 28%, transparent);
        background: color-mix(in oklab, var(--color-sky-50) 85%, #fff);
        color: var(--color-sky-800);
    }
    .home-why__art {
        width: min(100%, 10rem);
        margin-block: .15rem .35rem;
        padding: .65rem .75rem;
        border-radius: 1rem;
        background:
            radial-gradient(90% 80% at 50% 100%, color-mix(in oklab, var(--color-sky-100) 70%, transparent), transparent 65%),
            #fff;
        box-shadow: 0 .5rem 1.25rem rgb(19 43 82 / .08);
    }
    .home-why__item--feature .home-why__art {
        width: min(100%, 15rem);
        background:
            radial-gradient(90% 80% at 50% 100%, color-mix(in oklab, var(--color-teal-100) 55%, transparent), transparent 65%),
            #fff;
    }
    .why-vector { display: block; width: 100%; height: auto; }
    .home-why__title {
        font-size: 1.15rem; font-weight: 700; letter-spacing: -.02em;
        color: inherit;
    }

    /* Find the right vehicle — vector fleet cards */
    .home-fleet {
        position: relative;
        overflow: clip;
        background:
            radial-gradient(65% 50% at 0% 20%, color-mix(in oklab, var(--color-sky-100) 75%, transparent), transparent 55%),
            radial-gradient(55% 45% at 100% 80%, color-mix(in oklab, var(--color-teal-100) 60%, transparent), transparent 50%),
            color-mix(in oklab, var(--color-sky-50) 45%, #fff);
    }
    .home-fleet__intro { max-width: 40rem; margin-bottom: 2.25rem; }
    .home-fleet__eyebrow {
        margin: 0 0 .65rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: var(--color-sky-700);
    }
    .home-fleet__intro .home-section__title { margin-bottom: .7rem; }
    .home-fleet__lede {
        margin: 0; font-size: 1.08rem; line-height: 1.6; color: var(--ink-muted);
    }
    .home-fleet__grid {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: 1fr;
    }
    @media (width >= 48rem) {
        .home-fleet__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (width >= 72rem) {
        .home-fleet__grid { grid-template-columns: repeat(3, 1fr); }
    }
    .home-fleet__card {
        display: grid; gap: 1rem;
        padding: 1.25rem 1.2rem 1.4rem;
        border-radius: 1.2rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        background:
            linear-gradient(165deg, #fff 0%, color-mix(in oklab, var(--color-sky-50) 55%, #fff) 100%);
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .06);
        transition: translate .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .home-fleet__card:hover {
        translate: 0 -.16rem;
        border-color: color-mix(in oklab, var(--color-sky-500) 32%, transparent);
        box-shadow: 0 1.4rem 2.6rem rgb(19 43 82 / .12);
    }
    .home-fleet__art {
        display: grid; place-items: center;
        min-height: 7.25rem;
        padding: .85rem 1rem .6rem;
        border-radius: .95rem;
        background:
            radial-gradient(80% 70% at 50% 80%, color-mix(in oklab, var(--color-sky-100) 80%, transparent), transparent 70%),
            linear-gradient(180deg, color-mix(in oklab, var(--color-navy-50) 50%, #fff), #fff);
    }
    .fleet-vector { display: block; width: 100%; max-width: 15.5rem; height: auto; }
    .home-fleet__copy { display: grid; gap: .4rem; }
    .home-fleet__title {
        font-size: 1.2rem; font-weight: 700; letter-spacing: -.02em; color: var(--color-navy-950);
    }
    .home-fleet__meta {
        display: inline-flex; align-items: center; gap: .35rem; margin: 0;
        font-size: .85rem; font-weight: 700; color: var(--color-sky-700);
    }
    .home-fleet__body {
        margin: 0; color: var(--ink-muted); line-height: 1.55;
    }
    .home-why__body {
        margin: 0; line-height: 1.55; color: var(--ink-muted);
    }
    .home-why__index {
        position: absolute;
        inset-inline-end: .85rem;
        bottom: .35rem;
        font-size: clamp(2.5rem, 5vw, 3.5rem);
        font-weight: 800;
        letter-spacing: -.06em;
        line-height: 1;
        color: color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        pointer-events: none;
    }

    /* What travellers say — premium voices */
    .home-voices {
        position: relative;
        overflow: clip;
        color: #fff;
        background:
            radial-gradient(80% 70% at 10% 0%, color-mix(in oklab, var(--color-sky-500) 28%, transparent), transparent 55%),
            radial-gradient(70% 60% at 95% 85%, color-mix(in oklab, var(--color-teal-400) 22%, transparent), transparent 50%),
            linear-gradient(155deg, var(--color-navy-950) 0%, var(--color-navy-900) 48%, #0a2748 100%);
    }
    .home-voices__glow {
        position: absolute;
        inset: auto -10% -35% 35%;
        height: 55%;
        background: radial-gradient(closest-side, color-mix(in oklab, var(--color-sky-400) 25%, transparent), transparent 70%);
        pointer-events: none;
        animation: home-voices-drift 14s ease-in-out infinite alternate;
    }
    .home-voices__inner { position: relative; z-index: 1; }
    .home-voices__intro { max-width: 40rem; margin-bottom: 2.35rem; }
    .home-voices__eyebrow {
        margin: 0 0 .65rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: color-mix(in oklab, var(--color-teal-300) 85%, #fff);
    }
    .home-voices__intro .home-section__title { margin-bottom: .7rem; color: #fff; }
    .home-voices__lede {
        margin: 0 0 1.35rem;
        font-size: 1.08rem; line-height: 1.6;
        color: rgb(255 255 255 / .72);
    }
    .home-voices__score {
        display: inline-flex; flex-wrap: wrap; align-items: center; gap: .85rem 1.1rem;
        padding: .7rem 1rem;
        border-radius: 999px;
        border: 1px solid rgb(255 255 255 / .14);
        background: rgb(255 255 255 / .06);
        backdrop-filter: blur(8px);
    }
    .home-voices__stars > .text-small { display: none; }
    .home-voices__stars .text-line-strong { color: rgb(255 255 255 / .22); }
    .home-voices__stars .text-accent { color: var(--color-teal-300); }
    .home-voices__score-copy {
        display: grid; gap: .1rem; margin: 0;
        font-size: .82rem; line-height: 1.3; color: rgb(255 255 255 / .62);
    }
    .home-voices__score-copy strong {
        font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; color: #fff;
    }

    .home-voices__stage {
        display: grid; gap: 1rem;
        grid-template-columns: 1fr;
    }
    @media (width >= 64rem) {
        .home-voices__stage {
            grid-template-columns: 1.35fr 1fr;
            gap: 1.15rem;
            align-items: stretch;
        }
    }

    .home-voices__feature {
        position: relative;
        display: grid; gap: 1.15rem; align-content: start;
        margin: 0;
        padding: clamp(1.6rem, 3vw, 2.4rem);
        border-radius: 1.35rem;
        border: 1px solid rgb(255 255 255 / .12);
        background:
            linear-gradient(160deg, rgb(255 255 255 / .1), rgb(255 255 255 / .04) 55%),
            color-mix(in oklab, var(--color-navy-900) 40%, transparent);
        box-shadow: 0 1.75rem 3.5rem rgb(0 0 0 / .28);
        overflow: hidden;
        min-height: 100%;
    }
    .home-voices__mark {
        position: absolute;
        inset-block-start: -.2rem;
        inset-inline-end: .7rem;
        font-size: clamp(6rem, 12vw, 9rem);
        font-weight: 700;
        line-height: .8;
        color: color-mix(in oklab, var(--color-sky-300) 35%, transparent);
        pointer-events: none;
        animation: home-voices-float 7s ease-in-out infinite;
    }
    .home-voices__stars-row {
        display: inline-flex; gap: .15rem;
        color: var(--color-teal-300);
    }
    .home-voices__quote {
        position: relative;
        margin: 0;
        font-size: clamp(1.2rem, 2.4vw, 1.55rem);
        font-weight: 600;
        letter-spacing: -.02em;
        line-height: 1.45;
        color: #fff;
        max-width: 34ch;
    }
    .home-voices__quote--compact {
        font-size: 1.02rem;
        font-weight: 600;
        max-width: none;
        color: rgb(255 255 255 / .92);
    }
    .home-voices__author {
        display: flex; align-items: center; gap: .8rem;
        margin-top: .35rem;
    }
    .home-voices__avatar {
        display: grid; place-items: center;
        width: 2.65rem; height: 2.65rem;
        border-radius: 999px;
        font-size: .78rem; font-weight: 800; letter-spacing: .04em;
        color: var(--color-navy-950);
        background: linear-gradient(135deg, var(--color-teal-300), var(--color-sky-300));
        box-shadow: 0 0 0 3px rgb(255 255 255 / .08);
    }
    .home-voices__avatar--sky {
        background: linear-gradient(135deg, var(--color-sky-300), #9fd0f0);
    }
    .home-voices__avatar--teal {
        background: linear-gradient(135deg, var(--color-teal-200), var(--color-teal-400));
    }
    .home-voices__name {
        display: block;
        font-style: normal;
        font-size: .95rem; font-weight: 700;
        color: #fff;
    }
    .home-voices__meta {
        display: block;
        margin-top: .15rem;
        font-size: .78rem;
        color: rgb(255 255 255 / .58);
    }

    .home-voices__rail {
        display: grid; gap: 1rem;
        margin: 0; padding: 0; list-style: none;
    }
    .home-voices__card {
        display: grid; gap: .85rem; align-content: start;
        padding: 1.35rem 1.3rem 1.4rem;
        border-radius: 1.2rem;
        border: 1px solid rgb(255 255 255 / .1);
        background: rgb(255 255 255 / .05);
        backdrop-filter: blur(6px);
        transition: translate .2s ease, background .2s ease, border-color .2s ease;
    }
    .home-voices__card:hover {
        translate: 0 -.12rem;
        background: rgb(255 255 255 / .08);
        border-color: color-mix(in oklab, var(--color-sky-300) 35%, transparent);
    }

    .home-grid {
        display: grid; gap: 1.15rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    }
    .home-grid__item {
        padding: 1.4rem 1.3rem 1.45rem;
        border-inline-start: 3px solid var(--color-teal-400);
        background: linear-gradient(165deg, #fff, color-mix(in oklab, var(--color-sky-50) 70%, transparent));
    }
    .home-section--muted .home-grid__item {
        background: linear-gradient(165deg, #fff, color-mix(in oklab, var(--color-navy-50) 40%, transparent));
    }
    .home-grid__icon {
        display: inline-flex; width: 2.5rem; height: 2.5rem; margin-bottom: .75rem;
        align-items: center; justify-content: center; border-radius: .7rem;
        background: color-mix(in oklab, var(--color-sky-100) 80%, #fff);
        color: var(--color-navy-900);
    }
    .home-grid__title { display: block; font-size: 1.1rem; font-weight: 700; letter-spacing: -.02em; }
    .home-grid__meta { margin: .35rem 0 0; font-size: .85rem; font-weight: 700; color: var(--color-sky-700); }
    .home-grid__body { margin: .45rem 0 0; color: var(--ink-muted); line-height: 1.55; }
    .home-grid__body a { color: var(--color-sky-700); font-weight: 700; }

    .home-prose { max-width: 44rem; }
    .home-prose p { font-size: 1.1rem; line-height: 1.7; color: var(--ink-muted); }
    .home-prose a { color: var(--color-sky-700); font-weight: 700; }
    .home-more { margin: 1.5rem 0 0; font-weight: 700; }
    .home-more a { color: var(--color-sky-700); text-decoration: none; }

    .home-stats {
        display: grid; gap: 1.5rem; margin: 0;
        grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
        text-align: center;
    }
    .home-stats dd {
        margin: 0; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1;
        background: linear-gradient(135deg, #fff, var(--color-teal-300));
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .home-stats dt {
        margin: .5rem 0 0; font-size: .78rem; font-weight: 700; letter-spacing: .08em;
        text-transform: uppercase; color: rgb(255 255 255 / .7);
    }

    /* Our commitment — premium promises */
    .home-commit {
        position: relative;
        overflow: clip;
        background:
            radial-gradient(70% 55% at 100% 0%, color-mix(in oklab, var(--color-sky-100) 80%, transparent), transparent 55%),
            radial-gradient(55% 45% at 0% 100%, color-mix(in oklab, var(--color-teal-100) 65%, transparent), transparent 50%),
            linear-gradient(180deg, #fff, color-mix(in oklab, var(--color-sky-50) 55%, #fff));
    }
    .home-commit__intro { max-width: 40rem; margin-bottom: 2.35rem; }
    .home-commit__eyebrow {
        margin: 0 0 .65rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: var(--color-sky-700);
    }
    .home-commit__intro .home-section__title { margin-bottom: .7rem; }
    .home-commit__lede {
        margin: 0; font-size: 1.08rem; line-height: 1.6; color: var(--ink-muted);
    }

    .home-commit__grid {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: 1fr;
    }
    @media (width >= 48rem) {
        .home-commit__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (width >= 72rem) {
        .home-commit__grid { grid-template-columns: repeat(12, 1fr); }
        .home-commit__card { grid-column: span 4; }
        .home-commit__card--feature { grid-column: span 8; grid-row: span 2; }
    }

    .home-commit__card {
        position: relative;
        display: grid; gap: .7rem; align-content: start;
        padding: 1.4rem 1.3rem 1.5rem;
        border-radius: 1.2rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        background: linear-gradient(165deg, #fff, color-mix(in oklab, var(--color-sky-50) 55%, #fff));
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .06);
        overflow: hidden;
        transition: translate .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .home-commit__card:hover {
        translate: 0 -.14rem;
        border-color: color-mix(in oklab, var(--color-sky-500) 30%, transparent);
        box-shadow: 0 1.4rem 2.6rem rgb(19 43 82 / .11);
    }
    .home-commit__card--feature {
        padding: clamp(1.7rem, 3vw, 2.35rem);
        color: #fff;
        border-color: transparent;
        background: linear-gradient(145deg, var(--color-navy-950), var(--color-navy-900) 48%, #0c3d66);
        box-shadow: 0 1.5rem 3rem rgb(6 18 40 / .26);
    }
    .home-commit__card--feature .home-commit__body { color: rgb(255 255 255 / .78); }
    .home-commit__card--feature .home-commit__icon {
        background: rgb(255 255 255 / .12);
        color: #fff;
    }
    .home-commit__card--feature .home-commit__title {
        font-size: clamp(1.45rem, 2.6vw, 2rem);
        max-width: 14ch;
    }
    .home-commit__icon {
        display: inline-flex; align-items: center; justify-content: center;
        width: 2.75rem; height: 2.75rem; border-radius: .85rem;
        color: var(--color-navy-900);
        background: linear-gradient(145deg, color-mix(in oklab, var(--color-sky-200) 65%, #fff), color-mix(in oklab, var(--color-teal-100) 50%, #fff));
    }
    .home-commit__title {
        font-size: 1.12rem; font-weight: 700; letter-spacing: -.02em; color: inherit;
    }
    .home-commit__body {
        margin: 0; line-height: 1.55; color: var(--ink-muted);
    }
    .home-commit__body a {
        color: var(--color-sky-700); font-weight: 700; text-decoration: underline;
        text-underline-offset: .15em;
    }
    .home-commit__card--feature .home-commit__body a {
        color: var(--color-teal-300);
    }
    .home-commit__index {
        position: absolute;
        inset-inline-end: .9rem; bottom: .4rem;
        font-size: clamp(2.5rem, 5vw, 3.6rem);
        font-weight: 800; letter-spacing: -.06em; line-height: 1;
        color: rgb(255 255 255 / .1);
        pointer-events: none;
    }

    .home-commit__band {
        margin-top: clamp(2.5rem, 5vw, 3.5rem);
        padding-block: 1.5rem 1.75rem;
        border-block: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        background: color-mix(in oklab, var(--color-navy-950) 3%, #fff);
        overflow: hidden;
    }
    .home-commit__band-label {
        margin: 0 0 1.1rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
        color: var(--ink-muted); text-align: center;
    }
    .home-commit__marquee { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
    .home-commit__track {
        display: flex; gap: 2rem; width: max-content;
        font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em;
        color: var(--color-navy-900);
        animation: site-marquee 28s linear infinite;
    }
    .home-commit__track span {
        display: inline-flex; align-items: center; gap: .65rem;
        padding: .55rem 1rem;
        border-radius: 999px;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 14%, transparent);
        background: #fff;
        color: var(--color-navy-900);
        box-shadow: 0 .35rem 1rem rgb(19 43 82 / .05);
        white-space: nowrap;
    }
    .home-commit__track span::before {
        content: "";
        width: .45rem; height: .45rem; border-radius: 999px;
        background: linear-gradient(135deg, var(--color-teal-400), var(--color-sky-500));
    }

    /* Talk to us — premium contact band */
    .home-talk {
        position: relative;
        overflow: clip;
        padding: clamp(3.5rem, 8vw, 5.75rem) 0;
        color: #fff;
        background:
            radial-gradient(80% 70% at 85% 15%, color-mix(in oklab, var(--color-sky-500) 30%, transparent), transparent 55%),
            radial-gradient(60% 55% at 5% 90%, color-mix(in oklab, var(--color-teal-400) 22%, transparent), transparent 50%),
            linear-gradient(125deg, var(--color-navy-950), var(--color-navy-900) 42%, #0c3558);
    }
    .home-talk__aurora {
        position: absolute;
        inset: -20% 40% auto -10%;
        height: 70%;
        background: radial-gradient(closest-side, color-mix(in oklab, var(--color-teal-300) 22%, transparent), transparent 70%);
        pointer-events: none;
        animation: home-voices-drift 16s ease-in-out infinite alternate;
    }
    .home-talk__gridline {
        position: absolute; inset: 0; pointer-events: none; opacity: .22;
        background-image:
            linear-gradient(color-mix(in oklab, #fff 10%, transparent) 1px, transparent 1px),
            linear-gradient(90deg, color-mix(in oklab, #fff 10%, transparent) 1px, transparent 1px);
        background-size: 3.5rem 3.5rem;
        mask-image: radial-gradient(70% 70% at 50% 40%, #000 20%, transparent 75%);
    }
    .home-talk__inner {
        position: relative; z-index: 1;
        display: grid; gap: 2.25rem; align-items: center;
    }
    @media (width >= 64rem) {
        .home-talk__inner { grid-template-columns: 1.05fr 1fr; gap: 2.75rem; }
    }
    .home-talk__eyebrow {
        margin: 0 0 .7rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: color-mix(in oklab, var(--color-teal-300) 85%, #fff);
    }
    .home-talk__title {
        margin: 0;
        font-size: clamp(2rem, 4vw, 2.85rem);
        font-weight: 700; letter-spacing: -.035em; line-height: 1.1;
    }
    .home-talk__lede {
        margin: .9rem 0 0;
        max-width: 34ch;
        font-size: 1.1rem; line-height: 1.6;
        color: rgb(255 255 255 / .76);
    }
    .home-talk__btn {
        display: inline-flex; align-items: center; gap: .5rem;
        min-height: 3.1rem; margin-top: 1.5rem;
        padding: .75rem 1.4rem; border-radius: .85rem;
        background: linear-gradient(120deg, #fff, color-mix(in oklab, var(--color-sky-100) 70%, #fff));
        color: var(--color-navy-950); font-weight: 700; text-decoration: none;
        box-shadow: 0 1rem 2rem rgb(0 0 0 / .22);
        transition: translate .15s ease, box-shadow .15s ease;
    }
    .home-talk__btn:hover {
        translate: 0 -.12rem;
        box-shadow: 0 1.25rem 2.4rem rgb(0 0 0 / .28);
    }

    .home-talk__channels {
        display: grid; gap: .75rem;
        margin: 0; padding: 0; list-style: none;
    }
    .home-talk__channel {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: .95rem; align-items: center;
        padding: 1.05rem 1.15rem;
        border-radius: 1.1rem;
        border: 1px solid rgb(255 255 255 / .12);
        background: rgb(255 255 255 / .06);
        backdrop-filter: blur(8px);
        color: inherit; text-decoration: none;
        transition: background .15s ease, border-color .15s ease, translate .15s ease;
    }
    .home-talk__channel:hover {
        background: rgb(255 255 255 / .1);
        border-color: color-mix(in oklab, var(--color-sky-300) 40%, transparent);
        translate: .12rem 0;
    }
    .home-talk__channel--wa:hover {
        border-color: color-mix(in oklab, #25d366 45%, transparent);
    }
    .home-talk__channel-icon {
        display: grid; place-items: center;
        width: 2.75rem; height: 2.75rem; border-radius: .85rem;
        background: linear-gradient(145deg, color-mix(in oklab, var(--color-sky-400) 35%, transparent), color-mix(in oklab, var(--color-teal-400) 25%, transparent));
        color: #fff;
    }
    .home-talk__channel--wa .home-talk__channel-icon {
        background: linear-gradient(145deg, #1faa61, #128c7e);
    }
    .home-talk__channel-copy {
        display: grid; gap: .15rem; min-width: 0;
    }
    .home-talk__channel-copy strong {
        font-size: 1rem; font-weight: 700; letter-spacing: -.015em;
    }
    .home-talk__channel-copy span {
        font-size: .88rem; color: rgb(255 255 255 / .68);
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .home-talk__channel-meta {
        font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
        color: rgb(255 255 255 / .5);
    }

    /* Ready when you are — premium closing stage */
    .home-ready {
        position: relative;
        overflow: clip;
        padding: clamp(4rem, 9vw, 6.5rem) 0;
        color: #fff;
        text-align: center;
        background: #061428;
    }
    .home-ready__bg { position: absolute; inset: 0; pointer-events: none; }
    .home-ready__aurora {
        position: absolute; inset: -30% -10% auto;
        height: 85%;
        background:
            radial-gradient(50% 60% at 30% 40%, color-mix(in oklab, var(--color-sky-500) 35%, transparent), transparent 65%),
            radial-gradient(45% 55% at 75% 30%, color-mix(in oklab, var(--color-teal-400) 28%, transparent), transparent 60%);
        animation: home-voices-drift 18s ease-in-out infinite alternate;
    }
    .home-ready__ring {
        position: absolute;
        inset: 50% auto auto 50%;
        width: min(42rem, 90vw); height: min(42rem, 90vw);
        translate: -50% -50%;
        border-radius: 50%;
        border: 1px solid rgb(255 255 255 / .08);
        box-shadow: inset 0 0 0 1px rgb(255 255 255 / .03);
        animation: home-voices-float 9s ease-in-out infinite;
    }
    .home-ready__route {
        position: absolute;
        inset: auto 0 18% 0;
        height: 3px;
        background:
            linear-gradient(90deg, transparent, color-mix(in oklab, var(--color-teal-300) 70%, transparent) 35%, color-mix(in oklab, var(--color-sky-300) 80%, transparent) 65%, transparent);
        opacity: .55;
        mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent);
    }
    .home-ready__inner {
        position: relative; z-index: 1;
        max-width: 42rem; margin-inline: auto;
    }
    .home-ready__brand {
        margin: 0 0 .85rem;
        font-size: clamp(1.05rem, 2vw, 1.25rem);
        font-weight: 800; letter-spacing: -.02em;
        background: linear-gradient(120deg, var(--color-teal-300), var(--color-sky-300) 55%, #fff);
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .home-ready__title {
        margin: 0;
        font-size: clamp(2.15rem, 5vw, 3.35rem);
        font-weight: 700; letter-spacing: -.04em; line-height: 1.05;
    }
    .home-ready__lede {
        margin: 1rem auto 0;
        max-width: 34ch;
        font-size: 1.12rem; line-height: 1.6;
        color: rgb(255 255 255 / .76);
    }
    .home-ready__actions {
        display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem;
        margin-top: 1.75rem;
    }
    .home-ready__btn {
        display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
        min-height: 3.15rem; padding: .75rem 1.45rem; border-radius: .9rem;
        background: linear-gradient(120deg, #fff, color-mix(in oklab, var(--color-sky-100) 65%, #fff));
        color: var(--color-navy-950); font-weight: 700; text-decoration: none;
        box-shadow: 0 1.1rem 2.2rem rgb(0 0 0 / .28);
        transition: translate .15s ease, box-shadow .15s ease;
    }
    .home-ready__btn:hover {
        translate: 0 -.12rem;
        box-shadow: 0 1.35rem 2.6rem rgb(0 0 0 / .34);
    }
    .home-ready__btn--ghost {
        background: rgb(255 255 255 / .06);
        color: #fff;
        border: 1px solid rgb(255 255 255 / .18);
        box-shadow: none;
        backdrop-filter: blur(6px);
    }
    .home-ready__btn--ghost:hover {
        background: rgb(255 255 255 / .12);
        box-shadow: none;
    }
    .home-ready__proof {
        display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem .9rem;
        margin: 1.75rem 0 0; padding: 0; list-style: none;
    }
    .home-ready__proof li {
        display: inline-flex; align-items: center; gap: .4rem;
        padding: .45rem .8rem; border-radius: 999px;
        border: 1px solid rgb(255 255 255 / .12);
        background: rgb(255 255 255 / .05);
        font-size: .82rem; font-weight: 700;
        color: rgb(255 255 255 / .78);
    }

    .home-ready--airport .home-ready__lede {
        max-width: 42ch;
    }

    /* Airport show — pricing path */
    .apt-pricing {
        margin-top: 3rem;
        padding: clamp(1.5rem, 3vw, 2.25rem);
        border-radius: 1.5rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background:
            radial-gradient(70% 55% at 0% 0%, color-mix(in oklab, var(--color-sky-100) 80%, transparent), transparent 60%),
            radial-gradient(55% 45% at 100% 100%, color-mix(in oklab, var(--color-teal-100) 55%, transparent), transparent 55%),
            linear-gradient(180deg, #fff, color-mix(in oklab, var(--color-sky-50) 40%, #fff));
        box-shadow: 0 1.25rem 2.75rem rgb(19 43 82 / .07);
    }

    .apt-pricing__intro {
        max-width: 40rem;
        margin-bottom: 1.75rem;
    }

    .apt-pricing__eyebrow {
        margin: 0 0 .55rem;
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: var(--color-sky-700);
    }

    .apt-pricing__intro .home-section__title {
        margin-bottom: .65rem;
    }

    .apt-pricing__lede {
        margin: 0;
        font-size: 1.05rem;
        line-height: 1.6;
        color: var(--ink-muted);
    }

    .apt-pricing__steps {
        --apt-gap: 1rem;
        display: grid;
        gap: var(--apt-gap);
        margin: 0;
        padding: 0;
        list-style: none;
    }

    @media (width >= 64rem) {
        .apt-pricing__steps {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0;
            align-items: stretch;
        }
    }

    .apt-pricing__step {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1rem;
        position: relative;
    }

    @media (width >= 64rem) {
        .apt-pricing__step {
            grid-template-columns: 1fr;
            gap: 1rem;
            padding-inline: .55rem;
        }

        .apt-pricing__step:not(:last-child)::after {
            content: '';
            position: absolute;
            top: 1.35rem;
            inset-inline-start: calc(50% + 1.35rem);
            width: calc(100% - 2.7rem);
            height: 2px;
            background: linear-gradient(90deg, color-mix(in oklab, var(--color-sky-500) 55%, transparent), color-mix(in oklab, var(--color-teal-400) 45%, transparent));
            opacity: .55;
            pointer-events: none;
        }
    }

    .apt-pricing__rail {
        display: grid;
        align-content: start;
        justify-items: center;
        position: relative;
        z-index: 1;
    }

    @media (width < 64rem) {
        .apt-pricing__step:not(:last-child) .apt-pricing__rail::after {
            content: '';
            position: absolute;
            top: 2.85rem;
            bottom: -1rem;
            width: 2px;
            background: linear-gradient(180deg, color-mix(in oklab, var(--color-sky-500) 50%, transparent), transparent);
        }
    }

    @media (width >= 64rem) {
        .apt-pricing__rail { justify-self: center; }
    }

    .apt-pricing__node {
        display: grid;
        place-items: center;
        width: 2.7rem;
        height: 2.7rem;
        border-radius: 999px;
        font-size: .82rem;
        font-weight: 800;
        letter-spacing: -.02em;
        color: #fff;
        background: linear-gradient(145deg, var(--color-navy-900), var(--color-sky-700));
        box-shadow: 0 .55rem 1.25rem rgb(19 43 82 / .22);
    }

    .apt-pricing__card {
        display: grid;
        gap: .55rem;
        align-content: start;
        min-height: 100%;
        padding: 1.2rem 1.15rem 1.3rem;
        border-radius: 1.1rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background: color-mix(in oklab, #fff 92%, var(--color-sky-50));
        box-shadow: 0 .85rem 1.75rem rgb(19 43 82 / .06);
        transition: translate .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    .apt-pricing__card:hover {
        translate: 0 -.14rem;
        border-color: color-mix(in oklab, var(--color-sky-500) 35%, transparent);
        box-shadow: 0 1.25rem 2.4rem rgb(19 43 82 / .12);
    }

    .apt-pricing__icon {
        display: inline-flex;
        width: 2.4rem;
        height: 2.4rem;
        align-items: center;
        justify-content: center;
        border-radius: .7rem;
        background: color-mix(in oklab, var(--color-teal-100) 75%, #fff);
        color: var(--color-navy-900);
    }

    .apt-pricing__title {
        margin: 0;
        font-size: 1.12rem;
        font-weight: 750;
        letter-spacing: -.02em;
        color: var(--color-navy-950);
    }

    .apt-pricing__body {
        margin: 0;
        font-size: .94rem;
        line-height: 1.55;
        color: var(--ink-muted);
    }

    .apt-pricing__actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .85rem 1.25rem;
        margin-top: 1.75rem;
    }

    .apt-pricing__btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .45rem;
        min-height: 2.9rem;
        padding: .7rem 1.3rem;
        border-radius: .85rem;
        font-weight: 700;
        text-decoration: none;
        color: #fff;
        background: linear-gradient(135deg, var(--color-navy-900), var(--color-sky-700));
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .22);
        transition: translate .15s ease, filter .15s ease;
    }

    .apt-pricing__btn:hover {
        translate: 0 -.1rem;
        filter: brightness(1.05);
    }

    .apt-pricing__link {
        font-size: .95rem;
        font-weight: 700;
        color: var(--color-sky-700);
        text-decoration: none;
    }

    .apt-pricing__link:hover {
        color: var(--color-navy-900);
        text-decoration: underline;
        text-underline-offset: .18em;
    }

    .home-ready__runway {
        position: absolute;
        inset: auto 8% 12% 8%;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgb(255 255 255 / .28), transparent);
        opacity: .7;
    }

    .home-ready__runway::before,
    .home-ready__runway::after {
        content: '';
        position: absolute;
        top: 50%;
        width: .55rem;
        height: .55rem;
        border-radius: 50%;
        background: color-mix(in oklab, var(--color-teal-300) 80%, #fff);
        translate: 0 -50%;
        box-shadow: 0 0 1.2rem color-mix(in oklab, var(--color-sky-300) 55%, transparent);
    }

    .home-ready__runway::before { left: 18%; }
    .home-ready__runway::after { right: 18%; }

    /* Fleet page — beyond-the-box */
    .fleet-stage {
        position: relative; overflow: clip; color: #fff;
        background: #061428;
        min-height: min(92svh, 48rem);
        display: grid; align-items: end;
    }
    .fleet-stage__canvas {
        position: absolute; inset: 0;
        background:
            radial-gradient(70% 60% at 70% 20%, color-mix(in oklab, var(--color-teal-400) 30%, transparent), transparent 60%),
            radial-gradient(50% 50% at 15% 80%, color-mix(in oklab, var(--color-sky-500) 35%, transparent), transparent 55%),
            linear-gradient(160deg, #040d1c, #0b2344 55%, #123a5c);
    }
    .fleet-stage__orb {
        position: absolute; border-radius: 9999px; filter: blur(40px); opacity: .55;
        animation: cms-glow 12s ease infinite alternate;
    }
    .fleet-stage__orb--a {
        width: min(28rem, 60vw); aspect-ratio: 1; top: 10%; inset-inline-end: 8%;
        background: color-mix(in oklab, var(--color-teal-400) 55%, transparent);
    }
    .fleet-stage__orb--b {
        width: min(22rem, 50vw); aspect-ratio: 1; bottom: 20%; inset-inline-start: 5%;
        background: color-mix(in oklab, var(--color-sky-500) 45%, transparent); animation-delay: -4s;
    }
    .fleet-stage__road {
        position: absolute; inset-inline: 0; bottom: 18%; height: 1px;
        background: linear-gradient(90deg, transparent, rgb(255 255 255 / .35), transparent);
    }
    .fleet-stage__road::before,
    .fleet-stage__road::after {
        content: ''; position: absolute; inset-inline: 8%; height: 2px; top: 2.5rem;
        background: repeating-linear-gradient(90deg, #fff 0 2rem, transparent 2rem 3.25rem);
        opacity: .25; animation: fleet-dash 8s linear infinite;
    }
    .fleet-stage__road::after { top: -2.5rem; opacity: .12; animation-direction: reverse; }
    .fleet-stage__scan {
        position: absolute; inset-inline: 0; height: 40%; bottom: 0;
        background: linear-gradient(180deg, transparent, rgb(4 12 28 / .55));
        pointer-events: none;
    }
    .fleet-stage__inner {
        position: relative; z-index: 1; width: min(72rem, 100%); margin-inline: auto;
        padding: clamp(5rem, 12vw, 8rem) 1.25rem clamp(3rem, 6vw, 4.5rem);
    }
    .fleet-stage__brand {
        margin: 0 0 .85rem; font-size: clamp(2rem, 5vw, 3.1rem); font-weight: 700;
        letter-spacing: -.045em; line-height: 1; animation: cms-rise .9s ease both;
    }
    .fleet-stage__title {
        margin: 0; max-width: 16ch; font-size: clamp(2.4rem, 6vw, 4.5rem);
        font-weight: 700; letter-spacing: -.045em; line-height: .98; animation: cms-rise .9s .06s ease both;
    }
    .fleet-stage__lede {
        margin: 1.15rem 0 0; max-width: 36rem; font-size: 1.15rem; line-height: 1.55;
        color: rgb(255 255 255 / .8); animation: cms-rise .9s .12s ease both;
    }
    .fleet-stage__chips {
        display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.5rem 0 0; padding: 0; list-style: none;
        animation: cms-rise .9s .18s ease both;
    }
    .fleet-stage__chips li {
        min-height: 2.15rem; padding: .4rem .85rem; border-radius: 999px;
        border: 1px solid rgb(255 255 255 / .22); background: rgb(255 255 255 / .08);
        font-size: .82rem; font-weight: 700; letter-spacing: .02em;
    }

    .fleet-mission__grid {
        display: grid;
        gap: 1.15rem;
        margin: 0;
        padding: 0;
        list-style: none;
        grid-template-columns: 1fr;
    }

    @media (width >= 40rem) {
        .fleet-mission__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (width >= 72rem) {
        .fleet-mission__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }

    .fleet-mission__card {
        margin: 0;
    }

    .fleet-mission__card > article {
        display: grid;
        grid-template-rows: auto 1fr;
        height: 100%;
        overflow: hidden;
        border-radius: 1.25rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 10%, transparent);
        background:
            linear-gradient(180deg, #fff 0%, color-mix(in oklab, var(--color-sky-50) 55%, #fff) 100%);
        box-shadow: 0 1.1rem 2.4rem rgb(19 43 82 / .08);
        transition: translate .22s ease, box-shadow .22s ease, border-color .22s ease;
    }

    .fleet-mission__card > article:hover {
        translate: 0 -.18rem;
        border-color: color-mix(in oklab, var(--color-sky-500) 35%, transparent);
        box-shadow: 0 1.7rem 3.1rem rgb(19 43 82 / .14);
    }

    .fleet-mission__media {
        position: relative;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        background: #0b1a33;
    }

    .fleet-mission__media img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: scale(1.02);
        transition: transform .45s ease;
    }

    .fleet-mission__card > article:hover .fleet-mission__media img {
        transform: scale(1.07);
    }

    .fleet-mission__media::after {
        content: '';
        position: absolute;
        inset: 0;
        background:
            linear-gradient(180deg, transparent 42%, rgb(6 20 40 / .72) 100%),
            linear-gradient(90deg, rgb(6 20 40 / .28), transparent 45%);
        pointer-events: none;
    }

    .fleet-mission__tag {
        position: absolute;
        z-index: 1;
        top: .85rem;
        inset-inline-start: .85rem;
        padding: .35rem .7rem;
        border-radius: 999px;
        border: 1px solid rgb(255 255 255 / .22);
        background: rgb(255 255 255 / .14);
        color: #fff;
        font-size: .72rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        backdrop-filter: blur(8px);
    }

    .fleet-mission__index {
        position: absolute;
        z-index: 1;
        right: .9rem;
        bottom: .7rem;
        font-size: 1.5rem;
        font-weight: 800;
        letter-spacing: -.04em;
        color: rgb(255 255 255 / .88);
        text-shadow: 0 .35rem .9rem rgb(0 0 0 / .35);
    }

    .fleet-mission__copy {
        display: grid;
        gap: .55rem;
        align-content: start;
        padding: 1.05rem 1.1rem 1.2rem;
    }

    .fleet-mission__name {
        margin: 0;
        font-size: 1.2rem;
        font-weight: 750;
        letter-spacing: -.03em;
        color: var(--color-navy-950);
    }

    .fleet-mission__body {
        margin: 0;
        font-size: .92rem;
        line-height: 1.5;
        color: var(--ink-muted);
    }

    .fleet-mission__specs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .55rem;
        margin: .25rem 0 0;
    }

    .fleet-mission__specs div {
        padding: .55rem .65rem;
        border-radius: .75rem;
        background: color-mix(in oklab, var(--color-navy-900) 4.5%, #fff);
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 6%, transparent);
    }

    .fleet-mission__specs dt {
        margin: 0;
        font-size: .66rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--ink-muted);
    }

    .fleet-mission__specs dd {
        margin: .15rem 0 0;
        font-size: 1rem;
        font-weight: 750;
        color: var(--color-navy-950);
    }

    /* Keep legacy deck class harmless if referenced elsewhere */
    .fleet-deck { display: none; }

    .fleet-rail {
        display: grid; gap: 0; margin: 0; padding: 0; list-style: none;
        border-block: 1px solid color-mix(in oklab, var(--color-navy-900) 12%, transparent);
    }
    .fleet-rail__item {
        display: grid; grid-template-columns: minmax(6rem, 8rem) 1fr auto;
        gap: 1.25rem; align-items: center;
        padding: 1.5rem 0;
        border-top: 1px solid color-mix(in oklab, var(--color-navy-900) 10%, transparent);
        transition: background .2s ease;
    }
    .fleet-rail__item:first-child { border-top: 0; }
    .fleet-rail__item:hover { background: color-mix(in oklab, var(--color-sky-50) 60%, transparent); }
    .fleet-rail__cap {
        font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; letter-spacing: -.04em;
        color: var(--color-navy-900);
    }
    .fleet-rail__cap span { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); }
    .fleet-rail__name { margin: 0; font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; }
    .fleet-rail__body { margin: .35rem 0 0; color: var(--ink-muted); line-height: 1.5; }
    .fleet-rail__tag {
        justify-self: end; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
        color: var(--color-sky-700);
    }
    @media (width < 40rem) {
        .fleet-rail__item { grid-template-columns: 1fr; gap: .5rem; }
        .fleet-rail__tag { justify-self: start; }
    }

    /* —— Services & Airports catalog (premium) —— */
    .catalog-stage {
        position: relative; overflow: clip; color: #fff;
        min-height: min(72svh, 36rem);
        display: grid; align-items: end;
        background: #061428;
    }
    .catalog-stage__canvas { position: absolute; inset: 0; pointer-events: none; }
    .catalog-stage--services .catalog-stage__canvas,
    .catalog-stage--service .catalog-stage__canvas {
        background:
            radial-gradient(60% 55% at 85% 15%, color-mix(in oklab, var(--color-teal-400) 32%, transparent), transparent 60%),
            radial-gradient(45% 50% at 10% 85%, color-mix(in oklab, var(--color-sky-500) 28%, transparent), transparent 55%),
            linear-gradient(155deg, #040d1c, #0b2344 55%, #0f3558);
    }
    .catalog-stage--airports .catalog-stage__canvas {
        background:
            radial-gradient(55% 50% at 20% 20%, color-mix(in oklab, var(--color-sky-400) 35%, transparent), transparent 58%),
            radial-gradient(50% 45% at 90% 70%, color-mix(in oklab, var(--color-teal-400) 22%, transparent), transparent 55%),
            linear-gradient(165deg, #03101f, #0a2748 50%, #123a5c);
    }
    .catalog-stage__beam {
        position: absolute; inset: -15% -20% auto; height: 65%;
        background: radial-gradient(50% 70% at 30% 40%, color-mix(in oklab, var(--color-sky-400) 40%, transparent), transparent 70%);
        animation: cms-glow 14s ease infinite alternate;
    }
    .catalog-stage__beam--sky {
        background: radial-gradient(45% 60% at 70% 30%, color-mix(in oklab, var(--color-teal-300) 35%, transparent), transparent 70%);
    }
    .catalog-stage__grid {
        position: absolute; inset: 0;
        background-image:
            linear-gradient(rgb(255 255 255 / .04) 1px, transparent 1px),
            linear-gradient(90deg, rgb(255 255 255 / .04) 1px, transparent 1px);
        background-size: 3.5rem 3.5rem;
        mask-image: linear-gradient(180deg, #0007, transparent 75%);
    }
    .catalog-stage__runway {
        position: absolute; inset-inline: 0; bottom: 22%; height: 1px;
        background: linear-gradient(90deg, transparent, rgb(255 255 255 / .35), transparent);
    }
    .catalog-stage__runway::after {
        content: ''; position: absolute; inset-inline: 12%; top: 1.75rem; height: 2px;
        background: repeating-linear-gradient(90deg, #fff 0 1.5rem, transparent 1.5rem 2.5rem);
        opacity: .22; animation: fleet-dash 10s linear infinite;
    }
    .catalog-stage__inner {
        position: relative; z-index: 1; width: min(72rem, 100%); margin-inline: auto;
        padding: clamp(4rem, 10vw, 6.5rem) 1.25rem clamp(2.75rem, 6vw, 4rem);
    }
    .catalog-stage__crumbs {
        display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
        margin: 0 0 1.25rem; font-size: .85rem; font-weight: 600;
        color: rgb(255 255 255 / .55);
    }
    .catalog-stage__crumbs a { color: rgb(255 255 255 / .8); text-decoration: none; }
    .catalog-stage__crumbs a:hover { color: #fff; }
    .catalog-stage__brand {
        margin: 0 0 .75rem; font-size: clamp(1.85rem, 4.5vw, 2.75rem);
        font-weight: 700; letter-spacing: -.045em; line-height: 1;
        animation: cms-rise .85s ease both;
    }
    .catalog-stage__title {
        margin: 0; max-width: 16ch; font-size: clamp(2.1rem, 5.2vw, 3.75rem);
        font-weight: 700; letter-spacing: -.045em; line-height: .98;
        animation: cms-rise .85s .05s ease both;
    }
    .catalog-stage__lede {
        margin: 1.1rem 0 0; max-width: 36rem; font-size: 1.1rem; line-height: 1.55;
        color: rgb(255 255 255 / .8); animation: cms-rise .85s .1s ease both;
    }
    .catalog-stage__actions {
        display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem;
        animation: cms-rise .85s .15s ease both;
    }
    .catalog-stage__cta,
    .catalog-stage__ghost {
        display: inline-flex; min-height: 2.9rem; align-items: center;
        padding: .7rem 1.25rem; border-radius: .7rem; font-weight: 700; text-decoration: none;
        transition: translate .15s ease;
    }
    .catalog-stage__cta:hover,
    .catalog-stage__ghost:hover { translate: 0 -2px; }
    .catalog-stage__cta {
        background: linear-gradient(135deg, var(--color-teal-400), var(--color-sky-500));
        color: var(--color-navy-950);
        box-shadow: 0 1rem 2rem rgb(79 194 191 / .28);
    }
    .catalog-stage__ghost {
        border: 1px solid rgb(255 255 255 / .35);
        color: #fff; background: rgb(255 255 255 / .06);
    }

    .catalog-head { margin-bottom: 2rem; max-width: 40rem; }
    .catalog-head .home-section__title { margin-bottom: .65rem; }
    .catalog-head__lede {
        margin: 0; font-size: 1.05rem; line-height: 1.6; color: var(--ink-muted);
    }
    .catalog-split {
        display: grid; gap: 2.5rem; align-items: start;
    }
    @media (width >= 64rem) {
        .catalog-split { grid-template-columns: minmax(0, 18rem) 1fr; gap: 3.5rem; }
    }

    .svc-mosaic {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: 1fr;
    }
    @media (width >= 48rem) {
        .svc-mosaic { grid-template-columns: repeat(2, 1fr); }
    }
    @media (width >= 72rem) {
        .svc-mosaic { grid-template-columns: repeat(12, 1fr); }
        .svc-mosaic__item { grid-column: span 4; }
        .svc-mosaic__item--feature { grid-column: span 8; grid-row: span 2; }
    }
    .svc-mosaic__link {
        display: grid; align-content: start; gap: .85rem; height: 100%;
        padding: 1.5rem 1.4rem 1.55rem; border-radius: 1.15rem; text-decoration: none;
        color: inherit;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background:
            linear-gradient(165deg, #fff 0%, color-mix(in oklab, var(--color-sky-50) 65%, #fff) 100%);
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .06);
        transition: translate .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .svc-mosaic__link:hover {
        translate: 0 -.2rem;
        border-color: color-mix(in oklab, var(--color-sky-500) 35%, transparent);
        box-shadow: 0 1.5rem 2.75rem rgb(19 43 82 / .12);
    }
    .svc-mosaic__item--feature .svc-mosaic__link {
        padding: clamp(1.75rem, 3vw, 2.25rem);
        background:
            linear-gradient(145deg, var(--color-navy-950), var(--color-navy-900) 55%, #0c3a62);
        color: #fff;
        border-color: transparent;
    }
    .svc-mosaic__item--feature .svc-mosaic__body { color: rgb(255 255 255 / .78); }
    .svc-mosaic__item--feature .svc-mosaic__go { color: var(--color-teal-300); }
    .svc-mosaic__item--feature .svc-mosaic__tag {
        background: rgb(255 255 255 / .1); color: rgb(255 255 255 / .85); border-color: rgb(255 255 255 / .18);
    }
    .svc-mosaic__item--feature .svc-mosaic__icon {
        background: rgb(255 255 255 / .1); color: #fff;
    }
    .svc-mosaic__tag {
        justify-self: start; font-size: .72rem; font-weight: 800; letter-spacing: .1em;
        text-transform: uppercase; padding: .3rem .65rem; border-radius: 999px;
        border: 1px solid color-mix(in oklab, var(--color-sky-500) 30%, transparent);
        background: color-mix(in oklab, var(--color-sky-50) 80%, #fff);
        color: var(--color-sky-800);
    }
    .svc-mosaic__icon {
        display: inline-flex; width: 2.75rem; height: 2.75rem;
        align-items: center; justify-content: center; border-radius: .8rem;
        background: color-mix(in oklab, var(--color-sky-100) 85%, #fff);
        color: var(--color-navy-900);
    }
    .svc-mosaic__title {
        font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 700; letter-spacing: -.025em;
    }
    .svc-mosaic__item--feature .svc-mosaic__title {
        font-size: clamp(1.6rem, 3vw, 2.25rem); max-width: 14ch;
    }
    .svc-mosaic__body { margin: 0; line-height: 1.55; color: var(--ink-muted); }
    .svc-mosaic__go {
        margin-top: auto; font-weight: 700; color: var(--color-sky-700); font-size: .95rem;
    }

    .svc-audience {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    }
    .svc-audience__item {
        padding: 1.4rem 1.25rem; border-radius: 1rem;
        background: #fff;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
    }
    .svc-audience__icon {
        display: inline-flex; width: 2.4rem; height: 2.4rem; margin-bottom: .75rem;
        align-items: center; justify-content: center; border-radius: .7rem;
        background: color-mix(in oklab, var(--color-teal-100) 70%, #fff);
        color: var(--color-navy-900);
    }
    .svc-audience__item strong { display: block; font-size: 1.1rem; font-weight: 700; }
    .svc-audience__item p { margin: .4rem 0 0; color: var(--ink-muted); line-height: 1.5; }

    .svc-flow { margin: 0; padding: 0; list-style: none; }
    .svc-flow li {
        display: grid; grid-template-columns: auto 1fr; gap: 1.15rem;
        padding: 1.25rem 0;
        border-top: 1px solid color-mix(in oklab, var(--color-navy-900) 10%, transparent);
    }
    .svc-flow li:last-child { border-bottom: 1px solid color-mix(in oklab, var(--color-navy-900) 10%, transparent); }
    .svc-flow li > span {
        font-size: clamp(1.6rem, 2.8vw, 2.1rem); font-weight: 700; letter-spacing: -.05em; line-height: 1;
        color: color-mix(in oklab, var(--color-sky-500) 65%, var(--color-navy-900));
    }
    .svc-flow strong { display: block; font-size: 1.15rem; font-weight: 700; }
    .svc-flow p { margin: .35rem 0 0; color: var(--ink-muted); line-height: 1.5; }

    /* Service detail — premium show page */
    .svc-show__eyebrow {
        display: inline-flex; align-items: center; gap: .45rem;
        margin: 0 0 .85rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: color-mix(in oklab, var(--color-teal-300) 85%, #fff);
    }
    .svc-show__eyebrow-icon {
        display: inline-flex; align-items: center; justify-content: center;
        width: 1.65rem; height: 1.65rem; border-radius: .5rem;
        background: rgb(255 255 255 / .1);
    }
    .svc-show__section-eyebrow {
        margin: 0 0 .65rem;
        font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
        color: var(--color-sky-700);
    }
    .svc-show__cms { max-width: 48rem; margin-inline: auto; }
    .svc-show__includes {
        background:
            radial-gradient(65% 50% at 100% 0%, color-mix(in oklab, var(--color-sky-100) 75%, transparent), transparent 55%),
            linear-gradient(180deg, #fff, color-mix(in oklab, var(--color-sky-50) 40%, #fff));
    }
    .svc-show__grid {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: 1fr;
    }
    @media (width >= 48rem) {
        .svc-show__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (width >= 72rem) {
        .svc-show__grid { grid-template-columns: repeat(3, 1fr); }
        .svc-show__card--feature { grid-column: span 1; }
    }
    .svc-show__card {
        display: grid; gap: .65rem; align-content: start;
        padding: 1.35rem 1.25rem 1.45rem; border-radius: 1.15rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        background: linear-gradient(165deg, #fff, color-mix(in oklab, var(--color-sky-50) 55%, #fff));
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .05);
        transition: translate .2s ease, box-shadow .2s ease;
    }
    .svc-show__card:hover {
        translate: 0 -.12rem;
        box-shadow: 0 1.35rem 2.5rem rgb(19 43 82 / .1);
    }
    .svc-show__card--feature {
        color: #fff; border-color: transparent;
        background: linear-gradient(145deg, var(--color-navy-950), var(--color-navy-900) 50%, #0c3d66);
        box-shadow: 0 1.4rem 2.75rem rgb(6 18 40 / .25);
    }
    .svc-show__card--feature p { color: rgb(255 255 255 / .78); }
    .svc-show__card--feature .svc-show__card-icon {
        background: rgb(255 255 255 / .12); color: #fff;
    }
    .svc-show__card-icon {
        display: inline-flex; width: 2.6rem; height: 2.6rem;
        align-items: center; justify-content: center; border-radius: .8rem;
        background: linear-gradient(145deg, color-mix(in oklab, var(--color-sky-200) 65%, #fff), color-mix(in oklab, var(--color-teal-100) 50%, #fff));
        color: var(--color-navy-900);
    }
    .svc-show__card strong {
        font-size: 1.08rem; font-weight: 700; letter-spacing: -.02em;
    }
    .svc-show__card p { margin: 0; line-height: 1.55; color: var(--ink-muted); }

    .svc-show__audience {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    }
    .svc-show__audience li {
        padding: 1.35rem 1.25rem; border-radius: 1.05rem;
        background: #fff;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        border-inline-start: 3px solid var(--color-teal-400);
    }
    .svc-show__audience strong { display: block; font-size: 1.08rem; font-weight: 700; }
    .svc-show__audience p { margin: .4rem 0 0; color: var(--ink-muted); line-height: 1.5; }

    .svc-show__inline-cta {
        display: inline-flex; align-items: center; gap: .35rem;
        margin-top: 1.25rem;
        font-weight: 700; color: var(--color-sky-700); text-decoration: none;
    }
    .svc-show__inline-cta:hover { color: var(--color-navy-900); }

    .svc-show__faq-inner {
        display: grid; gap: 2rem; align-items: start;
    }
    @media (width >= 64rem) {
        .svc-show__faq-inner { grid-template-columns: minmax(14rem, 20rem) 1fr; gap: 2.75rem; }
    }
    .svc-show__faq-panel { display: grid; gap: .65rem; }

    .svc-show__related {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    }
    .svc-show__related a {
        display: grid; gap: .45rem; align-content: start;
        padding: 1.3rem 1.2rem; border-radius: 1.1rem; text-decoration: none; color: inherit;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        background: linear-gradient(165deg, #fff, color-mix(in oklab, var(--color-sky-50) 55%, #fff));
        transition: translate .15s ease, box-shadow .15s ease, border-color .15s ease;
    }
    .svc-show__related a:hover {
        translate: 0 -.12rem;
        border-color: color-mix(in oklab, var(--color-sky-500) 30%, transparent);
        box-shadow: 0 1.15rem 2.25rem rgb(19 43 82 / .1);
    }
    .svc-show__related-icon {
        display: inline-flex; width: 2.4rem; height: 2.4rem;
        align-items: center; justify-content: center; border-radius: .7rem;
        background: color-mix(in oklab, var(--color-sky-100) 85%, #fff);
        color: var(--color-navy-900);
    }
    .svc-show__related strong { font-size: 1.05rem; font-weight: 700; }
    .svc-show__related p { margin: 0; color: var(--ink-muted); line-height: 1.45; font-size: .92rem; }

    .apt-strip {
        display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    }
    .apt-strip a {
        display: grid; gap: .35rem; padding: 1.25rem 1.2rem; border-radius: 1rem;
        text-decoration: none; color: inherit;
        background: #fff;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
        transition: translate .15s ease, box-shadow .15s ease;
    }
    .apt-strip a:hover {
        translate: 0 -.15rem;
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .1);
    }
    .apt-strip__code {
        font-size: 1.75rem; font-weight: 700; letter-spacing: -.04em;
        background: linear-gradient(135deg, var(--color-navy-900), var(--color-sky-600));
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .apt-strip__name { font-weight: 700; font-size: 1.05rem; }
    .apt-strip__meta { font-size: .85rem; color: var(--ink-muted); font-weight: 600; }

    .apt-panels {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: 1fr;
    }
    @media (width >= 48rem) {
        .apt-panels { grid-template-columns: repeat(2, 1fr); }
        .apt-panels__item--feature { grid-column: 1 / -1; }
    }
    @media (width >= 72rem) {
        .apt-panels { grid-template-columns: repeat(3, 1fr); }
        .apt-panels__item--feature { grid-column: span 2; }
    }
    .apt-panels__link {
        display: grid; gap: .9rem; align-content: start; height: 100%;
        padding: 1.6rem 1.45rem; border-radius: 1.2rem; text-decoration: none; color: inherit;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background:
            linear-gradient(170deg, #fff, color-mix(in oklab, var(--color-sky-50) 55%, #fff));
        box-shadow: 0 1rem 2.25rem rgb(19 43 82 / .07);
        transition: translate .2s ease, box-shadow .2s ease;
        position: relative; overflow: hidden;
    }
    .apt-panels__link::before {
        content: ''; position: absolute; inset-inline-end: -10%; top: -20%;
        width: 12rem; aspect-ratio: 1; border-radius: 9999px;
        border: 1px solid color-mix(in oklab, var(--color-sky-400) 25%, transparent);
        opacity: .55;
    }
    .apt-panels__link:hover {
        translate: 0 -.2rem;
        box-shadow: 0 1.6rem 3rem rgb(19 43 82 / .13);
    }
    .apt-panels__item--feature .apt-panels__link {
        background:
            linear-gradient(140deg, #061428 0%, var(--color-navy-900) 50%, #0c4068 100%);
        color: #fff; border-color: transparent;
        min-height: 16rem;
    }
    .apt-panels__item--feature .apt-panels__body { color: rgb(255 255 255 / .78); }
    .apt-panels__item--feature .apt-panels__go { color: var(--color-teal-300); }
    .apt-panels__item--feature .apt-panels__region {
        background: rgb(255 255 255 / .1); color: rgb(255 255 255 / .85); border-color: rgb(255 255 255 / .2);
    }
    .apt-panels__item--feature .apt-panels__iata {
        background: linear-gradient(135deg, #fff, var(--color-teal-300));
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .apt-panels__top {
        display: flex; align-items: center; justify-content: space-between; gap: 1rem;
        position: relative; z-index: 1;
    }
    .apt-panels__iata {
        font-size: clamp(2.4rem, 5vw, 3.5rem); font-weight: 700; letter-spacing: -.05em; line-height: 1;
        background: linear-gradient(135deg, var(--color-navy-900), var(--color-sky-600));
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .apt-panels__region {
        font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
        padding: .35rem .7rem; border-radius: 999px;
        border: 1px solid color-mix(in oklab, var(--color-sky-500) 30%, transparent);
        background: color-mix(in oklab, var(--color-sky-50) 80%, #fff);
        color: var(--color-sky-800);
    }
    .apt-panels__title {
        position: relative; z-index: 1;
        font-size: clamp(1.25rem, 2.2vw, 1.65rem); font-weight: 700; letter-spacing: -.025em;
    }
    .apt-panels__body { position: relative; z-index: 1; margin: 0; line-height: 1.55; color: var(--ink-muted); }
    .apt-panels__go {
        position: relative; z-index: 1; margin-top: auto;
        font-weight: 700; color: var(--color-sky-700);
    }

    .apt-includes {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    }
    .apt-includes li {
        padding: 1.4rem 1.3rem; border-radius: 1rem; background: #fff;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 8%, transparent);
    }
    .apt-includes span {
        display: inline-flex; width: 2.5rem; height: 2.5rem; margin-bottom: .75rem;
        align-items: center; justify-content: center; border-radius: .75rem;
        background: color-mix(in oklab, var(--color-sky-100) 80%, #fff);
        color: var(--color-navy-900);
    }
    .apt-includes strong { display: block; font-size: 1.1rem; font-weight: 700; }
    .apt-includes p { margin: .4rem 0 0; color: var(--ink-muted); line-height: 1.5; }

    .apt-destinations {
        display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    }
    .apt-destinations li,
    .apt-destinations a {
        display: block; padding: 1.25rem 1.2rem; border-radius: .95rem;
        background: #fff;
        border-inline-start: 3px solid var(--color-teal-400);
        color: inherit; text-decoration: none;
    }
    .apt-destinations a:hover strong { color: var(--color-sky-700); }
    .apt-destinations strong { display: block; font-size: 1.05rem; font-weight: 700; }
    .apt-destinations p { margin: .4rem 0 0; color: var(--ink-muted); line-height: 1.5; }

    .catalog-stage--fleet .catalog-stage__canvas {
        background:
            radial-gradient(70% 60% at 70% 20%, color-mix(in oklab, var(--color-teal-400) 30%, transparent), transparent 60%),
            radial-gradient(50% 50% at 15% 80%, color-mix(in oklab, var(--color-sky-500) 35%, transparent), transparent 55%),
            linear-gradient(160deg, #040d1c, #0b2344 55%, #123a5c);
    }
    .catalog-stage--business .catalog-stage__canvas {
        background:
            radial-gradient(55% 50% at 80% 25%, color-mix(in oklab, var(--color-sky-500) 30%, transparent), transparent 58%),
            radial-gradient(40% 45% at 15% 70%, color-mix(in oklab, var(--color-navy-600) 40%, transparent), transparent 55%),
            linear-gradient(150deg, #050f1c, #0a2444 50%, #0e3560);
    }
    .catalog-stage--help .catalog-stage__canvas {
        background:
            radial-gradient(50% 55% at 25% 30%, color-mix(in oklab, var(--color-teal-400) 28%, transparent), transparent 58%),
            radial-gradient(45% 40% at 85% 65%, color-mix(in oklab, var(--color-sky-400) 25%, transparent), transparent 55%),
            linear-gradient(165deg, #04101c, #0b2748 52%, #114060);
    }

    .biz-split {
        display: grid; gap: 1.15rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: 1fr;
    }
    @media (width >= 56rem) {
        .biz-split { grid-template-columns: 1fr 1.15fr; }
    }
    .biz-split__card {
        display: grid; gap: .85rem; align-content: start;
        padding: 1.75rem 1.5rem; border-radius: 1.2rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background: linear-gradient(165deg, #fff, color-mix(in oklab, var(--color-sky-50) 60%, #fff));
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .06);
    }
    .biz-split__card--feature {
        background: linear-gradient(145deg, var(--color-navy-950), var(--color-navy-900) 55%, #0c3a62);
        color: #fff; border-color: transparent;
    }
    .biz-split__card--feature .biz-split__body,
    .biz-split__card--feature .biz-split__list { color: rgb(255 255 255 / .8); }
    .biz-split__card--feature .biz-split__link { color: var(--color-teal-300); }
    .biz-split__card--feature .biz-split__tag {
        background: rgb(255 255 255 / .1); color: rgb(255 255 255 / .9); border-color: rgb(255 255 255 / .2);
    }
    .biz-split__tag {
        justify-self: start; font-size: .72rem; font-weight: 800; letter-spacing: .1em;
        text-transform: uppercase; padding: .3rem .65rem; border-radius: 999px;
        border: 1px solid color-mix(in oklab, var(--color-sky-500) 30%, transparent);
        background: color-mix(in oklab, var(--color-sky-50) 80%, #fff);
        color: var(--color-sky-800);
    }
    .biz-split__title { font-size: clamp(1.35rem, 2.4vw, 1.75rem); font-weight: 700; letter-spacing: -.03em; }
    .biz-split__body { margin: 0; line-height: 1.55; color: var(--ink-muted); }
    .biz-split__list {
        margin: 0; padding: 0; list-style: none; display: grid; gap: .45rem;
        font-weight: 600; color: var(--color-navy-800);
    }
    .biz-split__list li {
        display: flex; align-items: center; gap: .5rem;
    }
    .biz-split__list li::before {
        content: ''; width: .45rem; height: .45rem; border-radius: 999px;
        background: var(--color-teal-400); flex: none;
    }
    .biz-split__link {
        margin-top: .5rem; font-weight: 700; color: var(--color-sky-700); text-decoration: none;
    }

    .catalog-form {
        display: grid; gap: 2rem; align-items: start;
    }
    @media (width >= 64rem) {
        .catalog-form { grid-template-columns: minmax(0, 1fr) minmax(22rem, 28rem); gap: 3rem; }
    }
    .catalog-form__points {
        display: grid; gap: .55rem; margin: 1.5rem 0 0; padding: 0; list-style: none;
        font-weight: 700; color: var(--color-navy-800);
    }
    .catalog-form__points li { display: flex; align-items: center; gap: .55rem; }
    .catalog-form__points svg { color: var(--color-teal-600); }
    .catalog-form__panel {
        display: grid; gap: 1rem; padding: 1.75rem 1.5rem;
        border-radius: 1.25rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background: #fff;
        box-shadow: 0 1.25rem 2.75rem rgb(19 43 82 / .1);
    }

    /* —— Premium contact page —— */
    .contact-premium__eyebrow {
        margin: 0 0 .45rem;
        font-size: .72rem;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--color-sky-700);
    }

    .contact-channels {
        display: grid;
        gap: 1rem;
        margin: 1.5rem 0 0;
        padding: 0;
        list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    }

    .contact-channel {
        display: flex;
        gap: .9rem;
        align-items: flex-start;
        padding: 1.15rem 1.1rem;
        border-radius: 1.15rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background:
            radial-gradient(120% 80% at 0% 0%, color-mix(in oklab, var(--color-sky-100) 70%, transparent), transparent 55%),
            linear-gradient(165deg, #fff, color-mix(in oklab, var(--color-sky-50) 40%, #fff));
        box-shadow: 0 .85rem 1.75rem rgb(19 43 82 / .06);
        transition: translate .15s ease, box-shadow .15s ease;
    }

    .contact-channel:hover {
        translate: 0 -.12rem;
        box-shadow: 0 1.15rem 2.25rem rgb(19 43 82 / .1);
    }

    .contact-channel__icon {
        display: inline-flex;
        width: 2.55rem;
        height: 2.55rem;
        flex: none;
        align-items: center;
        justify-content: center;
        border-radius: .8rem;
        background: linear-gradient(135deg, var(--color-navy-900), var(--color-sky-700));
        color: #fff;
    }

    .contact-channel__icon--wa {
        background: linear-gradient(135deg, #0b6b5f, #128c7e);
    }

    .contact-channel strong {
        display: block;
        font-size: .95rem;
        font-weight: 800;
        color: var(--color-navy-950);
    }

    .contact-channel p {
        margin: .25rem 0 0;
        color: var(--ink-muted);
        line-height: 1.45;
        word-break: break-word;
    }

    .contact-channel a {
        color: var(--color-sky-700);
        font-weight: 700;
        text-decoration: none;
    }

    .contact-channel a:hover {
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .contact-premium__grid {
        display: grid;
        gap: 2rem;
        align-items: start;
    }

    @media (width >= 64rem) {
        .contact-premium__grid {
            grid-template-columns: minmax(0, 1fr) minmax(22rem, 30rem);
            gap: 3rem;
        }
    }

    .contact-premium__lede {
        margin: .75rem 0 0;
        max-width: 34rem;
        color: var(--ink-muted);
        line-height: 1.55;
        font-size: 1.05rem;
    }

    .contact-premium__points {
        display: grid;
        gap: .65rem;
        margin: 1.5rem 0 0;
        padding: 0;
        list-style: none;
        font-weight: 700;
        color: var(--color-navy-800);
    }

    .contact-premium__points li {
        display: flex;
        align-items: center;
        gap: .6rem;
    }

    .contact-premium__points span {
        display: inline-flex;
        width: 1.55rem;
        height: 1.55rem;
        flex: none;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: color-mix(in oklab, var(--color-teal-200) 70%, #fff);
        color: var(--color-navy-900);
    }

    .contact-premium__aside {
        margin: 1.75rem 0 0;
        font-size: .92rem;
        color: var(--ink-muted);
    }

    .contact-premium__aside a {
        margin-inline-start: .25rem;
        font-weight: 800;
        color: var(--color-navy-900);
        text-decoration: none;
    }

    .contact-premium__aside a:hover {
        color: var(--color-sky-700);
    }

    .contact-premium__panel {
        display: grid;
        gap: 1.05rem;
        padding: 1.35rem 1.25rem 1.45rem;
        border-radius: 1.4rem;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background:
            radial-gradient(120% 80% at 100% 0%, color-mix(in oklab, var(--color-teal-100) 55%, transparent), transparent 52%),
            linear-gradient(165deg, #fff, color-mix(in oklab, var(--color-sky-50) 42%, #fff));
        box-shadow:
            0 0 0 1px rgb(255 255 255 / .55) inset,
            0 1.35rem 2.85rem rgb(19 43 82 / .12);
    }

    @media (width >= 40rem) {
        .contact-premium__panel {
            padding: 1.6rem 1.5rem 1.65rem;
        }
    }

    .contact-premium__panel-head {
        display: grid;
        gap: .2rem;
        margin-bottom: .15rem;
    }

    .contact-premium__panel-head strong {
        font-size: 1.1rem;
        font-weight: 800;
        letter-spacing: -.02em;
        color: var(--color-navy-950);
    }

    .contact-premium__panel-head p {
        margin: 0;
        font-size: .82rem;
        color: var(--ink-muted);
    }

    .contact-premium__row {
        display: grid;
        gap: 1.05rem;
    }

    @media (width >= 40rem) {
        .contact-premium__row {
            grid-template-columns: 1fr 1fr;
        }
    }

    .contact-premium__panel input:not([type='hidden']),
    .contact-premium__panel textarea {
        min-height: 3rem;
        border-radius: .85rem !important;
        border-color: color-mix(in oklab, var(--color-navy-900) 12%, transparent) !important;
        background:
            linear-gradient(180deg, #fff, color-mix(in oklab, var(--color-sky-50) 40%, #fff)) !important;
        box-shadow: 0 .15rem .45rem rgb(19 43 82 / .04);
        font-weight: 500;
        transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
    }

    .contact-premium__panel textarea {
        min-height: 8rem;
        padding-block: .9rem;
        resize: vertical;
    }

    .contact-premium__panel input:not([type='hidden']):hover,
    .contact-premium__panel textarea:hover {
        border-color: color-mix(in oklab, var(--color-sky-500) 55%, var(--line)) !important;
    }

    .contact-premium__panel input:not([type='hidden']):focus,
    .contact-premium__panel textarea:focus {
        border-color: var(--color-sky-500) !important;
        background: #fff !important;
        box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-sky-400) 22%, transparent) !important;
        outline: none;
    }

    .contact-premium__panel label {
        font-size: .84rem;
        letter-spacing: -.01em;
    }

    .contact-premium__submit {
        margin-top: .25rem;
        min-height: 3rem !important;
        border-radius: .9rem !important;
        font-size: 1rem !important;
        font-weight: 800 !important;
        box-shadow: 0 .75rem 1.5rem rgb(19 43 82 / .22) !important;
    }

    .contact-premium__fine {
        margin: 0;
        text-align: center;
        font-size: .78rem;
        color: var(--ink-muted);
    }

    .contact-premium__fine a {
        font-weight: 700;
        color: var(--color-navy-900);
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .help-topics {
        display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none;
        grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    }
    .help-topics a {
        display: grid; gap: .55rem; height: 100%;
        padding: 1.4rem 1.3rem; border-radius: 1.1rem; text-decoration: none; color: inherit;
        border: 1px solid color-mix(in oklab, var(--color-navy-900) 9%, transparent);
        background: linear-gradient(165deg, #fff, color-mix(in oklab, var(--color-sky-50) 55%, #fff));
        box-shadow: 0 .85rem 1.75rem rgb(19 43 82 / .06);
        transition: translate .15s ease, box-shadow .15s ease;
    }
    .help-topics a:hover {
        translate: 0 -.15rem;
        box-shadow: 0 1.25rem 2.5rem rgb(19 43 82 / .12);
    }
    .help-topics__icon {
        display: inline-flex; width: 2.5rem; height: 2.5rem;
        align-items: center; justify-content: center; border-radius: .75rem;
        background: color-mix(in oklab, var(--color-sky-100) 85%, #fff);
        color: var(--color-navy-900);
    }
    .help-topics strong { font-size: 1.1rem; font-weight: 700; }
    .help-topics p { margin: 0; color: var(--ink-muted); line-height: 1.5; }

    .help-faqs { display: grid; gap: 2.25rem; }
    .help-faqs__cat {
        margin: 0 0 1rem; font-size: 1.05rem; font-weight: 800;
        letter-spacing: .08em; text-transform: uppercase; color: var(--color-sky-800);
    }
    .help-faqs__acc {
        border-radius: 1rem;
        box-shadow: 0 1rem 2rem rgb(19 43 82 / .05);
    }
}

@keyframes fleet-dash {
    to { background-position: 3.25rem 0; }
}

@keyframes home-aurora {
    to { transform: translate3d(2%, -1.5%, 0) scale(1.04); }
}

@keyframes site-marquee {
    to { translate: -50% 0; }
}

@keyframes cms-rise { from { opacity: 0; translate: 0 1rem; } to { opacity: 1; translate: 0 0; } }
@keyframes cms-glow { to { translate: 1.5rem 1rem; } }
@keyframes cms-orbit { to { rotate: 360deg; } }
@keyframes home-voices-float {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 -.35rem; }
}
@keyframes home-voices-drift {
    to { translate: -8% -4%; opacity: .85; }
}

@media (prefers-reduced-motion: reduce) {
    .cms-page__brand, .cms-page__title, .cms-page__lede,
    .cms-hero__title, .cms-hero__lead, .cms-hero__actions,
    .cms-page__glow, .cms-hero__orbit,
    .home-hero__aurora, .home-hero__beam, .home-hero__ring, .home-hero__orbit,
    .home-voices__glow, .home-voices__mark,
    .home-commit__track,
    .home-talk__aurora,
    .home-ready__aurora, .home-ready__ring { animation: none !important; }
}
