:root {
    --ce-navy: #08114D;
    --ce-navy-deep: #040B23;
    --ce-navy-mid: #10245F;
    --ce-blue: #1E3A8A;
    --ce-blue-soft: #AFC4FF;
    --ce-red: #DC2626;
    --ce-white: #FFFFFF;
    --ce-surface: #FFFFFF;
    --ce-surface-soft: #F8FAFC;
    --ce-text: #0F172A;
    --ce-muted: #64748B;
    --ce-border: #E4E9F2;
    --nav-height: 78px;
    --page-inline: clamp(28px, 4.7vw, 92px);
    --ease-out: cubic-bezier(.22, 1, .36, 1);
    --ease-soft: cubic-bezier(.2, .8, .2, 1);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--nav-height);
}

body {
    margin: 0;
    color: var(--ce-text);
    background: var(--ce-navy-deep);
    font-family: "Poppins", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.modal-open {
    overflow: hidden;
}

body,
a,
button {
    font-family: "Poppins", Arial, sans-serif;
}

button {
    color: inherit;
}

a {
    color: inherit;
}

.landing-header {
    position: sticky;
    top: 0;
    z-index: 5000;

    width: 100%;
    height: var(--nav-height);

    border-bottom: 1px solid rgba(8, 17, 77, .09);
    background: rgba(255, 255, 255, .965);
    box-shadow: 0 7px 24px rgba(4, 11, 35, .055);

    transition:
        background 280ms ease,
        box-shadow 280ms ease,
        border-color 280ms ease;
}

.landing-header.is-scrolled {
    background: rgba(255, 255, 255, .985);
    border-bottom-color: rgba(8, 17, 77, .13);
    box-shadow: 0 11px 32px rgba(4, 11, 35, .09);
}

.motion-ready .landing-header {
    animation: none;
}

.motion-ready .landing-brand,
.motion-ready .landing-nav-links,
.motion-ready .landing-nav-actions {
    animation: landingNavItemSettle 520ms var(--ease-out) both;
}

.motion-ready .landing-brand {
    animation-delay: 70ms;
}

.motion-ready .landing-nav-links {
    animation-delay: 125ms;
}

.motion-ready .landing-nav-actions {
    animation-delay: 180ms;
}

.landing-nav {
    width: min(100%, 1680px);
    height: 100%;
    margin: 0 auto;
    padding: 0 var(--page-inline);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(22px, 3vw, 54px);
}

.landing-brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 11px;
    text-decoration: none;
}

.landing-brand-mark {
    width: 47px;
    height: 47px;
    flex: 0 0 47px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #DCE5F3;
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 6px 18px rgba(8, 17, 77, .07);
    transition:
        transform 420ms var(--ease-out),
        box-shadow 300ms ease,
        border-color 300ms ease;
}

.landing-brand:hover .landing-brand-mark,
.landing-brand:focus-visible .landing-brand-mark {
    transform: translateY(-1px) rotate(-1.5deg) scale(1.025);
    border-color: #C7D5EA;
    box-shadow: 0 10px 24px rgba(8, 17, 77, .11);
}

.landing-brand-mark img {
    width: 39px;
    height: 39px;
    object-fit: contain;
}

.landing-brand-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.landing-brand-copy strong {
    color: var(--ce-navy);
    font-size: .88rem;
    font-weight: 800;
    line-height: 1.05;
    white-space: nowrap;
}

.landing-brand-copy small {
    margin-top: 5px;
    color: var(--ce-red);
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1;
    text-transform: uppercase;
}

.landing-nav-links {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 1.8vw, 30px);
}

.landing-nav-link {
    position: relative;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    color: #5D6D87;
    font-size: .68rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition:
        color 180ms ease,
        transform 260ms var(--ease-out);
}

.landing-nav-link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 1px;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: var(--ce-red);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 280ms var(--ease-out);
}

.landing-nav-link:hover,
.landing-nav-link:focus-visible,
.landing-nav-link.is-active {
    color: var(--ce-navy);
}

.landing-nav-link:hover,
.landing-nav-link:focus-visible {
    transform: translateY(-1px);
}

.landing-nav-link:hover::after,
.landing-nav-link:focus-visible::after,
.landing-nav-link.is-active::after {
    transform: scaleX(1);
}

.landing-nav-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.landing-login {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 15px;
    border: 1px solid #D9E2F0;
    border-radius: 12px;
    color: var(--ce-navy);
    background: #FFFFFF;
    box-shadow: 0 6px 16px rgba(8, 17, 77, .045);
    font-size: .64rem;
    font-weight: 700;
    cursor: pointer;
    transition:
        border-color 200ms ease,
        background 200ms ease,
        box-shadow 240ms ease,
        transform 300ms var(--ease-out);
}

.landing-login:hover,
.landing-login:focus-visible {
    border-color: #C7D3E5;
    background: #F8FAFD;
    box-shadow: 0 10px 22px rgba(8, 17, 77, .08);
    transform: translateY(-1px);
}

.landing-login-icon {
    width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    transition: transform 320ms var(--ease-out);
}

.landing-login:hover .landing-login-icon,
.landing-login:focus-visible .landing-login-icon {
    transform: scale(1.07);
}

.landing-login-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.landing-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    padding: 10px;
    border: 1px solid #D9E2F0;
    border-radius: 11px;
    background: #FFFFFF;
    cursor: pointer;
}

.landing-menu-toggle span {
    width: 100%;
    height: 2px;
    display: block;
    border-radius: 999px;
    background: var(--ce-navy);
    transition: transform 220ms ease, opacity 180ms ease;
}

.landing-menu-toggle span + span {
    margin-top: 5px;
}

.landing-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.landing-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.landing-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.ce-system-button {
    position: relative;
    isolation: isolate;
    min-width: 190px;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    overflow: hidden;
    padding: 6px 6px 6px 18px;
    border: 1px solid transparent;
    border-radius: 13px;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
    transform: none;
    transition:
        border-color 220ms ease,
        background 220ms ease,
        box-shadow 220ms ease,
        color 220ms ease;
}

.ce-system-button--compact {
    min-width: 128px;
    min-height: 44px;
    padding: 5px 5px 5px 14px;
    border-radius: 12px;
    font-size: .62rem;
}

.ce-system-button--navy {
    color: #FFFFFF;
    border-color: var(--ce-navy);
    background: var(--ce-navy);
    box-shadow: 0 8px 18px rgba(8, 17, 77, .12);
}

.ce-system-button--navy:hover,
.ce-system-button--navy:focus-visible {
    border-color: var(--ce-navy-mid);
    background: var(--ce-navy-mid);
    box-shadow: 0 11px 24px rgba(8, 17, 77, .16);
}

.ce-system-button--light {
    color: var(--ce-navy);
    border-color: rgba(255, 255, 255, .88);
    background: #FFFFFF;
    box-shadow: 0 12px 30px rgba(4, 11, 35, .20);
}

.ce-system-button--light:hover,
.ce-system-button--light:focus-visible {
    color: var(--ce-navy);
    border-color: #FFFFFF;
    background: #FFFFFF;
    box-shadow: 0 15px 34px rgba(4, 11, 35, .25);
}

.ce-system-button--glass {
    color: #FFFFFF;
    border-color: rgba(201, 215, 250, .35);
    background: rgba(8, 17, 77, .54);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.ce-system-button--glass:hover,
.ce-system-button--glass:focus-visible {
    border-color: rgba(220, 231, 255, .52);
    background: rgba(16, 36, 95, .80);
}

.ce-system-shine {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 28%,
            rgba(255, 255, 255, .08) 38%,
            rgba(255, 255, 255, .34) 49%,
            rgba(255, 255, 255, .10) 58%,
            transparent 72%,
            transparent 100%
        );
    transform: translateX(-125%);
    transition: transform 760ms var(--ease-out);
}

.ce-system-button:hover .ce-system-shine,
.ce-system-button:focus-visible .ce-system-shine {
    transform: translateX(125%);
}

.ce-system-copy,
.ce-system-icon {
    position: relative;
    z-index: 3;
}

.ce-system-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 10px;
    color: #FFFFFF;
    background: var(--ce-navy);
    transition:
        transform 360ms var(--ease-out),
        border-color 220ms ease,
        background 220ms ease;
}

.ce-system-button--compact .ce-system-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 9px;
    background: rgba(255, 255, 255, .08);
}

.ce-system-button--glass .ce-system-icon {
    background: rgba(255, 255, 255, .08);
}

.ce-system-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ce-system-button:hover .ce-system-icon,
.ce-system-button:focus-visible .ce-system-icon {
    border-color: var(--ce-red);
    background: var(--ce-red);
    transform: translateX(2px);
}

.hero {
    --hero-scroll-progress: 0;
    position: relative;
    isolation: isolate;
    height: calc(100svh - var(--nav-height));
    min-height: 610px;
    overflow: hidden;
    color: #FFFFFF;
    background: var(--ce-navy-deep);
}

.motion-ready .hero::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: 8%;
    bottom: 8%;
    left: 0;
    width: 2px;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(220,38,38,.12) 12%,
            rgba(248,113,113,.95) 48%,
            rgba(220,38,38,.20) 84%,
            transparent 100%
        );
    box-shadow:
        0 0 18px rgba(220,38,38,.18),
        0 0 3px rgba(255,255,255,.28);
}

.motion-ready .hero::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: -18%;
    left: 43%;
    width: 17vw;
    min-width: 170px;
    height: 138%;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(130,164,238,.02) 24%,
            rgba(198,215,255,.11) 48%,
            rgba(255,255,255,.05) 58%,
            transparent 100%
        );
    transform: translate3d(-185%,0,0) skewX(-12deg);
}

.hero-media-plane,
.hero-overlay,
.hero-vignette,
.hero-ambient {
    position: absolute;
    inset: 0;
}

.hero-media-plane {
    z-index: 0;
    overflow: hidden;
    transform:
        translate3d(
            var(--hero-media-x, 0px),
            calc(var(--hero-media-y, 0px) + var(--hero-scroll-media-y, 0px)),
            0
        )
        scale(var(--hero-scroll-media-scale, 1));
    transform-origin: 56% 50%;
    transition: transform 900ms var(--ease-out);
    will-change: transform;
}

.hero-media-fallback,
.hero-video {
    position: absolute;
    inset: -2.2%;
    width: 104.4%;
    height: 104.4%;
}

.hero-media-fallback {
    z-index: 0;
    background:
        radial-gradient(circle at 78% 42%, rgba(70,105,196,.24), transparent 26%),
        radial-gradient(circle at 88% 78%, rgba(220,38,38,.07), transparent 18%),
        linear-gradient(118deg, #040B23 0%, #07133C 52%, #10245F 100%);
    background-position: center;
    background-size: cover;
    animation: heroFallbackBreathe 11s ease-in-out infinite alternate;
}

.hero-video {
    z-index: 1;
    object-fit: cover;
    object-position: center 50%;
    opacity: 0;
    transform: scale(1.075);
    filter:
        brightness(.78)
        saturate(.82)
        contrast(.94);
    transition:
        opacity 900ms ease,
        transform 1650ms var(--ease-out),
        filter 1350ms ease;
    will-change: opacity, transform, filter;
}

.hero.is-video-ready .hero-video {
    opacity: 1;
    transform: scale(1.018);
    filter:
        brightness(1)
        saturate(1)
        contrast(1.02);
}

.hero-overlay {
    z-index: 2;
    background:
        linear-gradient(
            90deg,
            rgba(4,11,35,.97) 0%,
            rgba(4,11,35,.92) 30%,
            rgba(4,11,35,.74) 48%,
            rgba(4,11,35,.39) 68%,
            rgba(4,11,35,.15) 100%
        );
}

.hero-vignette {
    z-index: 3;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(4,11,35,.13),
            transparent 22%,
            transparent 72%,
            rgba(4,11,35,.46)
        ),
        radial-gradient(
            circle at 50% 50%,
            transparent 45%,
            rgba(4,11,35,.20) 100%
        );
}

.hero-ambient {
    z-index: 3;
    pointer-events: none;
    opacity: .64;
    background:
        radial-gradient(circle at 77% 42%, rgba(86,120,215,.17), transparent 24%),
        radial-gradient(circle at 91% 72%, rgba(220,38,38,.072), transparent 18%),
        linear-gradient(
            110deg,
            transparent 0%,
            transparent 62%,
            rgba(115,147,226,.035) 73%,
            transparent 84%
        );
    animation: heroAmbientOrbit 10s ease-in-out infinite alternate;
}

.hero-inner {
    width: min(100%, 1680px);
    height: 100%;
    position: relative;
    z-index: 4;
    margin: 0 auto;
    padding: clamp(30px, 5vh, 64px) var(--page-inline);
    display: flex;
    align-items: center;
}

.hero-copy {
    width: min(52%, 790px);
    min-width: 600px;
    opacity: var(--hero-scroll-copy-opacity, 1);
    transform:
        translate3d(
            var(--hero-copy-x, 0px),
            calc(
                -1.5vh +
                var(--hero-copy-y, 0px) +
                var(--hero-scroll-copy-y, 0px)
            ),
            0
        );
    transition:
        transform 820ms var(--ease-out),
        opacity 240ms linear;
    will-change: transform, opacity;
}

.hero-eyebrow {
    position: relative;
    width: max-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: clamp(18px, 2.3vh, 28px);
    padding-right: 72px;
    color: rgba(245,248,255,.88);
    font-size: clamp(.59rem,.67vw,.72rem);
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hero-eyebrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 54px;
    height: 1px;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            rgba(220,38,38,.92),
            rgba(220,38,38,.08)
        );
    transform-origin: left center;
}

.hero-eyebrow-pin {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #FFFFFF;
    background: var(--ce-red);
    box-shadow: 0 8px 20px rgba(220,38,38,.24);
    animation: heroPinPulse 4.4s ease-in-out 2.2s infinite;
}

.hero-eyebrow-pin svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hero h1 {
    margin: 0;
    max-width: 780px;
    letter-spacing: -.065em;
    line-height: .97;
}

.hero h1 span {
    display: block;
}

.hero-title-primary,
.hero-title-secondary {
    position: relative;
    width: max-content;
    max-width: 100%;
}

.hero-title-primary {
    color: #FFFFFF;
    font-size: clamp(3.55rem,5.4vw,6.35rem);
    font-weight: 800;
}

.hero-title-secondary {
    margin-top: 9px;
    color: var(--ce-blue-soft);
    font-size: clamp(3.05rem,4.75vw,5.55rem);
    font-weight: 500;
    letter-spacing: -.06em;
}

.hero-title-secondary::after {
    content: "";
    position: absolute;
    right: 2%;
    bottom: -10px;
    width: min(150px, 24%);
    height: 2px;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            rgba(96,132,218,.10),
            rgba(157,183,244,.88),
            rgba(220,38,38,.72)
        );
    transform: scaleX(0);
    transform-origin: left center;
}

.hero-description {
    max-width: 720px;
    margin: clamp(22px,2.8vh,32px) 0 0;
    color: rgba(233,238,250,.80);
    font-size: clamp(.88rem,1.05vw,1.1rem);
    font-weight: 400;
    line-height: 1.65;
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: clamp(24px,3.3vh,38px);
}

.motion-ready .hero .hero-reveal {
    opacity: 0;
}

.motion-ready .hero.is-hero-entered::before {
    animation: heroAccentSweep 980ms cubic-bezier(.22,1,.36,1) 90ms both;
}

.motion-ready .hero.is-hero-entered::after {
    animation: heroLightPass 1250ms var(--ease-out) 520ms both;
}

.motion-ready .hero.is-hero-entered .hero-reveal {
    animation-fill-mode: both;
}

.motion-ready .hero.is-hero-entered .hero-reveal--1 {
    animation: heroEyebrowReveal 650ms var(--ease-out) 130ms both;
}

.motion-ready .hero.is-hero-entered .hero-reveal--1::after {
    animation: heroEyebrowRuleDraw 620ms var(--ease-out) 430ms both;
}

.motion-ready .hero.is-hero-entered .hero-reveal--2 {
    animation: heroTitlePrimaryReveal 780ms var(--ease-out) 220ms both;
}

.motion-ready .hero.is-hero-entered .hero-reveal--3 {
    animation: heroTitleSecondaryReveal 820ms var(--ease-out) 340ms both;
}

.motion-ready .hero.is-hero-entered .hero-reveal--3::after {
    animation: heroTitleUnderlineDraw 700ms var(--ease-out) 760ms both;
}

.motion-ready .hero.is-hero-entered .hero-reveal--4 {
    animation: heroDescriptionReveal 650ms var(--ease-out) 530ms both;
}

.motion-ready .hero.is-hero-entered .hero-reveal--5 {
    animation: heroActionsReveal 700ms var(--ease-out) 670ms both;
}

.login-choice-modal {
    position: fixed;
    inset: 0;
    z-index: 6000;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 220ms ease, visibility 220ms ease;
}

.login-choice-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.login-choice-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(4, 11, 35, .72);
    cursor: default;
}

.login-choice-dialog {
    width: min(520px, 100%);
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding: 28px;
    border: 1px solid #D9E3F1;
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 28px 80px rgba(4, 11, 35, .28);
    transform: translate3d(0, 16px, 0) scale(.982);
    transition: transform 420ms var(--ease-out);
}

.login-choice-modal.is-open .login-choice-dialog {
    transform: translate3d(0, 0, 0) scale(1);
}

.login-choice-close {
    width: 38px;
    height: 38px;
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    border: 1px solid #DCE4EF;
    border-radius: 11px;
    color: #56657B;
    background: #FFFFFF;
    cursor: pointer;
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 280ms var(--ease-out);
}

.login-choice-close:hover,
.login-choice-close:focus-visible {
    color: #FFFFFF;
    border-color: var(--ce-red);
    background: var(--ce-red);
    transform: rotate(4deg);
}

.login-choice-close svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
}

.login-choice-heading {
    max-width: 390px;
    padding-right: 44px;
}

.login-choice-heading h2 {
    margin: 0;
    color: var(--ce-navy);
    font-size: clamp(1.5rem, 2.8vw, 1.9rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.08;
}

.login-choice-heading p {
    margin: 9px 0 0;
    color: var(--ce-muted);
    font-size: .67rem;
    line-height: 1.55;
}

.login-choice-options {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}

.login-role {
    position: relative;
    isolation: isolate;
    min-height: 78px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 12px;
    overflow: hidden;
    padding: 12px 13px;
    border-radius: 15px;
    text-decoration: none;
    transition: border-color 220ms ease, background 220ms ease, box-shadow 240ms ease;
}

.login-role--customer {
    color: #FFFFFF;
    border: 1px solid var(--ce-navy);
    background: linear-gradient(130deg, #050D32 0%, #08194D 68%, #102A73 100%);
    box-shadow: 0 12px 26px rgba(8, 17, 77, .14);
}

.login-role--admin {
    color: var(--ce-text);
    border: 1px solid #D8E2F0;
    background: #FFFFFF;
    box-shadow: 0 7px 18px rgba(8, 17, 77, .04);
}

.login-role--customer:hover,
.login-role--customer:focus-visible {
    border-color: #183681;
    box-shadow: 0 16px 34px rgba(8, 17, 77, .2);
}

.login-role--admin:hover,
.login-role--admin:focus-visible {
    border-color: #C4D2E6;
    background: #F8FAFD;
    box-shadow: 0 10px 24px rgba(8, 17, 77, .075);
}

.login-role-shine {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 0%, transparent 28%, rgba(255,255,255,.06) 38%, rgba(255,255,255,.28) 49%, rgba(255,255,255,.08) 58%, transparent 72%, transparent 100%);
    transform: translateX(-125%);
    transition: transform 760ms var(--ease-out);
}

.login-role--admin .login-role-shine {
    background: linear-gradient(115deg, transparent 0%, transparent 28%, rgba(30,58,138,.02) 38%, rgba(30,58,138,.10) 49%, rgba(30,58,138,.03) 58%, transparent 72%, transparent 100%);
}

.login-role:hover .login-role-shine,
.login-role:focus-visible .login-role-shine {
    transform: translateX(125%);
}

.login-role-icon,
.login-role-copy,
.login-role-arrow {
    position: relative;
    z-index: 3;
}

.login-role-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    transition: color 220ms ease, background 220ms ease, border-color 220ms ease, transform 320ms var(--ease-out);
}

.login-role--customer .login-role-icon {
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(255,255,255,.07);
}

.login-role--admin .login-role-icon {
    color: var(--ce-navy);
    border: 1px solid #D5E0F1;
    background: #EEF4FF;
}

.login-role:hover .login-role-icon,
.login-role:focus-visible .login-role-icon {
    transform: scale(1.035);
}

.login-role--admin:hover .login-role-icon,
.login-role--admin:focus-visible .login-role-icon {
    color: #FFFFFF;
    border-color: var(--ce-navy);
    background: var(--ce-navy);
}

.login-role-icon svg,
.login-role-arrow svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.login-role-copy {
    min-width: 0;
}

.login-role-copy strong,
.login-role-copy > span {
    display: block;
}

.login-role-copy strong {
    font-size: .74rem;
    font-weight: 800;
}

.login-role-copy > span {
    margin-top: 3px;
    font-size: .55rem;
    line-height: 1.4;
}

.login-role--customer .login-role-copy > span {
    color: rgba(235, 241, 255, .66);
}

.login-role--admin .login-role-copy > span {
    color: var(--ce-muted);
}

.login-role-arrow {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    transition: color 220ms ease, background 220ms ease, border-color 220ms ease, transform 320ms var(--ease-out);
}

.login-role--customer .login-role-arrow {
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(255,255,255,.07);
}

.login-role--admin .login-role-arrow {
    color: var(--ce-navy);
    border: 1px solid #D5E0F1;
    background: #FFFFFF;
}

.login-role:hover .login-role-arrow,
.login-role:focus-visible .login-role-arrow {
    color: #FFFFFF;
    border-color: var(--ce-red);
    background: var(--ce-red);
    transform: translateX(2px);
}

.login-choice-modal.is-open .login-choice-heading,
.login-choice-modal.is-open .login-role {
    animation: loginChoiceItemReveal 460ms var(--ease-out) both;
}

.login-choice-modal.is-open .login-choice-heading { animation-delay: 75ms; }
.login-choice-modal.is-open .login-role:nth-child(1) { animation-delay: 125ms; }
.login-choice-modal.is-open .login-role:nth-child(2) { animation-delay: 180ms; }

@keyframes landingNavItemSettle {
    from {
        opacity: 0;
        transform: translate3d(0,-5px,0);
    }
    to {
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}

@keyframes heroAccentSweep {
    0% {
        left: 0;
        opacity: 0;
        transform: scaleY(.65);
    }
    15% {
        opacity: .86;
    }
    68% {
        opacity: .72;
    }
    100% {
        left: calc(100% - 2px);
        opacity: 0;
        transform: scaleY(.86);
    }
}

@keyframes heroLightPass {
    0% {
        opacity: 0;
        transform: translate3d(-185%,0,0) skewX(-12deg);
    }
    20% {
        opacity: .8;
    }
    72% {
        opacity: .42;
    }
    100% {
        opacity: 0;
        transform: translate3d(330%,0,0) skewX(-12deg);
    }
}

@keyframes heroEyebrowReveal {
    from {
        opacity: 0;
        transform: translate3d(-24px,0,0);
    }
    to {
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}

@keyframes heroEyebrowRuleDraw {
    from {
        opacity: 0;
        transform: scaleX(0);
    }
    to {
        opacity: 1;
        transform: scaleX(1);
    }
}

@keyframes heroTitlePrimaryReveal {
    from {
        opacity: 0;
        clip-path: inset(0 0 100% 0);
        transform: translate3d(0,34px,0);
    }
    to {
        opacity: 1;
        clip-path: inset(0 0 0 0);
        transform: translate3d(0,0,0);
    }
}

@keyframes heroTitleSecondaryReveal {
    from {
        opacity: 0;
        clip-path: inset(100% 0 0 0);
        transform: translate3d(0,-18px,0);
    }
    to {
        opacity: 1;
        clip-path: inset(0 0 0 0);
        transform: translate3d(0,0,0);
    }
}

@keyframes heroTitleUnderlineDraw {
    from {
        opacity: 0;
        transform: scaleX(0);
    }
    to {
        opacity: 1;
        transform: scaleX(1);
    }
}

@keyframes heroDescriptionReveal {
    from {
        opacity: 0;
        transform: translate3d(0,18px,0);
    }
    to {
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}

@keyframes heroActionsReveal {
    from {
        opacity: 0;
        transform: translate3d(-22px,0,0);
    }
    to {
        opacity: 1;
        transform: translate3d(0,0,0);
    }
}

@keyframes heroFallbackBreathe {
    from {
        transform: scale(1.015) translate3d(-.25%,.1%,0);
        filter: saturate(.94);
    }
    to {
        transform: scale(1.055) translate3d(.35%,-.25%,0);
        filter: saturate(1.04);
    }
}

@keyframes heroAmbientOrbit {
    from {
        opacity: .48;
        transform: translate3d(-1.2%,.8%,0) scale(.985);
    }
    to {
        opacity: .72;
        transform: translate3d(1.15%,-1%,0) scale(1.03);
    }
}

@keyframes heroPinPulse {
    0%, 74%, 100% {
        box-shadow: 0 8px 20px rgba(220,38,38,.24);
        transform: scale(1);
    }
    83% {
        box-shadow:
            0 8px 24px rgba(220,38,38,.38),
            0 0 0 6px rgba(220,38,38,.07);
        transform: scale(1.055);
    }
}

@keyframes loginChoiceItemReveal {
    from {
        opacity: 0;
        transform: translate3d(0, 10px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@media (max-height: 820px) and (min-width: 981px) {
    :root {
        --nav-height: 68px;
    }

    .landing-brand-mark {
        width: 43px;
        height: 43px;
        flex-basis: 43px;
        border-radius: 12px;
    }

    .landing-brand-mark img {
        width: 36px;
        height: 36px;
    }

    .landing-brand-copy strong {
        font-size: .79rem;
    }

    .landing-brand-copy small {
        font-size: .48rem;
    }

    .landing-nav-link {
        min-height: 36px;
        font-size: .61rem;
    }

    .landing-login,
    .ce-system-button--compact {
        min-height: 40px;
    }

    .hero {
        min-height: 560px;
    }

    .hero-inner {
        padding-top: 22px;
        padding-bottom: 22px;
    }

    .hero-copy {
        transform:
            translate3d(
                var(--hero-copy-x, 0px),
                calc(-1vh + var(--hero-copy-y, 0px)),
                0
            );
    }

    .hero-eyebrow {
        margin-bottom: 15px;
        font-size: .56rem;
    }

    .hero-eyebrow-pin {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
    }

    .hero-title-primary {
        font-size: clamp(3rem, 5vw, 4.85rem);
    }

    .hero-title-secondary {
        margin-top: 6px;
        font-size: clamp(2.6rem, 4.4vw, 4.25rem);
    }

    .hero-description {
        max-width: 660px;
        margin-top: 18px;
        font-size: .83rem;
        line-height: 1.55;
    }

    .hero-actions {
        margin-top: 21px;
    }

    .ce-system-button {
        min-width: 176px;
        min-height: 46px;
        font-size: .60rem;
    }

    .ce-system-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .login-choice-dialog {
        padding: 25px;
    }

    .login-choice-accent {
        left: 25px;
    }

    .login-role {
        min-height: 88px;
        padding-top: 12px;
        padding-bottom: 12px;
    }
}

@media (max-width: 1120px) {
    .landing-nav {
        gap: 18px;
    }

    .landing-nav-links {
        gap: 16px;
    }

    .landing-brand-copy {
        display: none;
    }

    .hero-copy {
        width: min(62%, 720px);
        min-width: 520px;
    }
}

@media (max-width: 900px) {
    :root {
        --nav-height: 68px;
        --page-inline: 22px;
    }

    .landing-nav {
        grid-template-columns: auto auto 1fr;
        gap: 11px;
    }

    .landing-menu-toggle {
        display: block;
        order: 2;
    }

    .landing-brand {
        order: 1;
    }

    .landing-nav-actions {
        order: 3;
        justify-self: end;
    }

    .landing-nav-links {
        position: absolute;
        top: calc(100% + 1px);
        right: 18px;
        left: 18px;
        display: grid;
        gap: 4px;
        padding: 10px;
        border: 1px solid var(--ce-border);
        border-top: 0;
        border-radius: 0 0 16px 16px;
        background: #FFFFFF;
        box-shadow: 0 18px 34px rgba(4, 11, 35, .14);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition:
            opacity 190ms ease,
            visibility 190ms ease,
            transform 240ms var(--ease-out);
    }

    .landing-nav-links.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .landing-nav-link {
        min-height: 42px;
        padding: 0 12px;
        font-size: .68rem;
    }

    .landing-nav-link::after {
        right: auto;
        left: 12px;
        width: 30px;
    }

    .hero {
        height: calc(100svh - var(--nav-height));
        min-height: 650px;
    }

    .hero-video {
        object-position: 62% center;
    }

    .hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(4, 11, 35, .12) 0%,
                rgba(4, 11, 35, .34) 28%,
                rgba(4, 11, 35, .77) 58%,
                rgba(4, 11, 35, .97) 100%
            );
    }

    .hero-inner {
        align-items: flex-end;
        padding-top: 34px;
        padding-bottom: clamp(34px, 7vh, 66px);
    }

    .hero-copy {
        width: min(100%, 650px);
        min-width: 0;
        transform: translate3d(0, 0, 0);
    }

    .hero-title-primary {
        font-size: clamp(2.85rem, 9vw, 4.8rem);
    }

    .hero-title-secondary {
        font-size: clamp(2.45rem, 7.8vw, 4.15rem);
    }
}

@media (max-width: 620px) {
    :root {
        --page-inline: 17px;
    }

    .landing-brand-mark {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        border-radius: 12px;
    }

    .landing-brand-mark img {
        width: 35px;
        height: 35px;
    }

    .landing-login {
        min-height: 40px;
        padding: 0 11px;
        font-size: .58rem;
    }

    .landing-login-icon {
        display: none;
    }

    .ce-system-button--compact {
        min-width: 108px;
        min-height: 40px;
        padding-left: 11px;
        font-size: .56rem;
    }

    .ce-system-button--compact .ce-system-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .hero {
        min-height: 620px;
    }

    .hero-inner {
        padding-bottom: 32px;
    }

    .hero-eyebrow {
        gap: 8px;
        margin-bottom: 15px;
        font-size: .50rem;
        letter-spacing: .09em;
    }

    .hero-eyebrow-pin {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
    }

    .hero-title-primary {
        font-size: clamp(2.65rem, 12vw, 3.75rem);
    }

    .hero-title-secondary {
        margin-top: 7px;
        font-size: clamp(2.2rem, 10.2vw, 3.15rem);
    }

    .hero-description {
        margin-top: 17px;
        font-size: .75rem;
        line-height: 1.55;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
        margin-top: 20px;
    }

    .hero-actions .ce-system-button {
        width: 100%;
        min-width: 0;
    }

    .login-choice-modal {
        padding: 14px;
    }

    .login-choice-dialog {
        padding: 24px 18px 18px;
        border-radius: 19px;
    }

    .login-choice-close {
        top: 14px;
        right: 14px;
    }

    .login-choice-heading {
        padding-right: 44px;
    }

    .login-choice-heading h2 {
        font-size: 1.42rem;
    }

    .login-choice-heading p {
        max-width: 280px;
        font-size: .63rem;
    }

    .login-choice-options {
        margin-top: 17px;
    }

    .login-role {
        grid-template-columns: 40px minmax(0, 1fr) 31px;
        gap: 10px;
        min-height: 72px;
        padding: 11px;
    }

    .login-role-icon {
        width: 40px;
        height: 40px;
        border-radius: 10px;
    }

    .login-role-copy > span {
        font-size: .51rem;
    }

    .login-role-arrow {
        width: 31px;
        height: 31px;
    }
}

@media (max-width: 430px) {
    .landing-nav-actions {
        gap: 6px;
    }

    .landing-login {
        padding: 0 9px;
    }

    .ce-system-button--compact {
        min-width: 101px;
    }

    .hero-description {
        max-width: 94%;
    }
}

:focus-visible {
    outline: 3px solid rgba(96, 165, 250, .62);
    outline-offset: 3px;
}

@media (max-width: 420px) {
    .process-flow-action {
        padding: 18px 15px 16px 19px;
        border-radius: 14px;
    }

    .process-flow-action-kicker {
        font-size: .5rem;
        letter-spacing: .12em;
    }

    .process-flow-action-copy strong {
        font-size: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .hero-video {
        display: none;
    }

    .landing-brand,
    .landing-nav-links,
    .landing-nav-actions,
    .hero::before,
    .hero::after,
    .hero-reveal,
    .hero-media-fallback,
    .hero-video,
    .hero-ambient,
    .hero-eyebrow-pin,
    .login-choice-heading,
    .login-role {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .hero .hero-reveal {
        opacity: 1 !important;
    }

    .hero-eyebrow::after,
    .hero-title-secondary::after {
        animation: none !important;
        opacity: 1 !important;
        transform: scaleX(1) !important;
    }

    .hero-media-plane,
    .hero-copy,
    .ce-system-shine,
    .ce-system-icon,
    .landing-nav-link,
    .landing-nav-link::after,
    .landing-menu-toggle span,
    .login-choice-dialog,
    .login-role-shine,
    .login-role-arrow,
    .login-role-icon {
        transition: none !important;
    }
}

@media (max-height: 820px) and (min-width: 901px) {
}

@media (max-width: 900px) {
}

@media (max-width: 560px) {
}

@media (prefers-reduced-motion: reduce) {
}

@media (max-width: 1180px) {
}

@media (max-width: 960px) {
}

@media (max-width: 960px) {
}

@media (max-width: 720px) {
}

@media (max-width: 480px) {
}

@media (min-width: 961px) {
}

@media (max-width: 1180px) and (min-width: 961px) {
}

@media (max-width: 960px) {
}

@media (max-width: 720px) {
}

@media (max-width: 480px) {
}

@media (prefers-reduced-motion: reduce) {
}

.package-stage-section {
    scroll-margin-top: var(--nav-height);
    position: relative;
    isolation: isolate;
    height: clamp(600px, calc(100svh - var(--nav-height)), 680px);
    min-height: 600px;
    overflow: hidden;
    color: var(--ce-text);
    background: #F4F7FC;
}

.package-stage-section::before {
    content: "";
    position: absolute;
    top: 0;
    right: var(--page-inline);
    left: var(--page-inline);
    height: 1px;
    pointer-events: none;
    background: rgba(8,17,77,.12);
}

.package-stage-section::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: clamp(300px, 29vw, 500px);
    aspect-ratio: 1;
    right: clamp(-230px, -11vw, -120px);
    top: 82px;
    border: 1px solid rgba(49,83,164,.065);
    border-radius: 50%;
    pointer-events: none;
}

.package-stage-shell {
    width: min(100%, 1680px);
    height: 100%;
    margin: 0 auto;
    padding:
        clamp(22px, 2.7vh, 30px)
        var(--page-inline)
        clamp(22px, 2.7vh, 30px);
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: clamp(12px, 1.6vh, 16px);
}

.package-stage-heading {
    max-width: 860px;
}

.package-stage-heading-copy {
    position: relative;
    padding-left: clamp(18px, 1.55vw, 24px);
    transform-origin: left center;
}

.package-stage-heading-copy::before {
    content: "";
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: var(--ce-red);
    transform-origin: top center;
}

.package-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ce-red);
    font-size: clamp(.53rem, .58vw, .64rem);
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.package-section-kicker::after {
    content: "";
    width: clamp(32px, 2.7vw, 46px);
    height: 1px;
    background: rgba(220,38,38,.62);
}

.package-stage-heading h2 {
    margin: 6px 0 0;
    color: var(--ce-navy);
    font-size: clamp(1.9rem, 2.65vw, 2.95rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.05em;
}

.package-stage-heading-copy > p {
    max-width: 650px;
    margin: 7px 0 0;
    color: var(--ce-muted);
    font-size: clamp(.66rem, .71vw, .78rem);
    font-weight: 500;
    line-height: 1.5;
}

.package-selector-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(8,17,77,.10);
}

.package-selector-track {
    min-width: 0;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(132px, 168px);
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding: 1px 2px 3px;
}

.package-selector-track::-webkit-scrollbar {
    display: none;
}

.package-selector-chip {
    position: relative;
    min-width: 0;
    min-height: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    overflow: hidden;
    padding: 8px 12px;
    border: 1px solid rgba(8,17,77,.10);
    border-radius: 12px 12px 12px 5px;
    color: var(--ce-navy);
    background: #FFFFFF;
    box-shadow: 0 5px 13px rgba(8,17,77,.025);
    text-align: left;
    cursor: pointer;
    scroll-snap-align: start;
    transition:
        border-color 220ms ease,
        background 220ms ease,
        box-shadow 260ms ease,
        transform 300ms var(--ease-out);
}

.package-selector-chip::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--ce-red);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 330ms var(--ease-out), opacity 220ms ease;
}

.package-selector-chip small {
    color: #8A99B3;
    font-size: .46rem;
    font-weight: 800;
    letter-spacing: .11em;
    line-height: 1;
    text-transform: uppercase;
}

.package-selector-chip strong {
    overflow: hidden;
    color: inherit;
    font-size: .67rem;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.package-selector-chip:hover:not(:disabled),
.package-selector-chip:focus-visible:not(:disabled) {
    border-color: rgba(49,83,164,.24);
    background: #FFFFFF;
    box-shadow: 0 9px 20px rgba(8,17,77,.065);
    transform: translateY(-1px);
}

.package-selector-chip:hover::after,
.package-selector-chip:focus-visible::after,
.package-selector-chip.is-active::after {
    transform: scaleX(1);
}

.package-selector-chip.is-active {
    color: #FFFFFF;
    border-color: var(--ce-navy);
    background: var(--ce-navy);
    box-shadow: 0 9px 20px rgba(8,17,77,.13);
    animation: packageSelectorActivate 420ms var(--ease-out) both;
}

.package-selector-chip.is-active small {
    color: rgba(223,232,255,.72);
}

.package-selector-chip:disabled {
    cursor: default;
}

.package-selector-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.package-nav-button.ce-system-button {
    min-width: 104px;
    min-height: 42px;
    padding: 4px 4px 4px 13px;
    gap: 10px;
    border-radius: 11px;
    font-size: .58rem;
}

.package-nav-button .ce-system-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 8px;
}

.package-nav-button .ce-system-icon svg {
    width: 15px;
    height: 15px;
}

.package-nav-button--prev.ce-system-button {
    padding: 4px 13px 4px 4px;
}

.package-nav-button--prev .ce-system-icon {
    order: -1;
}

.package-nav-button:disabled {
    opacity: .36;
    cursor: default;
}

.package-nav-button:disabled .ce-system-shine {
    display: none;
}

.package-editorial-stage {
    position: relative;
    min-height: 0;
}

.package-browser-content {
    position: relative;
    height: 100%;
}

.package-focus-card {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 100%;
    min-height: 300px;
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.65fr);
    overflow: hidden;
    border: 1px solid rgba(207,218,234,.90);
    border-radius: 26px 26px 26px 9px;
    background: #FFFFFF;
    box-shadow: 0 20px 46px rgba(15,23,42,.085);
    transition:
        opacity 230ms ease,
        transform 390ms var(--ease-out),
        border-color 260ms ease,
        box-shadow 300ms ease;
}

.package-focus-card::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: 0;
    left: -112px;
    width: 112px;
    height: 2px;
    background: var(--ce-red);
    opacity: 0;
    pointer-events: none;
}

.package-focus-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -180px;
    right: -160px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(49,83,164,.055);
    border-radius: 50%;
    pointer-events: none;
}

.package-focus-identity {
    position: relative;
    z-index: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(24px, 2.5vw, 36px);
    color: #FFFFFF;
    background: var(--ce-navy);
}

.package-focus-identity::before {
    content: "";
    position: absolute;
    top: 36px;
    bottom: 36px;
    left: 0;
    width: 2px;
    border-radius: 999px;
    background: var(--ce-red);
}

.package-focus-kicker {
    color: #BFD0FF;
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.package-focus-identity h3 {
    max-width: 100%;
    margin: 8px 0 0;
    color: #FFFFFF;
    font-size: clamp(2rem, 2.75vw, 3rem);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.05em;
    overflow-wrap: anywhere;
}

.package-focus-identity p {
    max-width: 390px;
    margin: 11px 0 0;
    color: rgba(229,236,255,.78);
    font-size: clamp(.64rem, .68vw, .74rem);
    font-weight: 500;
    line-height: 1.58;
}

.package-main-action {
    width: fit-content;
    min-width: 190px;
    margin-top: 18px;
}

.package-main-action .ce-system-icon {
    color: #FFFFFF;
    border-color: rgba(8,17,77,.18);
    background: var(--ce-navy);
}

.package-main-action:hover .ce-system-icon,
.package-main-action:focus-visible .ce-system-icon {
    border-color: var(--ce-red);
    background: var(--ce-red);
}

.package-focus-overview {
    position: relative;
    z-index: 1;
    min-width: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: clamp(14px, 1.7vh, 18px);
    padding: clamp(22px, 2.35vw, 34px);
}

.package-summary-row {
    display: grid;
    grid-template-columns: minmax(190px, .9fr) minmax(310px, 1.2fr);
    gap: clamp(16px, 1.7vw, 24px);
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(8,17,77,.09);
}

.package-price-block {
    min-width: 0;
}

.package-price-label {
    display: block;
    color: #71809C;
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.package-price-block > strong {
    display: block;
    margin-top: 5px;
    color: var(--ce-navy);
    font-size: clamp(2rem, 2.75vw, 3.2rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.055em;
    white-space: nowrap;
}

.package-focus-metrics {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.package-focus-metrics > div {
    min-width: 0;
    min-height: 66px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 11px 14px;
    border: 1px solid #DCE4EF;
    border-radius: 14px;
    background: #F8FAFD;
}

.package-focus-metrics small {
    color: #8290AA;
    font-size: .48rem;
    font-weight: 700;
    line-height: 1.2;
}

.package-focus-metrics b {
    overflow: hidden;
    color: var(--ce-navy);
    font-size: .71rem;
    font-weight: 800;
    line-height: 1.23;
    text-overflow: ellipsis;
}

.package-tier-inline {
    min-width: 0;
    min-height: 0;
    align-self: end;
}

.package-tier-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 9px;
}

.package-tier-heading > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.package-tier-heading > div > span {
    color: var(--ce-blue);
    font-size: .50rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.package-tier-heading strong {
    color: var(--ce-navy);
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.25;
}

.package-tier-total {
    flex: 0 0 auto;
    color: #8190AA;
    font-size: .51rem;
    font-weight: 800;
    white-space: nowrap;
}

.package-tier-rail {
    min-width: 0;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(8,17,77,.18) transparent;
    padding: 1px 1px 5px;
}

.package-tier-chip {
    position: relative;
    flex: 1 0 clamp(165px, 30%, 235px);
    min-width: 165px;
    min-height: 78px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto 1fr;
    column-gap: 12px;
    align-items: end;
    overflow: hidden;
    padding: 12px 14px 13px;
    border: 1px solid #DCE4EF;
    border-radius: 14px 14px 14px 5px;
    background: #FFFFFF;
    box-shadow: 0 6px 15px rgba(8,17,77,.03);
    scroll-snap-align: start;
    transition:
        border-color 220ms ease,
        box-shadow 260ms ease,
        transform 300ms var(--ease-out);
}

.package-tier-chip::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--ce-red);
    transform: scaleX(.25);
    transform-origin: left center;
    transition: transform 320ms var(--ease-out);
}

.package-tier-chip:hover {
    border-color: rgba(49,83,164,.22);
    box-shadow: 0 9px 22px rgba(8,17,77,.065);
    transform: translateY(-2px);
}

.package-tier-chip:hover::after {
    transform: scaleX(1);
}

.package-tier-chip small {
    grid-column: 1 / -1;
    color: #8290AA;
    font-size: .46rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.package-tier-chip strong {
    min-width: 0;
    color: var(--ce-navy);
    font-size: clamp(.73rem, .80vw, .86rem);
    font-weight: 800;
    line-height: 1.18;
}

.package-tier-chip b {
    color: var(--ce-blue);
    font-size: clamp(.69rem, .74vw, .81rem);
    font-weight: 800;
    line-height: 1.18;
    white-space: nowrap;
}

.package-tier-chip.is-empty {
    flex: 1 0 100%;
    min-height: 74px;
    display: grid;
    place-items: center;
    color: #71809A;
    font-size: .65rem;
    font-weight: 600;
    text-align: center;
}

.package-tier-chip.is-empty::after {
    display: none;
}

.package-empty-state,
.package-load-error {
    height: 100%;
    min-height: 280px;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    padding: 26px;
    border: 1px solid #DCE4EF;
    border-radius: 22px 22px 22px 8px;
    background: #FFFFFF;
    box-shadow: 0 16px 38px rgba(15,23,42,.075);
}

.package-empty-state[hidden],
.package-load-error[hidden] {
    display: none;
}

.package-state-mark {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ce-blue);
    background: #EEF4FF;
}

.package-state-mark svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.package-empty-state strong,
.package-load-error strong {
    color: var(--ce-navy);
    font-size: .80rem;
    font-weight: 800;
}

.package-empty-state p,
.package-load-error p {
    margin: 5px 0 0;
    color: #72819A;
    font-size: .62rem;
    line-height: 1.5;
}

.package-retry-button {
    justify-self: end;
}

.package-editorial-stage.has-no-packages .package-browser-content,
.package-editorial-stage.has-load-error .package-browser-content {
    display: none;
}

.package-focus-card.is-leaving-left {
    opacity: .22;
    transform: translate3d(-22px, 0, 0) scale(.988);
}

.package-focus-card.is-leaving-right {
    opacity: .22;
    transform: translate3d(22px, 0, 0) scale(.988);
}

.package-focus-card.is-entering-right {
    animation: packageCompactEnterRight 600ms var(--ease-out) both;
}

.package-focus-card.is-entering-left {
    animation: packageCompactEnterLeft 600ms var(--ease-out) both;
}

.package-focus-card.is-entering-right .package-focus-identity,
.package-focus-card.is-entering-left .package-focus-identity {
    animation: packageIdentitySettle 620ms var(--ease-out) 55ms both;
}

.package-focus-card.is-entering-right .package-summary-row,
.package-focus-card.is-entering-left .package-summary-row {
    animation: packageSummarySettle 620ms var(--ease-out) 105ms both;
}

.package-focus-card.is-entering-right .package-tier-chip,
.package-focus-card.is-entering-left .package-tier-chip {
    animation: packageTierSpawn 520ms var(--ease-out) 120ms both;
}

.package-focus-card.is-entering-right .package-tier-chip:nth-child(2),
.package-focus-card.is-entering-left .package-tier-chip:nth-child(2) { animation-delay: 175ms; }

.package-focus-card.is-entering-right .package-tier-chip:nth-child(3),
.package-focus-card.is-entering-left .package-tier-chip:nth-child(3) { animation-delay: 230ms; }

.package-focus-card.is-entering-right .package-tier-chip:nth-child(4),
.package-focus-card.is-entering-left .package-tier-chip:nth-child(4) { animation-delay: 285ms; }

.package-stage-section.has-action-pulse .package-selector-bar {
    animation: packageActionPulse 430ms var(--ease-out) both;
}

.motion-ready .package-stage-heading-copy,
.motion-ready .package-selector-bar,
.motion-ready .package-focus-card {
    opacity: 0;
}

.motion-ready .package-focus-card {
    clip-path: inset(0 48% 0 48% round 26px);
}

.motion-ready .package-stage-section.is-in-view .package-stage-heading-copy,
.motion-ready .package-stage-section.is-in-view .package-selector-bar,
.motion-ready .package-stage-section.is-in-view .package-focus-card {
    opacity: 1;
}

.motion-ready .package-stage-section.is-in-view .package-focus-card {
    clip-path: inset(0 0 0 0 round 26px);
}

.motion-ready .package-stage-section.is-entering-forward .package-stage-heading-copy {
    animation: packageHeadingInForward 680ms var(--ease-out) 40ms both;
}

.motion-ready .package-stage-section.is-entering-backward .package-stage-heading-copy {
    animation: packageHeadingInBackward 680ms var(--ease-out) 40ms both;
}

.motion-ready .package-stage-section.is-entering-forward .package-stage-heading-copy::before,
.motion-ready .package-stage-section.is-entering-backward .package-stage-heading-copy::before {
    animation: packageAccentDraw 620ms var(--ease-out) 60ms both;
}

.motion-ready .package-stage-section.is-entering-forward .package-selector-bar {
    animation: packageSelectorInForward 700ms var(--ease-out) 120ms both;
}

.motion-ready .package-stage-section.is-entering-backward .package-selector-bar {
    animation: packageSelectorInBackward 700ms var(--ease-out) 120ms both;
}

.motion-ready .package-stage-section.is-entering-forward .package-focus-card,
.motion-ready .package-stage-section.is-entering-backward .package-focus-card {
    animation: packageCardUnfold 820ms var(--ease-out) 185ms both;
}

.motion-ready .package-stage-section.is-entering-forward .package-focus-identity {
    animation: packagePanelInLeft 760ms var(--ease-out) 260ms both;
}

.motion-ready .package-stage-section.is-entering-forward .package-focus-overview {
    animation: packagePanelInRight 760ms var(--ease-out) 300ms both;
}

.motion-ready .package-stage-section.is-entering-backward .package-focus-identity {
    animation: packagePanelInLeftBack 760ms var(--ease-out) 260ms both;
}

.motion-ready .package-stage-section.is-entering-backward .package-focus-overview {
    animation: packagePanelInRightBack 760ms var(--ease-out) 300ms both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-stage-heading-copy {
    animation: packageHeadingOutForward 430ms cubic-bezier(.55,.06,.68,.19) both;
}

.motion-ready .package-stage-section.is-retracting-backward .package-stage-heading-copy {
    animation: packageHeadingOutBackward 430ms cubic-bezier(.55,.06,.68,.19) both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-selector-bar {
    animation: packageSelectorOutForward 460ms cubic-bezier(.55,.06,.68,.19) 35ms both;
}

.motion-ready .package-stage-section.is-retracting-backward .package-selector-bar {
    animation: packageSelectorOutBackward 460ms cubic-bezier(.55,.06,.68,.19) 35ms both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-focus-card {
    animation: packageCardRetractForward 560ms cubic-bezier(.55,.06,.68,.19) 55ms both;
}

.motion-ready .package-stage-section.is-retracting-backward .package-focus-card {
    animation: packageCardRetractBackward 560ms cubic-bezier(.55,.06,.68,.19) 55ms both;
}

.package-stage-section.is-idle .package-focus-card {
    border-color: rgba(49,83,164,.18);
    box-shadow: 0 22px 50px rgba(15,23,42,.10);
}

.package-stage-section.is-idle .package-focus-card::before {
    opacity: 1;
    animation: packageIdleTrace 5.8s ease-in-out infinite;
}

.package-stage-section.is-idle .package-selector-chip.is-active::after {
    animation: packageIdleUnderline 2.8s ease-in-out infinite;
}

.package-stage-section.is-idle .package-tier-chip:nth-child(4n + 1) {
    animation: packageIdleTier 5.6s ease-in-out .2s infinite;
}

.package-stage-section.is-idle .package-tier-chip:nth-child(4n + 2) {
    animation: packageIdleTier 5.6s ease-in-out 1.1s infinite;
}

.package-stage-section.is-idle .package-tier-chip:nth-child(4n + 3) {
    animation: packageIdleTier 5.6s ease-in-out 2s infinite;
}

.package-stage-section.is-idle .package-tier-chip:nth-child(4n + 4) {
    animation: packageIdleTier 5.6s ease-in-out 2.9s infinite;
}

@keyframes packageSelectorActivate {
    0% { transform: scale(.975); }
    70% { transform: scale(1.012); }
    100% { transform: scale(1); }
}

@keyframes packageTierSpawn {
    from { opacity: 0; transform: translate3d(0, 10px, 0) scale(.985); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes packageCompactEnterRight {
    from { opacity: .16; transform: translate3d(24px, 0, 0) scale(.987); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes packageCompactEnterLeft {
    from { opacity: .16; transform: translate3d(-24px, 0, 0) scale(.987); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes packageIdentitySettle {
    from { opacity: .55; transform: translate3d(-10px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packageSummarySettle {
    from { opacity: .35; transform: translate3d(12px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packageActionPulse {
    0%,100% { transform: translateY(0); }
    45% { transform: translateY(-2px); }
}

@keyframes packageHeadingInForward {
    from { opacity: 0; transform: translate3d(0, 18px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packageHeadingInBackward {
    from { opacity: 0; transform: translate3d(0, -18px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packageAccentDraw {
    from { transform: scaleY(0); opacity: .2; }
    to { transform: scaleY(1); opacity: 1; }
}

@keyframes packageSelectorInForward {
    from { opacity: 0; transform: translate3d(0, 14px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packageSelectorInBackward {
    from { opacity: 0; transform: translate3d(0, -14px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packageCardUnfold {
    0% { opacity: 0; clip-path: inset(0 48% 0 48% round 26px); transform: scale(.985); }
    58% { opacity: 1; }
    100% { opacity: 1; clip-path: inset(0 0 0 0 round 26px); transform: scale(1); }
}

@keyframes packagePanelInLeft {
    from { opacity: 0; transform: translate3d(-20px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packagePanelInRight {
    from { opacity: 0; transform: translate3d(20px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packagePanelInLeftBack {
    from { opacity: 0; transform: translate3d(-14px, -8px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packagePanelInRightBack {
    from { opacity: 0; transform: translate3d(14px, -8px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packageHeadingOutForward {
    from { opacity: 1; transform: translate3d(0, 0, 0); }
    to { opacity: 0; transform: translate3d(0, -14px, 0); }
}

@keyframes packageHeadingOutBackward {
    from { opacity: 1; transform: translate3d(0, 0, 0); }
    to { opacity: 0; transform: translate3d(0, 14px, 0); }
}

@keyframes packageSelectorOutForward {
    from { opacity: 1; transform: translate3d(0, 0, 0); }
    to { opacity: 0; transform: translate3d(0, -12px, 0); }
}

@keyframes packageSelectorOutBackward {
    from { opacity: 1; transform: translate3d(0, 0, 0); }
    to { opacity: 0; transform: translate3d(0, 12px, 0); }
}

@keyframes packageCardRetractForward {
    0% { opacity: 1; clip-path: inset(0 0 0 0 round 26px); transform: translate3d(0,0,0) scale(1); }
    100% { opacity: 0; clip-path: inset(0 48% 0 48% round 26px); transform: translate3d(0,-12px,0) scale(.985); }
}

@keyframes packageCardRetractBackward {
    0% { opacity: 1; clip-path: inset(0 0 0 0 round 26px); transform: translate3d(0,0,0) scale(1); }
    100% { opacity: 0; clip-path: inset(0 48% 0 48% round 26px); transform: translate3d(0,12px,0) scale(.985); }
}

@keyframes packageIdleTrace {
    0%, 12% { left: -112px; opacity: 0; }
    22% { opacity: .82; }
    70% { opacity: .82; }
    84%,100% { left: calc(100% + 2px); opacity: 0; }
}

@keyframes packageIdleUnderline {
    0%,100% { opacity: .65; transform: scaleX(.55); }
    50% { opacity: 1; transform: scaleX(1); }
}

@keyframes packageIdleTier {
    0%, 82%,100% { transform: translate3d(0,0,0); box-shadow: 0 6px 15px rgba(8,17,77,.03); }
    88% { transform: translate3d(0,-2px,0); box-shadow: 0 9px 20px rgba(8,17,77,.055); }
    94% { transform: translate3d(0,0,0); }
}

@media (min-width: 981px) and (max-height: 760px) {
    .package-stage-section {
        height: calc(100svh - var(--nav-height));
        min-height: 570px;
    }

    .package-stage-shell {
        padding-top: 17px;
        padding-bottom: 17px;
        gap: 10px;
    }

    .package-stage-heading h2 {
        font-size: clamp(1.75rem, 2.35vw, 2.55rem);
    }

    .package-stage-heading-copy > p {
        margin-top: 5px;
    }

    .package-selector-bar {
        padding-bottom: 9px;
    }

    .package-selector-chip {
        min-height: 46px;
    }

    .package-focus-card {
        min-height: 278px;
    }

    .package-focus-identity,
    .package-focus-overview {
        padding-top: 19px;
        padding-bottom: 19px;
    }

    .package-focus-identity h3 {
        font-size: clamp(1.85rem, 2.35vw, 2.55rem);
    }

    .package-main-action {
        margin-top: 14px;
    }

    .package-summary-row {
        padding-bottom: 11px;
    }

    .package-tier-chip {
        min-height: 70px;
        padding-top: 10px;
        padding-bottom: 11px;
    }
}

@media (max-width: 980px) {
    .package-stage-section {
        height: auto;
        min-height: 0;
    }

    .package-stage-shell {
        height: auto;
        padding-top: 30px;
        padding-bottom: 34px;
    }

    .package-selector-bar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .package-selector-controls {
        justify-content: flex-end;
    }

    .package-focus-card {
        min-height: 330px;
        grid-template-columns: minmax(250px, .70fr) minmax(0, 1.35fr);
    }

    .package-summary-row {
        grid-template-columns: 1fr;
        gap: 12px;
        align-items: stretch;
    }
}

@media (max-width: 720px) {
    .package-stage-shell {
        width: 100%;
        padding:
            26px
            clamp(16px, 4.8vw, 22px)
            30px;
        gap: 14px;
    }

    .package-stage-heading-copy {
        padding-left: 16px;
    }

    .package-stage-heading h2 {
        font-size: clamp(1.95rem, 9.5vw, 2.65rem);
    }

    .package-stage-heading-copy > p {
        font-size: .69rem;
    }

    .package-selector-track {
        grid-auto-columns: minmax(126px, 46vw);
    }

    .package-selector-controls {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .package-nav-button.ce-system-button {
        width: 100%;
        min-width: 0;
        min-height: 42px;
    }

    .package-focus-card {
        height: auto;
        min-height: 0;
        grid-template-columns: 1fr;
        border-radius: 22px 22px 22px 7px;
    }

    .package-focus-identity {
        min-height: 245px;
        padding: 25px 20px;
    }

    .package-focus-identity::before {
        top: 25px;
        bottom: 25px;
    }

    .package-focus-identity h3 {
        font-size: clamp(2rem, 10.5vw, 2.9rem);
    }

    .package-main-action {
        width: 100%;
        max-width: 300px;
    }

    .package-focus-overview {
        padding: 21px 17px 18px;
        gap: 15px;
    }

    .package-price-block > strong {
        font-size: clamp(2rem, 10vw, 2.8rem);
    }

    .package-focus-metrics > div {
        min-height: 64px;
        padding: 11px;
    }

    .package-tier-heading {
        align-items: flex-start;
    }

    .package-tier-chip {
        flex: 0 0 min(76vw, 225px);
        min-height: 75px;
    }

    .package-empty-state,
    .package-load-error {
        height: auto;
        min-height: 280px;
        grid-template-columns: 46px minmax(0, 1fr);
        padding: 20px 17px;
    }

    .package-retry-button {
        grid-column: 1 / -1;
        justify-self: stretch;
        width: 100%;
    }
}

@media (max-width: 460px) {
    .package-focus-metrics {
        grid-template-columns: 1fr;
    }

    .package-selector-controls {
        gap: 7px;
    }

    .package-nav-button .ce-system-copy {
        font-size: .56rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .package-stage-section *,
    .package-stage-section *::before,
    .package-stage-section *::after {
        animation: none !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }

    .motion-ready .package-stage-heading-copy,
    .motion-ready .package-selector-bar,
    .motion-ready .package-focus-card,
    .motion-ready .package-focus-identity,
    .motion-ready .package-focus-overview {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
    }
}

.ce-gallery-wall {
    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
    scroll-margin-top: var(--nav-height);
    color: #FFFFFF;
    background: var(--ce-navy-deep);
}

.ce-gallery-wall::before,
.ce-gallery-wall::after {
    content: none !important;
    display: none !important;
}

.ce-gallery-wall-shell {
    position: relative;
    z-index: 1;
    width: min(100%, 1740px);
    margin: 0 auto;
    padding:
        clamp(46px, 4vw, 64px)
        clamp(28px, 3.5vw, 64px)
        clamp(38px, 3.4vw, 54px);
}

.ce-gallery-wall-header {
    width: min(100%, 1100px);
    margin: 0 0 clamp(18px, 1.8vw, 28px);
}

.ce-gallery-wall-heading {
    max-width: 920px;
}

.ce-gallery-wall-kicker {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 11px;
    color: #F87171;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1;
    text-transform: uppercase;
}

.ce-gallery-wall-kicker::before {
    content: "";
    width: 30px;
    height: 1px;
    background: rgba(248,113,113,.82);
}

.ce-gallery-wall-heading h2 {
    max-width: 920px;
    margin: 0;
    color: #FFFFFF;
    font-size: clamp(2.35rem, 3.55vw, 4.25rem);
    font-weight: 700;
    letter-spacing: -.052em;
    line-height: 1;
}

.ce-gallery-wall-heading p {
    max-width: 760px;
    margin: 12px 0 0;
    color: rgba(226,234,255,.70);
    font-size: clamp(.76rem, .8vw, .90rem);
    font-weight: 400;
    line-height: 1.68;
}

.ce-gallery-wall-grid,
.ce-gallery-wall-carousel {
    width: 100%;
}

.ce-gallery-wall-grid[hidden] {
    display: none;
}

.ce-gallery-wall-carousel {
    position: relative;
    height: clamp(420px, 29vw, 555px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) min(66vw, 1080px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(12px, 1.2vw, 20px);
    overflow: hidden;
}

.ce-gallery-wall-carousel.has-single-item {
    display: flex;
    justify-content: center;
}

.ce-gallery-wall-card,
.ce-gallery-wall-card.ce-gallery-wall-stage {
    position: relative;
    min-width: 0;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.ce-gallery-wall-card.ce-gallery-wall-stage {
    z-index: 4;
    grid-column: 2;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: visible;
}

.ce-gallery-wall-card.ce-gallery-wall-stage::before,
.ce-gallery-wall-card.ce-gallery-wall-stage::after,
.ce-gallery-wall-card-media::before,
.ce-gallery-wall-card-media::after {
    content: none !important;
    display: none !important;
}

.ce-gallery-wall-card-media {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 0 !important;
    outline: 0 !important;
    border-radius: clamp(18px, 1.5vw, 23px);
    background: var(--ce-navy-deep) !important;
    box-shadow: 0 28px 70px rgba(0,0,0,.34);
    isolation: isolate;
    transform: translateZ(0);

    clip-path: inset(0 round clamp(18px, 1.5vw, 23px));
}

.ce-gallery-wall-card-image {
    position: absolute;
    z-index: 1;
    inset: -12px;
    width: calc(100% + 24px);
    height: calc(100% + 24px);
    display: block;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    object-fit: cover;
    object-position: center;
    opacity: 1;
    transform: translate3d(0,0,0);
    backface-visibility: hidden;
    will-change: opacity;
}

.ce-gallery-wall-card-image.is-current {
    z-index: 1;
}

.ce-gallery-wall-card-image--incoming {
    z-index: 2;
    opacity: 0;
    transform: translate3d(0,0,0) !important;
    transition: opacity 440ms cubic-bezier(.22,1,.36,1);
}

.ce-gallery-wall-card-image--incoming.is-from-right,
.ce-gallery-wall-card-image--incoming.is-from-left {
    transform: translate3d(0,0,0) !important;
}

.ce-gallery-wall-card-image--incoming.is-visible {
    opacity: 1;
}

.ce-gallery-wall-card-image.is-leaving-left,
.ce-gallery-wall-card-image.is-leaving-right {
    opacity: 0;
    transform: translate3d(0,0,0) !important;
    transition: opacity 440ms cubic-bezier(.22,1,.36,1);
}

.ce-gallery-wall-card-shade {
    position: absolute;
    z-index: 3;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(2,7,19,.04) 0%, transparent 64%, rgba(2,7,19,.42) 100%);
}

.ce-gallery-wall-peek {
    position: relative;
    z-index: 1;
    align-self: center;
    width: 100%;
    height: 78%;
    overflow: hidden;
    padding: 0;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 18px;
    background: var(--ce-navy-deep);
    box-shadow: 0 18px 48px rgba(0,0,0,.18);
    cursor: pointer;
    opacity: .38;
    transform: scale(.985);
    transition:
        opacity 260ms ease,
        transform 420ms var(--ease-out);
}

.ce-gallery-wall-peek--previous {
    grid-column: 1;
}

.ce-gallery-wall-peek--next {
    grid-column: 3;
}

.ce-gallery-wall-peek img {
    position: absolute;
    inset: -5px;
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    display: block;
    border: 0 !important;
    outline: 0 !important;
    object-fit: cover;
    filter: blur(4px) saturate(.70) brightness(.64);
    transform: scale(1.025);
}

.ce-gallery-wall-peek::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: rgba(4,11,35,.30);
}

.ce-gallery-wall-peek:hover,
.ce-gallery-wall-peek:focus-visible {
    opacity: .53;
    transform: scale(.995);
}

.ce-gallery-wall-peek.is-updating {
    opacity: 0;
    transform: scale(.97);
}

.ce-gallery-wall-stage-copy {
    position: absolute;
    z-index: 6;
    right: clamp(16px, 2vw, 28px);
    bottom: clamp(15px, 1.7vw, 24px);
    display: flex;
    justify-content: flex-end;
    pointer-events: none;
}

.ce-gallery-wall-stage-title {
    display: none !important;
}

.ce-gallery-wall-stage-counter {
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    color: rgba(255,255,255,.84);
    background: rgba(4,11,35,.62);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .12em;
    white-space: nowrap;
}

.ce-gallery-wall-control {
    position: absolute;
    z-index: 10;
    top: 50%;
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(175,196,255,.24);
    border-radius: 14px;
    color: #FFFFFF;
    background: var(--ce-navy);
    box-shadow: 0 13px 28px rgba(0,0,0,.30);
    cursor: pointer;
    transform: translateY(-50%);
    transition:
        border-color 220ms ease,
        background 220ms ease,
        box-shadow 220ms ease,
        transform 260ms var(--ease-out);
}

.ce-gallery-wall-control--previous {
    left: -28px;
}

.ce-gallery-wall-control--next {
    right: -28px;
}

.ce-gallery-wall-control::before,
.ce-gallery-wall-control::after {
    content: none !important;
    display: none !important;
}

.ce-gallery-wall-control-shine {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        115deg,
        transparent 0%,
        transparent 28%,
        rgba(255,255,255,.08) 38%,
        rgba(255,255,255,.34) 49%,
        rgba(255,255,255,.10) 58%,
        transparent 72%,
        transparent 100%
    );
    transform: translateX(-125%);
    transition: transform 760ms var(--ease-out);
}

.ce-gallery-wall-control svg {
    position: relative;
    z-index: 2;
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition:
        transform 320ms var(--ease-out),
        color 220ms ease;
}

.ce-gallery-wall-control:hover,
.ce-gallery-wall-control:focus-visible {
    border-color: var(--ce-red);
    background: var(--ce-navy-mid);
    box-shadow:
        0 16px 34px rgba(0,0,0,.34),
        0 0 0 1px rgba(220,38,38,.08);
}

.ce-gallery-wall-control:hover .ce-gallery-wall-control-shine,
.ce-gallery-wall-control:focus-visible .ce-gallery-wall-control-shine {
    transform: translateX(125%);
}

.ce-gallery-wall-control--previous:hover svg,
.ce-gallery-wall-control--previous:focus-visible svg {
    transform: translateX(-3px);
}

.ce-gallery-wall-control--next:hover svg,
.ce-gallery-wall-control--next:focus-visible svg {
    transform: translateX(3px);
}

.ce-gallery-wall-control:active {
    transform: translateY(-50%) scale(.96);
}

.ce-gallery-wall-rail {
    width: min(100%, 980px);
    margin: 12px auto 0;
    padding: 2px 0 0;
    display: flex;
    gap: 5px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.ce-gallery-wall-rail::-webkit-scrollbar {
    display: none;
}

.ce-gallery-wall-thumb {
    position: relative;
    flex: 0 0 clamp(102px, 7.2vw, 126px);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 9px;
    background: var(--ce-navy-deep);
    opacity: .50;
    cursor: pointer;
    scroll-snap-align: center;
    transition:
        opacity 220ms ease,
        border-color 220ms ease,
        box-shadow 240ms ease,
        transform 300ms var(--ease-out);
}

.ce-gallery-wall-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    border: 0 !important;
    outline: 0 !important;
    object-fit: cover;
}

.ce-gallery-wall-thumb::before,
.ce-gallery-wall-thumb::after {
    content: none !important;
    display: none !important;
}

.ce-gallery-wall-thumb:hover,
.ce-gallery-wall-thumb:focus-visible {
    opacity: .88;
    border-color: rgba(175,196,255,.30);
    transform: translateY(-2px);
}

.ce-gallery-wall-thumb.is-active {
    opacity: 1;
    border-color: rgba(255,255,255,.58);
    box-shadow: 0 8px 18px rgba(0,0,0,.20);
}

.ce-gallery-wall-empty {
    min-height: 240px;
    display: grid;
    place-items: center;
    padding: 28px;
    border: 1px solid rgba(175,196,255,.14);
    border-radius: 20px;
    color: rgba(226,234,255,.72);
    background: rgba(4,11,35,.28);
    text-align: center;
}

.ce-gallery-wall-empty[hidden] {
    display: none;
}

.ce-gallery-wall-noscript {
    margin-top: 18px;
    color: rgba(226,234,255,.66);
}

.motion-ready .ce-gallery-wall-heading,
.motion-ready .ce-gallery-wall-grid {
    opacity: 0;
    transform: translate3d(0,22px,0);
}

.motion-ready .ce-gallery-wall.is-in-view .ce-gallery-wall-heading,
.motion-ready .ce-gallery-wall.is-in-view .ce-gallery-wall-grid {
    opacity: 1;
    transform: translate3d(0,0,0);
    transition:
        opacity 760ms var(--ease-out),
        transform 920ms var(--ease-out);
}

.motion-ready .ce-gallery-wall.is-in-view .ce-gallery-wall-grid {
    transition-delay: 90ms;
}

@media (max-width: 1180px) {
    .ce-gallery-wall-carousel {
        grid-template-columns: minmax(0,1fr) min(70vw, 900px) minmax(0,1fr);
        gap: 12px;
    }
}

@media (max-width: 900px) {
    .ce-gallery-wall-shell {
        padding: 48px clamp(18px, 4.5vw, 30px) 44px;
    }

    .ce-gallery-wall-carousel {
        height: clamp(360px, 55vw, 500px);
        display: block;
    }

    .ce-gallery-wall-card.ce-gallery-wall-stage {
        width: 100%;
        height: 100%;
    }

    .ce-gallery-wall-peek {
        display: none;
    }

    .ce-gallery-wall-control--previous {
        left: 10px;
    }

    .ce-gallery-wall-control--next {
        right: 10px;
    }
}

@media (max-width: 620px) {
    .ce-gallery-wall-shell {
        padding: 42px 16px 40px;
    }

    .ce-gallery-wall-header {
        margin-bottom: 17px;
    }

    .ce-gallery-wall-heading h2 {
        font-size: clamp(2rem, 8.4vw, 3rem);
    }

    .ce-gallery-wall-heading p {
        margin-top: 10px;
        line-height: 1.58;
    }

    .ce-gallery-wall-carousel {
        height: clamp(275px, 67vw, 360px);
    }

    .ce-gallery-wall-control {
        width: 48px;
        height: 48px;
        padding: 0;
        border-radius: 12px;
    }

    .ce-gallery-wall-control--previous {
        left: 8px;
    }

    .ce-gallery-wall-control--next {
        right: 8px;
    }

    .ce-gallery-wall-stage-counter {
        padding: 6px 8px;
        font-size: .56rem;
    }

    .ce-gallery-wall-rail {
        margin-top: 10px;
        gap: 4px;
    }

    .ce-gallery-wall-thumb {
        flex-basis: 94px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ce-gallery-wall *,
    .ce-gallery-wall *::before,
    .ce-gallery-wall *::after {
        animation: none !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }

    .motion-ready .ce-gallery-wall-heading,
    .motion-ready .ce-gallery-wall-grid {
        opacity: 1 !important;
        transform: none !important;
    }
}

.process-trace-section{
    --trace-progress:0;

    position:relative;
    isolation:isolate;

    width:100%;
    min-height:
        calc(
            100svh -
            var(--nav-height)
        );

    overflow:hidden;

    scroll-margin-top:
        var(--nav-height);

    color:#08114D;

    background:
        radial-gradient(
            circle at 91% 8%,
            rgba(30,58,138,.055),
            transparent 25%
        ),
        radial-gradient(
            circle at 4% 96%,
            rgba(220,38,38,.022),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #FFFFFF 0%,
            #F8FAFC 56%,
            #F4F7FC 100%
        );
}

.process-trace-section::after{
    content:"";

    position:absolute;
    z-index:1;

    left:0;
    right:0;
    bottom:0;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(8,17,77,.12) 18%,
            rgba(220,38,38,.22) 50%,
            rgba(8,17,77,.12) 82%,
            transparent
        );
}

.process-trace-bg-grid{
    position:absolute;
    z-index:0;
    inset:0;

    opacity:.17;

    background-image:
        linear-gradient(
            rgba(8,17,77,.032) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(8,17,77,.032) 1px,
            transparent 1px
        );

    background-size:
        42px 42px;

    mask-image:
        linear-gradient(
            180deg,
            transparent,
            black 18%,
            black 72%,
            transparent
        );

    pointer-events:none;
}

.process-trace-bg-arc{
    position:absolute;
    z-index:0;

    border:
        1px solid
        rgba(30,58,138,.055);

    border-radius:50%;

    pointer-events:none;
}

.process-trace-bg-arc--one{
    width:520px;
    height:520px;

    right:-230px;
    top:-260px;

    box-shadow:
        0 0 0 78px
        rgba(30,58,138,.012);
}

.process-trace-bg-arc--two{
    width:340px;
    height:340px;

    left:-210px;
    bottom:-235px;

    border-color:
        rgba(220,38,38,.042);
}

.process-trace-shell{
    position:relative;
    z-index:4;

    width:min(100%,1660px);

    margin:0 auto;

    padding:
        clamp(34px,4.7vh,58px)
        var(--page-inline)
        clamp(36px,4.7vh,58px);

    display:grid;

    gap:
        clamp(24px,3.15vh,38px);
}

.process-trace-heading{
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap:
        clamp(36px,6vw,96px);

    align-items:end;
}

.process-trace-heading-copy{
    max-width:930px;
}

.process-trace-kicker{
    display:inline-flex;
    align-items:center;
    gap:12px;

    color:#DC2626;

    font-size:
        clamp(.57rem,.64vw,.67rem);

    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.process-trace-kicker::after{
    content:"";

    width:66px;
    height:1px;

    background:
        linear-gradient(
            90deg,
            #DC2626,
            transparent
        );
}

.process-trace-heading h2{
    margin:8px 0 7px;

    color:#08114D;

    font-size:
        clamp(2.35rem,3.6vw,4.25rem);

    font-weight:800;
    line-height:.96;
    letter-spacing:-.055em;
}

.process-trace-heading h2 span{
    color:#1E3A8A;
}

.process-trace-heading p{
    max-width:790px;

    margin:0;

    color:#64748B;

    font-size:
        clamp(.70rem,.77vw,.81rem);

    line-height:1.58;
}

.process-trace-counter{
    min-width:176px;

    display:grid;

    gap:7px;

    padding:0 0 7px;

    border-bottom:
        2px solid
        rgba(8,17,77,.10);

    transition:
        border-color 320ms ease,
        transform 420ms var(--ease-out);
}

.process-trace-counter-label-row{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:flex-start;

    gap:0;

    width:max-content;
    max-width:100%;
}

.process-trace-counter-label-row > span:last-child{
    color:#64748B;

    font-size:.50rem;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;

    transition:
        color 280ms ease;
}

.process-trace-counter-value{
    display:flex;
    align-items:baseline;
    justify-content:flex-start;

    gap:0;

    width:max-content;

    white-space:nowrap;

    font-variant-numeric:
        tabular-nums;
}

.process-trace-counter-value strong{
    color:#08114D;

    font-size:1.65rem;
    line-height:1;
    font-weight:800;
}

.process-trace-counter-value small{
    color:#1E3A8A;

    margin-left:0;

    font-size:.72rem;
    font-weight:800;
    line-height:1;
}

.process-trace-counter-complete-mark{
    position:absolute;

    left:-30px;
    top:50%;

    width:22px;
    height:22px;

    display:grid;
    place-items:center;

    border:
        1px solid
        rgba(220,38,38,.22);

    border-radius:50%;

    color:#FFFFFF;

    background:#DC2626;

    box-shadow:
        0 0 0 5px
        rgba(220,38,38,.055);

    opacity:0;

    pointer-events:none;

    transform:
        translateY(-50%)
        scale(.62)
        rotate(-16deg);

    transition:
        opacity 300ms ease,
        transform 430ms var(--ease-out);
}

.process-trace-counter-complete-mark svg{
    width:13px;
    height:13px;

    fill:none;
    stroke:currentColor;
    stroke-width:2.3;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.process-trace-counter-complete-mark.is-visible{
    opacity:1;

    transform:
        translateY(-50%)
        scale(1)
        rotate(0deg);

    animation:
        processTraceCompleteMarkPulse
        700ms
        var(--ease-out);
}

.process-trace-counter.is-complete{
    border-color:#DC2626;

    transform:
        translateY(-2px);
}

.process-trace-counter.is-complete
.process-trace-counter-label-row > span:last-child{
    color:#DC2626;
}

.process-trace-stage{
    position:relative;

    width:100%;

    height:
        clamp(
            370px,
            43vh,
            430px
        );

    min-height:370px;

    overflow:hidden;

    border:
        1px solid
        #DCE5F2;

    border-radius:28px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.98),
            rgba(248,250,252,.98)
        );

    box-shadow:
        0 22px 54px
        rgba(8,17,77,.07),
        inset
        0 1px 0
        rgba(255,255,255,.94);
}

.process-trace-stage::before{
    content:"";

    position:absolute;
    z-index:0;
    inset:0;

    opacity:.28;

    background-image:
        radial-gradient(
            rgba(8,17,77,.10)
            .65px,
            transparent
            .65px
        );

    background-size:
        18px 18px;

    mask-image:
        linear-gradient(
            90deg,
            transparent,
            black 14%,
            black 86%,
            transparent
        );
}

.process-trace-stage::after{
    content:"";

    position:absolute;
    z-index:1;

    left:
        calc(
            7.9% +
            (
                83.8% *
                var(--trace-progress,0)
            )
        );

    top:0;
    bottom:0;

    width:1px;

    opacity:.22;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(220,38,38,.18),
            transparent
        );

    transition:
        left .10s linear;
}

.process-trace-map{
    position:absolute;
    z-index:2;
    inset:0;

    width:100%;
    height:100%;

    overflow:visible;
}

.process-trace-base-path,
.process-trace-progress-path{
    fill:none;

    stroke-linecap:round;
    stroke-linejoin:round;
}

.process-trace-base-path{
    stroke:#DCE5F1;
    stroke-width:7;
}

.process-trace-progress-path{
    stroke:
        url(#processTraceFillGradient);

    stroke-width:7;

    filter:
        drop-shadow(
            0 4px 8px
            rgba(30,58,138,.12)
        );
}

.process-trace-runner{
    fill:#DC2626;

    stroke:#FFFFFF;
    stroke-width:4;

    pointer-events:none;
}

.process-trace-steps{
    position:absolute;
    z-index:5;
    inset:0;

    margin:0;
    padding:0;

    list-style:none;
}

.process-trace-step{
    position:absolute;

    left:var(--trace-x);
    top:var(--trace-y);

    width:0;
    height:0;
}

.process-trace-node{
    position:absolute;

    left:0;
    top:0;

    width:72px;
    height:72px;

    display:grid;
    place-items:center;

    padding:0;

    border:
        1px solid
        #CBD5E1;

    border-radius:21px;

    color:#64748B;

    background:#FFFFFF;

    box-shadow:
        0 12px 26px
        rgba(8,17,77,.08);

    cursor:pointer;

    transform:
        translate(-50%,-50%);

    transition:
        color 280ms ease,
        border-color 280ms ease,
        background 280ms ease,
        box-shadow 320ms ease,
        transform 420ms var(--ease-out);
}

.process-trace-node:hover,
.process-trace-node:focus-visible{
    color:#1E3A8A;

    border-color:
        rgba(30,58,138,.38);

    background:#EEF4FF;

    box-shadow:
        0 17px 34px
        rgba(8,17,77,.12),
        0 0 0 5px
        rgba(30,58,138,.05);

    transform:
        translate(-50%,-50%)
        translateY(-3px)
        scale(1.045);

    outline:none;
}

.process-trace-node-ring{
    position:absolute;
    inset:-8px;

    border:
        1px solid
        rgba(30,58,138,.16);

    border-radius:26px;

    opacity:0;

    transform:scale(.84);
}

.process-trace-step.is-current
.process-trace-node{
    color:#FFFFFF;

    border-color:#DC2626;

    background:#DC2626;

    box-shadow:
        0 18px 34px
        rgba(220,38,38,.19),
        0 0 0 7px
        rgba(220,38,38,.06);

    transform:
        translate(-50%,-50%)
        scale(1.06);
}

.process-trace-step.is-current
.process-trace-node-ring{
    opacity:1;

    border-color:
        rgba(220,38,38,.38);

    animation:
        processTraceNodeRing
        1.9s
        ease-out
        infinite;
}

.process-trace-step.is-complete
.process-trace-node{
    color:#1E3A8A;

    border-color:
        rgba(30,58,138,.25);

    background:#EEF4FF;

    box-shadow:
        0 12px 26px
        rgba(30,58,138,.09);
}

.process-trace-step.is-arriving
.process-trace-node{
    animation:
        processTraceNodeArrival
        700ms
        var(--ease-out);
}

.process-trace-node-number{
    position:absolute;

    top:-11px;
    right:-9px;

    min-width:28px;
    height:23px;

    display:grid;
    place-items:center;

    padding:0 5px;

    border:
        1px solid
        rgba(8,17,77,.10);

    border-radius:7px;

    color:#64748B;

    background:#FFFFFF;

    box-shadow:
        0 6px 15px
        rgba(8,17,77,.07);

    font-size:.45rem;
    font-weight:800;
}

.process-trace-step.is-current
.process-trace-node-number{
    color:#FFFFFF;

    border-color:
        rgba(255,255,255,.18);

    background:#08114D;
}

.process-trace-node-icon{
    width:29px;
    height:29px;

    display:grid;
    place-items:center;

    transition:
        opacity 260ms ease,
        transform 320ms var(--ease-out);
}

.process-trace-node-icon svg{
    width:26px;
    height:26px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.process-trace-node-check{
    position:absolute;
    inset:0;

    display:grid;
    place-items:center;

    color:#FFFFFF;

    opacity:0;

    transform:scale(.70);

    transition:
        opacity 280ms ease,
        transform 420ms var(--ease-out);
}

.process-trace-node-check svg{
    width:31px;
    height:31px;

    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.process-trace-section.is-journey-complete
.process-trace-step--5
.process-trace-node{
    background:#DC2626;

    border-color:#DC2626;

    box-shadow:
        0 20px 38px
        rgba(220,38,38,.20),
        0 0 0 8px
        rgba(220,38,38,.06);
}

.process-trace-section.is-journey-complete
.process-trace-step--5
.process-trace-node-icon{
    opacity:0;

    transform:scale(.72);
}

.process-trace-section.is-journey-complete
.process-trace-step--5
.process-trace-node-check{
    opacity:1;

    transform:scale(1);
}

.process-trace-step-copy{
    position:absolute;

    left:0;

    width:
        clamp(
            170px,
            15vw,
            230px
        );

    text-align:center;

    transform:
        translateX(-50%);

    transition:
        opacity 320ms ease,
        transform 420ms var(--ease-out);
}

.process-trace-step-copy--below{
    top:58px;
}

.process-trace-step-copy--above{
    bottom:58px;
}

.process-trace-step-copy > span{
    display:block;

    color:#64748B;

    font-size:.47rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.process-trace-step-copy strong{
    display:block;

    margin-top:4px;

    color:#334155;

    font-size:.68rem;
    font-weight:800;
    line-height:1.30;
}

.process-trace-step-copy p{
    max-width:210px;

    margin:
        7px auto 0;

    color:#64748B;

    font-size:.56rem;
    line-height:1.48;
}

.process-trace-step.is-current
.process-trace-step-copy > span{
    color:#DC2626;
}

.process-trace-step.is-current
.process-trace-step-copy strong{
    color:#08114D;
}

.process-trace-step.is-current
.process-trace-step-copy{
    transform:
        translateX(-50%)
        translateY(-2px);
}

.process-trace-step.is-complete
.process-trace-step-copy > span{
    color:#1E3A8A;
}

.process-trace-step.is-complete
.process-trace-step-copy strong{
    color:#08114D;
}

.process-trace-section.is-journey-complete
.process-trace-origin-label,
.process-trace-finish-label{
    position:absolute;
    z-index:4;

    bottom:18px;

    color:#94A3B8;

    font-size:.46rem;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.process-trace-origin-label{
    left:24px;
}

.process-trace-finish-label{
    right:24px;
}

.process-trace-complete-banner{
    min-height:0;

    display:grid;
    grid-template-columns:
        42px
        minmax(0,1fr);

    gap:12px;

    align-items:center;

    overflow:hidden;

    max-height:0;

    padding:
        0 16px;

    border:
        1px solid
        transparent;

    border-radius:16px;

    opacity:0;

    transform:
        translateY(-8px);

    transition:
        max-height 520ms var(--ease-out),
        padding 520ms var(--ease-out),
        opacity 360ms ease,
        transform 520ms var(--ease-out),
        border-color 320ms ease,
        background 320ms ease;
}

.process-trace-complete-banner.is-visible{
    max-height:92px;

    padding:
        12px 16px;

    border-color:
        rgba(220,38,38,.15);

    background:
        linear-gradient(
            90deg,
            rgba(220,38,38,.055),
            rgba(238,244,255,.72)
        );

    opacity:1;

    transform:none;
}

.process-trace-complete-icon{
    width:40px;
    height:40px;

    display:grid;
    place-items:center;

    border-radius:11px;

    color:#FFFFFF;

    background:#DC2626;

    box-shadow:
        0 9px 22px
        rgba(220,38,38,.13);
}

.process-trace-complete-icon svg{
    width:21px;
    height:21px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.process-trace-complete-banner small,
.process-trace-complete-banner strong{
    display:block;
}

.process-trace-complete-banner small{
    color:#DC2626;

    font-size:.47rem;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.process-trace-complete-banner strong{
    margin-top:3px;

    color:#08114D;

    font-size:.65rem;
    font-weight:800;
}

.process-trace-focus{
    width:min(100%,1480px);

    margin-inline:auto;

    display:grid;
    grid-template-columns:
        minmax(300px,.92fr)
        minmax(390px,1fr)
        minmax(245px,285px);

    gap:
        clamp(16px,1.8vw,24px);

    align-items:center;

    padding:
        clamp(15px,1.55vw,19px);

    border:
        1px solid
        #DCE5F1;

    border-radius:22px;

    background:
        rgba(255,255,255,.94);

    box-shadow:
        0 15px 38px
        rgba(8,17,77,.055);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);
}

.process-trace-focus-copy{
    min-width:0;
    max-width:540px;
}

.process-trace-focus-copy.is-changing{
    animation:
        processTraceFocusChange
        560ms
        var(--ease-out);
}

.process-trace-focus-kicker{
    display:block;

    color:#DC2626;

    font-size:.50rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.process-trace-focus-copy h3{
    margin:6px 0 0;

    color:#08114D;

    font-size:
        clamp(1.25rem,1.6vw,1.75rem);

    font-weight:800;
    line-height:1.08;
    letter-spacing:-.035em;
}

.process-trace-focus-copy p{
    max-width:620px;

    margin:9px 0 0;

    color:#64748B;

    font-size:.63rem;
    line-height:1.58;
}

.process-trace-focus-points{
    min-width:0;

    display:grid;

    gap:8px;
}

.process-trace-focus-point{
    width:100%;
    min-height:42px;

    display:grid;
    grid-template-columns:
        33px
        minmax(0,1fr);

    gap:10px;

    align-items:center;

    padding:
        5px 11px 5px 5px;

    border:
        1px solid
        #E4E9F2;

    border-radius:12px;

    color:inherit;

    text-align:left;

    background:#F8FAFC;

    cursor:default;

    transition:
        border-color 220ms ease,
        background 220ms ease,
        box-shadow 260ms ease,
        transform 360ms var(--ease-out);
}

.process-trace-focus-point > span{
    width:31px;
    height:31px;

    display:grid;
    place-items:center;

    border-radius:9px;

    color:#1E3A8A;

    background:#EEF4FF;

    font-size:.44rem;
    font-weight:800;

    transition:
        color 220ms ease,
        background 220ms ease,
        transform 320ms var(--ease-out);
}

.process-trace-focus-point strong{
    color:#334155;

    font-size:.57rem;
    font-weight:700;
    line-height:1.35;

    transition:
        color 220ms ease,
        transform 320ms var(--ease-out);
}

.process-trace-focus-point:hover{
    border-color:
        rgba(30,58,138,.25);

    background:#FFFFFF;

    box-shadow:
        0 10px 25px
        rgba(8,17,77,.075);

    transform:
        translateX(4px)
        translateY(-1px);

    outline:none;
}

.process-trace-focus-point:hover > span{
    color:#FFFFFF;

    background:#1E3A8A;

    transform:
        rotate(-4deg)
        scale(1.04);
}

.process-trace-focus-point:hover strong{
    color:#08114D;

    transform:
        translateX(2px);
}

.process-trace-focus-point:hover{
    border-left-color:#DC2626;
}

.process-trace-focus-point.is-revealing{
    animation:
        processTracePointReveal
        560ms
        var(--ease-out)
        both;
}

.process-trace-focus-actions{
    min-width:0;

    display:grid;

    gap:9px;
}

.process-trace-nav{
    display:flex;
    justify-content:flex-end;

    gap:7px;
}

.process-trace-arrow{
    width:39px;
    height:39px;

    display:grid;
    place-items:center;

    padding:0;

    border:
        1px solid
        #CBD5E1;

    border-radius:11px;

    color:#08114D;

    background:#FFFFFF;

    cursor:pointer;

    transition:
        border-color 220ms ease,
        background 220ms ease,
        transform 320ms var(--ease-out),
        box-shadow 220ms ease;
}

.process-trace-arrow svg{
    width:16px;
    height:16px;

    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;

    transition:
        transform
        320ms
        var(--ease-out);
}

.process-trace-arrow:hover,
.process-trace-arrow:focus-visible{
    border-color:
        rgba(30,58,138,.30);

    color:#1E3A8A;

    background:#EEF4FF;

    box-shadow:
        0 7px 18px
        rgba(8,17,77,.07);

    transform:
        translateY(-1px);

    outline:none;
}

.process-trace-arrow:first-child:hover svg{
    transform:
        translateX(-2px);
}

.process-trace-arrow:last-child:hover svg{
    transform:
        translateX(2px);
}

.process-trace-arrow:disabled{
    opacity:.28;
    cursor:default;
    transform:none;
    box-shadow:none;
}

.process-trace-cta{
    width:100%;

    min-width:0;
    min-height:49px;
}

.process-trace-heading,
.process-trace-stage,
.process-trace-focus{
    opacity:0;

    will-change:
        opacity,
        transform;
}

.process-trace-heading{
    transform:
        translateY(-16px);
}

.process-trace-stage{
    transform:
        translateY(20px)
        scale(.992);
}

.process-trace-focus{
    transform:
        translateY(18px);
}

.process-trace-step{
    opacity:0;
}

.process-trace-origin-label,
.process-trace-finish-label{
    opacity:0;
}

.process-trace-section.is-in-view
.process-trace-heading{
    animation:
        processTraceHeadingEnter
        760ms
        80ms
        var(--ease-out)
        both;
}

.process-trace-section.is-in-view
.process-trace-stage{
    animation:
        processTraceStageEnter
        850ms
        210ms
        var(--ease-out)
        both;
}

.process-trace-section.is-in-view
.process-trace-focus{
    animation:
        processTraceFocusEnter
        780ms
        360ms
        var(--ease-out)
        both;
}

.process-trace-section.is-in-view
.process-trace-step--1{
    animation:
        processTraceStepEnterLeft
        620ms
        390ms
        var(--ease-out)
        both;
}

.process-trace-section.is-in-view
.process-trace-step--2{
    animation:
        processTraceStepEnterDown
        640ms
        500ms
        var(--ease-out)
        both;
}

.process-trace-section.is-in-view
.process-trace-step--3{
    animation:
        processTraceStepEnterUp
        660ms
        610ms
        var(--ease-out)
        both;
}

.process-trace-section.is-in-view
.process-trace-step--4{
    animation:
        processTraceStepEnterDown
        640ms
        720ms
        var(--ease-out)
        both;
}

.process-trace-section.is-in-view
.process-trace-step--5{
    animation:
        processTraceStepEnterRight
        670ms
        830ms
        var(--ease-out)
        both;
}

.process-trace-section.is-in-view
.process-trace-origin-label{
    animation:
        processTraceLabelEnter
        540ms
        930ms
        var(--ease-out)
        both;
}

.process-trace-section.is-in-view
.process-trace-finish-label{
    animation:
        processTraceLabelEnter
        540ms
        1010ms
        var(--ease-out)
        both;
}

@keyframes processTraceHeadingEnter{
    from{
        opacity:0;
        transform:
            translateY(-16px);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes processTraceStageEnter{
    from{
        opacity:0;
        transform:
            translateY(20px)
            scale(.992);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes processTraceFocusEnter{
    from{
        opacity:0;
        transform:
            translateY(18px);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes processTraceStepEnterLeft{
    from{
        opacity:0;
        transform:
            translateX(-18px)
            scale(.94);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes processTraceStepEnterRight{
    from{
        opacity:0;
        transform:
            translateX(18px)
            scale(.94);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes processTraceStepEnterDown{
    from{
        opacity:0;
        transform:
            translateY(-18px)
            scale(.95);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes processTraceStepEnterUp{
    from{
        opacity:0;
        transform:
            translateY(18px)
            scale(.95);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes processTraceLabelEnter{
    from{
        opacity:0;
        transform:
            translateY(5px);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes processTraceCompleteMarkPulse{
    0%{
        opacity:0;
        transform:
            translateY(-50%)
            scale(.58)
            rotate(-18deg);
    }

    56%{
        opacity:1;
        transform:
            translateY(-50%)
            scale(1.14)
            rotate(4deg);
    }

    100%{
        opacity:1;
        transform:
            translateY(-50%)
            scale(1)
            rotate(0deg);
    }
}

@keyframes processTraceNodeRing{
    0%{
        opacity:.58;
        transform:scale(.78);
    }

    82%,
    100%{
        opacity:0;
        transform:scale(1.28);
    }
}

@keyframes processTraceNodeArrival{
    0%{
        transform:
            translate(-50%,-50%)
            scale(.86);
    }

    54%{
        transform:
            translate(-50%,-50%)
            scale(1.13);
    }

    78%{
        transform:
            translate(-50%,-50%)
            scale(1.02);
    }

    100%{
        transform:
            translate(-50%,-50%)
            scale(1.06);
    }
}

@keyframes processTraceFocusChange{
    0%{
        opacity:.28;
        transform:
            translateY(8px);
    }

    100%{
        opacity:1;
        transform:none;
    }
}

@keyframes processTracePointReveal{
    from{
        opacity:0;
        transform:
            translateX(-9px);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@media(
    min-width:981px
) and (
    max-height:820px
){
    .process-trace-shell{
        padding-top:22px;
        padding-bottom:22px;

        gap:15px;
    }

    .process-trace-heading h2{
        font-size:
            clamp(
                2rem,
                2.9vw,
                3.25rem
            );
    }

    .process-trace-heading p{
        font-size:.66rem;
    }

    .process-trace-stage{
        height:
            clamp(
                335px,
                39vh,
                365px
            );

        min-height:335px;
    }

    .process-trace-node{
        width:64px;
        height:64px;

        border-radius:18px;
    }

    .process-trace-step-copy{
        width:
            clamp(
                155px,
                13vw,
                200px
            );
    }

    .process-trace-step-copy--below{
        top:52px;
    }

    .process-trace-step-copy--above{
        bottom:52px;
    }

    .process-trace-focus{
        padding:14px 16px;

        grid-template-columns:
            minmax(0,1.2fr)
            minmax(390px,.92fr)
            auto;
    }

    .process-trace-focus-copy h3{
        font-size:1.28rem;
    }

    .process-trace-focus-copy p{
        font-size:.57rem;
    }

    .process-trace-focus-point{
        min-height:35px;
    }
}

@media(max-width:980px){
    .process-trace-shell{
        width:min(100%,920px);

        padding:
            46px
            clamp(20px,5vw,44px)
            42px;
    }

    .process-trace-stage{
        height:680px;
    }

    .process-trace-map{
        display:none;
    }

    .process-trace-stage::after{
        display:none;
    }

    .process-trace-steps{
        position:relative;

        inset:auto;

        height:100%;

        display:grid;
        grid-template-columns:1fr;

        align-content:center;

        gap:0;

        padding:
            34px 20px
            34px 92px;
    }

    .process-trace-steps::before{
        content:"";

        position:absolute;

        left:55px;
        top:78px;
        bottom:78px;

        width:4px;

        border-radius:999px;

        background:#E4E9F2;
    }

    .process-trace-steps::after{
        content:"";

        position:absolute;

        left:55px;
        top:78px;

        width:4px;

        height:
            calc(
                (100% - 156px) *
                var(--trace-progress,0)
            );

        border-radius:999px;

        background:
            linear-gradient(
                180deg,
                #08114D 0%,
                #1E3A8A 70%,
                #DC2626 100%
            );

        transition:
            height .16s linear;
    }

    .process-trace-step{
        position:relative;

        left:auto !important;
        top:auto !important;

        width:auto;
        height:112px;

        display:grid;

        grid-template-columns:
            72px
            minmax(0,1fr);

        align-items:center;

        column-gap:18px;
    }

    .process-trace-node{
        position:relative;

        left:auto;
        top:auto;

        grid-column:1;

        width:62px;
        height:62px;

        transform:none;
    }

    .process-trace-node:hover,
    .process-trace-node:focus-visible{
        transform:
            translateY(-2px)
            scale(1.03);
    }

    .process-trace-step.is-current
    .process-trace-node{
        transform:
            scale(1.06);
    }

    .process-trace-step.is-arriving
    .process-trace-node{
        animation:
            processTraceNodeArrivalMobile
            680ms
            var(--ease-out);
    }

    .process-trace-step-copy,
    .process-trace-step-copy--above,
    .process-trace-step-copy--below{
        position:relative;

        left:auto;
        top:auto;
        bottom:auto;

        grid-column:2;

        width:auto;

        text-align:left;

        transform:none;
    }

    .process-trace-step-copy p{
        max-width:480px;

        margin-left:0;
        margin-right:0;
    }

    .process-trace-section.is-journey-complete
    .process-trace-origin-label,
    .process-trace-finish-label{
        display:none;
    }

    .process-trace-focus{
        width:100%;

        grid-template-columns:1fr;

        gap:15px;
    }

    .process-trace-focus-points{
        grid-template-columns:
            repeat(
                3,
                minmax(0,1fr)
            );
    }

    .process-trace-focus-actions{
        min-width:0;

        grid-template-columns:
            auto
            minmax(240px,360px);

        align-items:center;
    }

    .process-trace-nav{
        justify-content:flex-start;
    }

    .process-trace-section.is-in-view
    .process-trace-step{
        animation-name:
            processTraceStepEnterLeft;
    }
}

@keyframes processTraceNodeArrivalMobile{
    0%{
        transform:scale(.88);
    }

    56%{
        transform:scale(1.13);
    }

    100%{
        transform:scale(1.06);
    }
}

@media(max-width:650px){
    .process-trace-heading{
        grid-template-columns:1fr;

        gap:14px;
    }

    .process-trace-heading h2{
        font-size:
            clamp(
                2rem,
                9vw,
                3rem
            );
    }

    .process-trace-heading p{
        max-width:94%;

        font-size:.69rem;
    }

    .process-trace-counter{
        min-width:0;
        width:176px;
    }

    .process-trace-stage{
        height:640px;

        border-radius:22px;
    }

    .process-trace-steps{
        padding-left:73px;
        padding-right:12px;
    }

    .process-trace-steps::before,
    .process-trace-steps::after{
        left:43px;
    }

    .process-trace-step{
        grid-template-columns:
            57px
            minmax(0,1fr);

        column-gap:13px;
    }

    .process-trace-node{
        width:53px;
        height:53px;

        border-radius:15px;
    }

    .process-trace-node-icon{
        width:23px;
        height:23px;
    }

    .process-trace-node-icon svg{
        width:21px;
        height:21px;
    }

    .process-trace-step-copy strong{
        font-size:.63rem;
    }

    .process-trace-step-copy p{
        font-size:.53rem;
    }

    .process-trace-focus{
        padding:16px;

        border-radius:18px;
    }

    .process-trace-focus-copy h3{
        font-size:
            clamp(
                1.25rem,
                6vw,
                1.65rem
            );
    }

    .process-trace-focus-copy p{
        font-size:.61rem;
    }

    .process-trace-focus-points{
        grid-template-columns:1fr;
    }

    .process-trace-focus-actions{
        grid-template-columns:1fr;
    }

    .process-trace-nav{
        order:2;

        justify-content:flex-end;
    }

    .process-trace-cta{
        order:1;
    }
}

@media(prefers-reduced-motion:reduce){
    .process-trace-heading,
    .process-trace-stage,
    .process-trace-focus,
    .process-trace-step,
    .process-trace-node,
    .process-trace-node-ring,
    .process-trace-focus-copy,
    .process-trace-focus-point,
    .process-trace-arrow,
    .process-trace-complete-banner,
    .process-trace-heading,
    .process-trace-stage,
    .process-trace-focus,
    .process-trace-step,
    .process-trace-origin-label,
    .process-trace-finish-label{
        opacity:1 !important;
        transform:none !important;
    }
}

.package-editorial-addons.is-revealing .package-editorial-addons-body{
    animation:packageAddonsSuffixIn 180ms cubic-bezier(.22,1,.36,1) both!important;
}

.package-editorial-addons.is-hiding .package-editorial-addons-body{
    animation:packageAddonsSuffixOut 120ms ease-out both!important;
    pointer-events:none;
}

@keyframes packageAddonsSuffixIn{
    from{
        opacity:0;
        transform:translate3d(0,-5px,0);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

@keyframes packageAddonsSuffixOut{
    from{
        opacity:1;
        transform:translate3d(0,0,0);
    }
    to{
        opacity:0;
        transform:translate3d(0,-4px,0);
    }
}

.process-flow-action{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:clamp(20px,3vw,42px)!important;
    padding:22px 24px 22px 28px!important;
    border:1px solid #d5dfed!important;
    border-left:3px solid var(--ce-red)!important;
    border-radius:14px!important;
    background:#f3f6fb!important;
    box-shadow:none!important;
}

@media(max-width:700px){
    .process-flow-action{
        grid-template-columns:1fr!important;
        align-items:stretch!important;
        gap:16px!important;
        padding:20px!important;
    }
}

@media(max-width:680px){
    .process-flow-track{
        top:var(--process-flow-mobile-track-top,51px)!important;
        bottom:auto!important;
        left:32px!important;
        width:2px!important;
        height:var(--process-flow-mobile-track-height,calc(100% - 102px))!important;
    }

    .process-flow-track-fill{
        width:100%!important;
        height:var(--process-flow-mobile-fill-height,0)!important;
        transform:none!important;
        transform-origin:center top!important;
    }

    .process-flow.is-auto-running .process-flow-track-fill{
        transition:height var(--process-flow-duration) cubic-bezier(.45,.05,.20,1)!important;
    }
}

@media(max-width:420px){
    .process-flow-track{
        left:28px!important;
    }
}

.site-footer[data-footer-motion="true"] .site-footer-shell{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
}

.site-footer[data-footer-motion="true"] .site-footer-brand-block,
.site-footer[data-footer-motion="true"] .site-footer-main>nav.site-footer-column,
.site-footer[data-footer-motion="true"] .site-footer-contact,
.site-footer[data-footer-motion="true"] .site-footer-social,
.site-footer[data-footer-motion="true"] .site-footer-bottom{
    opacity:0!important;
    transform:translate3d(0,24px,0)!important;
    transition:opacity 620ms cubic-bezier(.22,1,.36,1),transform 620ms cubic-bezier(.22,1,.36,1)!important;
    animation:none!important;
    will-change:opacity,transform!important;
}

.site-footer[data-footer-motion="true"] .site-footer-main>nav.site-footer-column{
    transition-delay:70ms!important;
}

.site-footer[data-footer-motion="true"] .site-footer-contact{
    transition-delay:120ms!important;
}

.site-footer[data-footer-motion="true"] .site-footer-social{
    transition-delay:170ms!important;
}

.site-footer[data-footer-motion="true"] .site-footer-bottom{
    transition-delay:220ms!important;
}

.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-brand-block,
.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-main>nav.site-footer-column,
.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-contact,
.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-social,
.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-bottom{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
}

@media(prefers-reduced-motion:reduce){
    .package-editorial-addons.is-revealing .package-editorial-addons-body,
    .package-editorial-addons.is-hiding .package-editorial-addons-body{
        animation:none!important;
    }

    .site-footer[data-footer-motion="true"] .site-footer-brand-block,
    .site-footer[data-footer-motion="true"] .site-footer-main>nav.site-footer-column,
    .site-footer[data-footer-motion="true"] .site-footer-contact,
    .site-footer[data-footer-motion="true"] .site-footer-social,
    .site-footer[data-footer-motion="true"] .site-footer-bottom{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
    }
}

.site-footer{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    color:#E8EDF8;
    background:
        radial-gradient(circle at 8% 5%,rgba(30,58,138,.24),transparent 30%),
        radial-gradient(circle at 93% 82%,rgba(30,58,138,.18),transparent 27%),
        linear-gradient(180deg,#08114D 0%,#050B2D 100%);
    border-top:1px solid rgba(220,38,38,.34);
}

.site-footer::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    pointer-events:none;
    opacity:.34;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(90deg,transparent,black 22%,black 78%,transparent);
}

.site-footer::after{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:min(760px,55vw);
    height:1px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(220,38,38,.78),transparent);
}

.site-footer-ambient{
    position:absolute;
    z-index:-1;
    pointer-events:none;
    border:1px solid rgba(112,145,225,.10);
    border-radius:50%;
}

.site-footer-ambient--one{
    width:420px;
    height:420px;
    right:-190px;
    top:-210px;
}

.site-footer-ambient--two{
    width:300px;
    height:300px;
    left:-170px;
    bottom:-170px;
}

.site-footer-shell{
    width:min(1580px,calc(100% - 7vw));
    margin:0 auto;
    padding:58px 0 24px;
}

.site-footer-main{
    display:grid;
    grid-template-columns:minmax(280px,1.2fr) minmax(150px,.58fr) minmax(300px,1.08fr) minmax(245px,.86fr);
    gap:clamp(34px,4vw,74px);
    align-items:start;
    padding-bottom:44px;
}

.site-footer-brand-block,
.site-footer-column{
    min-width:0;
}

.site-footer-brand{
    width:max-content;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:15px;
    color:#FFFFFF;
    text-decoration:none;
}

.site-footer-logo-frame{
    width:62px;
    height:62px;
    flex:0 0 62px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.site-footer-logo-frame img{
    width:49px;
    height:49px;
    object-fit:contain;
}

.site-footer-brand-copy{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.site-footer-brand-copy strong{
    color:#FFFFFF;
    font-size:1.04rem;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.025em;
}

.site-footer-brand-copy small{
    color:#F87171;
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.site-footer-brand-description{
    max-width:370px;
    margin:20px 0 0;
    color:#AAB7D2;
    font-size:.69rem;
    font-weight:400;
    line-height:1.8;
}

.site-footer-label{
    display:block;
    margin:3px 0 8px;
    color:#8EA4DD;
    font-size:.53rem;
    font-weight:800;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.site-footer-column h2{
    margin:0 0 20px;
    color:#FFFFFF;
    font-size:.91rem;
    font-weight:750;
    line-height:1.35;
    letter-spacing:-.02em;
}

.site-footer-link-list{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:11px;
}

.site-footer-link-list a{
    position:relative;
    display:inline-flex;
    align-items:center;
    color:#B9C5DA;
    font-size:.65rem;
    font-weight:550;
    line-height:1.45;
    text-decoration:none;
    transition:color .24s ease,transform .24s cubic-bezier(.22,1,.36,1);
}

.site-footer-link-list a::before{
    content:"";
    width:0;
    height:1px;
    margin-right:0;
    border-radius:999px;
    opacity:0;
    background:#EF4444;
    transition:width .24s cubic-bezier(.22,1,.36,1),margin-right .24s cubic-bezier(.22,1,.36,1),opacity .2s ease;
}

.site-footer-link-list a:hover,
.site-footer-link-list a:focus-visible{
    color:#FFFFFF;
    transform:translateX(2px);
}

.site-footer-link-list a:hover::before,
.site-footer-link-list a:focus-visible::before{
    width:13px;
    margin-right:7px;
    opacity:1;
}

.site-footer-contact-list{
    display:flex;
    flex-direction:column;
    gap:13px;
}

.site-footer-contact-item{
    min-width:0;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:11px;
    align-items:start;
    color:inherit;
    text-decoration:none;
}

.site-footer-contact-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.09);
    border-radius:11px;
    background:rgba(255,255,255,.045);
    transition:border-color .24s ease,background .24s ease,transform .24s cubic-bezier(.22,1,.36,1);
}

.site-footer-contact-icon svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:#F87171;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.site-footer-contact-item > span:last-child{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
    padding-top:1px;
}

.site-footer-contact-item small,
.site-footer-social-link small{
    color:#7283A7;
    font-size:.48rem;
    font-weight:750;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.site-footer-contact-item strong{
    color:#C9D3E7;
    font-size:.59rem;
    font-weight:550;
    line-height:1.58;
    overflow-wrap:anywhere;
}

.site-footer-contact-item em{
    margin-top:1px;
    color:#8394B5;
    font-size:.51rem;
    font-style:normal;
    font-weight:500;
    line-height:1.45;
}

.site-footer-contact-item:is(a):hover .site-footer-contact-icon,
.site-footer-contact-item:is(a):focus-visible .site-footer-contact-icon{
    border-color:rgba(248,113,113,.45);
    background:rgba(220,38,38,.10);
    transform:translateY(-1px);
}

.site-footer-contact-item:is(a):hover strong{
    color:#FFFFFF;
}

.site-footer-social-intro{
    max-width:270px;
    margin:-3px 0 14px;
    color:#8796B6;
    font-size:.57rem;
    font-weight:400;
    line-height:1.65;
}

.site-footer-social-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.site-footer-social-link{
    min-width:0;
    display:grid;
    grid-template-columns:39px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:13px;
    color:inherit;
    text-decoration:none;
    background:rgba(255,255,255,.035);
    transition:
        border-color .26s ease,
        background .26s ease,
        transform .3s cubic-bezier(.22,1,.36,1);
}

.site-footer-social-icon{
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#FFFFFF;
    background:rgba(45,79,169,.25);
    box-shadow:inset 0 0 0 1px rgba(135,163,231,.15);
    transition:
        background .24s ease,
        box-shadow .24s ease;
}

.site-footer-social-glyph{
    width:18px;
    height:18px;
    display:block;
    transition:transform .28s cubic-bezier(.22,1,.36,1);
}

.site-footer-social-icon--facebook .site-footer-social-glyph{
    fill:currentColor;
}

.site-footer-social-icon--instagram .site-footer-social-glyph{
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.site-footer-social-icon--instagram .site-footer-instagram-dot{
    fill:currentColor;
    stroke:none;
}

.site-footer-social-link > span:nth-child(2){
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.site-footer-social-link strong{
    color:#D9E2F2;
    font-size:.57rem;
    font-weight:600;
    line-height:1.4;
    overflow-wrap:anywhere;
}

.site-footer-social-link:hover,
.site-footer-social-link:focus-visible{
    border-color:rgba(248,113,113,.30);
    background:rgba(255,255,255,.06);
    transform:translateY(-2px);
}

.site-footer-social-link:hover .site-footer-social-icon,
.site-footer-social-link:focus-visible .site-footer-social-icon{
    background:rgba(220,38,38,.16);
}

.site-footer-social-link:hover .site-footer-social-glyph,
.site-footer-social-link:focus-visible .site-footer-social-glyph{
    transform:scale(1.06);
}

.site-footer-social-link:hover strong,
.site-footer-social-link:focus-visible strong{
    color:#FFFFFF;
}

.site-footer-bottom{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.10);
    color:#8391AF;
    font-size:.56rem;
    line-height:1.5;
}

.site-footer-bottom p{
    margin:0;
}

.site-footer-bottom > span{
    color:#AAB7D2;
    font-weight:500;
}

.site-footer-bottom strong{
    color:#DCE5F5;
    font-weight:700;
}

.site-footer[data-footer-motion="true"]
.site-footer-brand-block,
.site-footer[data-footer-motion="true"]
.site-footer-main > .site-footer-column,
.site-footer[data-footer-motion="true"]
.site-footer-bottom{
    opacity:0;

    will-change:
        opacity,
        transform;
}

.site-footer[data-footer-motion="true"]
.site-footer-brand-block{
    transform:
        translate3d(-26px,10px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-main > nav.site-footer-column{
    transform:
        translate3d(0,24px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-contact{
    transform:
        translate3d(0,28px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-social{
    transform:
        translate3d(28px,10px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-bottom{
    transform:
        translate3d(0,18px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-brand,
.site-footer[data-footer-motion="true"]
.site-footer-brand-description,
.site-footer[data-footer-motion="true"]
.site-footer-label,
.site-footer[data-footer-motion="true"]
.site-footer-column h2,
.site-footer[data-footer-motion="true"]
.site-footer-link-list a,
.site-footer[data-footer-motion="true"]
.site-footer-contact-item,
.site-footer[data-footer-motion="true"]
.site-footer-social-intro,
.site-footer[data-footer-motion="true"]
.site-footer-social-link{
    opacity:0;

    will-change:
        opacity,
        transform;
}

.site-footer[data-footer-motion="true"]
.site-footer-brand{
    transform:
        translate3d(-14px,0,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-brand-description{
    transform:
        translate3d(0,10px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-label{
    transform:
        translate3d(0,-8px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-column h2{
    transform:
        translate3d(0,8px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-link-list a{
    transform:
        translate3d(-10px,0,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-contact-item{
    transform:
        translate3d(0,12px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-social-intro{
    transform:
        translate3d(0,8px,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-social-link{
    transform:
        translate3d(12px,0,0);
}

.site-footer[data-footer-motion="true"]
.site-footer-ambient--one{
    opacity:0;

    transform:
        translate3d(34px,-20px,0)
        scale(.86);
}

.site-footer[data-footer-motion="true"]
.site-footer-ambient--two{
    opacity:0;

    transform:
        translate3d(-28px,18px,0)
        scale(.88);
}

.site-footer[data-footer-motion="true"]::after{
    transform:
        translateX(-50%)
        scaleX(0);

    transform-origin:center;

    opacity:0;
}

.site-footer.is-footer-in-view
.site-footer-brand-block{
    animation:
        footerBrandBlockEnter
        760ms
        40ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-main > nav.site-footer-column{
    animation:
        footerNavColumnEnter
        720ms
        150ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-contact{
    animation:
        footerContactColumnEnter
        760ms
        260ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-social{
    animation:
        footerSocialColumnEnter
        780ms
        370ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-bottom{
    animation:
        footerBottomEnter
        700ms
        760ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-brand{
    animation:
        footerItemFromLeft
        650ms
        120ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-brand-description{
    animation:
        footerItemFromBottom
        620ms
        250ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-label{
    animation:
        footerItemFromTop
        560ms
        300ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-column h2{
    animation:
        footerItemFromBottom
        600ms
        370ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-link-list a:nth-child(1){
    animation:
        footerItemFromLeft
        520ms
        420ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-link-list a:nth-child(2){
    animation:
        footerItemFromLeft
        520ms
        475ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-link-list a:nth-child(3){
    animation:
        footerItemFromLeft
        520ms
        530ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-link-list a:nth-child(4){
    animation:
        footerItemFromLeft
        520ms
        585ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-link-list a:nth-child(5){
    animation:
        footerItemFromLeft
        520ms
        640ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-link-list a:nth-child(6){
    animation:
        footerItemFromLeft
        520ms
        695ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-contact-item:nth-child(1){
    animation:
        footerItemFromBottom
        560ms
        430ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-contact-item:nth-child(2){
    animation:
        footerItemFromBottom
        560ms
        525ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-contact-item:nth-child(3){
    animation:
        footerItemFromBottom
        560ms
        620ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-social-intro{
    animation:
        footerItemFromBottom
        560ms
        450ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-social-link:nth-child(1){
    animation:
        footerItemFromRight
        600ms
        540ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-social-link:nth-child(2){
    animation:
        footerItemFromRight
        600ms
        650ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-ambient--one{
    animation:
        footerAmbientOneEnter
        1100ms
        160ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view
.site-footer-ambient--two{
    animation:
        footerAmbientTwoEnter
        1100ms
        250ms
        var(--ease-out)
        both;
}

.site-footer.is-footer-in-view::after{
    animation:
        footerAccentLineDraw
        900ms
        90ms
        var(--ease-out)
        both;
}

@keyframes footerBrandBlockEnter{
    from{
        opacity:0;
        transform:
            translate3d(-26px,10px,0);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerNavColumnEnter{
    from{
        opacity:0;
        transform:
            translate3d(0,24px,0);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerContactColumnEnter{
    from{
        opacity:0;
        transform:
            translate3d(0,28px,0);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerSocialColumnEnter{
    from{
        opacity:0;
        transform:
            translate3d(28px,10px,0);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerBottomEnter{
    from{
        opacity:0;
        transform:
            translate3d(0,18px,0);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerItemFromLeft{
    from{
        opacity:0;
        transform:
            translate3d(-14px,0,0);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerItemFromRight{
    from{
        opacity:0;
        transform:
            translate3d(14px,0,0);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerItemFromTop{
    from{
        opacity:0;
        transform:
            translate3d(0,-9px,0);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerItemFromBottom{
    from{
        opacity:0;
        transform:
            translate3d(0,11px,0);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerAmbientOneEnter{
    from{
        opacity:0;
        transform:
            translate3d(34px,-20px,0)
            scale(.86);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerAmbientTwoEnter{
    from{
        opacity:0;
        transform:
            translate3d(-28px,18px,0)
            scale(.88);
    }

    to{
        opacity:1;
        transform:none;
    }
}

@keyframes footerAccentLineDraw{
    from{
        opacity:0;
        transform:
            translateX(-50%)
            scaleX(0);
    }

    to{
        opacity:1;
        transform:
            translateX(-50%)
            scaleX(1);
    }
}

@media(max-width:1180px){
    .site-footer-main{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:40px 54px;
    }

    .site-footer-brand-description,
    .site-footer-social-intro{
        max-width:480px;
    }
}

@media(max-width:820px){
    .site-footer-shell{
        width:min(100% - 38px,760px);
        padding:46px 0 22px;
    }

    .site-footer-main{
        gap:36px 30px;
        padding-bottom:34px;
    }
}

@media(max-width:560px){
    .site-footer-shell{
        width:min(100% - 28px,520px);
        padding:38px 0 18px;
    }

    .site-footer-main{
        grid-template-columns:1fr;
        gap:30px;
        padding-bottom:28px;
    }

    .site-footer-logo-frame{
        width:56px;
        height:56px;
        flex-basis:56px;
        border-radius:16px;
    }

    .site-footer-logo-frame img{
        width:44px;
        height:44px;
    }

    .site-footer-brand-copy strong{
        font-size:.94rem;
    }

    .site-footer-social-intro{
        max-width:none;
    }

    .site-footer-bottom{
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
        min-height:0;
        padding-top:18px;
    }
}

@media(prefers-reduced-motion:reduce){
    .site-footer[data-footer-motion="true"]
    .site-footer-brand-block,
    .site-footer[data-footer-motion="true"]
    .site-footer-main > .site-footer-column,
    .site-footer[data-footer-motion="true"]
    .site-footer-bottom,
    .site-footer[data-footer-motion="true"]
    .site-footer-brand,
    .site-footer[data-footer-motion="true"]
    .site-footer-brand-description,
    .site-footer[data-footer-motion="true"]
    .site-footer-label,
    .site-footer[data-footer-motion="true"]
    .site-footer-column h2,
    .site-footer[data-footer-motion="true"]
    .site-footer-link-list a,
    .site-footer[data-footer-motion="true"]
    .site-footer-contact-item,
    .site-footer[data-footer-motion="true"]
    .site-footer-social-intro,
    .site-footer[data-footer-motion="true"]
    .site-footer-social-link,
    .site-footer[data-footer-motion="true"]
    .site-footer-ambient--one,
    .site-footer[data-footer-motion="true"]
    .site-footer-ambient--two{
        opacity:1 !important;
        transform:none !important;
        animation:none !important;
    }

    .site-footer[data-footer-motion="true"]::after{
        opacity:1 !important;
        transform:
            translateX(-50%)
            scaleX(1) !important;
        animation:none !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .site-footer-link-list a,
    .site-footer-link-list a::before,
    .site-footer-contact-icon,
    .site-footer-social-link{
        transition:none !important;
    }
}

@media (max-width: 960px) {
}

@media (prefers-reduced-motion: reduce) {
}

@media (prefers-reduced-motion: reduce) {
}

@media (min-width: 961px) {
}

@media (max-width: 1180px) and (min-width: 961px) {
}

@media (max-width: 960px) {
}

@media (min-width: 961px) {
}

@media (max-width: 1180px) and (min-width: 961px) {
}

.package-stage-section {
    position: relative;
    padding: clamp(64px, 8vw, 94px) 0 clamp(72px, 8vw, 100px);
    background:
        radial-gradient(circle at 86% 22%, rgba(30,58,138,.06), transparent 24%),
        radial-gradient(circle at 8% 86%, rgba(220,38,38,.05), transparent 18%),
        #F4F7FC;
    min-height: auto;
    overflow: hidden;
}

.package-stage-section::before,
.package-stage-section::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
}

.package-stage-section::before {
    width: clamp(320px, 30vw, 520px);
    height: clamp(320px, 30vw, 520px);
    right: -12%;
    top: 8%;
    border: 1px solid rgba(8,17,77,.06);
}

.package-stage-section::after {
    width: clamp(180px, 16vw, 280px);
    height: clamp(180px, 16vw, 280px);
    left: -6%;
    bottom: 10%;
    border: 1px solid rgba(220,38,38,.08);
}

.package-stage-shell {
    width: min(100%, 1680px);
    margin: 0 auto;
    padding: 0 var(--page-inline);
    display: grid;
    gap: 22px;
    height: auto;
    min-height: 0;
}

.package-stage-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: clamp(28px, 4vw, 64px);
    align-items: end;
}

.package-stage-heading-copy {
    position: relative;
    max-width: 840px;
    padding-left: 28px;
}

.package-stage-heading-copy::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 3px;
    border-radius: 999px;
    background: var(--ce-red);
}

.package-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--ce-red);
    font-size: clamp(.56rem,.64vw,.72rem);
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.package-section-kicker::after {
    content: "";
    width: clamp(40px, 4vw, 62px);
    height: 1px;
    background: rgba(220,38,38,.66);
}

.package-stage-heading h2 {
    margin: 12px 0 0;
    color: var(--ce-navy);
    font-size: clamp(2.2rem, 3.4vw, 4.1rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.06em;
}

.package-stage-heading p {
    max-width: 720px;
    margin: 12px 0 0;
    color: #66758C;
    font-size: clamp(.78rem, .94vw, 1rem);
    line-height: 1.7;
}

.package-stage-note {
    align-self: end;
    padding: 22px 24px;
    border: 1px solid rgba(208,218,235,.96);
    border-radius: 22px;
    background: rgba(255,255,255,.84);
    box-shadow: 0 14px 34px rgba(8,17,77,.055);
}

.package-stage-note span,
.package-stage-note strong,
.package-stage-note p {
    display: block;
}

.package-stage-note span {
    color: var(--ce-red);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.package-stage-note strong {
    margin-top: 8px;
    color: var(--ce-navy);
    font-size: 1.05rem;
    line-height: 1.25;
}

.package-stage-note p {
    margin: 8px 0 0;
    color: #6D7C94;
    font-size: .72rem;
    line-height: 1.65;
}

.package-selector-bar {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 18px;
    align-items: center;
    margin-top: 2px;
}

.package-selector-track {
    display: flex;
    gap: 12px;
    min-width: 0;
    overflow-x: auto;
    padding: 4px 2px 8px;
    scrollbar-width: none;
}
.package-selector-track::-webkit-scrollbar { display: none; }

.package-selector-chip {
    flex: 0 0 clamp(214px, 20vw, 260px);
    min-height: 102px;
    padding: 16px 18px 16px 18px;
    border: 1px solid #DCE5F0;
    border-radius: 22px;
    background: rgba(255,255,255,.82);
    text-align: left;
    cursor: pointer;
    transition: transform 260ms ease, border-color 220ms ease, box-shadow 260ms ease, background 220ms ease;
    box-shadow: 0 10px 24px rgba(8,17,77,.04);
}

.package-selector-chip:hover,
.package-selector-chip:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(30,58,138,.22);
    box-shadow: 0 16px 34px rgba(8,17,77,.08);
    outline: none;
}

.package-selector-chip small,
.package-selector-chip strong,
.package-selector-chip span {
    display: block;
}

.package-selector-chip small {
    color: #8A98B3;
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.package-selector-chip strong {
    margin-top: 8px;
    color: var(--ce-navy);
    font-size: clamp(.92rem, 1.06vw, 1.1rem);
    font-weight: 800;
    line-height: 1.18;
}

.package-selector-chip span {
    margin-top: 10px;
    color: #5F6F89;
    font-size: .72rem;
    font-weight: 700;
}

.package-selector-chip.is-active {
    border-color: var(--ce-navy);
    background: linear-gradient(145deg, #061141 0%, #081955 62%, #13337F 100%);
    box-shadow: 0 16px 36px rgba(8,17,77,.16);
}

.package-selector-chip.is-active small,
.package-selector-chip.is-active strong,
.package-selector-chip.is-active span {
    color: #FFFFFF;
}

.package-selector-chip.is-active span {
    color: rgba(235,241,255,.84);
}

.package-selector-chip.is-active::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: var(--ce-red);
}

.package-selector-chip.is-loading {
    cursor: default;
}

.package-selector-controls {
    display: flex;
    gap: 10px;
    align-items: center;
}

.package-editorial-stage {
    position: relative;
    margin-top: 8px;
}

.package-browser-content {
    position: relative;
}

.package-focus-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(209,219,235,.96);
    border-radius: 34px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,252,255,.98));
    box-shadow: 0 28px 64px rgba(8,17,77,.08);
}

.package-focus-card::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: clamp(320px, 26%, 420px);
    width: 1px;
    background: rgba(216,225,239,.95);
}

.package-focus-identity {
    position: relative;
    padding: clamp(34px, 3.2vw, 48px);
    color: #FFFFFF;
    background:
        radial-gradient(circle at 78% 18%, rgba(83,118,212,.22), transparent 28%),
        linear-gradient(150deg, #050F39 0%, #081750 52%, #10307D 100%);
}

.package-focus-identity::after {
    content: "";
    position: absolute;
    top: 42px;
    bottom: 42px;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: var(--ce-red);
}

.package-focus-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(241,245,255,.82);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.package-focus-kicker::after {
    content: "";
    width: 40px;
    height: 1px;
    background: rgba(220,38,38,.84);
}

.package-focus-identity h3 {
    margin: 20px 0 0;
    color: #FFFFFF;
    font-size: clamp(2.25rem, 3.2vw, 4rem);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.05em;
}

.package-focus-identity > p {
    max-width: 420px;
    margin: 16px 0 0;
    color: rgba(233,239,252,.8);
    font-size: .84rem;
    line-height: 1.72;
}

.package-price-hero {
    margin-top: 28px;
    padding: 20px 22px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 22px;
    background: rgba(255,255,255,.06);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.package-price-label {
    display: block;
    color: rgba(223,231,248,.72);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.package-price-hero strong {
    display: block;
    margin-top: 10px;
    color: #FFFFFF;
    font-size: clamp(2rem, 3vw, 3.2rem);
    font-weight: 800;
    letter-spacing: -.06em;
    line-height: 1;
}

.package-focus-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.package-focus-metrics > div {
    padding: 16px 16px 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.05);
}

.package-focus-metrics small,
.package-focus-metrics b {
    display: block;
}

.package-focus-metrics small {
    color: rgba(223,231,248,.68);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.package-focus-metrics b {
    margin-top: 10px;
    color: #FFFFFF;
    font-size: .98rem;
    line-height: 1.32;
}

.package-main-action {
    width: fit-content;
    margin-top: 22px;
}

.package-main-action .ce-system-icon {
    color: #FFFFFF;
    background: var(--ce-navy);
    border-color: rgba(8,17,77,.12);
}

.package-focus-overview {
    padding: clamp(32px, 3.2vw, 48px);
    display: grid;
    gap: 22px;
    align-content: start;
}

.package-tier-inline {
    display: grid;
    gap: 18px;
}

.package-tier-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(220,227,239,.94);
}

.package-tier-heading span,
.package-tier-heading strong {
    display: block;
}

.package-tier-heading span {
    color: var(--ce-red);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.package-tier-heading strong {
    margin-top: 7px;
    color: var(--ce-navy);
    font-size: clamp(1.18rem, 1.45vw, 1.5rem);
    line-height: 1.22;
    letter-spacing: -.03em;
}

.package-tier-total {
    color: #7A89A6;
    font-size: .74rem;
    font-weight: 800;
    white-space: nowrap;
}

.package-tier-rail {
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(220px, 1fr) );
    gap: 14px;
}

.package-tier-chip {
    position: relative;
    min-height: 148px;
    padding: 18px 18px 20px;
    border: 1px solid rgba(219,227,239,.96);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,255,.98));
    box-shadow: 0 14px 34px rgba(15,23,42,.05);
}

.package-tier-chip::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: var(--ce-red);
    opacity: .86;
}

.package-tier-chip small,
.package-tier-chip strong,
.package-tier-chip b,
.package-tier-chip span {
    display: block;
}

.package-tier-chip small {
    color: #8594AF;
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.package-tier-chip span {
    width: fit-content;
    margin-top: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--ce-blue);
    font-size: .56rem;
    font-weight: 800;
    background: #EEF4FF;
}

.package-tier-chip strong {
    margin-top: 16px;
    color: var(--ce-navy);
    font-size: 1.28rem;
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.2;
}

.package-tier-chip b {
    margin-top: 14px;
    color: #102F79;
    font-size: 1.34rem;
    font-weight: 800;
    letter-spacing: -.04em;
}

.package-tier-chip.is-starting {
    border-color: rgba(30,58,138,.16);
    background:
        radial-gradient(circle at 92% 16%, rgba(30,58,138,.08), transparent 18%),
        linear-gradient(180deg, #FFFFFF, #F6F9FF);
}

.package-tier-chip.is-starting span {
    color: var(--ce-red);
    background: rgba(220,38,38,.08);
}

.package-tier-chip.is-largest span {
    color: #0F6A3F;
    background: rgba(22,163,74,.08);
}

.package-tier-chip.is-empty {
    min-height: 120px;
    display: grid;
    place-items: center;
    text-align: center;
    color: #6D7C94;
}

.package-browser-note {
    display: grid;
    gap: 8px;
    padding: 18px 20px;
    border: 1px dashed rgba(172,186,211,.9);
    border-radius: 20px;
    background: rgba(244,247,252,.8);
}

.package-browser-note span {
    color: var(--ce-navy);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.package-browser-note p {
    margin: 0;
    color: #6B7A93;
    font-size: .78rem;
    line-height: 1.66;
}

.package-empty-state,
.package-load-error {
    margin-top: 0;
    padding: 28px;
    border: 1px solid #DCE5F0;
    border-radius: 26px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 20px 48px rgba(15,23,42,.08);
}

.package-focus-card.is-leaving-left,
.package-focus-card.is-leaving-right {
    opacity: 0;
    transform: translateY(14px) scale(.988);
}

.package-focus-card.is-entering-right,
.package-focus-card.is-entering-left {
    animation: packageAtelierEnter .56s cubic-bezier(.22,1,.36,1) both;
}

.package-focus-card.is-entering-right .package-tier-chip,
.package-focus-card.is-entering-left .package-tier-chip {
    animation: packageTierRise .52s cubic-bezier(.22,1,.36,1) both;
}

.package-focus-card.is-entering-right .package-tier-chip:nth-child(2),
.package-focus-card.is-entering-left .package-tier-chip:nth-child(2) { animation-delay: 80ms; }
.package-focus-card.is-entering-right .package-tier-chip:nth-child(3),
.package-focus-card.is-entering-left .package-tier-chip:nth-child(3) { animation-delay: 140ms; }
.package-focus-card.is-entering-right .package-tier-chip:nth-child(4),
.package-focus-card.is-entering-left .package-tier-chip:nth-child(4) { animation-delay: 200ms; }
.package-focus-card.is-entering-right .package-tier-chip:nth-child(5),
.package-focus-card.is-entering-left .package-tier-chip:nth-child(5) { animation-delay: 260ms; }

.motion-ready .package-selector-bar,
.motion-ready .package-focus-card {
    opacity: 1;
    transform: none;
}

.motion-ready .package-stage-section.is-entering-forward .package-stage-heading-copy,
.motion-ready .package-stage-section.is-entering-backward .package-stage-heading-copy {
    animation: packageHeaderRise .7s cubic-bezier(.22,1,.36,1) both;
}

.motion-ready .package-stage-section.is-entering-forward .package-stage-note,
.motion-ready .package-stage-section.is-entering-backward .package-stage-note {
    animation: packageNoteRise .78s cubic-bezier(.22,1,.36,1) both;
}

.motion-ready .package-stage-section.is-entering-forward .package-selector-bar,
.motion-ready .package-stage-section.is-entering-backward .package-selector-bar {
    animation: packageBarRise .7s cubic-bezier(.22,1,.36,1) .08s both;
}

.motion-ready .package-stage-section.is-entering-forward .package-focus-card,
.motion-ready .package-stage-section.is-entering-backward .package-focus-card {
    animation: packageCardRise .82s cubic-bezier(.22,1,.36,1) .12s both;
}

.package-stage-section.has-action-pulse .package-focus-card {
    box-shadow: 0 32px 72px rgba(8,17,77,.10);
}

.package-stage-section.is-idle .package-selector-chip.is-active {
    transform: translateY(-1px);
}

@keyframes packageAtelierEnter {
    from { opacity: 0; transform: translateY(18px) scale(.988); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes packageTierRise {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes packageHeaderRise {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes packageNoteRise {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes packageBarRise {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes packageCardRise {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1100px) {
    .package-stage-heading {
        grid-template-columns: 1fr;
    }
    .package-stage-note {
        max-width: 520px;
    }
    .package-focus-card {
        grid-template-columns: 1fr;
    }
    .package-focus-card::before {
        display: none;
    }
    .package-focus-overview {
        padding-top: 28px;
    }
}

@media (max-width: 860px) {
    .package-selector-bar {
        grid-template-columns: 1fr;
    }
    .package-selector-controls {
        justify-content: flex-end;
    }
    .package-selector-chip {
        flex-basis: 220px;
    }
    .package-tier-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .package-stage-section {
        padding: 54px 0 70px;
    }
    .package-stage-heading-copy {
        padding-left: 20px;
    }
    .package-stage-note {
        padding: 18px 18px 20px;
        border-radius: 18px;
    }
    .package-selector-chip {
        flex-basis: min(82vw, 240px);
        min-height: 96px;
        border-radius: 18px;
    }
    .package-focus-identity,
    .package-focus-overview {
        padding: 24px 22px;
    }
    .package-focus-identity::after {
        top: 24px;
        bottom: 24px;
    }
    .package-focus-metrics {
        grid-template-columns: 1fr;
    }
    .package-tier-heading {
        align-items: start;
        flex-direction: column;
    }
    .package-tier-rail {
        grid-template-columns: 1fr;
    }
    .package-main-action {
        width: 100%;
    }
}

.package-stage-section {
    min-height: calc(100svh - var(--nav-height));
    padding: clamp(20px, 3.2vw, 42px) 0 clamp(24px, 3.2vw, 44px);
    display: flex;
    align-items: center;
}

.package-stage-shell {
    width: min(100%, 1660px);
    min-height: calc(100svh - var(--nav-height) - clamp(40px, 6vw, 86px));
    grid-template-rows: auto auto minmax(0,1fr);
    align-content: center;
    gap: 16px;
}

.package-stage-heading {
    gap: clamp(22px, 3vw, 42px);
    align-items: center;
}

.package-stage-heading-copy {
    max-width: 760px;
    padding-left: 24px;
}

.package-stage-heading h2 {
    font-size: clamp(1.95rem, 3.05vw, 3.45rem);
    line-height: .94;
    max-width: 720px;
}

.package-stage-heading p {
    max-width: 620px;
    margin-top: 10px;
    font-size: clamp(.74rem, .86vw, .92rem);
    line-height: 1.6;
}

.package-stage-note {
    padding: 18px 20px;
    border-radius: 20px;
    max-width: 330px;
}

.package-stage-note strong {
    font-size: .98rem;
}

.package-stage-note p {
    font-size: .68rem;
    line-height: 1.56;
}

.package-selector-bar {
    gap: 14px;
    align-items: end;
}

.package-selector-chip {
    flex-basis: clamp(190px, 17.8vw, 228px);
    min-height: 92px;
    padding: 14px 16px;
    border-radius: 20px;
}

.package-selector-chip strong {
    font-size: clamp(.88rem, .98vw, 1.02rem);
    margin-top: 7px;
}

.package-selector-chip span {
    margin-top: 8px;
    font-size: .68rem;
}

.package-nav-button {
    min-height: 50px;
}

.package-editorial-stage {
    min-height: 0;
    display: grid;
}

.package-browser-content {
    min-height: 0;
    display: grid;
}

.package-focus-card {
    min-height: 0;
    height: 100%;
    grid-template-columns: minmax(295px, 390px) minmax(0,1fr);
    border-radius: 30px;
}

.package-focus-card::before {
    left: clamp(295px, 25.6%, 390px);
}

.package-focus-card::after {
    content: "";
    position: absolute;
    inset: auto 32px 24px auto;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(30,58,138,.08) 0%, rgba(30,58,138,.03) 38%, transparent 72%);
    pointer-events: none;
}

.package-focus-identity,
.package-focus-overview {
    min-height: 0;
}

.package-focus-identity {
    padding: clamp(24px, 2.2vw, 34px);
}

.package-focus-identity::after {
    top: 30px;
    bottom: 30px;
}

.package-focus-identity h3 {
    margin-top: 16px;
    font-size: clamp(2rem, 2.85vw, 3.25rem);
}

.package-focus-identity > p {
    margin-top: 12px;
    font-size: .78rem;
    line-height: 1.62;
    max-width: 360px;
}

.package-price-hero {
    margin-top: 20px;
    padding: 16px 18px;
    border-radius: 18px;
}

.package-price-hero strong {
    margin-top: 8px;
    font-size: clamp(1.75rem, 2.4vw, 2.7rem);
}

.package-focus-metrics {
    margin-top: 14px;
    gap: 10px;
}

.package-focus-metrics > div {
    padding: 14px 14px 15px;
    border-radius: 16px;
}

.package-focus-metrics b {
    margin-top: 8px;
    font-size: .9rem;
}

.package-main-action {
    margin-top: 18px;
}

.package-focus-overview {
    padding: clamp(24px, 2.2vw, 34px);
    gap: 16px;
}

.package-tier-inline {
    gap: 14px;
}

.package-tier-heading {
    padding-bottom: 12px;
}

.package-tier-heading strong {
    font-size: clamp(1.05rem, 1.28vw, 1.28rem);
    margin-top: 6px;
}

.package-tier-total {
    font-size: .68rem;
}

.package-tier-rail {
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
}

.package-tier-chip {
    min-height: 118px;
    padding: 14px 14px 16px;
    border-radius: 20px;
}

.package-tier-chip span {
    margin-top: 10px;
    padding: 5px 9px;
    font-size: .52rem;
}

.package-tier-chip strong {
    margin-top: 12px;
    font-size: 1.08rem;
}

.package-tier-chip b {
    margin-top: 10px;
    font-size: 1.16rem;
}

.package-browser-note {
    padding: 14px 16px;
    border-radius: 16px;
}

.package-browser-note p {
    font-size: .72rem;
    line-height: 1.58;
}

.package-stage-section.is-idle .package-stage-note {
    animation: packageNoteFloat 5.8s ease-in-out infinite;
}

.package-stage-section.is-idle .package-selector-chip.is-active {
    animation: packageChipGlow 4.6s ease-in-out infinite;
}

.package-stage-section.is-idle .package-focus-card::after {
    animation: packageAmbientDrift 6.6s ease-in-out infinite alternate;
}

.package-stage-section.is-idle .package-price-hero {
    animation: packagePricePulse 4.8s ease-in-out infinite;
}

.package-stage-section.is-idle .package-tier-chip:nth-child(3n + 1) {
    animation: packageTierFloatA 5.2s ease-in-out infinite;
}

.package-stage-section.is-idle .package-tier-chip:nth-child(3n + 2) {
    animation: packageTierFloatB 5.6s ease-in-out .18s infinite;
}

.package-stage-section.is-idle .package-tier-chip:nth-child(3n + 3) {
    animation: packageTierFloatC 5.9s ease-in-out .3s infinite;
}

.motion-ready .package-stage-section .package-stage-heading-copy,
.motion-ready .package-stage-section .package-stage-note,
.motion-ready .package-stage-section .package-selector-bar,
.motion-ready .package-stage-section .package-focus-card {
    will-change: transform, opacity;
}

.motion-ready .package-stage-section.is-entering-forward .package-stage-heading-copy,
.motion-ready .package-stage-section.is-entering-backward .package-stage-heading-copy {
    animation: packageViewportHeaderIn .64s cubic-bezier(.22,1,.36,1) both;
}

.motion-ready .package-stage-section.is-entering-forward .package-stage-note,
.motion-ready .package-stage-section.is-entering-backward .package-stage-note {
    animation: packageViewportNoteIn .72s cubic-bezier(.22,1,.36,1) .05s both;
}

.motion-ready .package-stage-section.is-entering-forward .package-selector-bar,
.motion-ready .package-stage-section.is-entering-backward .package-selector-bar {
    animation: packageViewportBarIn .66s cubic-bezier(.22,1,.36,1) .08s both;
}

.motion-ready .package-stage-section.is-entering-forward .package-focus-card,
.motion-ready .package-stage-section.is-entering-backward .package-focus-card {
    animation: packageViewportCardIn .82s cubic-bezier(.22,1,.36,1) .12s both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-stage-heading-copy,
.motion-ready .package-stage-section.is-retracting-backward .package-stage-heading-copy {
    animation: packageViewportHeaderOut .44s ease both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-stage-note,
.motion-ready .package-stage-section.is-retracting-backward .package-stage-note {
    animation: packageViewportNoteOut .42s ease .02s both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-selector-bar,
.motion-ready .package-stage-section.is-retracting-backward .package-selector-bar {
    animation: packageViewportBarOut .4s ease .04s both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-focus-card,
.motion-ready .package-stage-section.is-retracting-backward .package-focus-card {
    animation: packageViewportCardOut .48s ease .06s both;
}

@keyframes packageNoteFloat {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes packageChipGlow {
    0%,100% { transform: translateY(0); box-shadow: 0 16px 36px rgba(8,17,77,.16); }
    50% { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(8,17,77,.2); }
}

@keyframes packageAmbientDrift {
    0% { transform: translate3d(0,0,0) scale(1); opacity: .78; }
    100% { transform: translate3d(10px,-8px,0) scale(1.08); opacity: 1; }
}

@keyframes packagePricePulse {
    0%,100% { transform: translateY(0); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
    50% { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(8,17,77,.12), inset 0 1px 0 rgba(255,255,255,.05); }
}

@keyframes packageTierFloatA {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

@keyframes packageTierFloatB {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

@keyframes packageTierFloatC {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes packageViewportHeaderIn {
    from { opacity: 0; transform: translate3d(0, 24px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes packageViewportNoteIn {
    from { opacity: 0; transform: translate3d(0, 22px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes packageViewportBarIn {
    from { opacity: 0; transform: translate3d(0, 18px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes packageViewportCardIn {
    from { opacity: 0; transform: translate3d(0, 28px, 0) scale(.988); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes packageViewportHeaderOut {
    from { opacity: 1; transform: translate3d(0,0,0); }
    to { opacity: 0; transform: translate3d(0,-12px,0); }
}
@keyframes packageViewportNoteOut {
    from { opacity: 1; transform: translate3d(0,0,0); }
    to { opacity: 0; transform: translate3d(0,-12px,0); }
}
@keyframes packageViewportBarOut {
    from { opacity: 1; transform: translate3d(0,0,0); }
    to { opacity: 0; transform: translate3d(0,-12px,0); }
}
@keyframes packageViewportCardOut {
    from { opacity: 1; transform: translate3d(0,0,0) scale(1); }
    to { opacity: 0; transform: translate3d(0,-16px,0) scale(.985); }
}

@media (max-width: 1180px) {
    .package-stage-section {
        min-height: auto;
        display: block;
        padding: 38px 0 56px;
    }
    .package-stage-shell {
        min-height: 0;
        align-content: start;
    }
}

@media (max-width: 860px) {
    .package-tier-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .package-focus-card {
        height: auto;
    }
}

@media (max-width: 640px) {
    .package-stage-heading h2 {
        font-size: clamp(1.8rem, 8vw, 2.5rem);
    }
    .package-selector-chip {
        min-height: 88px;
    }
}

.package-stage-section {
    scroll-margin-top: var(--nav-height);
    position: relative;
    display: block;
    min-height: 125svh;
    padding: clamp(46px, 5.4vw, 72px) 0 clamp(70px, 7vw, 104px);
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 18%, rgba(30,58,138,.055), transparent 23%),
        radial-gradient(circle at 8% 78%, rgba(220,38,38,.045), transparent 18%),
        #F4F7FC;
}

.package-stage-shell {
    width: min(100%, 1660px);
    min-height: 0;
    margin: 0 auto;
    padding: 0 var(--page-inline);
    display: grid;
    grid-template-rows: auto auto auto;
    align-content: start;
    gap: clamp(20px, 2.2vw, 30px);
}

.package-stage-heading {
    display: block;
}

.package-stage-heading-copy {
    position: relative;
    width: min(100%, 920px);
    max-width: none;
    padding-left: 28px;
}

.package-stage-heading-copy::before {
    top: 2px;
    bottom: 2px;
}

.package-stage-heading h2 {
    max-width: 880px;
    margin-top: 10px;
    font-size: clamp(2.35rem, 3.55vw, 4.2rem);
    line-height: .96;
}

.package-stage-heading p {
    max-width: 720px;
    margin-top: 12px;
    font-size: clamp(.78rem, .92vw, 1rem);
    line-height: 1.66;
}

.package-stage-note,
.package-browser-note {
    display: none !important;
}

.package-selector-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin-top: 0;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(8,17,77,.11);
}

.package-selector-track {
    min-width: 0;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 3px 2px 6px;
    scroll-snap-type: x proximity;
}

.package-selector-chip {
    position: relative;
    flex: 0 0 clamp(194px, 17vw, 236px);
    min-height: 84px;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 11px;
    align-content: center;
    padding: 13px 15px;
    border: 1px solid #D9E3F0;
    border-radius: 18px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 9px 22px rgba(8,17,77,.04);
    text-align: left;
    scroll-snap-align: start;
}

.package-selector-chip small {
    grid-row: 1 / span 2;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    align-self: center;
    margin: 0;
    border-radius: 10px;
    color: var(--ce-blue);
    background: #EEF4FF;
    font-size: .58rem;
    letter-spacing: .05em;
}

.package-selector-chip strong {
    grid-column: 2;
    margin: 0;
    align-self: end;
    font-size: .93rem;
    line-height: 1.15;
}

.package-selector-chip span {
    grid-column: 2;
    margin: 4px 0 0;
    color: #66758C;
    font-size: .64rem;
    line-height: 1.2;
}

.package-selector-chip.is-active {
    border-color: var(--ce-navy);
    background: var(--ce-navy);
}

.package-selector-chip.is-active small {
    color: #FFFFFF;
    background: rgba(255,255,255,.10);
}

.package-selector-chip.is-active strong {
    color: #FFFFFF;
}

.package-selector-chip.is-active span {
    color: rgba(236,241,255,.75);
}

.package-selector-chip.is-active::after {
    right: 16px;
    left: 16px;
    height: 3px;
}

.package-selector-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.package-nav-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #D8E2EF;
    border-radius: 14px;
    color: var(--ce-navy);
    background: #FFFFFF;
    box-shadow: 0 8px 20px rgba(8,17,77,.05);
    cursor: pointer;
    transition: transform 260ms var(--ease-out), background 220ms ease, color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.package-nav-icon--primary {
    color: #FFFFFF;
    border-color: var(--ce-navy);
    background: var(--ce-navy);
}

.package-nav-icon:hover:not(:disabled),
.package-nav-icon:focus-visible:not(:disabled) {
    transform: translateY(-2px);
    color: #FFFFFF;
    border-color: var(--ce-red);
    background: var(--ce-red);
    box-shadow: 0 11px 24px rgba(220,38,38,.14);
    outline: none;
}

.package-nav-icon:disabled {
    opacity: .34;
    cursor: default;
}

.package-nav-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.package-editorial-stage,
.package-browser-content {
    min-height: 0;
    margin-top: 0;
}

.package-focus-card {
    position: relative;
    min-height: clamp(520px, 60svh, 650px);
    display: grid;
    grid-template-columns: minmax(330px, 390px) minmax(0,1fr);
    overflow: hidden;
    border: 1px solid rgba(207,218,234,.96);
    border-radius: 30px;
    background: #FFFFFF;
    box-shadow: 0 26px 62px rgba(8,17,77,.075);
}

.package-focus-card::before {
    display: none;
}

.package-focus-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: -90px;
    bottom: -105px;
    width: 310px;
    height: 310px;
    border: 1px solid rgba(30,58,138,.055);
    border-radius: 50%;
    background: none;
    pointer-events: none;
}

.package-focus-identity {
    position: relative;
    z-index: 1;
    min-height: 100%;
    padding: clamp(34px, 3.1vw, 50px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #FFFFFF;
    background:
        radial-gradient(circle at 80% 16%, rgba(75,110,205,.18), transparent 26%),
        linear-gradient(150deg, #050E36 0%, #08154C 58%, #102B72 100%);
}

.package-focus-identity::after {
    top: 40px;
    bottom: 40px;
}

.package-focus-identity h3 {
    margin-top: 20px;
    font-size: clamp(2.45rem, 3.2vw, 3.9rem);
}

.package-focus-identity > p {
    max-width: 330px;
    margin-top: 16px;
    font-size: .8rem;
    line-height: 1.68;
}

.package-price-hero {
    width: 100%;
    margin-top: 26px;
    padding: 19px 20px;
    border-radius: 20px;
}

.package-price-hero strong {
    font-size: clamp(2rem, 2.7vw, 3rem);
}

.package-focus-metrics {
    width: 100%;
    margin-top: 14px;
}

.package-focus-metrics > div {
    min-width: 0;
}

.package-focus-metrics b {
    font-size: .9rem;
}

.package-main-action {
    margin-top: auto;
    padding-top: 22px;
}

.package-focus-overview {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 100%;
    padding: clamp(34px, 3.3vw, 52px);
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
}

.package-tier-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
}

.package-tier-heading strong {
    font-size: clamp(1.3rem, 1.65vw, 1.7rem);
}

.package-tier-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
}

.package-tier-chip {
    position: relative;
    min-height: 170px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid #DCE5F0;
    border-radius: 22px;
    background: linear-gradient(180deg,#FFFFFF,#F7FAFF);
    box-shadow: 0 12px 28px rgba(8,17,77,.045);
    transition: transform 300ms var(--ease-out), border-color 220ms ease, box-shadow 260ms ease;
}

.package-tier-chip:hover {
    transform: translateY(-4px);
    border-color: rgba(30,58,138,.22);
    box-shadow: 0 18px 34px rgba(8,17,77,.08);
}

.package-tier-chip::after {
    right: 20px;
    left: 20px;
}

.package-tier-chip small {
    position: absolute;
    top: 18px;
    left: 20px;
    color: #8291AD;
    font-size: .58rem;
    letter-spacing: .08em;
}

.package-tier-chip strong {
    margin: 0;
    color: var(--ce-navy);
    font-size: clamp(1.2rem, 1.45vw, 1.55rem);
}

.package-tier-chip b {
    margin-top: 14px;
    color: #12317D;
    font-size: clamp(1.22rem, 1.55vw, 1.65rem);
}

.package-tier-chip > span {
    display: none !important;
}

.package-stage-section.is-idle .package-selector-chip.is-active {
    animation: packageV11ActiveFloat 5.6s ease-in-out infinite;
}

.package-stage-section.is-idle .package-focus-card::after {
    animation: packageV11Orbit 8s ease-in-out infinite alternate;
}

.package-stage-section.is-idle .package-price-hero {
    animation: packageV11PriceBreathe 6s ease-in-out infinite;
}

.package-stage-section.is-idle .package-tier-chip {
    animation: none !important;
}

@keyframes packageV11ActiveFloat {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

@keyframes packageV11Orbit {
    from { transform: translate3d(0,0,0) scale(1); opacity: .7; }
    to { transform: translate3d(-16px,-10px,0) scale(1.04); opacity: 1; }
}

@keyframes packageV11PriceBreathe {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

.motion-ready .package-stage-section.is-entering-forward .package-stage-heading-copy {
    animation: packageV11HeadingIn .68s cubic-bezier(.22,1,.36,1) both;
}

.motion-ready .package-stage-section.is-entering-backward .package-stage-heading-copy {
    animation: packageV11HeadingInBack .68s cubic-bezier(.22,1,.36,1) both;
}

.motion-ready .package-stage-section.is-entering-forward .package-selector-bar,
.motion-ready .package-stage-section.is-entering-backward .package-selector-bar {
    animation: packageV11SelectorIn .7s cubic-bezier(.22,1,.36,1) .08s both;
}

.motion-ready .package-stage-section.is-entering-forward .package-focus-card,
.motion-ready .package-stage-section.is-entering-backward .package-focus-card {
    animation: packageV11CardIn .82s cubic-bezier(.22,1,.36,1) .13s both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-stage-heading-copy,
.motion-ready .package-stage-section.is-retracting-backward .package-stage-heading-copy {
    animation: packageV11HeadingOut .42s ease both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-selector-bar,
.motion-ready .package-stage-section.is-retracting-backward .package-selector-bar {
    animation: packageV11SelectorOut .42s ease .02s both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-focus-card,
.motion-ready .package-stage-section.is-retracting-backward .package-focus-card {
    animation: packageV11CardOut .5s ease .04s both;
}

@keyframes packageV11HeadingIn {
    from { opacity: 0; transform: translate3d(-22px,18px,0); }
    to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes packageV11HeadingInBack {
    from { opacity: 0; transform: translate3d(22px,18px,0); }
    to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes packageV11SelectorIn {
    from { opacity: 0; transform: translate3d(0,20px,0); }
    to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes packageV11CardIn {
    from { opacity: 0; transform: translate3d(0,28px,0) scale(.99); }
    to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@keyframes packageV11HeadingOut {
    from { opacity: 1; transform: translate3d(0,0,0); }
    to { opacity: 0; transform: translate3d(0,-14px,0); }
}
@keyframes packageV11SelectorOut {
    from { opacity: 1; transform: translate3d(0,0,0); }
    to { opacity: 0; transform: translate3d(0,-12px,0); }
}
@keyframes packageV11CardOut {
    from { opacity: 1; transform: translate3d(0,0,0) scale(1); }
    to { opacity: 0; transform: translate3d(0,-18px,0) scale(.99); }
}

@media (max-width: 1180px) {
    .package-stage-section {
        min-height: auto;
        padding: 48px 0 72px;
    }

    .package-focus-card {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .package-focus-identity,
    .package-focus-overview {
        min-height: auto;
    }

    .package-main-action {
        margin-top: 24px;
        padding-top: 0;
    }
}

@media (max-width: 860px) {
    .package-selector-bar {
        grid-template-columns: 1fr;
    }

    .package-selector-controls {
        justify-content: flex-end;
    }

    .package-tier-rail {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 600px) {
    .package-stage-section {
        padding: 42px 0 64px;
    }

    .package-stage-heading-copy {
        padding-left: 20px;
    }

    .package-stage-heading h2 {
        font-size: clamp(2rem, 10vw, 2.75rem);
    }

    .package-selector-chip {
        flex-basis: min(78vw,220px);
    }

    .package-focus-identity,
    .package-focus-overview {
        padding: 25px 22px;
    }

    .package-focus-metrics,
    .package-tier-rail {
        grid-template-columns: 1fr;
    }

    .package-tier-chip {
        min-height: 138px;
    }
}

.package-stage-section {
    --package-section-gap: clamp(10px, 1.25vh, 16px);
    scroll-margin-top: var(--nav-height);
    position: relative;
    height: calc(100svh - var(--nav-height));
    min-height: 610px;
    padding: 0;
    overflow: hidden;
    display: block;
    background:
        radial-gradient(circle at 84% 20%, rgba(30,58,138,.055), transparent 22%),
        radial-gradient(circle at 8% 82%, rgba(220,38,38,.045), transparent 17%),
        #F4F7FC;
}

.package-stage-section::before {
    width: clamp(320px, 31vw, 560px);
    height: clamp(320px, 31vw, 560px);
    left: clamp(-230px, -10vw, -120px);
    right: auto;
    top: 7%;
    border-color: rgba(8,17,77,.055);
}

.package-stage-section::after {
    width: clamp(220px, 20vw, 360px);
    height: clamp(220px, 20vw, 360px);
    right: clamp(-170px, -8vw, -90px);
    left: auto;
    bottom: -10%;
    border-color: rgba(220,38,38,.06);
}

.package-stage-shell {
    width: min(100%, 1680px);
    height: 100%;
    min-height: 0;
    margin: 0 auto;
    padding: clamp(16px, 2vh, 24px) var(--page-inline) clamp(16px, 2vh, 24px);
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    align-content: stretch;
    gap: var(--package-section-gap);
}

.package-stage-heading {
    display: block;
    min-height: 0;
}

.package-stage-heading-copy {
    position: relative;
    width: min(100%, 920px);
    max-width: none;
    padding-left: 24px;
}

.package-stage-heading-copy::before {
    top: 2px;
    bottom: 2px;
    width: 3px;
}

.package-section-kicker {
    font-size: clamp(.52rem,.59vw,.66rem);
}

.package-section-kicker::after {
    width: 48px;
}

.package-stage-heading h2 {
    max-width: 900px;
    margin: 7px 0 0;
    font-size: clamp(1.9rem, 2.7vw, 3.15rem);
    line-height: .96;
    letter-spacing: -.055em;
}

.package-stage-heading p {
    max-width: 760px;
    margin: 7px 0 0;
    font-size: clamp(.69rem,.78vw,.84rem);
    line-height: 1.55;
}

.package-selector-bar {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(8,17,77,.1);
}

.package-selector-track {
    min-height: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    overflow-x: auto;
    padding: 2px 2px 4px;
}

.package-selector-chip {
    position: relative;
    flex: 0 0 clamp(176px, 16vw, 218px);
    min-height: 68px;
    display: grid;
    grid-template-columns: 30px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-content: center;
    padding: 10px 13px;
    border-radius: 16px;
}

.package-selector-chip small {
    grid-row: 1 / span 2;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    font-size: .52rem;
}

.package-selector-chip strong {
    margin: 0;
    font-size: .82rem;
    line-height: 1.1;
}

.package-selector-chip span {
    margin: 3px 0 0;
    font-size: .58rem;
    line-height: 1.15;
}

.package-selector-chip.is-active::after {
    right: 13px;
    left: 13px;
    height: 2px;
}

.package-selector-controls {
    gap: 7px;
}

.package-nav-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border-radius: 12px;
}

.package-nav-icon svg {
    width: 17px;
    height: 17px;
}

.package-editorial-stage,
.package-browser-content {
    min-height: 0;
    height: 100%;
    margin: 0;
    display: grid;
}

.package-focus-card {
    position: relative;
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template-columns: minmax(280px, 31%) minmax(0,1fr);
    overflow: hidden;
    border-radius: 28px;
    background: #FFFFFF;
    box-shadow: 0 22px 54px rgba(8,17,77,.075);
}

.package-focus-card::after {
    z-index: 0;
    right: -80px;
    bottom: -110px;
    width: 280px;
    height: 280px;
    opacity: .8;
}

.package-focus-identity {
    position: relative;
    z-index: 2;
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: clamp(22px, 2.2vw, 34px);
    display: grid;
    grid-template-rows: auto auto auto auto auto 1fr auto;
    align-content: start;
    color: #FFFFFF;
}

.package-focus-identity::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(115deg, transparent 0%, transparent 38%, rgba(255,255,255,.08) 49%, transparent 62%, transparent 100%);
    transform: translateX(-110%);
}

.package-focus-identity::after {
    top: 24px;
    bottom: 24px;
}

.package-focus-kicker {
    font-size: .51rem;
}

.package-focus-kicker::after {
    width: 34px;
}

.package-focus-identity h3 {
    margin: 12px 0 0;
    font-size: clamp(2rem, 2.65vw, 3.15rem);
    line-height: .94;
}

.package-focus-identity > p {
    max-width: 330px;
    margin: 10px 0 0;
    font-size: clamp(.68rem,.73vw,.78rem);
    line-height: 1.55;
}

.package-price-hero {
    width: 100%;
    margin: 15px 0 0;
    padding: 13px 15px;
    border-radius: 17px;
}

.package-price-label {
    font-size: .51rem;
}

.package-price-hero strong {
    margin-top: 6px;
    font-size: clamp(1.65rem, 2.15vw, 2.45rem);
}

.package-focus-metrics {
    width: 100%;
    margin: 10px 0 0;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
}

.package-focus-metrics > div {
    padding: 10px 11px 11px;
    border-radius: 14px;
}

.package-focus-metrics small {
    font-size: .47rem;
}

.package-focus-metrics b {
    margin-top: 5px;
    font-size: .76rem;
    line-height: 1.28;
}

.package-main-action {
    align-self: end;
    width: fit-content;
    margin: 12px 0 0;
    padding-top: 0;
}

.package-focus-overview {
    position: relative;
    z-index: 2;
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: clamp(22px, 2.2vw, 34px);
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    align-content: stretch;
    gap: 13px;
    justify-content: stretch;
    overflow: hidden;
}

.package-focus-overview::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 20%;
    right: 4%;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(30,58,138,.05), transparent 69%);
    pointer-events: none;
}

.package-tier-heading {
    min-height: 0;
    align-items: end;
    padding-bottom: 11px;
}

.package-tier-heading > div > span {
    font-size: .5rem;
}

.package-tier-heading strong {
    margin-top: 5px;
    font-size: clamp(1.08rem, 1.35vw, 1.38rem);
}

.package-tier-total {
    font-size: .6rem;
}

.package-tier-rail {
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    align-items: stretch;
    gap: 11px;
}

.package-tier-chip {
    --tier-order: 0;
    position: relative;
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: 15px 16px 16px;
    display: grid;
    grid-template-rows: auto 1fr auto;
    align-items: start;
    border-radius: 19px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,255,.98));
    overflow: hidden;
}

.package-tier-chip::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(120deg, transparent 0%, transparent 38%, rgba(30,58,138,.05) 49%, transparent 62%, transparent 100%);
    transform: translateX(-115%);
}

.package-tier-chip::after {
    right: 16px;
    left: 16px;
    height: 2px;
}

.package-tier-chip small {
    position: static;
    align-self: start;
    color: #8291AD;
    font-size: .52rem;
    letter-spacing: .09em;
}

.package-tier-chip strong {
    align-self: end;
    margin: 0;
    color: var(--ce-navy);
    font-size: clamp(1.08rem,1.3vw,1.35rem);
    line-height: 1.15;
}

.package-tier-chip b {
    align-self: end;
    margin: 7px 0 0;
    color: #12317D;
    font-size: clamp(1.12rem,1.42vw,1.48rem);
    line-height: 1.1;
}

.package-tier-chip:hover,
.package-tier-chip:focus-within {
    transform: translateY(-3px);
}

.package-tier-chip:hover::before,
.package-tier-chip:focus-within::before {
    opacity: 1;
    transform: translateX(115%);
    transition: transform 720ms var(--ease-out), opacity 120ms ease;
}

.package-tier-chip:nth-child(1) {
    background:
        radial-gradient(circle at 82% 14%, rgba(220,38,38,.065), transparent 25%),
        linear-gradient(180deg,#FFFFFF,#F8FAFF);
}
.package-tier-chip:nth-child(2) {
    background:
        radial-gradient(circle at 82% 14%, rgba(30,58,138,.07), transparent 25%),
        linear-gradient(180deg,#FFFFFF,#F7F9FF);
}
.package-tier-chip:nth-child(3) {
    background:
        radial-gradient(circle at 82% 14%, rgba(22,163,74,.05), transparent 25%),
        linear-gradient(180deg,#FFFFFF,#F8FBFA);
}

.package-stage-section.is-idle .package-selector-chip.is-active {
    animation: packageV12ActiveFloat 5.8s ease-in-out infinite;
}

.package-stage-section.is-idle .package-focus-card::after {
    animation: packageV12Orbit 8.5s ease-in-out infinite alternate;
}

.package-stage-section.is-idle .package-price-hero {
    animation: packageV12PriceBreathe 6.2s ease-in-out infinite;
}

.package-stage-section.is-idle .package-tier-chip:nth-child(1) {
    animation: packageV12TierFloat 5.6s ease-in-out infinite;
}
.package-stage-section.is-idle .package-tier-chip:nth-child(2) {
    animation: packageV12TierFloat 6s ease-in-out .3s infinite;
}
.package-stage-section.is-idle .package-tier-chip:nth-child(3) {
    animation: packageV12TierFloat 6.3s ease-in-out .6s infinite;
}

.package-stage-section.is-idle .package-focus-identity::before {
    animation: packageV12IdentityShine 7.5s ease-in-out infinite;
}

@keyframes packageV12ActiveFloat {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}
@keyframes packageV12Orbit {
    from { transform: translate3d(0,0,0) scale(1); opacity: .55; }
    to { transform: translate3d(-12px,-8px,0) scale(1.04); opacity: .9; }
}
@keyframes packageV12PriceBreathe {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}
@keyframes packageV12TierFloat {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}
@keyframes packageV12IdentityShine {
    0%,58% { opacity: 0; transform: translateX(-110%); }
    68% { opacity: .9; }
    84% { opacity: 0; transform: translateX(110%); }
    100% { opacity: 0; transform: translateX(110%); }
}

.motion-ready .package-stage-section.is-entering-forward .package-stage-heading-copy,
.motion-ready .package-stage-section.is-entering-backward .package-stage-heading-copy {
    animation: packageV12HeadingIn .58s cubic-bezier(.22,1,.36,1) both;
}

.motion-ready .package-stage-section.is-entering-forward .package-selector-bar,
.motion-ready .package-stage-section.is-entering-backward .package-selector-bar {
    animation: packageV12SelectorIn .62s cubic-bezier(.22,1,.36,1) .05s both;
}

.motion-ready .package-stage-section.is-entering-forward .package-focus-card,
.motion-ready .package-stage-section.is-entering-backward .package-focus-card {
    animation: packageV12CardIn .72s cubic-bezier(.22,1,.36,1) .09s both;
}

.motion-ready .package-stage-section.is-retracting-forward .package-stage-heading-copy,
.motion-ready .package-stage-section.is-retracting-backward .package-stage-heading-copy {
    animation: packageV12HeadingOut .34s ease both;
}
.motion-ready .package-stage-section.is-retracting-forward .package-selector-bar,
.motion-ready .package-stage-section.is-retracting-backward .package-selector-bar {
    animation: packageV12SelectorOut .36s ease .015s both;
}
.motion-ready .package-stage-section.is-retracting-forward .package-focus-card,
.motion-ready .package-stage-section.is-retracting-backward .package-focus-card {
    animation: packageV12CardOut .42s ease .025s both;
}

@keyframes packageV12HeadingIn {
    from { opacity: 0; transform: translate3d(0,16px,0); }
    to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes packageV12SelectorIn {
    from { opacity: 0; transform: translate3d(0,16px,0); }
    to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes packageV12CardIn {
    from { opacity: 0; transform: translate3d(0,22px,0) scale(.992); }
    to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@keyframes packageV12HeadingOut {
    from { opacity: 1; transform: translate3d(0,0,0); }
    to { opacity: 0; transform: translate3d(0,-9px,0); }
}
@keyframes packageV12SelectorOut {
    from { opacity: 1; transform: translate3d(0,0,0); }
    to { opacity: 0; transform: translate3d(0,-10px,0); }
}
@keyframes packageV12CardOut {
    from { opacity: 1; transform: translate3d(0,0,0) scale(1); }
    to { opacity: 0; transform: translate3d(0,-13px,0) scale(.993); }
}

@media (min-width: 1181px) {
    .package-stage-section {
        height: calc(100svh - var(--nav-height));
        min-height: 610px;
        padding: 0;
    }
    .package-focus-card {
        min-height: 0;
        height: 100%;
    }
}

@media (max-width: 1180px) {
    .package-stage-section {
        height: auto;
        min-height: auto;
        padding: 38px 0 56px;
        overflow: visible;
    }
    .package-stage-shell {
        height: auto;
        grid-template-rows: auto auto auto;
    }
    .package-focus-card {
        height: auto;
        grid-template-columns: 1fr;
    }
    .package-focus-identity,
    .package-focus-overview {
        height: auto;
    }
    .package-focus-overview {
        overflow: visible;
    }
    .package-tier-chip {
        min-height: 142px;
        height: auto;
    }
}

@media (max-width: 820px) {
    .package-selector-bar {
        grid-template-columns: 1fr;
    }
    .package-selector-controls {
        justify-content: flex-end;
    }
    .package-tier-rail {
        grid-template-columns: repeat(2,minmax(0,1fr));
        height: auto;
    }
}

@media (max-width: 560px) {
    .package-stage-section {
        padding: 32px 0 48px;
    }
    .package-stage-heading-copy {
        padding-left: 18px;
    }
    .package-stage-heading h2 {
        font-size: clamp(1.85rem,9vw,2.45rem);
    }
    .package-selector-chip {
        flex-basis: min(76vw,205px);
    }
    .package-focus-identity,
    .package-focus-overview {
        padding: 22px 20px;
    }
    .package-tier-rail {
        grid-template-columns: 1fr;
    }
    .package-tier-chip {
        min-height: 124px;
    }
}

.package-stage-section::before,
.package-stage-section::after {
    display: none !important;
}

.package-stage-section {
    background-color: #F4F7FC;
    background-image:
        linear-gradient(rgba(8,17,77,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8,17,77,.018) 1px, transparent 1px),
        radial-gradient(circle at 84% 18%, rgba(30,58,138,.04), transparent 22%);
    background-size: 84px 84px, 84px 84px, auto;
}

.package-focus-overview::before,
.package-focus-card::after {
    display: none !important;
}

.package-selector-bar {
    padding-bottom: 9px;
}

.package-selector-track {
    gap: 8px;
    padding: 1px 2px 4px;
    scroll-snap-type: x proximity;
}

.package-selector-chip {
    position: relative;
    isolation: isolate;
    flex: 0 0 clamp(168px, 14.8vw, 202px);
    min-height: 58px;
    display: grid;
    grid-template-columns: 27px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    align-content: center;
    padding: 9px 12px;
    border: 1px solid #D9E2F0;
    border-radius: 14px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 7px 18px rgba(8,17,77,.035);
    scroll-snap-align: start;
    overflow: hidden;
    transition:
        transform 280ms var(--ease-out),
        border-color 220ms ease,
        background 220ms ease,
        box-shadow 260ms ease;
}

.package-selector-chip::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(115deg, transparent 0%, transparent 35%, rgba(30,58,138,.055) 49%, transparent 64%, transparent 100%);
    transform: translateX(-120%);
}

.package-selector-chip:hover,
.package-selector-chip:focus-visible {
    transform: translateY(-1px);
    border-color: #C8D5E8;
    background: #FFFFFF;
    box-shadow: 0 10px 24px rgba(8,17,77,.065);
}

.package-selector-chip:hover::before,
.package-selector-chip:focus-visible::before {
    opacity: 1;
    transform: translateX(120%);
    transition: transform 700ms var(--ease-out), opacity 120ms ease;
}

.package-selector-chip small {
    grid-row: 1 / span 2;
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    margin: 0;
    border: 1px solid #DCE5F2;
    border-radius: 8px;
    color: #7888A5;
    background: #F7F9FD;
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
}

.package-selector-chip strong {
    align-self: end;
    margin: 0;
    color: var(--ce-navy);
    font-size: clamp(.76rem,.82vw,.88rem);
    font-weight: 800;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.package-selector-chip span {
    align-self: start;
    margin: 3px 0 0;
    color: #6D7C94;
    font-size: .54rem;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.package-selector-chip.is-active {
    border-color: var(--ce-navy);
    background: var(--ce-navy);
    box-shadow: 0 10px 24px rgba(8,17,77,.13);
}

.package-selector-chip.is-active small {
    color: #FFFFFF;
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
}

.package-selector-chip.is-active strong {
    color: #FFFFFF;
}

.package-selector-chip.is-active span {
    color: rgba(235,241,255,.72);
}

.package-selector-chip.is-active::after {
    right: 12px;
    left: 12px;
    bottom: 0;
    height: 2px;
    background: var(--ce-red);
}

.package-selector-controls {
    gap: 7px;
}

.package-nav-button--icon.ce-system-button {
    width: 46px;
    min-width: 46px;
    min-height: 46px;
    padding: 4px;
    justify-content: center;
    border-radius: 12px;
}

.package-nav-button--icon .ce-system-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    margin: 0;
    border-radius: 9px;
}

.package-nav-button--icon.ce-system-button--light .ce-system-icon {
    color: var(--ce-navy);
    border-color: transparent;
    background: transparent;
}

.package-nav-button--icon.ce-system-button--light:hover .ce-system-icon,
.package-nav-button--icon.ce-system-button--light:focus-visible .ce-system-icon {
    color: #FFFFFF;
    border-color: var(--ce-red);
    background: var(--ce-red);
}

.package-nav-button--icon.ce-system-button--navy .ce-system-icon {
    background: rgba(255,255,255,.07);
}

.package-nav-button--icon:disabled {
    opacity: .38;
    cursor: default;
}

.package-focus-overview {
    grid-template-rows: auto auto;
    align-content: center;
    gap: clamp(16px,2.2vh,24px);
}

.package-tier-heading {
    width: 100%;
    padding-bottom: 12px;
}

.package-tier-heading strong {
    font-size: clamp(1.1rem,1.4vw,1.46rem);
}

.package-tier-rail {
    width: 100%;
    height: auto;
    min-height: 0;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(190px, 1fr);
    grid-template-columns: none;
    align-items: stretch;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 3px 2px 10px;
    scrollbar-width: thin;
    scrollbar-color: rgba(8,17,77,.22) transparent;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
}

.package-tier-rail::-webkit-scrollbar {
    height: 5px;
}
.package-tier-rail::-webkit-scrollbar-track {
    background: transparent;
}
.package-tier-rail::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(8,17,77,.18);
}

.package-tier-chip {
    position: relative;
    min-width: 0;
    height: auto;
    min-height: 110px;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    grid-template-rows: auto 1fr;
    align-items: end;
    column-gap: 12px;
    row-gap: 8px;
    padding: 14px 15px 15px;
    border: 1px solid #DCE5F0;
    border-radius: 16px;
    background: #FFFFFF;
    box-shadow: 0 8px 20px rgba(8,17,77,.035);
    scroll-snap-align: start;
    overflow: hidden;
    transition:
        transform 280ms var(--ease-out),
        border-color 220ms ease,
        box-shadow 260ms ease,
        background 220ms ease;
}

.package-tier-chip::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    opacity: 0;
    background: linear-gradient(90deg, var(--ce-red), rgba(220,38,38,.10));
    transform: scaleX(.2);
    transform-origin: left center;
    transition: opacity 220ms ease, transform 380ms var(--ease-out);
}

.package-tier-chip::after {
    content: "";
    position: absolute;
    right: 15px;
    bottom: 0;
    left: 15px;
    height: 2px;
    border-radius: 999px 999px 0 0;
    background: var(--ce-red);
    transform: scaleX(.22);
    transform-origin: left center;
    transition: transform 380ms var(--ease-out);
}

.package-tier-chip small {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #DEE6F2;
    border-radius: 8px;
    color: #7C8CA8;
    background: #F7F9FD;
    font-size: .5rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .03em;
}

.package-tier-chip strong {
    grid-column: 1 / span 2;
    grid-row: 2;
    align-self: end;
    margin: 0;
    color: var(--ce-navy);
    font-size: clamp(.95rem,1.05vw,1.1rem);
    font-weight: 800;
    line-height: 1.12;
    white-space: nowrap;
}

.package-tier-chip b {
    grid-column: 3;
    grid-row: 2;
    align-self: end;
    justify-self: end;
    margin: 0;
    color: #17377C;
    font-size: clamp(.98rem,1.12vw,1.18rem);
    font-weight: 800;
    line-height: 1.08;
    white-space: nowrap;
}

.package-tier-chip:hover,
.package-tier-chip:focus-within {
    transform: translateY(-2px);
    border-color: #C9D6E9;
    background: #FFFFFF;
    box-shadow: 0 12px 28px rgba(8,17,77,.065);
}

.package-tier-chip:hover::before,
.package-tier-chip:focus-within::before {
    opacity: 1;
    transform: scaleX(1);
}

.package-tier-chip:hover::after,
.package-tier-chip:focus-within::after {
    transform: scaleX(1);
}

.package-tier-chip:nth-child(1),
.package-tier-chip:nth-child(2),
.package-tier-chip:nth-child(3) {
    background: #FFFFFF;
}

.package-stage-section.is-idle .package-tier-chip {
    animation: packageV13TierFloat 6.4s ease-in-out infinite;
    animation-delay: calc(var(--tier-order, 0) * 120ms);
}

@keyframes packageV13TierFloat {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

@media (min-width: 1181px) {

    .package-tier-rail {
        grid-auto-columns: minmax(190px, calc((100% - 20px) / 3));
    }
}

@media (max-width: 820px) {
    .package-tier-rail {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(180px, 78vw);
        grid-template-columns: none;
        overflow-x: auto;
    }
}

@media (max-width: 560px) {
    .package-selector-chip {
        flex-basis: min(70vw, 190px);
    }
    .package-tier-rail {
        grid-auto-columns: minmax(176px, 84vw);
    }
    .package-tier-chip {
        min-height: 104px;
    }
}

.package-editorial-stage,
.package-browser-content {
    min-height: 0;
    height: auto;
    align-self: start;
}

.package-focus-card.package-ticket {
    display: block;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
    border: 1px solid #D7E1EF;
    border-radius: 26px;
    background: #FFFFFF;
    box-shadow: 0 22px 54px rgba(8,17,77,.075);
}

.package-focus-card.package-ticket::before,
.package-focus-card.package-ticket::after {
    display: none !important;
}

.package-ticket-summary {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(280px,1.45fr) minmax(150px,.62fr) minmax(210px,.85fr) auto;
    align-items: center;
    gap: clamp(18px,2vw,32px);
    padding: clamp(22px,2vw,30px) clamp(24px,2.4vw,38px);
    color: #FFFFFF;
    background:
        radial-gradient(circle at 72% 10%, rgba(80,116,212,.22), transparent 24%),
        linear-gradient(132deg,#050F39 0%,#081A57 58%,#102E79 100%);
}

.package-ticket-summary::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -35%;
    left: 45%;
    width: 16%;
    height: 175%;
    pointer-events: none;
    opacity: 0;
    transform: translateX(-250%) skewX(-13deg);
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);
}

.package-ticket-summary::after {
    content: "";
    position: absolute;
    left: 0;
    top: 20px;
    bottom: 20px;
    width: 3px;
    border-radius: 999px;
    background: var(--ce-red);
}

.package-ticket-copy {
    min-width: 0;
}

.package-ticket-copy .package-focus-kicker {
    color: rgba(236,242,255,.78);
}

.package-ticket-copy h3 {
    margin: 9px 0 0;
    color: #FFFFFF;
    font-size: clamp(1.8rem,2.5vw,3rem);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.05em;
}

.package-ticket-copy p {
    max-width: 470px;
    margin: 9px 0 0;
    color: rgba(235,241,255,.72);
    font-size: clamp(.67rem,.76vw,.8rem);
    font-weight: 500;
    line-height: 1.55;
}

.package-ticket-price {
    min-width: 0;
    padding-left: clamp(16px,2vw,28px);
    border-left: 1px solid rgba(255,255,255,.13);
}

.package-ticket-price span,
.package-ticket-price strong {
    display: block;
}

.package-ticket-price span {
    color: rgba(221,230,248,.68);
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.package-ticket-price strong {
    margin-top: 7px;
    color: #FFFFFF;
    font-size: clamp(1.65rem,2.3vw,2.55rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: 1;
    white-space: nowrap;
}

.package-ticket-metrics {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
}

.package-ticket-metrics > div {
    min-width: 0;
    padding: 12px 13px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 13px;
    background: rgba(255,255,255,.05);
}

.package-ticket-metrics small,
.package-ticket-metrics b {
    display: block;
}

.package-ticket-metrics small {
    color: rgba(220,229,247,.64);
    font-size: .47rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.package-ticket-metrics b {
    margin-top: 6px;
    overflow: hidden;
    color: #FFFFFF;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
}

.package-ticket-summary .package-main-action {
    min-width: 156px;
    margin: 0;
}

.package-ticket-options {
    display: grid;
    grid-template-columns: minmax(170px,210px) minmax(0,1fr);
    align-items: center;
    gap: 18px;
    padding: 16px clamp(20px,2.2vw,34px) 18px;
    background: #FFFFFF;
}

.package-ticket-options-copy {
    position: relative;
    min-width: 0;
    padding-left: 15px;
}

.package-ticket-options-copy::before {
    content: "";
    position: absolute;
    top: 1px;
    bottom: 1px;
    left: 0;
    width: 2px;
    border-radius: 999px;
    background: var(--ce-red);
}

.package-ticket-options-copy > span,
.package-ticket-options-copy > strong,
.package-ticket-options-copy > small {
    display: block;
}

.package-ticket-options-copy > span {
    color: var(--ce-blue);
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.package-ticket-options-copy > strong {
    margin-top: 5px;
    color: var(--ce-navy);
    font-size: clamp(.9rem,1vw,1.05rem);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -.02em;
}

.package-ticket-options-copy > small {
    margin-top: 5px;
    color: #8795AE;
    font-size: .53rem;
    font-weight: 700;
}

.package-ticket-options .package-tier-rail {
    width: 100%;
    display: flex;
    align-items: stretch;
    gap: 9px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 5px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(8,17,77,.16) transparent;
}

.package-ticket-options .package-tier-rail::-webkit-scrollbar {
    height: 4px;
}
.package-ticket-options .package-tier-rail::-webkit-scrollbar-track {
    background: transparent;
}
.package-ticket-options .package-tier-rail::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(8,17,77,.16);
}

.package-ticket-options .package-tier-chip {
    position: relative;
    flex: 1 0 clamp(205px,23%,270px);
    min-width: 205px;
    min-height: 72px;
    display: grid;
    grid-template-columns: 31px minmax(0,1fr) auto;
    grid-template-rows: 1fr;
    align-items: center;
    gap: 10px;
    padding: 11px 13px;
    border: 1px solid #DCE5F0;
    border-radius: 13px;
    background: #F9FBFE;
    box-shadow: none;
    scroll-snap-align: start;
    transition:
        transform 260ms var(--ease-out),
        border-color 220ms ease,
        background 220ms ease,
        box-shadow 240ms ease;
}

.package-ticket-options .package-tier-chip::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    border-radius: inherit;
    background: linear-gradient(115deg,transparent 0%,transparent 36%,rgba(30,58,138,.055) 49%,transparent 63%,transparent 100%);
    transform: translateX(-120%);
}

.package-ticket-options .package-tier-chip::after {
    content: "";
    position: absolute;
    right: 13px;
    bottom: 0;
    left: 13px;
    height: 2px;
    border-radius: 999px 999px 0 0;
    background: var(--ce-red);
    transform: scaleX(.18);
    transform-origin: left center;
    transition: transform 360ms var(--ease-out);
}

.package-ticket-options .package-tier-chip small {
    grid-column: 1;
    grid-row: 1;
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    margin: 0;
    border: 1px solid #DDE5F1;
    border-radius: 8px;
    color: #7888A4;
    background: #FFFFFF;
    font-size: .49rem;
    font-weight: 800;
    line-height: 1;
}

.package-ticket-options .package-tier-chip strong {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    color: var(--ce-navy);
    font-size: clamp(.82rem,.9vw,.94rem);
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

.package-ticket-options .package-tier-chip b {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin: 0;
    color: #17377C;
    font-size: clamp(.8rem,.9vw,.96rem);
    font-weight: 800;
    line-height: 1.05;
    white-space: nowrap;
}

.package-ticket-options .package-tier-chip:hover {
    transform: translateY(-1px);
    border-color: #C8D5E8;
    background: #FFFFFF;
    box-shadow: 0 8px 20px rgba(8,17,77,.055);
}

.package-ticket-options .package-tier-chip:hover::before {
    opacity: 1;
    transform: translateX(120%);
    transition: transform 700ms var(--ease-out), opacity 120ms ease;
}

.package-ticket-options .package-tier-chip:hover::after {
    transform: scaleX(1);
}

.package-ticket-options .package-tier-chip.is-empty {
    min-height: 68px;
    display: grid;
    place-items: center;
    color: #71819B;
    text-align: center;
}

.package-ticket .package-focus-identity,
.package-ticket .package-focus-overview,
.package-ticket .package-price-hero,
.package-ticket .package-focus-metrics,
.package-ticket .package-tier-heading {
    display: none !important;
}

.package-stage-section.is-idle .package-ticket-summary::before {
    animation: packageV14SummaryShine 8.2s ease-in-out infinite;
}

.package-stage-section.is-idle .package-ticket-options .package-tier-chip {
    animation: packageV14TierBreathe 6.6s ease-in-out infinite;
    animation-delay: calc(var(--tier-order,0) * 110ms);
}

@keyframes packageV14SummaryShine {
    0%,61% { opacity: 0; transform: translateX(-250%) skewX(-13deg); }
    68% { opacity: 1; }
    82% { opacity: 0; transform: translateX(340%) skewX(-13deg); }
    100% { opacity: 0; transform: translateX(340%) skewX(-13deg); }
}

@keyframes packageV14TierBreathe {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-1.5px); }
}

@media (min-width: 1181px) {
    .package-stage-shell {
        grid-template-rows: auto auto auto;
        align-content: center;
    }

    .package-editorial-stage {
        align-self: start;
    }
}

@media (max-width: 1180px) {
    .package-ticket-summary {
        grid-template-columns: minmax(240px,1fr) minmax(145px,.55fr) minmax(210px,.8fr);
    }
    .package-ticket-summary .package-main-action {
        grid-column: 1 / -1;
        width: fit-content;
    }
}

@media (max-width: 860px) {
    .package-ticket-summary {
        grid-template-columns: 1fr 1fr;
    }
    .package-ticket-copy {
        grid-column: 1 / -1;
    }
    .package-ticket-price {
        padding-left: 0;
        border-left: 0;
    }
    .package-ticket-options {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .package-ticket-options-copy {
        width: fit-content;
    }
    .package-ticket-options .package-tier-chip {
        flex-basis: min(72vw,245px);
    }
}

@media (max-width: 560px) {
    .package-ticket-summary {
        grid-template-columns: 1fr;
        padding: 22px 20px;
    }
    .package-ticket-metrics {
        grid-template-columns: 1fr 1fr;
    }
    .package-ticket-summary .package-main-action {
        width: 100%;
    }
    .package-ticket-options {
        padding: 15px 18px 18px;
    }
    .package-ticket-options .package-tier-chip {
        flex: 0 0 min(82vw,250px);
    }
}

.package-browser-v15 {
    height: calc(100svh - var(--nav-height));
    min-height: 620px;
    padding: clamp(20px,2.4vh,28px) 0 clamp(22px,2.6vh,30px);
    display: block;
    overflow: hidden;
    background:
        linear-gradient(rgba(8,17,77,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8,17,77,.018) 1px, transparent 1px),
        #F4F7FC;
    background-size: 92px 92px;
}

.package-browser-v15::before,
.package-browser-v15::after {
    display: none !important;
}

.package-browser-v15 .package-stage-shell {
    width: min(100%, 1680px);
    height: 100%;
    min-height: 0;
    margin: 0 auto;
    padding: 0 var(--page-inline);
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    gap: clamp(14px,1.8vh,20px);
    align-content: stretch;
}

.package-v15-heading {
    display: block;
}

.package-v15-heading .package-stage-heading-copy {
    max-width: 980px;
    padding-left: 24px;
}

.package-v15-heading .package-stage-heading-copy::before {
    top: 1px;
    bottom: 2px;
}

.package-v15-heading .package-section-kicker {
    font-size: clamp(.54rem,.62vw,.68rem);
}

.package-v15-heading h2 {
    max-width: 980px;
    margin-top: 8px;
    font-size: clamp(2rem,3.05vw,3.65rem);
    line-height: .95;
}

.package-v15-heading p {
    max-width: 760px;
    margin-top: 8px;
    font-size: clamp(.72rem,.83vw,.88rem);
    line-height: 1.55;
}

.package-v15-stage,
.package-v15-stage .package-browser-content {
    min-height: 0;
    height: 100%;
    margin: 0;
}

.package-v15-browser {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: clamp(248px,18.5vw,310px) minmax(0,1fr);
    gap: 14px;
}

.package-v15-catalog,
.package-v15-focus {
    min-height: 0;
    border: 1px solid #D9E3F1;
    box-shadow: 0 18px 46px rgba(8,17,77,.065);
}

.package-v15-catalog {
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    gap: 12px;
    padding: 16px;
    overflow: hidden;
    border-radius: 26px 10px 26px 26px;
    background: rgba(255,255,255,.94);
}

.package-v15-catalog-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #E5EBF4;
}

.package-v15-catalog-head > div:first-child span,
.package-v15-catalog-head > div:first-child strong {
    display: block;
}

.package-v15-catalog-head > div:first-child span {
    color: var(--ce-red);
    font-size: .49rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.package-v15-catalog-head > div:first-child strong {
    margin-top: 4px;
    color: var(--ce-navy);
    font-size: .82rem;
    font-weight: 800;
}

.package-v15-catalog .package-selector-controls {
    gap: 6px;
}

.package-v15-catalog .package-nav-button {
    min-width: 38px;
    width: 38px;
    min-height: 38px;
    height: 38px;
    padding: 2px;
    border-radius: 11px;
}

.package-v15-catalog .package-nav-button .ce-system-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 9px;
}

.package-v15-list {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 3px 0 0;
    scroll-snap-type: y proximity;
    scrollbar-width: thin;
    scrollbar-color: #C7D2E4 transparent;
}

.package-v15-list::-webkit-scrollbar { width: 5px; }
.package-v15-list::-webkit-scrollbar-thumb { background: #C7D2E4; border-radius: 99px; }

.package-v15-list .package-selector-chip {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    min-height: 76px;
    display: grid;
    grid-template-columns: 36px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 11px;
    align-content: center;
    padding: 12px 13px;
    border: 1px solid #E0E7F1;
    border-radius: 16px 16px 16px 6px;
    background: #FFFFFF;
    box-shadow: none;
    scroll-snap-align: center;
    overflow: hidden;
    text-align: left;
    transition: transform 240ms ease, border-color 220ms ease, background 220ms ease, box-shadow 240ms ease;
}

.package-v15-list .package-selector-chip::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: var(--ce-red);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 320ms cubic-bezier(.22,1,.36,1);
}

.package-v15-list .package-selector-chip:hover,
.package-v15-list .package-selector-chip:focus-visible {
    transform: translateX(2px);
    border-color: #C9D5E8;
    background: #FAFCFF;
    box-shadow: 0 8px 20px rgba(8,17,77,.06);
}

.package-v15-list .package-selector-chip small {
    grid-row: 1 / 3;
    align-self: center;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    margin: 0;
    border-radius: 10px;
    color: var(--ce-blue);
    background: #EEF4FF;
    font-size: .53rem;
    letter-spacing: .06em;
}

.package-v15-list .package-selector-chip strong {
    grid-column: 2;
    align-self: end;
    margin: 0;
    color: var(--ce-navy);
    font-size: .83rem;
    line-height: 1.2;
}

.package-v15-list .package-selector-chip span {
    grid-column: 2;
    align-self: start;
    margin: 3px 0 0;
    color: #71809A;
    font-size: .58rem;
    font-weight: 700;
}

.package-v15-list .package-selector-chip.is-active {
    border-color: var(--ce-navy);
    background: linear-gradient(135deg,#06113C,#0A1C5D 72%,#13327D);
    box-shadow: 0 12px 24px rgba(8,17,77,.15);
}

.package-v15-list .package-selector-chip.is-active::before { transform: scaleY(1); }
.package-v15-list .package-selector-chip.is-active small {
    color: #FFFFFF;
    background: rgba(255,255,255,.10);
}
.package-v15-list .package-selector-chip.is-active strong { color: #FFFFFF; }
.package-v15-list .package-selector-chip.is-active span { color: rgba(232,239,253,.72); }

.package-v15-catalog-foot {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #E5EBF4;
}

.package-v15-catalog-foot > span {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--ce-red);
}

.package-v15-catalog-foot p {
    margin: 0;
    color: #8390A8;
    font-size: .54rem;
    line-height: 1.4;
}

.package-v15-focus {
    position: relative;
    height: 100%;
    display: grid;
    grid-template-rows: minmax(0,1.12fr) minmax(150px,.72fr);
    overflow: hidden;
    border-radius: 10px 28px 28px 28px;
    background: #FFFFFF;
}

.package-v15-focus::before,
.package-v15-focus::after { display: none !important; }

.package-v15-hero {
    position: relative;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(260px,1.35fr) minmax(180px,.58fr) minmax(230px,.8fr) auto;
    align-items: center;
    gap: clamp(18px,2vw,34px);
    padding: clamp(24px,2.3vw,36px);
    overflow: hidden;
    color: #FFFFFF;
    background:
        radial-gradient(circle at 80% 20%, rgba(75,111,210,.22), transparent 27%),
        linear-gradient(120deg,#050F38 0%,#081A55 54%,#12357F 100%);
}

.package-v15-hero::after {
    content: "";
    position: absolute;
    top: -35%;
    right: 28%;
    width: 150px;
    height: 170%;
    pointer-events: none;
    opacity: 0;
    transform: skewX(-12deg) translateX(-220%);
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.11),transparent);
}

.package-v15-copy,
.package-v15-price,
.package-v15-metrics,
.package-v15-cta { position: relative; z-index: 2; }

.package-v15-copy {
    padding-left: 18px;
    border-left: 2px solid var(--ce-red);
}

.package-v15-copy .package-focus-kicker {
    color: rgba(233,240,255,.75);
    font-size: .51rem;
}

.package-v15-copy h3 {
    margin: 12px 0 0;
    color: #FFFFFF;
    font-size: clamp(2.15rem,3vw,3.55rem);
    line-height: .96;
    letter-spacing: -.055em;
}

.package-v15-copy p {
    max-width: 500px;
    margin: 12px 0 0;
    color: rgba(231,238,252,.78);
    font-size: .72rem;
    line-height: 1.58;
}

.package-v15-price {
    padding-left: 22px;
    border-left: 1px solid rgba(255,255,255,.14);
}

.package-v15-price span,
.package-v15-price strong { display: block; }
.package-v15-price span {
    color: rgba(220,229,249,.68);
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.package-v15-price strong {
    margin-top: 9px;
    color: #FFFFFF;
    font-size: clamp(1.8rem,2.45vw,2.7rem);
    letter-spacing: -.06em;
    line-height: 1;
}

.package-v15-metrics {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
}

.package-v15-metrics > div {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.06);
}

.package-v15-metrics small,
.package-v15-metrics b { display: block; }
.package-v15-metrics small {
    color: rgba(221,230,249,.65);
    font-size: .48rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.package-v15-metrics b {
    margin-top: 7px;
    color: #FFFFFF;
    font-size: .76rem;
    line-height: 1.3;
}

.package-v15-cta {
    min-width: 190px;
}

.package-v15-options {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    gap: 11px;
    padding: 18px 22px 14px;
    background: #FFFFFF;
}

.package-v15-options-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.package-v15-options-head > div span,
.package-v15-options-head > div strong { display: block; }
.package-v15-options-head > div span {
    color: var(--ce-blue);
    font-size: .49rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.package-v15-options-head > div strong {
    margin-top: 5px;
    color: var(--ce-navy);
    font-size: clamp(.96rem,1.25vw,1.24rem);
    letter-spacing: -.025em;
    line-height: 1.2;
}
.package-v15-options-head .package-tier-total {
    color: var(--ce-red);
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    white-space: nowrap;
}

.package-v15-tier-rail {
    min-height: 0;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(190px,1fr);
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 1px 2px 5px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #CCD6E7 transparent;
}

.package-v15-tier-rail::-webkit-scrollbar { height: 5px; }
.package-v15-tier-rail::-webkit-scrollbar-thumb { background: #CCD6E7; border-radius: 99px; }

.package-v15-tier-rail .package-tier-chip {
    position: relative;
    min-height: 0;
    height: 100%;
    max-height: 114px;
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 13px 14px;
    border: 1px solid #DEE6F1;
    border-radius: 16px 16px 16px 5px;
    background: linear-gradient(180deg,#FFFFFF,#F8FAFE);
    box-shadow: none;
    scroll-snap-align: start;
    overflow: hidden;
    transition: transform 240ms ease, border-color 220ms ease, box-shadow 240ms ease;
}

.package-v15-tier-rail .package-tier-chip::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--ce-red);
    transform: scaleX(.18);
    transform-origin: left;
    transition: transform 360ms cubic-bezier(.22,1,.36,1);
}

.package-v15-tier-rail .package-tier-chip::after { display:none !important; }

.package-v15-tier-rail .package-tier-chip:hover {
    transform: translateY(-2px);
    border-color: #C7D4E8;
    box-shadow: 0 9px 22px rgba(8,17,77,.07);
}
.package-v15-tier-rail .package-tier-chip:hover::before { transform: scaleX(1); }

.package-v15-tier-rail .package-tier-chip small {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    margin: 0;
    border-radius: 10px;
    color: var(--ce-blue);
    background: #EEF4FF;
    font-size: .53rem;
    font-weight: 800;
}
.package-v15-tier-rail .package-tier-chip strong {
    margin: 0;
    color: var(--ce-navy);
    font-size: .9rem;
    line-height: 1.2;
}
.package-v15-tier-rail .package-tier-chip b {
    margin: 0;
    color: #173B88;
    font-size: .9rem;
    line-height: 1.2;
    white-space: nowrap;
}

.package-v15-option-hint {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 14px;
}
.package-v15-option-hint span {
    color: var(--ce-red);
    font-size: .65rem;
    font-weight: 800;
}
.package-v15-option-hint p {
    margin: 0;
    color: #8A97AE;
    font-size: .51rem;
    line-height: 1.35;
}

.package-v15-focus.is-leaving-left { opacity:0; transform:translate3d(-12px,0,0) scale(.992); }
.package-v15-focus.is-leaving-right { opacity:0; transform:translate3d(12px,0,0) scale(.992); }
.package-v15-focus.is-entering-right { animation:packageV15EnterRight .54s cubic-bezier(.22,1,.36,1) both; }
.package-v15-focus.is-entering-left { animation:packageV15EnterLeft .54s cubic-bezier(.22,1,.36,1) both; }

.package-browser-v15.is-idle .package-v15-hero::after {
    animation: packageV15LightPass 7s ease-in-out infinite;
}
.package-browser-v15.is-idle .package-selector-chip.is-active {
    animation: packageV15ActiveBreathe 5.2s ease-in-out infinite;
}
.package-browser-v15.is-idle .package-tier-chip:nth-child(3n+1) { animation:packageV15TierIdle 5.8s ease-in-out infinite; }
.package-browser-v15.is-idle .package-tier-chip:nth-child(3n+2) { animation:packageV15TierIdle 6.2s ease-in-out .25s infinite; }
.package-browser-v15.is-idle .package-tier-chip:nth-child(3n+3) { animation:packageV15TierIdle 6.5s ease-in-out .45s infinite; }

.motion-ready .package-browser-v15.is-entering-forward .package-v15-heading,
.motion-ready .package-browser-v15.is-entering-backward .package-v15-heading {
    animation: packageV15HeaderIn .62s cubic-bezier(.22,1,.36,1) both;
}
.motion-ready .package-browser-v15.is-entering-forward .package-v15-catalog,
.motion-ready .package-browser-v15.is-entering-backward .package-v15-catalog {
    animation: packageV15CatalogIn .72s cubic-bezier(.22,1,.36,1) .05s both;
}
.motion-ready .package-browser-v15.is-entering-forward .package-v15-focus,
.motion-ready .package-browser-v15.is-entering-backward .package-v15-focus {
    animation: packageV15FocusIn .78s cubic-bezier(.22,1,.36,1) .1s both;
}
.motion-ready .package-browser-v15.is-entering-forward .package-selector-chip,
.motion-ready .package-browser-v15.is-entering-backward .package-selector-chip {
    animation: packageV15ListItemIn .48s cubic-bezier(.22,1,.36,1) both;
    animation-delay: calc(.14s + var(--package-order,0) * 55ms);
}
.motion-ready .package-browser-v15.is-retracting-forward .package-v15-heading,
.motion-ready .package-browser-v15.is-retracting-backward .package-v15-heading,
.motion-ready .package-browser-v15.is-retracting-forward .package-v15-catalog,
.motion-ready .package-browser-v15.is-retracting-backward .package-v15-catalog,
.motion-ready .package-browser-v15.is-retracting-forward .package-v15-focus,
.motion-ready .package-browser-v15.is-retracting-backward .package-v15-focus {
    animation: packageV15Out .44s ease both;
}

@keyframes packageV15EnterRight { from{opacity:0;transform:translate3d(18px,0,0) scale(.992)} to{opacity:1;transform:none} }
@keyframes packageV15EnterLeft { from{opacity:0;transform:translate3d(-18px,0,0) scale(.992)} to{opacity:1;transform:none} }
@keyframes packageV15LightPass { 0%,65%,100%{opacity:0;transform:skewX(-12deg) translateX(-220%)} 78%{opacity:.8} 92%{opacity:0;transform:skewX(-12deg) translateX(360%)} }
@keyframes packageV15ActiveBreathe { 0%,100%{transform:translateX(0)} 50%{transform:translateX(2px)} }
@keyframes packageV15TierIdle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2px)} }
@keyframes packageV15HeaderIn { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
@keyframes packageV15CatalogIn { from{opacity:0;transform:translateX(-18px)} to{opacity:1;transform:none} }
@keyframes packageV15FocusIn { from{opacity:0;transform:translateX(20px) scale(.99)} to{opacity:1;transform:none} }
@keyframes packageV15ListItemIn { from{opacity:0;transform:translateX(-12px)} to{opacity:1;transform:none} }
@keyframes packageV15Out { from{opacity:1;transform:none} to{opacity:0;transform:translateY(-12px) scale(.99)} }

@media (max-width: 1180px) {
    .package-browser-v15 { height:auto; min-height:calc(100svh - var(--nav-height)); overflow:visible; }
    .package-browser-v15 .package-stage-shell { height:auto; min-height:0; }
    .package-v15-browser { grid-template-columns:230px minmax(0,1fr); min-height:560px; }
    .package-v15-hero { grid-template-columns:minmax(220px,1.2fr) minmax(150px,.6fr) minmax(190px,.75fr); }
    .package-v15-cta { grid-column:1 / -1; width:fit-content; }
}

@media (max-width: 900px) {
    .package-v15-browser { grid-template-columns:1fr; height:auto; min-height:0; }
    .package-v15-catalog { grid-template-rows:auto auto; }
    .package-v15-catalog-foot { display:none; }
    .package-v15-list { flex-direction:row; overflow-x:auto; overflow-y:hidden; padding-bottom:4px; scroll-snap-type:x proximity; }
    .package-v15-list .package-selector-chip { flex:0 0 220px; width:220px; }
    .package-v15-hero { grid-template-columns:1fr 180px; }
    .package-v15-metrics { grid-column:1 / -1; }
    .package-v15-cta { grid-column:1 / -1; }
    .package-v15-focus { min-height:520px; }
}

@media (max-width: 620px) {
    .package-browser-v15 { padding:22px 0 48px; }
    .package-v15-heading h2 { font-size:clamp(1.9rem,9vw,2.65rem); }
    .package-v15-browser { gap:10px; }
    .package-v15-catalog { padding:13px; border-radius:20px; }
    .package-v15-hero { grid-template-columns:1fr; gap:16px; padding:22px 18px; }
    .package-v15-price { padding-left:0; border-left:0; }
    .package-v15-metrics { grid-template-columns:1fr 1fr; }
    .package-v15-cta { width:100%; }
    .package-v15-options { padding:16px 15px 12px; }
    .package-v15-options-head { align-items:flex-start; flex-direction:column; gap:8px; }
    .package-v15-tier-rail { grid-auto-columns:minmax(200px,82vw); }
}

@media (prefers-reduced-motion: reduce) {
    .package-browser-v15 *, .package-browser-v15 *::before, .package-browser-v15 *::after { animation:none !important; }
}

.package-browser-v16 {
    height: calc(100svh - var(--nav-height));
    min-height: 610px;
    padding: clamp(20px,2.2vh,30px) 0 clamp(20px,2.2vh,30px);
    display: block;
    background: #F4F7FC;
    overflow: hidden;
}

.package-browser-v16::before,
.package-browser-v16::after {
    display: none !important;
}

.package-browser-v16 .package-stage-shell,
.package-v16-shell {
    width: min(100%, 1680px);
    height: 100%;
    min-height: 0;
    margin: 0 auto;
    padding: 0 var(--page-inline);
    display: grid;
    grid-template-rows: auto auto minmax(0,1fr);
    gap: 14px;
    align-content: stretch;
}

.package-v16-heading {
    display: block;
}

.package-v16-heading .package-stage-heading-copy {
    max-width: 1000px;
    padding-left: 24px;
}

.package-v16-heading .package-stage-heading h2,
.package-v16-heading h2 {
    margin-top: 8px;
    max-width: 940px;
    font-size: clamp(2rem,3.15vw,3.65rem);
    line-height: .95;
}

.package-v16-heading .package-stage-heading-copy > p {
    max-width: 790px;
    margin-top: 8px;
    font-size: clamp(.7rem,.78vw,.84rem);
    line-height: 1.55;
}

.package-v16-selector-row {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 14px;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(8,17,77,.11);
}

.package-v16-selector-track {
    min-width: 0;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 4px;
    scrollbar-width: none;
}
.package-v16-selector-track::-webkit-scrollbar { display:none; }

.package-browser-v16 .package-selector-chip {
    position: relative;
    flex: 0 0 clamp(200px,18vw,250px);
    min-height: 64px;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    padding: 10px 13px;
    border: 1px solid #D9E3F0;
    border-radius: 16px 16px 16px 5px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 8px 18px rgba(8,17,77,.035);
    text-align: left;
    cursor: pointer;
    transition: transform 240ms var(--ease-out), border-color 220ms ease, box-shadow 240ms ease, background 220ms ease;
}

.package-browser-v16 .package-selector-chip small {
    grid-row: 1 / span 2;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    margin: 0;
    border: 1px solid #D7E2F0;
    border-radius: 10px;
    color: var(--ce-blue);
    background: #F5F8FD;
    font-size: .54rem;
    letter-spacing: .02em;
}

.package-browser-v16 .package-selector-chip strong {
    align-self: end;
    margin: 0;
    color: var(--ce-navy);
    font-size: .82rem;
    line-height: 1.1;
}

.package-browser-v16 .package-selector-chip span {
    align-self: start;
    margin: 2px 0 0;
    color: #75849E;
    font-size: .56rem;
    font-weight: 700;
}

.package-browser-v16 .package-selector-chip::after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 2px;
    border-radius: 999px 999px 0 0;
    background: var(--ce-red);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 340ms var(--ease-out);
}

.package-browser-v16 .package-selector-chip:hover,
.package-browser-v16 .package-selector-chip:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(30,58,138,.24);
    box-shadow: 0 12px 26px rgba(8,17,77,.075);
    outline: none;
}
.package-browser-v16 .package-selector-chip:hover::after,
.package-browser-v16 .package-selector-chip:focus-visible::after { transform: scaleX(1); }

.package-browser-v16 .package-selector-chip.is-active {
    border-color: var(--ce-navy);
    background: var(--ce-navy);
    box-shadow: 0 14px 28px rgba(8,17,77,.15);
}
.package-browser-v16 .package-selector-chip.is-active small {
    color: #FFFFFF;
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
}
.package-browser-v16 .package-selector-chip.is-active strong { color:#FFFFFF; }
.package-browser-v16 .package-selector-chip.is-active span { color:rgba(235,241,255,.72); }
.package-browser-v16 .package-selector-chip.is-active::after { transform: scaleX(1); }

.package-v16-controls {
    display: flex;
    gap: 8px;
}
.package-v16-controls .package-nav-button {
    min-width: 48px;
    width: 48px;
    min-height: 48px;
    height: 48px;
    padding: 5px;
}
.package-v16-controls .package-nav-button .ce-system-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
}

.package-v16-stage,
.package-v16-stage .package-browser-content {
    min-height: 0;
    height: 100%;
}

.package-v16-browser {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(280px,.72fr) minmax(0,1.72fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid #D8E2EF;
    border-radius: 28px 28px 28px 9px;
    background: #FFFFFF;
    box-shadow: 0 20px 48px rgba(8,17,77,.075);
}

.package-v16-browser::before,
.package-v16-browser::after { display:none !important; }

.package-v16-summary {
    position: relative;
    isolation: isolate;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(24px,2.4vw,38px);
    color: #FFFFFF;
    background: linear-gradient(148deg,#050E34 0%,#081851 58%,#12327E 100%);
}
.package-v16-summary::before {
    content:"";
    position:absolute;
    top:30px;
    bottom:30px;
    left:0;
    width:3px;
    border-radius:999px;
    background:var(--ce-red);
}
.package-v16-summary::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    opacity:.5;
    background: radial-gradient(circle at 82% 18%,rgba(91,126,220,.18),transparent 27%);
}

.package-v16-summary h3 {
    margin: 16px 0 0;
    color: #FFFFFF;
    font-size: clamp(2.1rem,3vw,3.6rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.055em;
}
.package-v16-summary > div:first-child > p {
    max-width: 380px;
    margin: 12px 0 0;
    color: rgba(235,241,255,.76);
    font-size: .74rem;
    line-height: 1.58;
}

.package-v16-price {
    margin-top: 20px;
}
.package-v16-price span {
    display:block;
    color:rgba(225,233,250,.62);
    font-size:.53rem;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.package-v16-price strong {
    display:block;
    margin-top:6px;
    color:#FFFFFF;
    font-size:clamp(1.75rem,2.45vw,2.75rem);
    font-weight:800;
    letter-spacing:-.055em;
    line-height:1;
}

.package-v16-summary-meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:16px;
}
.package-v16-summary-meta span {
    padding:7px 9px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;
    color:rgba(241,245,255,.82);
    background:rgba(255,255,255,.055);
    font-size:.54rem;
    font-weight:800;
    white-space:nowrap;
}
.package-v16-cta {
    width:fit-content;
    margin-top:18px;
}

.package-v16-details {
    min-width:0;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
    grid-template-rows:minmax(0,1fr) auto;
    gap:12px;
    padding:14px;
    background:#F8FAFD;
}

.package-v16-panel {
    min-width:0;
    min-height:0;
    overflow:hidden;
    border:1px solid #DDE5F0;
    border-radius:20px 20px 20px 6px;
    background:#FFFFFF;
}

.package-v16-included { grid-column:1; grid-row:1; }
.package-v16-guests { grid-column:2; grid-row:1; }
.package-v16-optional { grid-column:1 / -1; grid-row:2; }

.package-v16-panel-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:14px 15px 12px;
    border-bottom:1px solid #E5EAF2;
}
.package-v16-panel-head > div > span,
.package-v16-panel-head > div > strong { display:block; }
.package-v16-panel-head > div > span {
    color:var(--ce-red);
    font-size:.48rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.package-v16-panel-head > div > strong {
    margin-top:4px;
    color:var(--ce-navy);
    font-size:.82rem;
    line-height:1.2;
}
.package-v16-panel-head > b {
    flex:0 0 auto;
    color:#8090AA;
    font-size:.52rem;
    font-weight:800;
    white-space:nowrap;
}

.package-v16-amenity-grid {
    min-height:0;
    height:calc(100% - 58px);
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:minmax(38px,auto);
    gap:7px;
    align-content:start;
    overflow-y:auto;
    padding:10px;
    scrollbar-width:thin;
    scrollbar-color:#CBD5E1 transparent;
}

.package-v16-amenity-item {
    min-width:0;
    display:grid;
    grid-template-columns:25px minmax(0,1fr);
    align-items:center;
    gap:8px;
    padding:7px 9px;
    border:1px solid #E1E8F2;
    border-radius:12px 12px 12px 4px;
    background:#FBFCFE;
    opacity:0;
    transform:translateY(6px);
    animation:packageV16AmenityIn 420ms var(--ease-out) calc(var(--amenity-order,0) * 35ms) forwards;
}
.package-v16-amenity-check {
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#167343;
    background:#ECF8F1;
    font-size:.72rem;
    font-weight:900;
}
.package-v16-amenity-item strong {
    overflow:hidden;
    color:#21304E;
    font-size:.59rem;
    font-weight:700;
    line-height:1.25;
    text-overflow:ellipsis;
}

.package-v16-tier-rail {
    min-height:0;
    height:calc(100% - 58px);
    display:grid;
    grid-auto-rows:minmax(46px,auto);
    gap:7px;
    overflow-y:auto;
    overflow-x:hidden;
    padding:10px;
    scrollbar-width:thin;
    scrollbar-color:#CBD5E1 transparent;
}
.package-browser-v16 .package-tier-chip {
    position:relative;
    min-height:46px;
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:7px 9px;
    border:1px solid #E0E7F1;
    border-radius:12px 12px 12px 4px;
    background:#FFFFFF;
    box-shadow:none;
    opacity:0;
    transform:translateX(8px);
    animation:packageV16TierIn 440ms var(--ease-out) calc(var(--tier-order,0) * 55ms) forwards;
}
.package-browser-v16 .package-tier-chip::after {
    right:auto;
    left:9px;
    width:34px;
    height:2px;
}
.package-browser-v16 .package-tier-chip small {
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    margin:0;
    border-radius:8px;
    color:var(--ce-blue);
    background:#EEF4FF;
    font-size:.5rem;
}
.package-browser-v16 .package-tier-chip strong {
    margin:0;
    color:var(--ce-navy);
    font-size:.66rem;
    line-height:1.2;
}
.package-browser-v16 .package-tier-chip b {
    margin:0;
    color:#17367D;
    font-size:.68rem;
    white-space:nowrap;
}

.package-v16-optional {
    min-height:88px;
}
.package-v16-optional-head {
    padding-top:10px;
    padding-bottom:9px;
}
.package-v16-optional-rail {
    display:flex;
    gap:7px;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    padding:8px 10px 10px;
    scrollbar-width:thin;
    scrollbar-color:#CBD5E1 transparent;
}
.package-v16-optional-item {
    flex:0 0 auto;
    min-width:150px;
    display:grid;
    gap:3px;
    padding:8px 10px;
    border:1px solid #E0E7F1;
    border-radius:11px 11px 11px 4px;
    background:#FBFCFE;
    opacity:0;
    transform:translateX(8px);
    animation:packageV16OptionIn 440ms var(--ease-out) calc(var(--amenity-order,0) * 40ms) forwards;
}
.package-v16-optional-item strong {
    color:#263552;
    font-size:.58rem;
    line-height:1.2;
}
.package-v16-optional-item span {
    color:var(--ce-red);
    font-size:.52rem;
    font-weight:800;
}

.package-v16-empty-line {
    grid-column:1 / -1;
    padding:14px;
    color:#7C8BA5;
    font-size:.58rem;
    line-height:1.4;
}

.package-browser-v16.is-idle .package-v16-summary::after {
    animation:packageV16Ambient 6.8s ease-in-out infinite alternate;
}
.package-browser-v16.is-idle .package-selector-chip.is-active {
    animation:packageV16ActiveBreath 4.8s ease-in-out infinite;
}
.package-browser-v16.is-idle .package-v16-amenity-check {
    animation:packageV16CheckBreathe 4.6s ease-in-out infinite;
}

@keyframes packageV16AmenityIn { to { opacity:1; transform:translateY(0); } }
@keyframes packageV16TierIn { to { opacity:1; transform:translateX(0); } }
@keyframes packageV16OptionIn { to { opacity:1; transform:translateX(0); } }
@keyframes packageV16Ambient {
    from { opacity:.34; transform:translate3d(0,0,0); }
    to { opacity:.62; transform:translate3d(-8px,6px,0); }
}
@keyframes packageV16ActiveBreath {
    0%,100% { transform:translateY(0); }
    50% { transform:translateY(-2px); }
}
@keyframes packageV16CheckBreathe {
    0%,100% { transform:scale(1); }
    50% { transform:scale(1.035); }
}

.package-browser-v16 .package-focus-card.is-leaving-left,
.package-browser-v16 .package-focus-card.is-leaving-right {
    opacity:.35;
    transform:translate3d(0,6px,0) scale(.996);
}
.package-browser-v16 .package-focus-card.is-entering-right,
.package-browser-v16 .package-focus-card.is-entering-left {
    animation:packageV16StageIn 520ms var(--ease-out) both;
}
@keyframes packageV16StageIn {
    from { opacity:.55; transform:translate3d(0,8px,0) scale(.996); }
    to { opacity:1; transform:translate3d(0,0,0) scale(1); }
}

@media (max-width: 1180px) {
    .package-browser-v16 {
        height:auto;
        min-height:0;
        overflow:visible;
        padding:38px 0 54px;
    }
    .package-browser-v16 .package-stage-shell,
    .package-v16-shell { height:auto; grid-template-rows:auto; }
    .package-v16-browser { height:auto; grid-template-columns:1fr; }
    .package-v16-summary { min-height:330px; }
    .package-v16-details {
        grid-template-columns:1fr 1fr;
        grid-template-rows:320px auto;
    }
}

@media (max-width: 760px) {
    .package-v16-selector-row { grid-template-columns:1fr; }
    .package-v16-controls { justify-content:flex-end; }
    .package-browser-v16 .package-selector-chip { flex-basis:min(78vw,230px); }
    .package-v16-details { grid-template-columns:1fr; grid-template-rows:auto; }
    .package-v16-included,
    .package-v16-guests,
    .package-v16-optional { grid-column:1; grid-row:auto; }
    .package-v16-included { min-height:320px; }
    .package-v16-guests { min-height:260px; }
    .package-v16-amenity-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .package-v16-amenity-item,
    .package-browser-v16 .package-tier-chip,
    .package-v16-optional-item {
        opacity:1 !important;
        transform:none !important;
        animation:none !important;
    }
}

.package-stage-section.package-browser-v17 {
    position: relative;
    height: auto !important;
    min-height: calc(100svh - var(--nav-height));
    overflow: visible !important;
    padding: clamp(26px, 3.5vh, 40px) 0 clamp(34px, 4vh, 52px);
    background:
        linear-gradient(rgba(8,17,77,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8,17,77,.025) 1px, transparent 1px),
        #F4F7FC;
    background-size: 110px 110px;
}
.package-stage-section.package-browser-v17::before,
.package-stage-section.package-browser-v17::after { display: none !important; }

.package-v17-shell {
    width: min(100%, 1680px);
    height: auto !important;
    min-height: calc(100svh - var(--nav-height) - 70px);
    margin: 0 auto;
    padding: 0 var(--page-inline);
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 14px;
    align-content: start;
}

.package-v17-heading .package-stage-heading-copy { max-width: 1040px; padding-left: 24px; }
.package-v17-heading h2 {
    max-width: 980px;
    margin: 8px 0 0;
    color: var(--ce-navy);
    font-size: clamp(2rem, 3vw, 3.5rem);
    line-height: .96;
    letter-spacing: -.055em;
}
.package-v17-heading .package-stage-heading-copy > p {
    max-width: 780px;
    margin: 8px 0 0;
    color: var(--ce-muted);
    font-size: clamp(.7rem, .78vw, .86rem);
    line-height: 1.55;
}

.package-v17-selector-row {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(8,17,77,.11);
}
.package-v17-selector-track {
    min-width: 0;
    display: flex;
    gap: 9px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 4px;
    scrollbar-width: none;
}
.package-v17-selector-track::-webkit-scrollbar { display: none; }

.package-browser-v17 .package-selector-chip {
    position: relative;
    flex: 0 0 clamp(190px, 17vw, 236px);
    min-height: 60px;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid #D9E3F0;
    border-radius: 16px 16px 16px 5px;
    background: #FFFFFF;
    box-shadow: 0 7px 16px rgba(8,17,77,.035);
    text-align: left;
    cursor: pointer;
    transition: transform 240ms var(--ease-out), border-color 220ms ease, box-shadow 240ms ease, background 220ms ease;
}
.package-browser-v17 .package-selector-chip small {
    grid-row: 1 / span 2;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    margin: 0;
    border: 1px solid #D7E2F0;
    border-radius: 10px;
    color: var(--ce-blue);
    background: #F5F8FD;
    font-size: .54rem;
    letter-spacing: .02em;
}
.package-browser-v17 .package-selector-chip strong {
    align-self: end;
    margin: 0;
    overflow: hidden;
    color: var(--ce-navy);
    font-size: .8rem;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.package-browser-v17 .package-selector-chip span {
    align-self: start;
    margin: 2px 0 0;
    color: #75849E;
    font-size: .56rem;
    font-weight: 700;
}
.package-browser-v17 .package-selector-chip::after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 2px;
    border-radius: 999px 999px 0 0;
    background: var(--ce-red);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 320ms var(--ease-out);
}
.package-browser-v17 .package-selector-chip:hover,
.package-browser-v17 .package-selector-chip:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(30,58,138,.24);
    box-shadow: 0 12px 24px rgba(8,17,77,.075);
    outline: none;
}
.package-browser-v17 .package-selector-chip:hover::after,
.package-browser-v17 .package-selector-chip:focus-visible::after,
.package-browser-v17 .package-selector-chip.is-active::after { transform: scaleX(1); }
.package-browser-v17 .package-selector-chip.is-active {
    border-color: var(--ce-navy);
    color: #FFFFFF;
    background: linear-gradient(145deg,#061141 0%,#081955 60%,#13337F 100%);
    box-shadow: 0 12px 26px rgba(8,17,77,.14);
}
.package-browser-v17 .package-selector-chip.is-active small {
    color: #FFFFFF;
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
}
.package-browser-v17 .package-selector-chip.is-active strong { color: #FFFFFF; }
.package-browser-v17 .package-selector-chip.is-active span { color: rgba(235,241,255,.72); }

.package-v17-controls { display: flex; gap: 8px; }
.package-v17-controls .package-nav-button {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 5px;
}
.package-v17-controls .package-nav-button .ce-system-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
}

.package-v17-stage,
.package-v17-stage .package-browser-content {
    height: auto !important;
    min-height: 0;
    overflow: visible !important;
}

.package-v17-board {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    display: grid;
    grid-template-columns: minmax(270px, .64fr) minmax(0, 1.78fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #D8E2EF;
    border-radius: 28px 28px 28px 9px;
    background: #FFFFFF;
    box-shadow: 0 20px 46px rgba(8,17,77,.075);
}
.package-v17-board::before,
.package-v17-board::after { display: none !important; }

.package-v17-summary {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: clamp(26px, 2.6vw, 40px);
    color: #FFFFFF;
    background:
        radial-gradient(circle at 88% 12%, rgba(79,117,214,.20), transparent 26%),
        linear-gradient(148deg,#050E34 0%,#081851 58%,#12327E 100%);
}
.package-v17-summary::before {
    content: "";
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: var(--ce-red);
}
.package-v17-summary h3 {
    margin: 15px 0 0;
    color: #FFFFFF;
    font-size: clamp(2rem, 2.8vw, 3.35rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.055em;
}
.package-v17-summary-copy > p {
    max-width: 360px;
    margin: 12px 0 0;
    color: rgba(235,241,255,.76);
    font-size: .72rem;
    line-height: 1.58;
}
.package-v17-price {
    margin-top: 20px;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 16px;
    background: rgba(255,255,255,.055);
}
.package-v17-price span {
    display: block;
    color: rgba(225,233,250,.64);
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.package-v17-price strong {
    display: block;
    margin-top: 6px;
    color: #FFFFFF;
    font-size: clamp(1.8rem, 2.4vw, 2.7rem);
    line-height: 1;
    letter-spacing: -.055em;
}
.package-v17-summary-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 14px;
}
.package-v17-summary-meta > div {
    min-width: 0;
    padding: 11px 10px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 13px;
    background: rgba(255,255,255,.045);
}
.package-v17-summary-meta span,
.package-v17-summary-meta strong { display: block; }
.package-v17-summary-meta span {
    color: rgba(223,231,248,.62);
    font-size: .46rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.package-v17-summary-meta strong {
    margin-top: 5px;
    color: #FFFFFF;
    font-size: .62rem;
    line-height: 1.25;
}
.package-v17-cta { width: fit-content; margin-top: auto; padding-top: 18px; }

.package-v17-content {
    min-width: 0;
    padding: 14px;
    display: grid;
    grid-template-columns: minmax(0,1.18fr) minmax(280px,.82fr);
    grid-template-areas:
        "included guests"
        "optional optional";
    gap: 12px;
    align-content: start;
    background: #F8FAFD;
}
.package-v17-panel {
    min-width: 0;
    border: 1px solid #DDE5F0;
    border-radius: 20px 20px 20px 6px;
    background: #FFFFFF;
    overflow: hidden;
}
.package-v17-included { grid-area: included; }
.package-v17-guests { grid-area: guests; }
.package-v17-optional { grid-area: optional; }
.package-v17-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 14px 11px;
    border-bottom: 1px solid #E5EAF2;
}
.package-v17-panel-head > div > span,
.package-v17-panel-head > div > strong { display: block; }
.package-v17-panel-head > div > span {
    color: var(--ce-red);
    font-size: .47rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.package-v17-panel-head > div > strong {
    margin-top: 4px;
    color: var(--ce-navy);
    font-size: .78rem;
    line-height: 1.2;
}
.package-v17-panel-head > b {
    flex: 0 0 auto;
    color: #8090AA;
    font-size: .50rem;
    font-weight: 800;
    white-space: nowrap;
}

.package-v17-amenity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 7px;
    padding: 10px;
}
.package-browser-v17 .package-v16-amenity-item {
    min-width: 0;
    min-height: 38px;
    display: grid;
    grid-template-columns: 25px minmax(0,1fr);
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border: 1px solid #E1E8F2;
    border-radius: 12px 12px 12px 4px;
    background: #FBFCFE;
}
.package-browser-v17 .package-v16-amenity-check {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #167343;
    background: #ECF8F1;
    font-size: .72rem;
    font-weight: 900;
}
.package-browser-v17 .package-v16-amenity-item strong {
    color: #21304E;
    font-size: .59rem;
    font-weight: 700;
    line-height: 1.25;
}

.package-v17-tier-grid {
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 7px;
    overflow: visible !important;
    padding: 10px;
}
.package-browser-v17 .package-tier-chip {
    position: relative;
    min-width: 0 !important;
    min-height: 66px;
    display: grid;
    grid-template-columns: 30px minmax(0,1fr);
    grid-template-rows: auto auto;
    gap: 4px 8px;
    align-items: center;
    padding: 9px 10px;
    border: 1px solid #E0E7F1;
    border-radius: 12px 12px 12px 4px;
    background: #FFFFFF;
    box-shadow: none;
}
.package-browser-v17 .package-tier-chip::after {
    content: "";
    position: absolute;
    left: 10px;
    bottom: 0;
    width: 34px;
    height: 2px;
    background: var(--ce-red);
}
.package-browser-v17 .package-tier-chip small {
    grid-row: 1 / span 2;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    margin: 0;
    border-radius: 8px;
    color: var(--ce-blue);
    background: #EEF4FF;
    font-size: .5rem;
}
.package-browser-v17 .package-tier-chip strong {
    align-self: end;
    margin: 0;
    color: var(--ce-navy);
    font-size: .66rem;
    line-height: 1.15;
}
.package-browser-v17 .package-tier-chip b {
    align-self: start;
    margin: 0;
    color: #17367D;
    font-size: .66rem;
    line-height: 1.15;
    white-space: nowrap;
}
.package-browser-v17 .package-tier-chip.is-empty { grid-column: 1 / -1; min-height: 60px; }

.package-v17-optional-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    gap: 7px;
    padding: 9px 10px 10px;
}
.package-browser-v17 .package-v16-optional-item {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid #E0E7F1;
    border-radius: 11px 11px 11px 4px;
    background: #FBFCFE;
}
.package-browser-v17 .package-v16-optional-item strong {
    min-width: 0;
    color: #263552;
    font-size: .57rem;
    line-height: 1.2;
}
.package-browser-v17 .package-v16-optional-item span {
    color: var(--ce-red);
    font-size: .52rem;
    font-weight: 800;
    white-space: nowrap;
}
.package-browser-v17 .package-v16-empty-line {
    grid-column: 1 / -1;
    padding: 14px;
    color: #7C8BA5;
    font-size: .58rem;
    line-height: 1.4;
}

.package-browser-v17.is-idle .package-selector-chip.is-active { animation: packageV17ActiveBreath 4.8s ease-in-out infinite; }
.package-browser-v17.is-idle .package-v17-price { animation: packageV17PriceFloat 5.6s ease-in-out infinite; }
.package-browser-v17.is-idle .package-v16-amenity-check { animation: packageV17CheckBreathe 5s ease-in-out infinite; }
@keyframes packageV17ActiveBreath { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes packageV17PriceFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes packageV17CheckBreathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.035); } }

@media (max-width: 1180px) {
    .package-stage-section.package-browser-v17 { min-height: 0; }
    .package-v17-shell { min-height: 0; }
    .package-v17-board { grid-template-columns: 1fr; }
    .package-v17-summary {
        display: grid;
        grid-template-columns: minmax(0,1.25fr) minmax(180px,.55fr);
        gap: 18px;
        align-items: end;
    }
    .package-v17-price { margin-top: 0; }
    .package-v17-summary-meta,
    .package-v17-cta { grid-column: 1 / -1; }
    .package-v17-summary-meta { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .package-v17-cta { margin-top: 0; padding-top: 0; }
}
@media (max-width: 860px) {
    .package-v17-content {
        grid-template-columns: 1fr;
        grid-template-areas: "included" "guests" "optional";
    }
    .package-v17-amenity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .package-v17-selector-row { grid-template-columns: 1fr; }
    .package-v17-controls { justify-content: flex-end; }
    .package-browser-v17 .package-selector-chip { flex-basis: min(78vw,230px); }
    .package-v17-summary { display: flex; }
    .package-v17-summary-meta { grid-template-columns: 1fr; width: 100%; }
    .package-v17-amenity-grid { grid-template-columns: 1fr; }
    .package-v17-tier-grid { grid-template-columns: 1fr; }
    .package-v17-optional-grid { grid-template-columns: 1fr; }
    .package-v17-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .package-browser-v17 * { animation: none !important; } }

.package-stage-section.package-browser-v17 {
    padding-bottom: clamp(28px, 3.4vh, 42px);
}

.package-v17-shell {
    gap: 12px;
}

.package-v17-selector-row {
    padding-bottom: 10px;
}

.package-v17-controls .package-nav-button.ce-system-button {
    border-color: #08114D;
    background: linear-gradient(145deg,#07124A 0%,#0B1E69 100%);
    box-shadow: 0 12px 28px rgba(8,17,77,.14);
}
.package-v17-controls .package-nav-button .ce-system-copy,
.package-v17-controls .package-nav-button .ce-system-icon {
    color: #FFFFFF;
}
.package-v17-controls .package-nav-button .ce-system-icon {
    border-color: rgba(255,255,255,.12);
    background: rgba(255,255,255,.08);
}
.package-v17-controls .package-nav-button:hover,
.package-v17-controls .package-nav-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(8,17,77,.18);
}

.package-v17-board {
    align-items: start;
}

.package-v17-summary {
    overflow: hidden;
}

.package-v17-summary::after {
    content: "";
    position: absolute;
    inset: auto -20% -18% auto;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(95,140,255,.18) 0%, rgba(95,140,255,.07) 36%, transparent 74%);
    pointer-events: none;
}

.package-v17-summary-copy,
.package-v17-price,
.package-v17-summary-meta,
.package-v17-cta {
    position: relative;
    z-index: 1;
}

.package-v17-cta {
    width: 100%;
    max-width: 304px;
    margin-top: 18px;
    padding-top: 0;
}

.package-v17-cta.ce-system-button {
    min-height: 58px;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 8px 8px 18px;
    border-color: #0B1E69;
    background: linear-gradient(145deg,#07124A 0%,#0B1E69 100%);
    box-shadow: 0 16px 34px rgba(8,17,77,.18);
}
.package-v17-cta.ce-system-button .ce-system-copy {
    color: #FFFFFF;
    font-size: .82rem;
    font-weight: 800;
}
.package-v17-cta.ce-system-button .ce-system-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    color: #FFFFFF;
    border-color: rgba(255,255,255,.12);
    background: rgba(255,255,255,.09);
}
.package-v17-cta.ce-system-button:hover,
.package-v17-cta.ce-system-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 20px 38px rgba(8,17,77,.22);
}

.package-v17-content {
    align-items: start;
    grid-auto-rows: min-content;
    padding: 13px;
}
.package-v17-panel {
    align-self: start;
}

.package-v17-panel-head {
    padding: 12px 14px 10px;
}
.package-v17-panel-head > div > strong {
    font-size: .86rem;
}

.package-v17-guests {
    overflow: visible;
}

.package-v17-tier-grid {
    grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
    align-content: start;
    gap: 10px;
    padding: 10px;
}

.package-browser-v17 .package-tier-chip {
    min-height: 74px;
    grid-template-columns: 34px minmax(0,1fr) auto;
    grid-template-rows: auto;
    align-items: center;
    gap: 0 10px;
    padding: 10px 12px;
    border-radius: 14px 14px 14px 5px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBFCFF 100%);
    box-shadow: 0 8px 18px rgba(8,17,77,.04);
    transition: transform 260ms var(--ease-out), border-color 220ms ease, box-shadow 260ms ease;
}
.package-browser-v17 .package-tier-chip::after {
    left: 12px;
    width: 40px;
}
.package-browser-v17 .package-tier-chip small {
    grid-row: auto;
    grid-column: 1;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1px solid #D6E0EF;
    background: #F3F7FF;
    color: #274A9A;
    font-weight: 800;
}
.package-browser-v17 .package-tier-chip strong {
    grid-column: 2;
    align-self: center;
    font-size: .86rem;
    line-height: 1.15;
}
.package-browser-v17 .package-tier-chip b {
    grid-column: 3;
    align-self: center;
    font-size: .86rem;
}
.package-browser-v17 .package-tier-chip:hover,
.package-browser-v17 .package-tier-chip:focus-within {
    transform: translateY(-3px);
    border-color: rgba(30,58,138,.22);
    box-shadow: 0 16px 30px rgba(8,17,77,.09);
}

.package-browser-v17 .package-v16-amenity-item,
.package-browser-v17 .package-v16-optional-item {
    transition: transform 220ms var(--ease-out), border-color 220ms ease, box-shadow 220ms ease;
}
.package-browser-v17 .package-v16-amenity-item:hover,
.package-browser-v17 .package-v16-optional-item:hover {
    transform: translateY(-2px);
    border-color: rgba(30,58,138,.16);
    box-shadow: 0 10px 24px rgba(8,17,77,.06);
}

.package-browser-v17.has-action-pulse .package-v17-board {
    animation: packageV18BoardPulse .5s ease;
}

.package-browser-v17.is-idle .package-v17-summary::after {
    animation: packageV18Ambient 6.6s ease-in-out infinite alternate;
}
.package-browser-v17.is-idle .package-tier-chip:nth-child(4n + 1) { animation: packageV18TierFloatA 5s ease-in-out infinite; }
.package-browser-v17.is-idle .package-tier-chip:nth-child(4n + 2) { animation: packageV18TierFloatB 5.4s ease-in-out .12s infinite; }
.package-browser-v17.is-idle .package-tier-chip:nth-child(4n + 3) { animation: packageV18TierFloatC 5.8s ease-in-out .24s infinite; }
.package-browser-v17.is-idle .package-tier-chip:nth-child(4n + 4) { animation: packageV18TierFloatD 5.2s ease-in-out .18s infinite; }

.motion-ready .package-browser-v17.is-entering-forward .package-v17-summary,
.motion-ready .package-browser-v17.is-entering-backward .package-v17-summary {
    animation: packageV18SummaryIn .72s cubic-bezier(.22,1,.36,1) both;
}
.motion-ready .package-browser-v17.is-entering-forward .package-v17-included,
.motion-ready .package-browser-v17.is-entering-backward .package-v17-included {
    animation: packageV18PanelIn .7s cubic-bezier(.22,1,.36,1) .08s both;
}
.motion-ready .package-browser-v17.is-entering-forward .package-v17-guests,
.motion-ready .package-browser-v17.is-entering-backward .package-v17-guests {
    animation: packageV18PanelIn .7s cubic-bezier(.22,1,.36,1) .14s both;
}
.motion-ready .package-browser-v17.is-entering-forward .package-v17-optional,
.motion-ready .package-browser-v17.is-entering-backward .package-v17-optional {
    animation: packageV18PanelIn .7s cubic-bezier(.22,1,.36,1) .2s both;
}
.motion-ready .package-browser-v17.is-retracting-forward .package-v17-summary,
.motion-ready .package-browser-v17.is-retracting-backward .package-v17-summary,
.motion-ready .package-browser-v17.is-retracting-forward .package-v17-panel,
.motion-ready .package-browser-v17.is-retracting-backward .package-v17-panel {
    animation: packageV18PanelOut .34s ease both;
}

.package-browser-v17 .package-focus-card.is-entering-right .package-v17-summary,
.package-browser-v17 .package-focus-card.is-entering-left .package-v17-summary {
    animation: packageV18SwapSummary .56s cubic-bezier(.22,1,.36,1) both;
}
.package-browser-v17 .package-focus-card.is-entering-right .package-v17-panel,
.package-browser-v17 .package-focus-card.is-entering-left .package-v17-panel {
    animation: packageV18SwapPanel .58s cubic-bezier(.22,1,.36,1) both;
}
.package-browser-v17 .package-focus-card.is-entering-right .package-tier-chip,
.package-browser-v17 .package-focus-card.is-entering-left .package-tier-chip {
    animation: packageV18SwapTier .46s cubic-bezier(.22,1,.36,1) both;
}
.package-browser-v17 .package-focus-card.is-entering-right .package-tier-chip:nth-child(2),
.package-browser-v17 .package-focus-card.is-entering-left .package-tier-chip:nth-child(2) { animation-delay: 70ms; }
.package-browser-v17 .package-focus-card.is-entering-right .package-tier-chip:nth-child(3),
.package-browser-v17 .package-focus-card.is-entering-left .package-tier-chip:nth-child(3) { animation-delay: 120ms; }
.package-browser-v17 .package-focus-card.is-entering-right .package-tier-chip:nth-child(4),
.package-browser-v17 .package-focus-card.is-entering-left .package-tier-chip:nth-child(4) { animation-delay: 170ms; }
.package-browser-v17 .package-focus-card.is-leaving-left,
.package-browser-v17 .package-focus-card.is-leaving-right {
    opacity: .82;
    transform: translate3d(0, 8px, 0) scale(.992);
    transition: opacity 180ms ease, transform 180ms ease;
}

@keyframes packageV18BoardPulse {
    0% { transform: scale(1); box-shadow: 0 20px 46px rgba(8,17,77,.075); }
    45% { transform: scale(.996); box-shadow: 0 26px 54px rgba(8,17,77,.11); }
    100% { transform: scale(1); box-shadow: 0 20px 46px rgba(8,17,77,.075); }
}
@keyframes packageV18Ambient {
    0% { transform: translate3d(0,0,0) scale(1); opacity: .84; }
    100% { transform: translate3d(-10px,-10px,0) scale(1.08); opacity: 1; }
}
@keyframes packageV18TierFloatA { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes packageV18TierFloatB { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes packageV18TierFloatC { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes packageV18TierFloatD { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes packageV18SummaryIn {
    from { opacity: 0; transform: translate3d(-18px, 20px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes packageV18PanelIn {
    from { opacity: 0; transform: translate3d(0, 20px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes packageV18PanelOut {
    from { opacity: 1; transform: translate3d(0,0,0); }
    to { opacity: 0; transform: translate3d(0,-10px,0); }
}
@keyframes packageV18SwapSummary {
    from { opacity: 0; transform: translate3d(18px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes packageV18SwapPanel {
    from { opacity: 0; transform: translate3d(12px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes packageV18SwapTier {
    from { opacity: 0; transform: translate3d(0, 12px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (max-width: 1180px) {
    .package-v17-content {
        grid-template-columns: 1fr;
        grid-template-areas: "included" "guests" "optional";
    }
    .package-v17-cta {
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .package-v17-controls { gap: 10px; }
    .package-v17-controls .package-nav-button.ce-system-button { width: 52px; min-width: 52px; height: 52px; min-height: 52px; }
    .package-v17-controls .package-nav-button .ce-system-icon { width: 40px; height: 40px; flex-basis: 40px; }
    .package-v17-cta.ce-system-button { padding-left: 16px; }
    .package-v17-tier-grid { grid-template-columns: 1fr; }
    .package-browser-v17 .package-tier-chip { grid-template-columns: 32px minmax(0,1fr) auto; }
}

.package-stage-section.package-browser-v19 {
    height: auto !important;
    min-height: calc(100svh - var(--nav-height));
    overflow: visible !important;
    padding: clamp(24px, 3vh, 36px) 0 clamp(34px, 4vh, 50px);
    background:
        linear-gradient(rgba(8,17,77,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8,17,77,.018) 1px, transparent 1px),
        #F4F7FC;
    background-size: 118px 118px;
}
.package-stage-section.package-browser-v19::before,
.package-stage-section.package-browser-v19::after { display: none !important; }

.package-v19-shell {
    width: min(100%, 1680px);
    min-height: 0 !important;
    height: auto !important;
    display: grid;
    grid-template-rows: auto auto auto;
    align-content: start;
    gap: 13px;
}

.package-v19-heading .package-stage-heading-copy {
    max-width: 1040px;
}
.package-v19-heading h2 {
    max-width: 900px;
    font-size: clamp(2rem, 3vw, 3.45rem);
    line-height: .96;
}
.package-v19-heading .package-stage-heading-copy > p {
    max-width: 820px;
}

.package-v19-selector-row {
    padding-bottom: 11px;
}
.package-v19-selector-track {
    gap: 9px;
}
.package-browser-v19 .package-selector-chip {
    flex: 0 0 clamp(190px, 17vw, 238px);
    min-height: 58px;
}
.package-v19-controls .package-nav-button.ce-system-button {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 5px;
    border-color: #08114D;
    background: linear-gradient(145deg,#07124A 0%,#0B1E69 100%);
    box-shadow: 0 12px 28px rgba(8,17,77,.14);
}
.package-v19-controls .package-nav-button .ce-system-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    color: #FFFFFF;
    border-color: rgba(255,255,255,.12);
    background: rgba(255,255,255,.08);
}

.package-v19-stage,
.package-v19-stage .package-browser-content {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.package-v19-board {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    overflow: hidden;
    border: 1px solid #D8E2EF;
    border-radius: 28px 28px 28px 9px;
    background: #FFFFFF;
    box-shadow: 0 20px 46px rgba(8,17,77,.075);
}
.package-v19-board::before,
.package-v19-board::after { display: none !important; }

.package-v19-hero {
    position: relative;
    isolation: isolate;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(300px, 1.25fr) minmax(170px, .45fr) minmax(330px, .9fr) auto;
    gap: clamp(22px, 2.2vw, 34px);
    align-items: center;
    padding: clamp(24px, 2.2vw, 34px) clamp(26px, 2.6vw, 40px);
    color: #FFFFFF;
    background:
        radial-gradient(circle at 78% 18%, rgba(94,135,236,.20), transparent 28%),
        linear-gradient(112deg,#050E34 0%,#081851 50%,#12327E 100%);
}
.package-v19-hero::before {
    content: "";
    position: absolute;
    top: 24px;
    bottom: 24px;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: var(--ce-red);
}
.package-v19-hero::after {
    content: "";
    position: absolute;
    top: 0;
    left: -26%;
    width: 18%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.09) 50%, transparent 100%);
    transform: skewX(-12deg);
}

.package-v19-identity {
    min-width: 0;
}
.package-v19-identity h3 {
    margin: 10px 0 0;
    color: #FFFFFF;
    font-size: clamp(2rem, 2.8vw, 3.3rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.055em;
}
.package-v19-identity p {
    max-width: 500px;
    margin: 10px 0 0;
    color: rgba(235,241,255,.74);
    font-size: clamp(.66rem, .72vw, .78rem);
    line-height: 1.55;
}

.package-v19-price {
    padding-left: clamp(18px, 1.7vw, 28px);
    border-left: 1px solid rgba(255,255,255,.14);
}
.package-v19-price span,
.package-v19-price strong { display: block; }
.package-v19-price span {
    color: rgba(225,233,250,.64);
    font-size: .50rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.package-v19-price strong {
    margin-top: 6px;
    color: #FFFFFF;
    font-size: clamp(1.8rem, 2.35vw, 2.65rem);
    line-height: 1;
    letter-spacing: -.055em;
    white-space: nowrap;
}

.package-v19-meta {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
}
.package-v19-meta > div {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 13px;
    background: rgba(255,255,255,.055);
}
.package-v19-meta span,
.package-v19-meta strong { display: block; }
.package-v19-meta span {
    color: rgba(223,231,248,.62);
    font-size: .45rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.package-v19-meta strong {
    margin-top: 5px;
    overflow: hidden;
    color: #FFFFFF;
    font-size: .62rem;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.package-v19-cta.ce-system-button {
    min-width: 218px;
    min-height: 56px;
    padding: 7px 7px 7px 17px;
    justify-content: space-between;
    border-color: rgba(255,255,255,.16);
    background: #FFFFFF;
    box-shadow: 0 14px 30px rgba(3,8,35,.15);
}
.package-v19-cta.ce-system-button .ce-system-copy {
    color: var(--ce-navy);
    font-size: .73rem;
    font-weight: 800;
}
.package-v19-cta.ce-system-button .ce-system-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    color: #FFFFFF;
    border-color: rgba(8,17,77,.14);
    background: var(--ce-navy);
}
.package-v19-cta.ce-system-button:hover,
.package-v19-cta.ce-system-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(3,8,35,.20);
}
.package-v19-cta.ce-system-button:hover .ce-system-icon,
.package-v19-cta.ce-system-button:focus-visible .ce-system-icon {
    border-color: var(--ce-red);
    background: var(--ce-red);
}

.package-v19-body {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
    gap: 12px;
    align-items: start;
    padding: 14px 14px 0;
    background: #F8FAFD;
}

.package-v19-panel {
    min-width: 0;
    align-self: start;
    overflow: hidden;
    border: 1px solid #DDE5F0;
    border-radius: 20px 20px 20px 6px;
    background: #FFFFFF;
}
.package-v19-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 15px 11px;
    border-bottom: 1px solid #E5EAF2;
}
.package-v19-panel-head > div > span,
.package-v19-panel-head > div > strong { display: block; }
.package-v19-panel-head > div > span {
    color: var(--ce-red);
    font-size: .47rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.package-v19-panel-head > div > strong {
    margin-top: 4px;
    color: var(--ce-navy);
    font-size: .82rem;
    line-height: 1.2;
}
.package-v19-panel-head > b {
    flex: 0 0 auto;
    color: #8090AA;
    font-size: .50rem;
    font-weight: 800;
    white-space: nowrap;
}

.package-v19-amenity-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
    padding: 10px;
}
.package-browser-v19 .package-v16-amenity-item {
    min-width: 0;
    min-height: 40px;
    display: grid;
    grid-template-columns: 26px minmax(0,1fr);
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid #E1E8F2;
    border-radius: 12px 12px 12px 4px;
    background: #FBFCFE;
    transition: transform 220ms var(--ease-out), border-color 220ms ease, box-shadow 220ms ease;
}
.package-browser-v19 .package-v16-amenity-item:hover {
    transform: translateY(-2px);
    border-color: rgba(30,58,138,.16);
    box-shadow: 0 10px 22px rgba(8,17,77,.055);
}
.package-browser-v19 .package-v16-amenity-check {
    width: 26px;
    height: 26px;
    border-radius: 8px;
}
.package-browser-v19 .package-v16-amenity-item strong {
    overflow: hidden;
    color: #21304E;
    font-size: .60rem;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.package-v19-tier-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 10px !important;
}
.package-browser-v19 .package-tier-chip {
    position: relative;
    width: 100%;
    min-width: 0 !important;
    min-height: 48px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(90px,1fr) auto !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 10px !important;
    border: 1px solid #E0E7F1 !important;
    border-radius: 11px 11px 11px 4px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    transition: transform 220ms var(--ease-out), border-color 220ms ease, box-shadow 220ms ease !important;
}
.package-browser-v19 .package-tier-chip::after {
    content: "" !important;
    position: absolute !important;
    left: 10px !important;
    right: auto !important;
    bottom: 0 !important;
    width: 34px !important;
    height: 2px !important;
    background: var(--ce-red) !important;
    transform: none !important;
}
.package-browser-v19 .package-tier-chip small {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    border: 1px solid #D6E0EF !important;
    border-radius: 9px !important;
    color: #274A9A !important;
    background: #F3F7FF !important;
    font-size: .50rem !important;
    font-weight: 800 !important;
}
.package-browser-v19 .package-tier-chip strong {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    margin: 0 !important;
    color: var(--ce-navy) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}
.package-browser-v19 .package-tier-chip b {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
    margin: 0 !important;
    color: #17367D !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}
.package-browser-v19 .package-tier-chip:hover {
    transform: translateX(3px) !important;
    border-color: rgba(30,58,138,.20) !important;
    box-shadow: 0 10px 22px rgba(8,17,77,.06) !important;
}
.package-browser-v19 .package-tier-chip.is-empty {
    grid-template-columns: 1fr !important;
    min-height: 58px !important;
    place-items: center !important;
}

.package-v19-optional {
    margin: 12px 14px 14px;
}
.package-v19-optional-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    gap: 7px;
    padding: 9px 10px 10px;
}
.package-browser-v19 .package-v16-optional-item {
    min-width: 0;
    min-height: 44px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid #E0E7F1;
    border-radius: 11px 11px 11px 4px;
    background: #FBFCFE;
    transition: transform 220ms var(--ease-out), border-color 220ms ease, box-shadow 220ms ease;
}
.package-browser-v19 .package-v16-optional-item:hover {
    transform: translateY(-2px);
    border-color: rgba(30,58,138,.16);
    box-shadow: 0 10px 22px rgba(8,17,77,.055);
}
.package-browser-v19 .package-v16-optional-item strong {
    color: #263552;
    font-size: .58rem;
    line-height: 1.2;
}
.package-browser-v19 .package-v16-optional-item span {
    color: var(--ce-red);
    font-size: .53rem;
    font-weight: 800;
    white-space: nowrap;
}

.package-browser-v19.is-idle .package-v19-hero::after {
    animation: packageV19HeroSweep 8s ease-in-out infinite;
}
.package-browser-v19.is-idle .package-selector-chip.is-active::after {
    animation: packageV19UnderlinePulse 3.8s ease-in-out infinite;
}

.motion-ready .package-browser-v19.is-entering-forward .package-v19-heading .package-stage-heading-copy,
.motion-ready .package-browser-v19.is-entering-backward .package-v19-heading .package-stage-heading-copy {
    animation: packageV19HeadingIn .62s cubic-bezier(.22,1,.36,1) both;
}
.motion-ready .package-browser-v19.is-entering-forward .package-v19-selector-row,
.motion-ready .package-browser-v19.is-entering-backward .package-v19-selector-row {
    animation: packageV19SelectorIn .66s cubic-bezier(.22,1,.36,1) .06s both;
}
.motion-ready .package-browser-v19.is-entering-forward .package-v19-hero,
.motion-ready .package-browser-v19.is-entering-backward .package-v19-hero {
    animation: packageV19HeroIn .76s cubic-bezier(.22,1,.36,1) .10s both;
}
.motion-ready .package-browser-v19.is-entering-forward .package-v19-body,
.motion-ready .package-browser-v19.is-entering-backward .package-v19-body {
    animation: packageV19BodyIn .76s cubic-bezier(.22,1,.36,1) .16s both;
}
.motion-ready .package-browser-v19.is-entering-forward .package-v19-optional,
.motion-ready .package-browser-v19.is-entering-backward .package-v19-optional {
    animation: packageV19OptionalIn .72s cubic-bezier(.22,1,.36,1) .22s both;
}
.motion-ready .package-browser-v19.is-retracting-forward .package-v19-hero,
.motion-ready .package-browser-v19.is-retracting-backward .package-v19-hero,
.motion-ready .package-browser-v19.is-retracting-forward .package-v19-body,
.motion-ready .package-browser-v19.is-retracting-backward .package-v19-body,
.motion-ready .package-browser-v19.is-retracting-forward .package-v19-optional,
.motion-ready .package-browser-v19.is-retracting-backward .package-v19-optional {
    animation: packageV19Out .36s ease both;
}

.package-browser-v19 .package-focus-card.is-leaving-left,
.package-browser-v19 .package-focus-card.is-leaving-right {
    opacity: .72 !important;
    transform: translate3d(0,5px,0) scale(.996) !important;
    transition: opacity 150ms ease, transform 150ms ease !important;
}
.package-browser-v19 .package-focus-card.is-entering-right .package-v19-identity,
.package-browser-v19 .package-focus-card.is-entering-left .package-v19-identity,
.package-browser-v19 .package-focus-card.is-entering-right .package-v19-price,
.package-browser-v19 .package-focus-card.is-entering-left .package-v19-price,
.package-browser-v19 .package-focus-card.is-entering-right .package-v19-meta,
.package-browser-v19 .package-focus-card.is-entering-left .package-v19-meta {
    animation: packageV19SwapHero .52s cubic-bezier(.22,1,.36,1) both;
}
.package-browser-v19 .package-focus-card.is-entering-right .package-tier-chip,
.package-browser-v19 .package-focus-card.is-entering-left .package-tier-chip {
    animation: packageV19TierIn .44s cubic-bezier(.22,1,.36,1) calc(var(--tier-order,0) * 55ms) both !important;
}

@keyframes packageV19HeroSweep {
    0%,55% { left:-26%; opacity:0; }
    66% { opacity:.9; }
    82% { left:112%; opacity:.6; }
    100% { left:112%; opacity:0; }
}
@keyframes packageV19UnderlinePulse {
    0%,100% { opacity:1; }
    50% { opacity:.55; }
}
@keyframes packageV19HeadingIn {
    from { opacity:0; transform:translate3d(0,22px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes packageV19SelectorIn {
    from { opacity:0; transform:translate3d(0,16px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes packageV19HeroIn {
    from { opacity:0; transform:translate3d(0,22px,0) scale(.992); }
    to { opacity:1; transform:translate3d(0,0,0) scale(1); }
}
@keyframes packageV19BodyIn {
    from { opacity:0; transform:translate3d(0,18px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes packageV19OptionalIn {
    from { opacity:0; transform:translate3d(0,16px,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes packageV19Out {
    from { opacity:1; transform:translate3d(0,0,0); }
    to { opacity:0; transform:translate3d(0,-10px,0); }
}
@keyframes packageV19SwapHero {
    from { opacity:0; transform:translate3d(14px,0,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes packageV19TierIn {
    from { opacity:0; transform:translate3d(12px,0,0); }
    to { opacity:1; transform:translate3d(0,0,0); }
}

@media (max-width: 1250px) {
    .package-v19-hero {
        grid-template-columns: minmax(280px,1.2fr) minmax(160px,.45fr) minmax(260px,.85fr);
    }
    .package-v19-cta { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 980px) {
    .package-v19-body { grid-template-columns: 1fr; }
    .package-v19-hero { grid-template-columns: 1fr 1fr; }
    .package-v19-meta { grid-column: 1 / -1; }
    .package-v19-cta { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
    .package-v19-selector-row { grid-template-columns: 1fr; }
    .package-v19-controls { justify-content: flex-end; }
    .package-browser-v19 .package-selector-chip { flex-basis:min(78vw,230px); }
    .package-v19-hero { grid-template-columns: 1fr; }
    .package-v19-price { padding-left:0; padding-top:14px; border-left:0; border-top:1px solid rgba(255,255,255,.14); }
    .package-v19-meta { grid-template-columns:1fr; }
    .package-v19-cta.ce-system-button { width:100%; min-width:0; }
    .package-v19-amenity-grid { grid-template-columns:1fr; }
    .package-v19-optional-grid { grid-template-columns:1fr; }
    .package-browser-v19 .package-tier-chip { grid-template-columns:34px minmax(0,1fr) auto !important; }
}
@media (prefers-reduced-motion: reduce) {
    .package-browser-v19 * { animation:none !important; transition-duration:.01ms !important; }
}

.package-browser-v19 .package-v20-body {
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    grid-template-areas:
        "included guests"
        "included optional";
    gap: 12px;
    padding: 14px;
    background: #F8FAFD;
    align-items: start;
}
.package-browser-v19 .package-v20-included { grid-area: included; height: 100%; }
.package-browser-v19 .package-v20-guests { grid-area: guests; }
.package-browser-v19 .package-v20-optional { grid-area: optional; margin: 0; }

.package-browser-v19 .package-v20-included,
.package-browser-v19 .package-v20-guests,
.package-browser-v19 .package-v20-optional {
    border-radius: 18px 18px 18px 6px;
    background: #FFFFFF;
}

.package-browser-v19 .package-v20-amenity-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
    padding: 12px;
}
.package-browser-v19 .package-v20-amenity-grid .package-v16-empty-line {
    grid-column: 1 / -1;
}

.package-browser-v19 .package-v20-tier-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 12px !important;
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
}
.package-browser-v19 .package-v20-tier-list .package-tier-chip {
    min-height: 56px !important;
    padding: 9px 12px !important;
    grid-template-columns: 36px minmax(0,1fr) auto !important;
    border-radius: 14px 14px 14px 5px !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBFCFE 100%) !important;
    box-shadow: 0 4px 12px rgba(8,17,77,.03) !important;
}
.package-browser-v19 .package-v20-tier-list .package-tier-chip::after {
    left: 12px !important;
    width: 42px !important;
}
.package-browser-v19 .package-v20-tier-list .package-tier-chip strong {
    white-space: normal !important;
    font-size: .74rem !important;
}
.package-browser-v19 .package-v20-tier-list .package-tier-chip b {
    font-size: .74rem !important;
}

.package-browser-v19 .package-v20-optional-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 7px;
    padding: 12px;
}
.package-browser-v19 .package-v20-optional-grid .package-v16-empty-line {
    grid-column: 1 / -1;
}
.package-browser-v19 .package-v20-optional-grid .package-v16-optional-item {
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 12px 12px 12px 4px;
}
.package-browser-v19 .package-v20-optional-grid .package-v16-optional-item strong {
    font-size: .6rem;
}
.package-browser-v19 .package-v20-optional-grid .package-v16-optional-item span {
    font-size: .54rem;
}

.package-browser-v19 .package-v19-panel-head > div > strong {
    font-size: .86rem;
}

.package-browser-v19 .package-v19-hero {
    grid-template-columns: minmax(280px, 1.2fr) minmax(170px,.45fr) minmax(300px,.95fr) auto;
    padding: 22px 26px;
}
.package-browser-v19 .package-v19-identity p {
    max-width: 420px;
}
.package-browser-v19 .package-v19-meta {
    gap: 10px;
}
.package-browser-v19 .package-v19-meta > div {
    padding: 10px 11px;
}

.package-browser-v19.is-idle .package-v20-tier-list .package-tier-chip:nth-child(3n+1) { animation: packageV20RowFloat 6s ease-in-out infinite; }
.package-browser-v19.is-idle .package-v20-tier-list .package-tier-chip:nth-child(3n+2) { animation: packageV20RowFloat 6.6s ease-in-out .18s infinite; }
.package-browser-v19.is-idle .package-v20-tier-list .package-tier-chip:nth-child(3n+3) { animation: packageV20RowFloat 7s ease-in-out .32s infinite; }
.package-browser-v19.is-idle .package-v20-optional-grid .package-v16-optional-item:nth-child(2n+1) { animation: packageV20SubtleLift 6.4s ease-in-out infinite; }
.package-browser-v19.is-idle .package-v20-optional-grid .package-v16-optional-item:nth-child(2n) { animation: packageV20SubtleLift 6.8s ease-in-out .2s infinite; }

@keyframes packageV20RowFloat {
  0%,100% { transform: translateX(0); }
  50% { transform: translateX(2px); }
}
@keyframes packageV20SubtleLift {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

@media (max-width: 1180px) {
  .package-browser-v19 .package-v20-body {
    grid-template-columns: 1fr;
    grid-template-areas:
      "included"
      "guests"
      "optional";
  }
}
@media (max-width: 720px) {
  .package-browser-v19 .package-v20-amenity-grid,
  .package-browser-v19 .package-v20-optional-grid {
    grid-template-columns: 1fr;
  }
}

.package-stage-section.package-showcase-v23 {
    position: relative;
    isolation: isolate;
    height: auto !important;
    min-height: calc(100svh - var(--nav-height));
    overflow: hidden;
    padding: clamp(70px, 8vw, 126px) 0 clamp(74px, 8vw, 132px);
    background:
        radial-gradient(circle at 8% 14%, rgba(30, 58, 138, .07), transparent 30%),
        radial-gradient(circle at 92% 86%, rgba(220, 38, 38, .045), transparent 24%),
        #F7F9FC;
}

.package-stage-section.package-showcase-v23::after {
    display: none !important;
}

.package-stage-section.package-showcase-v23::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .34;
    background-image:
        linear-gradient(rgba(8, 17, 77, .026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8, 17, 77, .026) 1px, transparent 1px);
    background-size: 96px 96px;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent);
}

.package-editorial-shell {
    width: min(100%, 1540px);
    margin: 0 auto;
    padding: 0 var(--page-inline);
}

.package-editorial-heading {
    max-width: 860px;
    margin: 0 auto clamp(30px, 4vw, 54px);
    text-align: center;
}

.package-editorial-heading .package-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ce-red);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.package-editorial-heading .package-section-kicker::before,
.package-editorial-heading .package-section-kicker::after {
    content: "";
    width: 24px;
    height: 1px;
    background: rgba(220, 38, 38, .38);
}

.package-editorial-heading h2 {
    max-width: 820px;
    margin: 13px auto 0;
    color: var(--ce-navy);
    font-size: clamp(2.25rem, 4.4vw, 4.7rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.06em;
    text-wrap: balance;
}

.package-editorial-heading p {
    max-width: 710px;
    margin: 18px auto 0;
    color: #697992;
    font-size: clamp(.76rem, .9vw, .95rem);
    line-height: 1.75;
    text-wrap: balance;
}

.package-editorial-nav-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
    margin-bottom: 18px;
}

.package-editorial-selector {
    min-width: 0;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 8px;
    scrollbar-width: none;
}

.package-editorial-selector::-webkit-scrollbar {
    display: none;
}

.package-editorial-tab {
    position: relative;
    flex: 0 0 clamp(184px, 18vw, 248px);
    min-height: 68px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid #DCE4EF;
    color: #74839B;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: color 220ms ease, border-color 220ms ease, transform 300ms var(--ease-out);
}

.package-editorial-tab::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: var(--ce-red);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 360ms var(--ease-out);
}

.package-editorial-tab small {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid #DCE4EF;
    border-radius: 50%;
    color: #8A98AD;
    background: rgba(255, 255, 255, .72);
    font-size: .54rem;
    font-style: normal;
    font-weight: 800;
    transition: color 220ms ease, border-color 220ms ease, background 220ms ease;
}

.package-editorial-tab > span {
    min-width: 0;
    display: block;
}

.package-editorial-tab strong,
.package-editorial-tab em {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.package-editorial-tab strong {
    color: currentColor;
    font-size: .73rem;
    font-weight: 800;
    line-height: 1.2;
}

.package-editorial-tab em {
    margin-top: 5px;
    color: #92A0B5;
    font-size: .54rem;
    font-style: normal;
    font-weight: 600;
}

.package-editorial-tab:hover,
.package-editorial-tab:focus-visible {
    color: var(--ce-navy);
    border-bottom-color: #BBC9DB;
    outline: none;
    transform: translateY(-1px);
}

.package-editorial-tab.is-active {
    color: var(--ce-navy);
    border-bottom-color: rgba(8, 17, 77, .3);
}

.package-editorial-tab.is-active::after {
    transform: scaleX(1);
}

.package-editorial-tab.is-active small {
    color: #FFFFFF;
    border-color: var(--ce-navy);
    background: var(--ce-navy);
}

.package-editorial-tab:disabled {
    cursor: default;
    transform: none;
}

.package-editorial-controls {
    display: flex;
    gap: 8px;
    padding-bottom: 8px;
}

.package-editorial-arrow {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #D6DFEB;
    border-radius: 50%;
    color: var(--ce-navy);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 8px 22px rgba(8, 17, 77, .055);
    cursor: pointer;
    transition: color 200ms ease, border-color 200ms ease, background 200ms ease, transform 300ms var(--ease-out), box-shadow 260ms ease;
}

.package-editorial-arrow svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.package-editorial-arrow:hover,
.package-editorial-arrow:focus-visible {
    color: #FFFFFF;
    border-color: var(--ce-navy);
    background: var(--ce-navy);
    box-shadow: 0 12px 26px rgba(8, 17, 77, .14);
    transform: translateY(-2px);
    outline: none;
}

.package-editorial-arrow:disabled {
    opacity: .34;
    cursor: default;
    transform: none;
    box-shadow: none;
}

.package-v23-stage {
    position: relative;
}

.package-editorial-card {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr);
    overflow: hidden;
    border: 1px solid #E0E6EF;
    border-radius: 34px 34px 34px 10px;
    background: #FFFFFF;
    box-shadow: 0 28px 70px rgba(8, 17, 77, .10);
    transition: opacity 180ms ease, transform 420ms var(--ease-out);
}

.package-editorial-card.is-reversed .package-editorial-visual {
    order: 2;
}

.package-editorial-card.is-reversed .package-editorial-details {
    order: 1;
}

.package-editorial-card.is-leaving-left {
    opacity: 0;
    transform: translate3d(-18px, 0, 0);
}

.package-editorial-card.is-leaving-right {
    opacity: 0;
    transform: translate3d(18px, 0, 0);
}

.package-editorial-card.is-entering-left {
    animation: packageEditorialEnterLeft 520ms var(--ease-out) both;
}

.package-editorial-card.is-entering-right {
    animation: packageEditorialEnterRight 520ms var(--ease-out) both;
}

.package-editorial-visual {
    position: relative;
    isolation: isolate;
    min-height: 610px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(26px, 3vw, 46px);
    color: #FFFFFF;
    background:
        radial-gradient(circle at 78% 22%, rgba(93, 135, 238, .28), transparent 27%),
        radial-gradient(circle at 18% 82%, rgba(220, 38, 38, .13), transparent 25%),
        linear-gradient(145deg, #040B23 0%, #08164D 56%, #12327D 100%);
}

.package-editorial-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .48;
    background:
        linear-gradient(135deg, transparent 0 46%, rgba(255, 255, 255, .045) 46.2% 46.8%, transparent 47% 100%),
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: auto, 72px 72px, 72px 72px;
}

.package-editorial-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(4, 11, 35, .08), rgba(4, 11, 35, .18) 46%, rgba(4, 11, 35, .78));
    opacity: 0;
    transition: opacity 320ms ease;
}

.package-editorial-visual.has-image::after {
    opacity: 1;
}

.package-editorial-visual > img {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.025);
}

.package-editorial-visual-glow {
    position: absolute;
    z-index: 0;
    top: 30%;
    left: 42%;
    width: 54%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(103, 142, 239, .18), transparent 66%);
    filter: blur(2px);
    pointer-events: none;
}

.package-editorial-watermark,
.package-editorial-visual-copy {
    position: relative;
    z-index: 2;
}

.package-editorial-watermark {
    align-self: center;
    margin: auto 0;
    color: rgba(255, 255, 255, .07);
    font-size: clamp(9rem, 17vw, 16rem);
    font-weight: 800;
    line-height: .72;
    letter-spacing: -.1em;
    user-select: none;
}

.package-editorial-visual.has-image .package-editorial-watermark {
    color: rgba(255, 255, 255, .12);
    text-shadow: 0 12px 40px rgba(4, 11, 35, .3);
}

.package-editorial-visual-copy {
    max-width: 520px;
}

.package-editorial-visual-copy strong {
    display: block;
    margin-top: 0;
    color: #FFFFFF;
    font-size: clamp(2.1rem, 3.4vw, 4.25rem);
    font-weight: 800;
    line-height: .94;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.package-editorial-visual-copy p {
    margin: 15px 0 0;
    color: rgba(234, 240, 255, .73);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.6;
}

.package-editorial-details {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: clamp(30px, 3.4vw, 54px);
}

.package-editorial-title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(24px, 3vw, 52px);
    align-items: start;
    padding-bottom: 28px;
    border-bottom: 1px solid #E8EDF4;
}

.package-editorial-title-row .package-focus-kicker {
    color: var(--ce-red);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.package-editorial-title-row h3 {
    max-width: 620px;
    margin: 8px 0 0;
    color: var(--ce-navy);
    font-size: clamp(2rem, 3.2vw, 3.9rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.package-editorial-title-row p {
    max-width: 620px;
    margin: 13px 0 0;
    color: #708098;
    font-size: .72rem;
    line-height: 1.7;
}

.package-editorial-price {
    min-width: 172px;
    padding-left: 24px;
    border-left: 1px solid #DFE6EF;
}

.package-editorial-price span,
.package-editorial-price strong,
.package-editorial-price small {
    display: block;
}

.package-editorial-price span {
    color: #78879E;
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.package-editorial-price strong {
    margin-top: 7px;
    color: var(--ce-navy);
    font-size: clamp(1.75rem, 2.6vw, 2.8rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.055em;
    white-space: nowrap;
}

.package-editorial-price small {
    max-width: 180px;
    margin-top: 8px;
    color: #96A3B7;
    font-size: .5rem;
    font-weight: 600;
    line-height: 1.45;
}

.package-editorial-block {
    padding: 19px 0;
    border-top: 1px solid #EEF2F6;
}

.package-editorial-title-row + .package-editorial-block {
    padding-top: 20px;
}

.package-editorial-block-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.package-editorial-block-head span,
.package-editorial-block-head h4 {
    display: block;
}

.package-editorial-block-head span {
    color: #7A899E;
    font-size: .49rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.package-editorial-block-head h4 {
    margin: 4px 0 0;
    color: var(--ce-navy);
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.25;
}

.package-editorial-block-head > b {
    flex: 0 0 auto;
    color: #8998AC;
    font-size: .52rem;
    font-weight: 800;
}

.package-editorial-tiers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.package-editorial-tier {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 13px 14px;
    border: 1px solid #DEE6F0;
    border-radius: 13px;
    background: #FFFFFF;
    transition: border-color 220ms ease, box-shadow 240ms ease, transform 300ms var(--ease-out);
}

.package-editorial-tier:hover {
    border-color: #C4D0E0;
    box-shadow: 0 10px 22px rgba(8, 17, 77, .06);
    transform: translateY(-2px);
}

.package-editorial-tier small,
.package-editorial-tier strong,
.package-editorial-tier b {
    display: block;
}

.package-editorial-tier small {
    color: var(--ce-red);
    font-size: .48rem;
    font-weight: 800;
}

.package-editorial-tier strong {
    overflow: hidden;
    color: var(--ce-navy);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.package-editorial-tier b {
    color: #52657F;
    font-size: .68rem;
    font-weight: 700;
}

.package-editorial-tier.is-empty {
    grid-column: 1 / -1;
    color: #8190A5;
    font-size: .64rem;
    line-height: 1.5;
}

.package-editorial-guest-helper {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    margin-top: 11px;
    padding: 11px 13px;
    border: 1px dashed #D7E1EE;
    border-radius: 13px;
    background: #F9FBFE;
}

.package-editorial-guest-helper-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #1D4ED8;
    background: #EEF4FF;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
}

.package-editorial-guest-helper-copy {
    min-width: 0;
}

.package-editorial-guest-helper-copy h5,
.package-editorial-guest-helper-copy p {
    display: block;
}

.package-editorial-guest-helper-copy h5 {
    margin: 0;
    color: var(--ce-navy);
    font-size: .61rem;
    font-weight: 800;
    line-height: 1.35;
}

.package-editorial-guest-helper-copy p {
    margin: 3px 0 0;
    color: #72829A;
    font-size: .53rem;
    line-height: 1.5;
}

.package-editorial-amenities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
}

.package-editorial-amenity-item {
    min-width: 0;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 42px;
}

.package-editorial-amenity-check {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border: 1px solid #D7E2EF;
    border-radius: 50%;
    color: #1D4ED8;
    background: #F4F7FC;
    font-size: .62rem;
    font-weight: 800;
}

.package-editorial-amenity-item strong {
    color: #455872;
    font-size: .63rem;
    font-weight: 700;
    line-height: 1.4;
}

.package-editorial-empty-line {
    grid-column: 1 / -1;
    padding: 12px 0;
    color: #8291A6;
    font-size: .64rem;
    line-height: 1.5;
}

.package-editorial-action-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-top: auto;
    padding-top: 24px;
    border-top: 1px solid #E8EDF4;
}

.package-editorial-cta.ce-system-button {
    min-width: 228px;
}

.package-editorial-action-row p {
    max-width: 310px;
    margin: 0;
    color: #8A98AC;
    font-size: .55rem;
    line-height: 1.55;
    text-align: right;
}

.package-editorial-addons {
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid #DBE4EF;
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,250,253,.98) 100%);
    box-shadow: 0 16px 36px rgba(8, 17, 77, .05);
}

.package-editorial-addons summary {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 20px 22px;
    list-style: none;
    cursor: pointer;
}

.package-editorial-addons summary::-webkit-details-marker {
    display: none;
}

.package-editorial-addons-headline small,
.package-editorial-addons-headline strong,
.package-editorial-addons-headline p {
    display: block;
}

.package-editorial-addons-headline small {
    color: var(--ce-red);
    font-size: .47rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.package-editorial-addons-headline strong {
    margin-top: 5px;
    color: var(--ce-navy);
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.28;
}

.package-editorial-addons-headline p {
    max-width: 700px;
    margin: 7px 0 0;
    color: #64758C;
    font-size: .59rem;
    line-height: 1.6;
}

.package-editorial-addons-side {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    align-self: start;
}

.package-editorial-addons-side > b {
    padding: 9px 12px;
    border: 1px solid #D7E1EE;
    border-radius: 999px;
    color: var(--ce-navy);
    background: #FFFFFF;
    font-size: .53rem;
    font-weight: 800;
    white-space: nowrap;
}

.package-editorial-summary-icon {
    position: relative;
    width: 34px;
    height: 34px;
    border: 1px solid #D8E1ED;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 8px 18px rgba(8, 17, 77, .05);
}

.package-editorial-summary-icon::before,
.package-editorial-summary-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 1.6px;
    border-radius: 999px;
    background: var(--ce-navy);
    transform: translate(-50%, -50%);
    transition: transform 260ms var(--ease-out);
}

.package-editorial-summary-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.package-editorial-addons[open] .package-editorial-summary-icon::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.package-editorial-addons-body {
    padding: 0 22px 22px;
}

.package-editorial-addons-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 0 16px;
    border-top: 1px solid #E7EDF5;
}

.package-editorial-addons-intro > div {
    padding-top: 16px;
}

.package-editorial-addons-intro strong,
.package-editorial-addons-intro p {
    display: block;
}

.package-editorial-addons-intro strong {
    color: var(--ce-navy);
    font-size: .68rem;
    font-weight: 800;
}

.package-editorial-addons-intro p {
    max-width: 720px;
    margin: 6px 0 0;
    color: #6B7B91;
    font-size: .57rem;
    line-height: 1.6;
}

.package-editorial-addons-chip {
    flex: 0 0 auto;
    padding: 8px 11px;
    border: 1px solid #DBE4EF;
    border-radius: 999px;
    color: #5C6E87;
    background: #FFFFFF;
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .03em;
    white-space: nowrap;
}

.package-editorial-optional-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.package-editorial-optional-item {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 15px 15px;
    border: 1px solid #DEE6F1;
    border-radius: 18px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%);
    box-shadow: 0 10px 22px rgba(8, 17, 77, .035);
    transition: transform 280ms var(--ease-out), border-color 220ms ease, box-shadow 240ms ease;
}

.package-editorial-optional-item:hover {
    transform: translateY(-2px);
    border-color: #C9D5E4;
    box-shadow: 0 14px 28px rgba(8, 17, 77, .05);
}

.package-editorial-optional-mark {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid #D8E3EF;
    border-radius: 14px;
    color: var(--ce-red);
    background: linear-gradient(135deg, #FFFFFF 0%, #FFF4F4 100%);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

.package-editorial-optional-copy {
    min-width: 0;
}

.package-editorial-optional-copy small,
.package-editorial-optional-copy strong,
.package-editorial-optional-copy p {
    display: block;
}

.package-editorial-optional-copy small {
    color: #7A8AA0;
    font-size: .44rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.package-editorial-optional-copy strong {
    margin-top: 5px;
    overflow: hidden;
    color: #445874;
    font-size: .62rem;
    font-weight: 800;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.package-editorial-optional-copy p {
    margin: 5px 0 0;
    color: #8190A5;
    font-size: .52rem;
    line-height: 1.45;
}

.package-editorial-optional-price {
    flex: 0 0 auto;
    padding: 8px 11px;
    border-radius: 999px;
    color: var(--ce-navy);
    background: #EFF4FF;
    font-size: .57rem;
    font-weight: 800;
    white-space: nowrap;
}

.package-editorial-state {
    height: auto;
    margin-top: 16px;
    min-height: 150px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 24px;
    border: 1px solid #DFE6EF;
    border-radius: 20px 20px 20px 7px;
    background: #FFFFFF;
}

.package-editorial-state[hidden] {
    display: none !important;
}

.package-editorial-state .package-state-mark {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid #DAE3EF;
    border-radius: 13px;
    color: var(--ce-navy);
    background: #F5F8FC;
}

.package-editorial-state .package-state-mark svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.package-editorial-state strong,
.package-editorial-state p {
    display: block;
}

.package-editorial-state strong {
    color: var(--ce-navy);
    font-size: .82rem;
    font-weight: 800;
}

.package-editorial-state p {
    margin: 5px 0 0;
    color: #7C8CA2;
    font-size: .62rem;
    line-height: 1.55;
}

.package-v23-stage.has-no-packages > .package-editorial-card,
.package-v23-stage.has-no-packages > .package-editorial-addons,
.package-v23-stage.has-no-packages > .package-editorial-note,
.package-v23-stage.has-load-error > .package-editorial-card,
.package-v23-stage.has-load-error > .package-editorial-addons,
.package-v23-stage.has-load-error > .package-editorial-note {
    display: none;
}

.motion-ready .package-showcase-v23 .package-editorial-heading,
.motion-ready .package-showcase-v23 .package-editorial-nav-row,
.motion-ready .package-showcase-v23 .package-editorial-card,
.motion-ready .package-showcase-v23 .package-editorial-addons {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
}

.motion-ready .package-showcase-v23.is-in-view .package-editorial-heading,
.motion-ready .package-showcase-v23.is-in-view .package-editorial-nav-row,
.motion-ready .package-showcase-v23.is-in-view .package-editorial-card,
.motion-ready .package-showcase-v23.is-in-view .package-editorial-addons {
    animation: packageEditorialSectionIn 760ms var(--ease-out) both;
}

.motion-ready .package-showcase-v23.is-in-view .package-editorial-heading { animation-delay: 0ms; }
.motion-ready .package-showcase-v23.is-in-view .package-editorial-nav-row { animation-delay: 90ms; }
.motion-ready .package-showcase-v23.is-in-view .package-editorial-card { animation-delay: 160ms; }
.motion-ready .package-showcase-v23.is-in-view .package-editorial-addons { animation-delay: 230ms; }

@keyframes packageEditorialSectionIn {
    from { opacity: 0; transform: translate3d(0, 20px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packageEditorialEnterLeft {
    from { opacity: 0; transform: translate3d(-18px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes packageEditorialEnterRight {
    from { opacity: 0; transform: translate3d(18px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (max-width: 1180px) {
    .package-editorial-card {
        grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    }

    .package-editorial-visual {
        min-height: 640px;
    }

    .package-editorial-title-row {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .package-editorial-price {
        padding: 0;
        border-left: 0;
    }

    .package-editorial-price small {
        max-width: none;
    }

    .package-editorial-tiers,
    .package-editorial-optional-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .package-stage-section.package-showcase-v23 {
        padding: 68px 0 76px;
    }

    .package-editorial-nav-row {
        grid-template-columns: 1fr;
    }

    .package-editorial-controls {
        justify-content: flex-end;
        padding-bottom: 0;
    }

    .package-editorial-card,
    .package-editorial-card.is-reversed {
        grid-template-columns: 1fr;
    }

    .package-editorial-card .package-editorial-visual,
    .package-editorial-card.is-reversed .package-editorial-visual {
        order: 1;
    }

    .package-editorial-card .package-editorial-details,
    .package-editorial-card.is-reversed .package-editorial-details {
        order: 2;
    }

    .package-editorial-visual {
        min-height: 410px;
    }

    .package-editorial-watermark {
        font-size: clamp(8rem, 34vw, 14rem);
    }

    .package-editorial-action-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .package-editorial-action-row p {
        max-width: 420px;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .package-editorial-shell {
        padding: 0 18px;
    }

    .package-editorial-heading {
        margin-bottom: 28px;
    }

    .package-editorial-heading h2 {
        font-size: clamp(2.25rem, 11vw, 3.15rem);
    }

    .package-editorial-heading p {
        font-size: .72rem;
        line-height: 1.65;
    }

    .package-editorial-tab {
        flex-basis: 178px;
        min-height: 62px;
    }

    .package-editorial-card {
        border-radius: 24px 24px 24px 8px;
    }

    .package-editorial-visual {
        min-height: 350px;
        padding: 24px;
    }

    .package-editorial-visual-topline {
        font-size: .48rem;
    }

    .package-editorial-visual-copy strong {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .package-editorial-details {
        padding: 26px 21px 24px;
    }

    .package-editorial-title-row h3 {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .package-editorial-tiers,
    .package-editorial-amenities,
    .package-editorial-optional-grid {
        grid-template-columns: 1fr;
    }

    .package-editorial-tier.is-empty {
        grid-column: auto;
    }

    .package-editorial-block-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .package-editorial-action-row .package-editorial-cta.ce-system-button {
        width: 100%;
        min-width: 0;
    }

    .package-editorial-addons summary {
        grid-template-columns: minmax(0, 1fr) auto 20px;
        padding: 15px 16px;
    }

    .package-editorial-optional-grid {
        padding: 0 15px 15px;
    }

    .package-editorial-state {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .package-editorial-state .package-retry-button {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .motion-ready .package-showcase-v23 .package-editorial-heading,
    .motion-ready .package-showcase-v23 .package-editorial-nav-row,
    .motion-ready .package-showcase-v23 .package-editorial-card,
    .motion-ready .package-showcase-v23 .package-editorial-addons,
    .motion-ready .package-showcase-v23 .package-editorial-note {
        opacity: 1;
        transform: none;
        animation: none !important;
    }

    .package-editorial-card,
    .package-editorial-tab,
    .package-editorial-arrow,
    .package-editorial-tier {
        transition: none !important;
    }
}

.motion-ready .gallery-odyssey .gallery-odyssey-heading,
.motion-ready .gallery-odyssey .gallery-odyssey-meter,
.motion-ready .gallery-odyssey .gallery-corridor-stage,
.motion-ready .gallery-odyssey .gallery-odyssey-footer{
    opacity:0;
    will-change:opacity,transform,clip-path;
}

.motion-ready .gallery-odyssey .gallery-odyssey-heading{
    transform:translate3d(-24px,8px,0);
}

.motion-ready .gallery-odyssey .gallery-odyssey-meter{
    transform:translate3d(24px,0,0) scale(.985);
}

.motion-ready .gallery-odyssey .gallery-corridor-stage{
    clip-path:inset(7% 5% 9% 5% round 28px);
    transform:
        translate3d(0,24px,0)
        scale(.968)
        rotateX(1.2deg);
    transform-origin:center 55%;
}

.motion-ready .gallery-odyssey .gallery-odyssey-footer{
    transform:translate3d(0,14px,0);
}

.motion-ready .gallery-odyssey .gallery-odyssey-red-seam{
    opacity:0;
    transform:scaleY(.10);
    transform-origin:top center;
}

.gallery-corridor-stage::before{
    content:"";
    position:absolute;
    z-index:40;
    top:-18%;
    bottom:-18%;
    left:38%;
    width:15%;
    min-width:120px;
    pointer-events:none;
    opacity:0;
    background:
        linear-gradient(
            100deg,
            transparent 0%,
            rgba(175,196,255,.03) 28%,
            rgba(255,255,255,.18) 47%,
            rgba(220,38,38,.09) 54%,
            rgba(175,196,255,.04) 64%,
            transparent 100%
        );
    transform:translate3d(-520%,0,0) skewX(-13deg);
    will-change:transform,opacity;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-red-seam{
    animation:
        ceGallerySystemSeamIn
        620ms
        var(--ce-section-motion-ease)
        20ms
        both;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-heading{
    animation:
        ceGalleryCinematicHeadingIn
        600ms
        var(--ce-section-motion-ease)
        45ms
        both;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-meter{
    animation:
        ceGalleryCinematicMeterIn
        560ms
        var(--ce-section-motion-ease)
        105ms
        both;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-corridor-stage{
    animation:
        ceGalleryCinematicStageIn
        820ms
        cubic-bezier(.16,1,.3,1)
        115ms
        both;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-footer{
    animation:
        ceGalleryCinematicFooterIn
        620ms
        var(--ce-section-motion-ease)
        270ms
        both;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-corridor-stage::before{
    animation:
        ceGallerySystemLightPass
        980ms
        var(--ce-section-motion-ease)
        360ms
        both;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-bg.is-active{
    animation:
        ceGalleryBackgroundSettle
        1080ms
        var(--ce-section-motion-ease)
        both;
}

@keyframes ceGallerySystemSeamIn{
    0%{
        opacity:0;
        transform:scaleY(.10);
    }
    42%{
        opacity:.82;
    }
    100%{
        opacity:.52;
        transform:scaleY(1);
    }
}

@keyframes ceGalleryCinematicHeadingIn{
    from{
        opacity:0;
        transform:translate3d(-24px,8px,0);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

@keyframes ceGalleryCinematicMeterIn{
    from{
        opacity:0;
        transform:translate3d(24px,0,0) scale(.985);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0) scale(1);
    }
}

@keyframes ceGalleryCinematicStageIn{
    0%{
        opacity:0;
        clip-path:inset(7% 5% 9% 5% round 28px);
        transform:
            translate3d(0,24px,0)
            scale(.968)
            rotateX(1.2deg);
    }
    55%{
        opacity:1;
    }
    100%{
        opacity:1;
        clip-path:inset(0 0 0 0 round 0);
        transform:
            translate3d(0,0,0)
            scale(1)
            rotateX(0deg);
    }
}

@keyframes ceGalleryCinematicFooterIn{
    from{
        opacity:0;
        transform:translate3d(0,14px,0);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

@keyframes ceGallerySystemLightPass{
    0%{
        opacity:0;
        transform:translate3d(-520%,0,0) skewX(-13deg);
    }
    28%{
        opacity:.72;
    }
    78%{
        opacity:.38;
    }
    100%{
        opacity:0;
        transform:translate3d(520%,0,0) skewX(-13deg);
    }
}

@keyframes ceGalleryBackgroundSettle{
    from{
        opacity:.20;
        transform:scale(1.075);
    }
    to{
        opacity:.34;
        transform:scale(1.055);
    }
}

.motion-ready .package-browser-v21.is-entering-forward .package-section-kicker,
.motion-ready .package-browser-v21.is-entering-backward .package-section-kicker{
    animation-duration:650ms !important;
    animation-delay:130ms !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-heading h2,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-heading h2{
    animation-duration:780ms !important;
    animation-delay:220ms !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-heading .package-stage-heading-copy > p,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-heading .package-stage-heading-copy > p{
    animation-duration:650ms !important;
    animation-delay:430ms !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-nav-row::after,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-nav-row::after{
    animation-duration:700ms !important;
    animation-delay:360ms !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-hero,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-hero{
    animation-duration:820ms !important;
    animation-delay:340ms !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-included,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-included{
    animation-duration:700ms !important;
    animation-delay:500ms !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-guests,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-guests{
    animation-duration:700ms !important;
    animation-delay:590ms !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-optional,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-optional{
    animation-duration:700ms !important;
    animation-delay:670ms !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-selector-track .package-selector-chip,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-selector-track .package-selector-chip{
    animation-duration:650ms !important;
    animation-delay:
        calc(
            420ms +
            min(var(--package-order,0),5) * 70ms
        ) !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-controls .package-nav-button:first-child,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-controls .package-nav-button:first-child{
    animation-duration:700ms !important;
    animation-delay:580ms !important;
}

.motion-ready .package-browser-v21.is-entering-forward .package-v21-controls .package-nav-button:last-child,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-controls .package-nav-button:last-child{
    animation-duration:700ms !important;
    animation-delay:660ms !important;
}

.motion-ready .package-browser-v21.is-retracting-forward *,
.motion-ready .package-browser-v21.is-retracting-backward *{
    animation:none !important;
}

@media(prefers-reduced-motion:reduce){
    .motion-ready .gallery-odyssey .gallery-odyssey-red-seam,
    .motion-ready .gallery-odyssey .gallery-odyssey-heading,
    .motion-ready .gallery-odyssey .gallery-odyssey-meter,
    .motion-ready .gallery-odyssey .gallery-corridor-stage,
    .motion-ready .gallery-odyssey .gallery-odyssey-footer,
    .motion-ready .gallery-odyssey .gallery-odyssey-bg.is-active,
    .motion-ready .gallery-odyssey .gallery-corridor-stage::before{
        opacity:1 !important;
        transform:none !important;
        clip-path:none !important;
        animation:none !important;
    }

    .motion-ready .gallery-odyssey .gallery-corridor-stage::before{
        opacity:0 !important;
    }
}

.gallery-odyssey-bg{
    inset:-3% !important;
    width:106% !important;
    height:106% !important;
    filter:none !important;
    opacity:0;
    transform:translate3d(0,0,0) scale(1.035) !important;
    transition:
        opacity 360ms ease,
        transform 520ms cubic-bezier(.22,1,.36,1) !important;
    will-change:opacity !important;
    backface-visibility:hidden;
}

.gallery-odyssey-bg.is-active{
    opacity:.25 !important;
    transform:translate3d(0,0,0) scale(1.018) !important;
}

.gallery-odyssey-bg-wash{
    background:
        linear-gradient(
            90deg,
            rgba(4,11,35,.68) 0%,
            rgba(4,11,35,.42) 22%,
            rgba(4,11,35,.26) 50%,
            rgba(4,11,35,.40) 78%,
            rgba(4,11,35,.66) 100%
        ),
        linear-gradient(
            180deg,
            rgba(4,11,35,.46) 0%,
            rgba(4,11,35,.14) 32%,
            rgba(4,11,35,.16) 68%,
            rgba(4,11,35,.58) 100%
        ) !important;
}

.gallery-odyssey-bg-grain{
    display:none !important;
}

.motion-ready .gallery-odyssey .gallery-corridor-stage{
    clip-path:none !important;
    transform:translate3d(0,18px,0) scale(.985) !important;
    will-change:transform,opacity !important;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-corridor-stage{
    animation:
        ceGalleryStageInPerformance
        620ms
        cubic-bezier(.22,1,.36,1)
        70ms
        both !important;
}

@keyframes ceGalleryStageInPerformance{
    from{
        opacity:0;
        transform:translate3d(0,18px,0) scale(.985);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0) scale(1);
    }
}

.gallery-corridor-stage::before{
    display:none !important;
    animation:none !important;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-bg.is-active{
    animation:none !important;
}

.gallery-corridor-card{
    --gallery-pointer-x:0px;
    --gallery-pointer-y:0px;

    filter:none !important;

    transform:
        translate3d(
            calc(-50% + var(--gallery-card-x) + var(--gallery-pointer-x)),
            calc(-50% + var(--gallery-pointer-y)),
            var(--gallery-card-z)
        )
        rotateY(var(--gallery-card-rotate))
        scale(var(--gallery-card-scale)) !important;

    transition:
        transform 500ms cubic-bezier(.22,1,.36,1),
        border-color 240ms ease,
        box-shadow 300ms ease,
        opacity 300ms ease !important;

    will-change:transform,opacity !important;
    backface-visibility:hidden;
}

.gallery-corridor-card.is-gallery-parked{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:none !important;
    will-change:auto !important;
}

.gallery-corridor-card:not(.is-active){
    box-shadow:
        0 22px 54px rgba(0,0,0,.22),
        inset 0 0 0 1px rgba(255,255,255,.02) !important;
}

.gallery-corridor-card.is-active{
    box-shadow:
        0 30px 76px rgba(0,0,0,.30),
        0 0 0 1px rgba(175,196,255,.07),
        inset 0 0 0 1px rgba(255,255,255,.04) !important;
}

.gallery-corridor-image{
    filter:none !important;
    transform:translate3d(0,0,0) scale(1.015) !important;
    transition:transform 560ms cubic-bezier(.22,1,.36,1) !important;
    backface-visibility:hidden;
}

.gallery-corridor-card.is-active .gallery-corridor-image{
    filter:none !important;
    transform:translate3d(0,0,0) scale(1.032) !important;
}

.gallery-corridor-card:not(.is-active) .gallery-corridor-shade{
    background:
        linear-gradient(
            180deg,
            rgba(2,6,24,.24) 0%,
            rgba(2,6,24,.34) 48%,
            rgba(2,6,24,.84) 100%
        ),
        radial-gradient(
            ellipse at center,
            transparent 46%,
            rgba(2,6,24,.34) 100%
        ) !important;
}

.gallery-odyssey-thumb img{
    transition:transform 320ms cubic-bezier(.22,1,.36,1) !important;
}

.gallery-odyssey:not(.is-motion-visible) .gallery-corridor-card,
.gallery-odyssey:not(.is-motion-visible) .gallery-odyssey-bg{
    will-change:auto !important;
}

@media(max-width:980px){
    .gallery-corridor-stage{
        perspective:1000px !important;
    }

    .gallery-corridor-card{
        box-shadow:0 20px 54px rgba(0,0,0,.24) !important;
    }
}

@media(max-width:620px){
    .gallery-corridor-stage{
        perspective:none !important;
    }

    .gallery-corridor-card{
        transform:
            translate3d(
                calc(-50% + var(--gallery-card-x)),
                -50%,
                0
            )
            scale(var(--gallery-card-scale)) !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .gallery-corridor-card,
    .gallery-odyssey-bg,
    .gallery-corridor-image{
        transition:none !important;
        animation:none !important;
        will-change:auto !important;
    }
}

:root{
    --ce-unified-motion-duration:720ms;
    --ce-unified-motion-ease:cubic-bezier(.22,1,.36,1);
    --ce-unified-motion-delay-1:0ms;
    --ce-unified-motion-delay-2:80ms;
    --ce-unified-motion-delay-3:160ms;
}

.motion-ready .package-browser-v21 .package-v21-heading,
.motion-ready .package-browser-v21 .package-v21-nav-row,
.motion-ready .package-browser-v21 .package-v21-stage{
    opacity:0;
    transition:
        opacity var(--ce-unified-motion-duration) var(--ce-unified-motion-ease),
        transform var(--ce-unified-motion-duration) var(--ce-unified-motion-ease) !important;
    animation:none !important;
    will-change:auto !important;
}
.motion-ready .package-browser-v21 .package-v21-heading{
    transform:translate3d(0,18px,0);
    transition-delay:var(--ce-unified-motion-delay-1) !important;
}
.motion-ready .package-browser-v21 .package-v21-nav-row{
    transform:translate3d(0,18px,0);
    transition-delay:var(--ce-unified-motion-delay-2) !important;
}
.motion-ready .package-browser-v21 .package-v21-stage{
    transform:translate3d(0,22px,0) scale(.994);
    transition-delay:var(--ce-unified-motion-delay-3) !important;
}
.motion-ready .package-browser-v21.is-in-view .package-v21-heading,
.motion-ready .package-browser-v21.is-in-view .package-v21-nav-row,
.motion-ready .package-browser-v21.is-in-view .package-v21-stage{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
}

.motion-ready .package-browser-v21:not(.is-in-view) .package-section-kicker,
.motion-ready .package-browser-v21:not(.is-in-view) .package-v21-heading h2,
.motion-ready .package-browser-v21:not(.is-in-view) .package-v21-heading .package-stage-heading-copy > p,
.motion-ready .package-browser-v21:not(.is-in-view) .package-v21-selector-track .package-selector-chip,
.motion-ready .package-browser-v21:not(.is-in-view) .package-v21-controls .package-nav-button,
.motion-ready .package-browser-v21.is-entering-forward .package-section-kicker,
.motion-ready .package-browser-v21.is-entering-backward .package-section-kicker,
.motion-ready .package-browser-v21.is-entering-forward .package-v21-heading h2,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-heading h2,
.motion-ready .package-browser-v21.is-entering-forward .package-v21-heading .package-stage-heading-copy > p,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-heading .package-stage-heading-copy > p,
.motion-ready .package-browser-v21.is-entering-forward .package-v21-selector-track .package-selector-chip,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-selector-track .package-selector-chip,
.motion-ready .package-browser-v21.is-entering-forward .package-v21-controls .package-nav-button,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-controls .package-nav-button,
.motion-ready .package-browser-v21.is-entering-forward .package-v21-hero,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-hero,
.motion-ready .package-browser-v21.is-entering-forward .package-v21-data-row,
.motion-ready .package-browser-v21.is-entering-backward .package-v21-data-row{
    opacity:1 !important;
    animation:none !important;
}
.motion-ready .package-browser-v21:not(.is-in-view) .package-section-kicker,
.motion-ready .package-browser-v21:not(.is-in-view) .package-v21-heading h2,
.motion-ready .package-browser-v21:not(.is-in-view) .package-v21-heading .package-stage-heading-copy > p,
.motion-ready .package-browser-v21:not(.is-in-view) .package-v21-selector-track .package-selector-chip,
.motion-ready .package-browser-v21:not(.is-in-view) .package-v21-controls .package-nav-button{
    transform:none !important;
}

.package-browser-v21.is-idle .package-v21-hero::after,
.package-browser-v21.is-idle .package-selector-chip.is-active::after,
.package-browser-v21.is-idle .package-v16-amenity-check,
.package-browser-v21.is-idle .package-tier-chip,
.package-browser-v21.is-idle .package-section-kicker::after,
.package-browser-v21.is-idle .package-v21-controls .ce-system-icon svg{
    animation:none !important;
}

.motion-ready .gallery-odyssey .gallery-odyssey-header,
.motion-ready .gallery-odyssey .gallery-corridor-stage,
.motion-ready .gallery-odyssey .gallery-odyssey-footer{
    opacity:0;
    transition:
        opacity var(--ce-unified-motion-duration) var(--ce-unified-motion-ease),
        transform var(--ce-unified-motion-duration) var(--ce-unified-motion-ease) !important;
    animation:none !important;
    will-change:auto !important;
}
.motion-ready .gallery-odyssey .gallery-odyssey-header{
    transform:translate3d(0,18px,0);
    transition-delay:var(--ce-unified-motion-delay-1) !important;
}
.motion-ready .gallery-odyssey .gallery-corridor-stage{
    transform:translate3d(0,20px,0) scale(.994) !important;
    transition-delay:var(--ce-unified-motion-delay-2) !important;
    clip-path:none !important;
}
.motion-ready .gallery-odyssey .gallery-odyssey-footer{
    transform:translate3d(0,16px,0);
    transition-delay:var(--ce-unified-motion-delay-3) !important;
}
.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-header,
.motion-ready .gallery-odyssey.is-in-view .gallery-corridor-stage,
.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-footer{
    opacity:1;
    transform:translate3d(0,0,0) scale(1) !important;
    animation:none !important;
}

.motion-ready .gallery-odyssey .gallery-odyssey-heading,
.motion-ready .gallery-odyssey .gallery-odyssey-meter{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    will-change:auto !important;
}

.gallery-odyssey-orbit,
.gallery-corridor-stage::before,
.gallery-odyssey-bg-grain{
    display:none !important;
    animation:none !important;
}
.gallery-odyssey-red-seam{
    opacity:.5 !important;
    transform:scaleY(1) !important;
    animation:none !important;
}
.gallery-odyssey-bg{
    filter:none !important;
    will-change:auto !important;
    transition:opacity 280ms ease !important;
}
.gallery-corridor-card{
    filter:none !important;
    transition:
        transform 380ms var(--ce-unified-motion-ease),
        opacity 240ms ease,
        border-color 220ms ease,
        box-shadow 260ms ease !important;
    will-change:auto !important;
}
.gallery-corridor-image{
    filter:none !important;
    transition:transform 380ms var(--ce-unified-motion-ease) !important;
    will-change:auto !important;
}

.motion-ready .process-trace-section .process-trace-heading,
.motion-ready .process-trace-section .process-trace-stage,
.motion-ready .process-trace-section .process-trace-focus{
    opacity:0;
    transition:
        opacity var(--ce-unified-motion-duration) var(--ce-unified-motion-ease),
        transform var(--ce-unified-motion-duration) var(--ce-unified-motion-ease) !important;
    animation:none !important;
    will-change:auto !important;
}
.motion-ready .process-trace-section .process-trace-heading{
    transform:translate3d(0,18px,0);
    transition-delay:var(--ce-unified-motion-delay-1) !important;
}
.motion-ready .process-trace-section .process-trace-stage{
    transform:translate3d(0,20px,0) scale(.994);
    transition-delay:var(--ce-unified-motion-delay-2) !important;
}
.motion-ready .process-trace-section .process-trace-focus{
    transform:translate3d(0,16px,0);
    transition-delay:var(--ce-unified-motion-delay-3) !important;
}
.motion-ready .process-trace-section.is-in-view .process-trace-heading,
.motion-ready .process-trace-section.is-in-view .process-trace-stage,
.motion-ready .process-trace-section.is-in-view .process-trace-focus{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    animation:none !important;
}
.process-trace-step,
.process-trace-origin-label,
.process-trace-finish-label{
    opacity:1 !important;
    animation:none !important;
}

.site-footer[data-footer-motion="true"] .site-footer-brand-block,
.site-footer[data-footer-motion="true"] .site-footer-main > .site-footer-column,
.site-footer[data-footer-motion="true"] .site-footer-bottom{
    opacity:0;
    transition:
        opacity var(--ce-unified-motion-duration) var(--ce-unified-motion-ease),
        transform var(--ce-unified-motion-duration) var(--ce-unified-motion-ease) !important;
    animation:none !important;
    will-change:auto !important;
}
.site-footer[data-footer-motion="true"] .site-footer-brand-block{
    transform:translate3d(0,18px,0);
    transition-delay:var(--ce-unified-motion-delay-1) !important;
}
.site-footer[data-footer-motion="true"] .site-footer-main > nav.site-footer-column{
    transform:translate3d(0,18px,0);
    transition-delay:var(--ce-unified-motion-delay-2) !important;
}
.site-footer[data-footer-motion="true"] .site-footer-contact,
.site-footer[data-footer-motion="true"] .site-footer-social,
.site-footer[data-footer-motion="true"] .site-footer-bottom{
    transform:translate3d(0,16px,0);
    transition-delay:var(--ce-unified-motion-delay-3) !important;
}
.site-footer.is-footer-in-view .site-footer-brand-block,
.site-footer.is-footer-in-view .site-footer-main > .site-footer-column,
.site-footer.is-footer-in-view .site-footer-bottom{
    opacity:1;
    transform:translate3d(0,0,0);
    animation:none !important;
}

.site-footer[data-footer-motion="true"] .site-footer-brand,
.site-footer[data-footer-motion="true"] .site-footer-brand-description,
.site-footer[data-footer-motion="true"] .site-footer-label,
.site-footer[data-footer-motion="true"] .site-footer-column h2,
.site-footer[data-footer-motion="true"] .site-footer-link-list a,
.site-footer[data-footer-motion="true"] .site-footer-contact-item,
.site-footer[data-footer-motion="true"] .site-footer-social-intro,
.site-footer[data-footer-motion="true"] .site-footer-social-link{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    will-change:auto !important;
}
.site-footer[data-footer-motion="true"] .site-footer-ambient,
.site-footer[data-footer-motion="true"]::after{
    animation:none !important;
    will-change:auto !important;
}
.site-footer[data-footer-motion="true"] .site-footer-ambient{
    opacity:.28 !important;
    transform:none !important;
}
.site-footer[data-footer-motion="true"]::after{
    opacity:.7 !important;
    transform:translateX(-50%) scaleX(1) !important;
}
.package-stage-section:not(.is-motion-visible) .package-v21-hero,
.package-stage-section:not(.is-motion-visible) .package-v21-data-row,
.gallery-odyssey:not(.is-motion-visible) .gallery-odyssey-bg,
.gallery-odyssey:not(.is-motion-visible) .gallery-corridor-card,
.process-trace-section:not(.is-motion-visible) .process-trace-stage,
.site-footer:not(.is-motion-visible) .site-footer-brand-block,
.site-footer:not(.is-motion-visible) .site-footer-column{
    will-change:auto !important;
}

@media(max-width:980px){
    .gallery-corridor-card{
        transition:
            transform 320ms var(--ce-unified-motion-ease),
            opacity 220ms ease !important;
        box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
    }
}

@media(prefers-reduced-motion:reduce){
.motion-ready .package-browser-v21 .package-v21-heading,
.motion-ready .package-browser-v21 .package-v21-nav-row,
.motion-ready .package-browser-v21 .package-v21-stage,
.motion-ready .gallery-odyssey .gallery-odyssey-header,
.motion-ready .gallery-odyssey .gallery-corridor-stage,
.motion-ready .gallery-odyssey .gallery-odyssey-footer,
.motion-ready .process-trace-section .process-trace-heading,
.motion-ready .process-trace-section .process-trace-stage,
.motion-ready .process-trace-section .process-trace-focus,
.site-footer[data-footer-motion="true"] .site-footer-brand-block,
.site-footer[data-footer-motion="true"] .site-footer-main > .site-footer-column,
.site-footer[data-footer-motion="true"] .site-footer-bottom{
        opacity:1 !important;
        transform:none !important;
        animation:none !important;
        transition:none !important;
    }
}

:root{
    --ce-motion-ease:cubic-bezier(.22,1,.36,1);
    --ce-motion-fast:650ms;
    --ce-motion-title:780ms;
    --ce-motion-main:820ms;
    --ce-motion-actions:700ms;

    --ce-beat-1:130ms;
    --ce-beat-2:220ms;
    --ce-beat-3:340ms;
    --ce-beat-4:530ms;
    --ce-beat-5:670ms;
}
.motion-ready .package-browser-v21 .package-section-kicker,
.motion-ready .package-browser-v21 .package-v21-heading h2,
.motion-ready .package-browser-v21 .package-stage-heading-copy > p,
.motion-ready .package-browser-v21 .package-v21-stage,
.motion-ready .package-browser-v21 .package-v21-nav-row,
.motion-ready .gallery-odyssey .gallery-odyssey-kicker,
.motion-ready .gallery-odyssey .gallery-odyssey-heading h2,
.motion-ready .gallery-odyssey .gallery-odyssey-heading > p,
.motion-ready .gallery-odyssey .gallery-corridor-stage,
.motion-ready .gallery-odyssey .gallery-odyssey-footer,
.motion-ready .process-trace-section .process-trace-kicker,
.motion-ready .process-trace-section .process-trace-heading h2,
.motion-ready .process-trace-section .process-trace-heading-copy > p,
.motion-ready .process-trace-section .process-trace-stage,
.motion-ready .process-trace-section .process-trace-focus,
.site-footer[data-footer-motion="true"] .site-footer-brand,
.site-footer[data-footer-motion="true"] .site-footer-brand-description,
.site-footer[data-footer-motion="true"] .site-footer-main > nav.site-footer-column,
.site-footer[data-footer-motion="true"] .site-footer-contact,
.site-footer[data-footer-motion="true"] .site-footer-bottom{
    opacity:0;
    animation:none !important;
    will-change:auto !important;
    transition-property:opacity,transform !important;
    transition-timing-function:var(--ce-motion-ease) !important;
}

.motion-ready .package-browser-v21 .package-section-kicker{
    transform:translate3d(-20px,0,0);
    transition-duration:var(--ce-motion-fast) !important;
    transition-delay:var(--ce-beat-1) !important;
}

.motion-ready .package-browser-v21 .package-v21-heading h2{
    transform:translate3d(0,22px,0) scale(.985);
    transform-origin:left center;
    transition-duration:var(--ce-motion-title) !important;
    transition-delay:var(--ce-beat-2) !important;
}

.motion-ready .package-browser-v21 .package-stage-heading-copy > p{
    transform:translate3d(24px,0,0);
    transition-duration:var(--ce-motion-fast) !important;
    transition-delay:var(--ce-beat-4) !important;
}

.motion-ready .package-browser-v21 .package-v21-stage{
    transform:translate3d(0,28px,0) scale(.972);
    transform-origin:center top;
    transition-duration:var(--ce-motion-main) !important;
    transition-delay:var(--ce-beat-3) !important;
}

.motion-ready .package-browser-v21 .package-v21-nav-row{
    transform:translate3d(-24px,0,0);
    transition-duration:var(--ce-motion-actions) !important;
    transition-delay:var(--ce-beat-5) !important;
}

.motion-ready .package-browser-v21.is-in-view .package-section-kicker,
.motion-ready .package-browser-v21.is-in-view .package-v21-heading h2,
.motion-ready .package-browser-v21.is-in-view .package-stage-heading-copy > p,
.motion-ready .package-browser-v21.is-in-view .package-v21-stage,
.motion-ready .package-browser-v21.is-in-view .package-v21-nav-row{
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
}

.motion-ready .package-browser-v21.is-entering-forward *,
.motion-ready .package-browser-v21.is-entering-backward *,
.motion-ready .package-browser-v21.is-retracting-forward *,
.motion-ready .package-browser-v21.is-retracting-backward *{
    animation:none !important;
}

.gallery-odyssey{
    background:
        radial-gradient(circle at 76% 26%,rgba(49,83,164,.24),transparent 30%),
        radial-gradient(circle at 18% 74%,rgba(220,38,38,.07),transparent 23%),
        linear-gradient(135deg,#050D31 0%,#081647 48%,#10245F 100%) !important;
}

.gallery-odyssey-background{
    background:
        linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:72px 72px;
    opacity:.42;
}

.gallery-odyssey-bg,
.gallery-odyssey-bg-wash,
.gallery-odyssey-bg-vignette,
.gallery-odyssey-bg-grain,
.gallery-odyssey-orbit{
    display:none !important;
    animation:none !important;
}

.gallery-odyssey-red-seam{
    opacity:.54 !important;
    transform:scaleY(1) !important;
    animation:none !important;
}

.motion-ready .gallery-odyssey .gallery-odyssey-kicker{
    transform:translate3d(-22px,0,0);
    transition-duration:var(--ce-motion-fast) !important;
    transition-delay:var(--ce-beat-1) !important;
}

.motion-ready .gallery-odyssey .gallery-odyssey-heading h2{
    transform:translate3d(-32px,8px,0) scale(.985);
    transform-origin:left center;
    transition-duration:var(--ce-motion-title) !important;
    transition-delay:var(--ce-beat-2) !important;
}

.motion-ready .gallery-odyssey .gallery-odyssey-heading > p{
    transform:translate3d(24px,0,0);
    transition-duration:var(--ce-motion-fast) !important;
    transition-delay:var(--ce-beat-4) !important;
}

.motion-ready .gallery-odyssey .gallery-corridor-stage{
    transform:translate3d(0,28px,0) scale(.968) !important;
    transform-origin:center 55%;
    transition-duration:var(--ce-motion-main) !important;
    transition-delay:var(--ce-beat-3) !important;
    clip-path:none !important;
}

.motion-ready .gallery-odyssey .gallery-odyssey-footer{
    transform:translate3d(28px,0,0);
    transition-duration:var(--ce-motion-actions) !important;
    transition-delay:var(--ce-beat-5) !important;
}

.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-kicker,
.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-heading h2,
.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-heading > p,
.motion-ready .gallery-odyssey.is-in-view .gallery-corridor-stage,
.motion-ready .gallery-odyssey.is-in-view .gallery-odyssey-footer{
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
}

.motion-ready .gallery-odyssey .gallery-odyssey-meter{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
}

.gallery-corridor-stage{
    perspective:none !important;
    contain:layout paint !important;
    isolation:isolate;
    overflow:hidden !important;
}

.gallery-corridor{
    transform-style:flat !important;
    contain:layout paint !important;
    pointer-events:none;
}

.gallery-corridor-card.gallery-lite-card{
    --gallery-side-shift:clamp(250px,29vw,500px);
    --gallery-far-shift:clamp(405px,47vw,810px);

    position:absolute !important;
    top:50% !important;
    left:50% !important;

    width:min(62vw,920px) !important;
    height:min(60vh,610px) !important;
    min-width:0 !important;
    min-height:0 !important;

    opacity:1;
    filter:none !important;
    backface-visibility:hidden;
    transform-style:flat !important;

    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:26px !important;
    background:#081247 !important;

    transition:
        transform 440ms cubic-bezier(.22,1,.36,1),
        opacity 320ms ease,
        border-color 260ms ease,
        box-shadow 320ms ease !important;

    will-change:transform,opacity !important;
    pointer-events:auto;
}

.gallery-corridor-card.gallery-lite-card.is-prev{
    z-index:1 !important;
    opacity:.48 !important;
    transform:
        translate3d(
            calc(-50% - var(--gallery-side-shift)),
            -50%,
            0
        )
        rotate(-2.5deg)
        scale(.82) !important;

    box-shadow:0 20px 52px rgba(0,0,0,.20) !important;
}

.gallery-corridor-card.gallery-lite-card.is-current{
    z-index:3 !important;
    opacity:1 !important;
    transform:
        translate3d(-50%,-50%,0)
        rotate(0deg)
        scale(1) !important;

    border-color:rgba(175,196,255,.42) !important;
    box-shadow:
        0 30px 74px rgba(0,0,0,.31),
        0 0 0 1px rgba(175,196,255,.06) !important;
}

.gallery-corridor-card.gallery-lite-card.is-next{
    z-index:2 !important;
    opacity:.48 !important;
    transform:
        translate3d(
            calc(-50% + var(--gallery-side-shift)),
            -50%,
            0
        )
        rotate(2.5deg)
        scale(.82) !important;

    box-shadow:0 20px 52px rgba(0,0,0,.20) !important;
}

.gallery-corridor.is-stepping-next
.gallery-lite-card.is-prev{
    opacity:0 !important;
    transform:
        translate3d(
            calc(-50% - var(--gallery-far-shift)),
            -50%,
            0
        )
        rotate(-4deg)
        scale(.72) !important;
}

.gallery-corridor.is-stepping-next
.gallery-lite-card.is-current{
    z-index:2 !important;
    opacity:.48 !important;
    transform:
        translate3d(
            calc(-50% - var(--gallery-side-shift)),
            -50%,
            0
        )
        rotate(-2.5deg)
        scale(.82) !important;
}

.gallery-corridor.is-stepping-next
.gallery-lite-card.is-next{
    z-index:4 !important;
    opacity:1 !important;
    transform:
        translate3d(-50%,-50%,0)
        rotate(0deg)
        scale(1) !important;
}

.gallery-corridor.is-stepping-prev
.gallery-lite-card.is-next{
    opacity:0 !important;
    transform:
        translate3d(
            calc(-50% + var(--gallery-far-shift)),
            -50%,
            0
        )
        rotate(4deg)
        scale(.72) !important;
}

.gallery-corridor.is-stepping-prev
.gallery-lite-card.is-current{
    z-index:2 !important;
    opacity:.48 !important;
    transform:
        translate3d(
            calc(-50% + var(--gallery-side-shift)),
            -50%,
            0
        )
        rotate(2.5deg)
        scale(.82) !important;
}

.gallery-corridor.is-stepping-prev
.gallery-lite-card.is-prev{
    z-index:4 !important;
    opacity:1 !important;
    transform:
        translate3d(-50%,-50%,0)
        rotate(0deg)
        scale(1) !important;
}

.gallery-corridor.gallery-lite-no-transition
.gallery-lite-card{
    transition:none !important;
}

.gallery-corridor-image{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    filter:none !important;
    transform:scale(1.012) !important;
    transition:transform 520ms var(--ce-motion-ease) !important;
    will-change:auto !important;
}

.gallery-lite-card.is-current .gallery-corridor-image{
    transform:scale(1.028) !important;
}

.gallery-lite-card:not(.is-current) .gallery-corridor-shade{
    background:
        linear-gradient(
            180deg,
            rgba(2,6,24,.18) 0%,
            rgba(2,6,24,.30) 52%,
            rgba(2,6,24,.72) 100%
        ) !important;
}

.gallery-lite-card .gallery-corridor-chrome{
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.025) !important;
    background:
        linear-gradient(
            120deg,
            rgba(255,255,255,.04),
            transparent 20%,
            transparent 78%,
            rgba(175,196,255,.03)
        ) !important;
}

.gallery-corridor-number{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    background:rgba(3,9,34,.72) !important;
}

.gallery-odyssey-filmstrip{
    gap:8px !important;
    overflow:hidden !important;
}

.gallery-odyssey-thumb.gallery-lite-index{
    position:relative;
    width:52px !important;
    height:34px !important;
    flex:0 0 52px !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden;
    opacity:.50 !important;
    transform:none !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.035) !important;
    box-shadow:none !important;
    transition:
        opacity 220ms ease,
        border-color 220ms ease,
        background 220ms ease,
        transform 260ms var(--ce-motion-ease) !important;
}

.gallery-odyssey-thumb.gallery-lite-index i{
    position:absolute;
    right:8px;
    bottom:5px;
    left:8px;
    height:2px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    transform:scaleX(.38);
    transform-origin:left center;
    transition:transform 260ms var(--ce-motion-ease),background 220ms ease;
}

.gallery-odyssey-thumb.gallery-lite-index span{
    position:relative !important;
    inset:auto !important;
    z-index:2;
    min-width:0 !important;
    height:auto !important;
    padding:0 !important;
    border-radius:0 !important;
    color:#FFFFFF;
    background:none !important;
    font-size:.53rem !important;
    font-weight:800 !important;
    letter-spacing:.08em;
}

.gallery-odyssey-thumb.gallery-lite-index.is-active{
    opacity:1 !important;
    transform:translateY(-2px) !important;
    border-color:rgba(220,38,38,.76) !important;
    background:rgba(220,38,38,.09) !important;
}

.gallery-odyssey-thumb.gallery-lite-index.is-active i{
    transform:scaleX(1);
    background:var(--ce-red);
}

.motion-ready .process-trace-section .process-trace-kicker{
    transform:translate3d(-22px,0,0);
    transition-duration:var(--ce-motion-fast) !important;
    transition-delay:var(--ce-beat-1) !important;
}

.motion-ready .process-trace-section .process-trace-heading h2{
    transform:translate3d(-30px,8px,0) scale(.985);
    transform-origin:left center;
    transition-duration:var(--ce-motion-title) !important;
    transition-delay:var(--ce-beat-2) !important;
}

.motion-ready .process-trace-section .process-trace-heading-copy > p{
    transform:translate3d(24px,0,0);
    transition-duration:var(--ce-motion-fast) !important;
    transition-delay:var(--ce-beat-4) !important;
}

.motion-ready .process-trace-section .process-trace-stage{
    transform:translate3d(0,28px,0) scale(.972);
    transform-origin:center center;
    transition-duration:var(--ce-motion-main) !important;
    transition-delay:var(--ce-beat-3) !important;
}

.motion-ready .process-trace-section .process-trace-focus{
    transform:translate3d(28px,0,0);
    transition-duration:var(--ce-motion-actions) !important;
    transition-delay:var(--ce-beat-5) !important;
}

.motion-ready .process-trace-section.is-in-view .process-trace-kicker,
.motion-ready .process-trace-section.is-in-view .process-trace-heading h2,
.motion-ready .process-trace-section.is-in-view .process-trace-heading-copy > p,
.motion-ready .process-trace-section.is-in-view .process-trace-stage,
.motion-ready .process-trace-section.is-in-view .process-trace-focus{
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
}

.site-footer[data-footer-motion="true"] .site-footer-brand{
    transform:translate3d(-24px,0,0);
    transition-duration:var(--ce-motion-title) !important;
    transition-delay:var(--ce-beat-2) !important;
}

.site-footer[data-footer-motion="true"] .site-footer-brand-description{
    transform:translate3d(0,18px,0);
    transition-duration:var(--ce-motion-fast) !important;
    transition-delay:var(--ce-beat-4) !important;
}

.site-footer[data-footer-motion="true"] .site-footer-main > nav.site-footer-column{
    transform:translate3d(0,24px,0);
    transition-duration:var(--ce-motion-main) !important;
    transition-delay:var(--ce-beat-3) !important;
}

.site-footer[data-footer-motion="true"] .site-footer-contact{
    transform:translate3d(24px,0,0);
    transition-duration:var(--ce-motion-fast) !important;
    transition-delay:var(--ce-beat-4) !important;
}

.site-footer[data-footer-motion="true"] .site-footer-bottom{
    transform:translate3d(0,18px,0);
    transition-duration:var(--ce-motion-actions) !important;
    transition-delay:var(--ce-beat-5) !important;
}

.site-footer.is-footer-in-view .site-footer-brand,
.site-footer.is-footer-in-view .site-footer-brand-description,
.site-footer.is-footer-in-view .site-footer-main > nav.site-footer-column,
.site-footer.is-footer-in-view .site-footer-contact,
.site-footer.is-footer-in-view .site-footer-bottom{
    opacity:1 !important;
    transform:translate3d(0,0,0) !important;
}

.site-footer[data-footer-motion="true"] .site-footer-link-list a,
.site-footer[data-footer-motion="true"] .site-footer-contact-item,
.site-footer[data-footer-motion="true"] .site-footer-social-link{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
}

.gallery-corridor-stage::before,
.gallery-odyssey::before,
.gallery-odyssey::after{
    animation:none !important;
}

.gallery-odyssey:not(.is-motion-visible) .gallery-lite-card{
    will-change:auto !important;
}

@media(max-width:980px){
    .gallery-corridor-card.gallery-lite-card{
        --gallery-side-shift:clamp(190px,34vw,330px);
        width:min(76vw,760px) !important;
        height:min(55vh,560px) !important;
    }
}

@media(max-width:620px){
    .gallery-corridor-card.gallery-lite-card{
        --gallery-side-shift:58vw;
        width:84vw !important;
        height:min(50vh,500px) !important;
        border-radius:20px !important;
    }

    .gallery-corridor-card.gallery-lite-card.is-prev{
        opacity:.24 !important;
        transform:
            translate3d(
                calc(-50% - var(--gallery-side-shift)),
                -50%,
                0
            )
            scale(.78) !important;
    }

    .gallery-corridor-card.gallery-lite-card.is-next{
        opacity:.24 !important;
        transform:
            translate3d(
                calc(-50% + var(--gallery-side-shift)),
                -50%,
                0
            )
            scale(.78) !important;
    }

    .gallery-odyssey-filmstrip{
        justify-content:center !important;
    }

    .gallery-odyssey-thumb.gallery-lite-index{
        width:42px !important;
        flex-basis:42px !important;
    }
}

@media(prefers-reduced-motion:reduce){
.motion-ready .package-browser-v21 .package-section-kicker,
.motion-ready .package-browser-v21 .package-v21-heading h2,
.motion-ready .package-browser-v21 .package-stage-heading-copy > p,
.motion-ready .package-browser-v21 .package-v21-stage,
.motion-ready .package-browser-v21 .package-v21-nav-row,
.motion-ready .gallery-odyssey .gallery-odyssey-kicker,
.motion-ready .gallery-odyssey .gallery-odyssey-heading h2,
.motion-ready .gallery-odyssey .gallery-odyssey-heading > p,
.motion-ready .gallery-odyssey .gallery-corridor-stage,
.motion-ready .gallery-odyssey .gallery-odyssey-footer,
.motion-ready .process-trace-section .process-trace-kicker,
.motion-ready .process-trace-section .process-trace-heading h2,
.motion-ready .process-trace-section .process-trace-heading-copy > p,
.motion-ready .process-trace-section .process-trace-stage,
.motion-ready .process-trace-section .process-trace-focus,
.site-footer[data-footer-motion="true"] .site-footer-brand,
.site-footer[data-footer-motion="true"] .site-footer-brand-description,
.site-footer[data-footer-motion="true"] .site-footer-main > nav.site-footer-column,
.site-footer[data-footer-motion="true"] .site-footer-contact,
.site-footer[data-footer-motion="true"] .site-footer-bottom{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
        animation:none !important;
    }

    .gallery-corridor-card.gallery-lite-card{
        transition:none !important;
        will-change:auto !important;
    }
}

.gallery-odyssey-background{
    contain:paint !important;
    opacity:1 !important;
    background:
        linear-gradient(
            135deg,
            #050D31 0%,
            #081647 48%,
            #10245F 100%
        ) !important;
}

.gallery-odyssey-bg{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;

    object-fit:cover !important;

    opacity:0 !important;
    filter:none !important;
    transform:none !important;

    transition:
        opacity 520ms ease !important;

    animation:none !important;
    will-change:opacity !important;
}

.gallery-odyssey-bg.is-active{
    opacity:.36 !important;
    transform:none !important;
}

.gallery-odyssey-bg.gallery-bg-no-transition{
    transition:none !important;
}

.gallery-odyssey-bg-wash,
.gallery-odyssey-bg-vignette{
    display:block !important;
    animation:none !important;
    pointer-events:none !important;
}

.gallery-odyssey-bg-wash{
    background:
        linear-gradient(
            90deg,
            rgba(4,11,35,.67) 0%,
            rgba(4,11,35,.38) 23%,
            rgba(4,11,35,.22) 52%,
            rgba(4,11,35,.38) 78%,
            rgba(4,11,35,.67) 100%
        ),
        linear-gradient(
            180deg,
            rgba(4,11,35,.42) 0%,
            rgba(4,11,35,.10) 34%,
            rgba(4,11,35,.18) 68%,
            rgba(4,11,35,.60) 100%
        ) !important;
}

.gallery-odyssey-bg-vignette{
    background:
        radial-gradient(
            ellipse at center,
            transparent 34%,
            rgba(2,6,23,.16) 70%,
            rgba(2,6,23,.48) 100%
        ) !important;
}

.gallery-odyssey-bg-grain,
.gallery-odyssey-orbit{
    display:none !important;
    animation:none !important;
}

.gallery-corridor-stage > .gallery-odyssey-controls.gallery-edge-controls{
    position:absolute !important;
    z-index:60 !important;

    top:50% !important;
    right:16px !important;
    left:16px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    width:auto !important;

    pointer-events:none !important;

    transform:translate3d(0,-50%,0) !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow{
    width:50px !important;
    height:50px !important;
    flex:0 0 50px !important;

    pointer-events:auto !important;

    border:
        1px solid
        rgba(201,215,250,.34) !important;

    border-radius:14px !important;

    color:#FFFFFF !important;

    background:
        rgba(8,17,77,.86) !important;

    box-shadow:
        0 13px 34px
        rgba(2,6,23,.28) !important;

    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;

    transition:
        transform 260ms var(--ease-out),
        background 200ms ease,
        border-color 200ms ease,
        box-shadow 220ms ease !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow:hover,
.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow:focus-visible{
    border-color:
        rgba(248,113,113,.82) !important;

    background:
        #DC2626 !important;

    box-shadow:
        0 16px 36px
        rgba(220,38,38,.20) !important;

    transform:
        translate3d(0,-2px,0)
        scale(1.035) !important;
}

.gallery-odyssey-footer{
    grid-template-columns:
        minmax(0,1fr) !important;
}

.gallery-odyssey-footer
> .gallery-odyssey-controls{
    display:none;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls{
    display:flex !important;
}

.motion-ready .gallery-odyssey .gallery-odyssey-background,
.motion-ready .gallery-odyssey .gallery-edge-controls{
    animation:none !important;
}

@media(max-width:760px){
    .gallery-corridor-stage
    > .gallery-odyssey-controls.gallery-edge-controls{
        right:7px !important;
        left:7px !important;
    }

    .gallery-corridor-stage
    > .gallery-odyssey-controls.gallery-edge-controls
    .gallery-odyssey-arrow{
        width:44px !important;
        height:44px !important;
        flex-basis:44px !important;
        border-radius:12px !important;
    }

    .gallery-odyssey-bg.is-active{
        opacity:.31 !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .gallery-odyssey-bg{
        transition:none !important;
        will-change:auto !important;
    }
}

.gallery-corridor-stage{
    contain:layout paint !important;
    isolation:isolate !important;
    perspective:none !important;
    overflow:hidden !important;
}

.gallery-corridor{
    contain:layout paint !important;
    transform-style:flat !important;
}

.gallery-corridor-card.gallery-buffer-card{
    --gallery-side-shift:
        clamp(245px,28vw,500px);

    --gallery-far-shift:
        clamp(470px,52vw,880px);

    position:absolute !important;
    top:50% !important;
    left:50% !important;

    width:min(62vw,920px) !important;
    height:min(60vh,610px) !important;

    min-width:0 !important;
    min-height:0 !important;

    overflow:hidden !important;

    border:
        1px solid
        rgba(255,255,255,.12) !important;

    border-radius:
        26px !important;

    background:
        #081247 !important;

    filter:none !important;

    backface-visibility:
        hidden !important;

    transform-style:
        flat !important;

    transition:
        transform
            560ms
            cubic-bezier(.22,1,.36,1),
        opacity
            360ms
            cubic-bezier(.2,.8,.2,1),
        border-color
            260ms
            ease,
        box-shadow
            360ms
            ease !important;

    will-change:
        transform,
        opacity !important;
}

.gallery-buffer-card.is-far-prev{
    z-index:0 !important;
    opacity:0 !important;

    pointer-events:none !important;

    transform:
        translate3d(
            calc(
                -50% -
                var(--gallery-far-shift)
            ),
            -50%,
            0
        )
        rotate(-4deg)
        scale(.70) !important;
}

.gallery-buffer-card.is-prev{
    z-index:1 !important;
    opacity:.46 !important;

    pointer-events:auto !important;

    transform:
        translate3d(
            calc(
                -50% -
                var(--gallery-side-shift)
            ),
            -50%,
            0
        )
        rotate(-2.2deg)
        scale(.82) !important;

    box-shadow:
        0 18px 46px
        rgba(0,0,0,.20) !important;
}

.gallery-buffer-card.is-current{
    z-index:4 !important;
    opacity:1 !important;

    pointer-events:auto !important;

    transform:
        translate3d(
            -50%,
            -50%,
            0
        )
        rotate(0deg)
        scale(1) !important;

    border-color:
        rgba(175,196,255,.42) !important;

    box-shadow:
        0 30px 76px
            rgba(0,0,0,.31),
        0 0 0 1px
            rgba(175,196,255,.06)
            !important;
}

.gallery-buffer-card.is-next{
    z-index:2 !important;
    opacity:.46 !important;

    pointer-events:auto !important;

    transform:
        translate3d(
            calc(
                -50% +
                var(--gallery-side-shift)
            ),
            -50%,
            0
        )
        rotate(2.2deg)
        scale(.82) !important;

    box-shadow:
        0 18px 46px
        rgba(0,0,0,.20) !important;
}

.gallery-buffer-card.is-far-next{
    z-index:0 !important;
    opacity:0 !important;

    pointer-events:none !important;

    transform:
        translate3d(
            calc(
                -50% +
                var(--gallery-far-shift)
            ),
            -50%,
            0
        )
        rotate(4deg)
        scale(.70) !important;
}

.gallery-corridor.is-gliding-next
.gallery-buffer-card.is-far-prev{
    opacity:0 !important;

    transform:
        translate3d(
            calc(
                -50% -
                var(--gallery-far-shift) -
                110px
            ),
            -50%,
            0
        )
        rotate(-5deg)
        scale(.64) !important;
}

.gallery-corridor.is-gliding-next
.gallery-buffer-card.is-prev{
    opacity:0 !important;

    pointer-events:none !important;

    transform:
        translate3d(
            calc(
                -50% -
                var(--gallery-far-shift)
            ),
            -50%,
            0
        )
        rotate(-4deg)
        scale(.70) !important;
}

.gallery-corridor.is-gliding-next
.gallery-buffer-card.is-current{
    z-index:2 !important;
    opacity:.46 !important;

    transform:
        translate3d(
            calc(
                -50% -
                var(--gallery-side-shift)
            ),
            -50%,
            0
        )
        rotate(-2.2deg)
        scale(.82) !important;
}

.gallery-corridor.is-gliding-next
.gallery-buffer-card.is-next{
    z-index:5 !important;
    opacity:1 !important;

    transform:
        translate3d(
            -50%,
            -50%,
            0
        )
        rotate(0deg)
        scale(1) !important;

    border-color:
        rgba(175,196,255,.42) !important;

    box-shadow:
        0 30px 76px
            rgba(0,0,0,.31),
        0 0 0 1px
            rgba(175,196,255,.06)
            !important;
}

.gallery-corridor.is-gliding-next
.gallery-buffer-card.is-far-next{
    z-index:3 !important;
    opacity:.46 !important;

    transform:
        translate3d(
            calc(
                -50% +
                var(--gallery-side-shift)
            ),
            -50%,
            0
        )
        rotate(2.2deg)
        scale(.82) !important;

    box-shadow:
        0 18px 46px
        rgba(0,0,0,.20) !important;
}

.gallery-corridor.is-gliding-prev
.gallery-buffer-card.is-far-next{
    opacity:0 !important;

    transform:
        translate3d(
            calc(
                -50% +
                var(--gallery-far-shift) +
                110px
            ),
            -50%,
            0
        )
        rotate(5deg)
        scale(.64) !important;
}

.gallery-corridor.is-gliding-prev
.gallery-buffer-card.is-next{
    opacity:0 !important;

    pointer-events:none !important;

    transform:
        translate3d(
            calc(
                -50% +
                var(--gallery-far-shift)
            ),
            -50%,
            0
        )
        rotate(4deg)
        scale(.70) !important;
}

.gallery-corridor.is-gliding-prev
.gallery-buffer-card.is-current{
    z-index:2 !important;
    opacity:.46 !important;

    transform:
        translate3d(
            calc(
                -50% +
                var(--gallery-side-shift)
            ),
            -50%,
            0
        )
        rotate(2.2deg)
        scale(.82) !important;
}

.gallery-corridor.is-gliding-prev
.gallery-buffer-card.is-prev{
    z-index:5 !important;
    opacity:1 !important;

    transform:
        translate3d(
            -50%,
            -50%,
            0
        )
        rotate(0deg)
        scale(1) !important;

    border-color:
        rgba(175,196,255,.42) !important;

    box-shadow:
        0 30px 76px
            rgba(0,0,0,.31),
        0 0 0 1px
            rgba(175,196,255,.06)
            !important;
}

.gallery-corridor.is-gliding-prev
.gallery-buffer-card.is-far-prev{
    z-index:3 !important;
    opacity:.46 !important;

    transform:
        translate3d(
            calc(
                -50% -
                var(--gallery-side-shift)
            ),
            -50%,
            0
        )
        rotate(-2.2deg)
        scale(.82) !important;

    box-shadow:
        0 18px 46px
        rgba(0,0,0,.20) !important;
}

.gallery-corridor.gallery-buffer-no-transition
.gallery-buffer-card{
    transition:none !important;
}

.gallery-buffer-card
.gallery-corridor-image{
    width:100% !important;
    height:100% !important;

    object-fit:cover !important;

    filter:none !important;

    transform:
        scale(1.018) !important;

    transition:
        transform
        720ms
        cubic-bezier(.22,1,.36,1)
        !important;

    will-change:auto !important;
}

.gallery-buffer-card.is-current
.gallery-corridor-image,
.gallery-corridor.is-gliding-next
.gallery-buffer-card.is-next
.gallery-corridor-image,
.gallery-corridor.is-gliding-prev
.gallery-buffer-card.is-prev
.gallery-corridor-image{
    transform:
        scale(1.032) !important;
}

.gallery-buffer-card
.gallery-corridor-number{
    backdrop-filter:
        none !important;

    -webkit-backdrop-filter:
        none !important;
}

.gallery-odyssey-bg{
    transition:
        opacity
        680ms
        cubic-bezier(.2,.8,.2,1)
        !important;

    transform:none !important;
    filter:none !important;
}

.gallery-odyssey-bg.is-active{
    opacity:.36 !important;
    transform:none !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow{
    position:relative !important;
    isolation:isolate !important;

    overflow:hidden !important;

    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;

    color:#FFFFFF !important;

    border:
        1px solid
        rgba(201,215,250,.32)
        !important;

    border-radius:
        15px !important;

    background:
        linear-gradient(
            145deg,
            rgba(16,36,95,.96),
            rgba(8,17,77,.98)
        ) !important;

    box-shadow:
        0 13px 32px
            rgba(2,6,23,.26),
        inset 0 1px 0
            rgba(255,255,255,.07)
            !important;

    transform:
        translate3d(0,0,0)
        scale(1) !important;

    transition:
        transform
            280ms
            cubic-bezier(.22,1,.36,1),
        border-color
            220ms
            ease,
        background
            220ms
            ease,
        box-shadow
            260ms
            ease
            !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow::before{
    content:"" !important;

    position:absolute !important;
    z-index:1 !important;

    inset:-4px !important;

    pointer-events:none !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 28%,
            rgba(255,255,255,.04) 38%,
            rgba(255,255,255,.38) 49%,
            rgba(255,255,255,.07) 59%,
            transparent 72%,
            transparent 100%
        ) !important;

    transform:
        translate3d(-145%,0,0)
        !important;

    transition:
        transform
        680ms
        cubic-bezier(.22,1,.36,1)
        !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow::after{
    content:"";

    position:absolute;
    z-index:1;

    right:10px;
    bottom:6px;
    left:10px;

    height:2px;

    border-radius:
        999px;

    background:
        #DC2626;

    transform:
        scaleX(.18);

    opacity:.68;

    transition:
        transform
            300ms
            cubic-bezier(.22,1,.36,1),
        opacity
            220ms
            ease;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow svg{
    position:relative !important;
    z-index:3 !important;

    transition:
        transform
        320ms
        cubic-bezier(.22,1,.36,1)
        !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow:hover,
.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow:focus-visible{
    color:#FFFFFF !important;

    border-color:
        rgba(248,113,113,.88)
        !important;

    background:
        linear-gradient(
            145deg,
            #16327C,
            #08114D
        ) !important;

    box-shadow:
        0 17px 38px
            rgba(2,6,23,.30),
        0 0 0 3px
            rgba(220,38,38,.08),
        inset 0 1px 0
            rgba(255,255,255,.10)
            !important;

    transform:
        translate3d(0,-2px,0)
        scale(1.035)
        !important;

    outline:none !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow:hover::before,
.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow:focus-visible::before{
    transform:
        translate3d(145%,0,0)
        !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow:hover::after,
.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow:focus-visible::after{
    transform:
        scaleX(1);

    opacity:1;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
#galleryOdysseyPrev:hover svg,
.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
#galleryOdysseyPrev:focus-visible svg{
    transform:
        translate3d(-3px,0,0)
        !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
#galleryOdysseyNext:hover svg,
.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
#galleryOdysseyNext:focus-visible svg{
    transform:
        translate3d(3px,0,0)
        !important;
}

.gallery-corridor-stage
> .gallery-odyssey-controls.gallery-edge-controls
.gallery-odyssey-arrow:active{
    transform:
        translate3d(0,0,0)
        scale(.955)
        !important;

    transition-duration:
        90ms !important;
}

.gallery-corridor.is-gliding-next
~ .gallery-edge-controls,
.gallery-corridor.is-gliding-prev
~ .gallery-edge-controls{
    pointer-events:none;
}

.gallery-has-single-item
.gallery-buffer-card:not(.is-current){
    opacity:0 !important;
    pointer-events:none !important;
}

@media(max-width:980px){
    .gallery-corridor-card.gallery-buffer-card{
        --gallery-side-shift:
            clamp(185px,34vw,330px);

        --gallery-far-shift:
            clamp(350px,68vw,620px);

        width:
            min(76vw,760px)
            !important;

        height:
            min(55vh,560px)
            !important;
    }
}

@media(max-width:620px){
    .gallery-corridor-card.gallery-buffer-card{
        --gallery-side-shift:
            58vw;

        --gallery-far-shift:
            105vw;

        width:
            84vw !important;

        height:
            min(50vh,500px)
            !important;

        border-radius:
            20px !important;
    }

    .gallery-buffer-card.is-prev,
    .gallery-buffer-card.is-next{
        opacity:.24 !important;
    }

    .gallery-corridor-stage
    > .gallery-odyssey-controls.gallery-edge-controls{
        right:5px !important;
        left:5px !important;
    }

    .gallery-corridor-stage
    > .gallery-odyssey-controls.gallery-edge-controls
    .gallery-odyssey-arrow{
        width:44px !important;
        height:44px !important;
        flex-basis:44px !important;

        border-radius:
            12px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .gallery-corridor-card.gallery-buffer-card,
    .gallery-buffer-card
    .gallery-corridor-image,
    .gallery-odyssey-bg,
    .gallery-corridor-stage
    > .gallery-odyssey-controls.gallery-edge-controls
    .gallery-odyssey-arrow,
    .gallery-corridor-stage
    > .gallery-odyssey-controls.gallery-edge-controls
    .gallery-odyssey-arrow::before,
    .gallery-corridor-stage
    > .gallery-odyssey-controls.gallery-edge-controls
    .gallery-odyssey-arrow::after{
        transition:none !important;
    }
}

:root{
    --landing-button-ease:
        cubic-bezier(.22,1,.36,1);
    --landing-button-shine:
        760ms;
}

.motion-ready
.package-browser-v21.is-entering-forward
.package-v21-included,
.motion-ready
.package-browser-v21.is-entering-backward
.package-v21-included,
.motion-ready
.package-browser-v21.is-entering-forward
.package-v21-guests,
.motion-ready
.package-browser-v21.is-entering-backward
.package-v21-guests,
.motion-ready
.package-browser-v21.is-entering-forward
.package-v21-optional,
.motion-ready
.package-browser-v21.is-entering-backward
.package-v21-optional{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
}

.motion-ready
.package-browser-v21
.package-v16-amenity-item,
.motion-ready
.package-browser-v21
.package-v16-optional-item{
    opacity:1 !important;
    transform:translate3d(0,0,0) !important;
    animation:none !important;
}

.package-browser-v21
.package-v21-dossier.is-entering-right
.package-v16-amenity-item,
.package-browser-v21
.package-v21-dossier.is-entering-left
.package-v16-amenity-item,
.package-browser-v21
.package-v21-dossier.is-entering-right
.package-v16-optional-item,
.package-browser-v21
.package-v21-dossier.is-entering-left
.package-v16-optional-item{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
}

.package-browser-v21
.package-v16-amenity-item:hover,
.package-browser-v21
.package-v16-optional-item:hover{
    transform:
        translate3d(0,-2px,0)
        !important;
}

.ce-hero-button-motion{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;

    transform:
        translate3d(0,0,0)
        scale(1)
        !important;

    transition:
        border-color 220ms ease,
        background 220ms ease,
        box-shadow 240ms ease,
        color 220ms ease,
        transform 300ms
            var(--landing-button-ease)
        !important;
}

.ce-hero-button-motion
> .ce-system-shine{
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;

    width:auto !important;
    height:auto !important;
    margin:0 !important;

    pointer-events:none !important;

    border:0 !important;
    border-radius:inherit !important;

    opacity:1 !important;

    background:
        linear-gradient(
            115deg,
            transparent 0%,
            transparent 28%,
            rgba(255,255,255,.08) 38%,
            rgba(255,255,255,.34) 49%,
            rgba(255,255,255,.10) 58%,
            transparent 72%,
            transparent 100%
        ) !important;

    transform:
        translate3d(-125%,0,0)
        !important;

    transition:
        transform
        var(--landing-button-shine)
        var(--landing-button-ease)
        !important;
}

.ce-hero-button-motion:hover
> .ce-system-shine,
.ce-hero-button-motion:focus-visible
> .ce-system-shine{
    transform:
        translate3d(125%,0,0)
        !important;
}

.ce-hero-button-motion:hover,
.ce-hero-button-motion:focus-visible{
    transform:
        translate3d(0,-2px,0)
        scale(1.01)
        !important;
}

.ce-hero-button-motion:active{
    transform:
        translate3d(0,0,0)
        scale(.975)
        !important;

    transition-duration:
        90ms !important;
}

.ce-system-button:hover
.ce-system-icon,
.ce-system-button:focus-visible
.ce-system-icon{
    color:#FFFFFF !important;
    border-color:
        var(--ce-red)
        !important;
    background:
        var(--ce-red)
        !important;
    transform:
        translate3d(2px,0,0)
        !important;
}
.gallery-odyssey-arrow:hover,
.gallery-odyssey-arrow:focus-visible,
.process-trace-arrow:hover,
.process-trace-arrow:focus-visible{
    color:#FFFFFF !important;
    border-color:
        var(--ce-red)
        !important;
    background:
        var(--ce-red)
        !important;

    box-shadow:
        0 12px 28px
        rgba(220,38,38,.18)
        !important;
}

#occasionMarqueePrev:hover svg,
#occasionMarqueePrev:focus-visible svg,
#galleryOdysseyPrev:hover svg,
#galleryOdysseyPrev:focus-visible svg,
#processTracePrevious:hover svg,
#processTracePrevious:focus-visible svg{
    transform:
        translate3d(-2px,0,0)
        !important;
}

#occasionMarqueeNext:hover svg,
#occasionMarqueeNext:focus-visible svg,
#galleryOdysseyNext:hover svg,
#galleryOdysseyNext:focus-visible svg,
#processTraceNext:hover svg,
#processTraceNext:focus-visible svg{
    transform:
        translate3d(2px,0,0)
        !important;
}

.landing-login:hover
.landing-login-icon,
.landing-login:focus-visible
.landing-login-icon{
    color:
        var(--ce-red)
        !important;

    transform:
        translate3d(2px,0,0)
        scale(1.05)
        !important;
}
.package-selector-chip:hover,
.package-selector-chip:focus-visible,
.login-role:hover,
.login-role:focus-visible{
    border-color:
        rgba(220,38,38,.56)
        !important;

    box-shadow:
        0 12px 26px
        rgba(8,17,77,.09)
        !important;
}

.package-browser-v21
.package-selector-chip::before{
    animation:none !important;
    opacity:0 !important;
}

.login-choice-close:hover,
.login-choice-close:focus-visible{
    color:#FFFFFF !important;
    border-color:
        var(--ce-red)
        !important;
    background:
        var(--ce-red)
        !important;
}

.site-footer-social-link:hover,
.site-footer-social-link:focus-visible{
    color:#FFFFFF !important;
    border-color:
        var(--ce-red)
        !important;
    background:
        var(--ce-red)
        !important;
}

.ce-hero-button-motion:disabled,
.ce-hero-button-motion[aria-disabled="true"]{
    opacity:.34 !important;
    cursor:default !important;
    transform:none !important;
    box-shadow:none !important;
}

@media(prefers-reduced-motion:reduce){
.ce-hero-button-motion,
.ce-hero-button-motion
    > .ce-system-shine{
        animation:none !important;
        transition:none !important;
    }
}

.process-trace-node{
    position:absolute !important;

    left:0 !important;
    top:0 !important;

    width:72px !important;
    height:72px !important;

    display:grid !important;
    place-items:center !important;

    padding:0 !important;

    overflow:visible !important;
    isolation:auto !important;

    border:
        1px solid
        #CBD5E1 !important;

    border-radius:
        21px !important;

    color:
        #64748B !important;

    background:
        #FFFFFF !important;

    box-shadow:
        0 12px 26px
        rgba(8,17,77,.08)
        !important;

    cursor:pointer !important;

    transform:
        translate(-50%,-50%)
        !important;

    transition:
        color 280ms ease,
        border-color 280ms ease,
        background 280ms ease,
        box-shadow 320ms ease,
        transform 420ms var(--ease-out)
        !important;
}

.process-trace-node
> .ce-auto-shine{
    display:none !important;
}

.process-trace-node:hover,
.process-trace-node:focus-visible{
    color:
        #1E3A8A !important;

    border-color:
        rgba(30,58,138,.38)
        !important;

    background:
        #EEF4FF !important;

    box-shadow:
        0 17px 34px
            rgba(8,17,77,.12),
        0 0 0 5px
            rgba(30,58,138,.05)
        !important;

    transform:
        translate(-50%,-50%)
        translateY(-3px)
        scale(1.045)
        !important;

    outline:none !important;
}

.process-trace-step.is-current
.process-trace-node{
    color:
        #FFFFFF !important;

    border-color:
        #DC2626 !important;

    background:
        #DC2626 !important;

    box-shadow:
        0 18px 34px
            rgba(220,38,38,.19),
        0 0 0 7px
            rgba(220,38,38,.06)
        !important;

    transform:
        translate(-50%,-50%)
        scale(1.06)
        !important;
}

.process-trace-step.is-complete
.process-trace-node{
    color:
        #1E3A8A !important;

    border-color:
        rgba(30,58,138,.25)
        !important;

    background:
        #EEF4FF !important;

    box-shadow:
        0 12px 26px
        rgba(30,58,138,.09)
        !important;

    transform:
        translate(-50%,-50%)
        !important;
}

.process-trace-step.is-arriving
.process-trace-node{
    animation:
        processTraceNodeArrival
        700ms
        var(--ease-out)
        !important;
}

.process-trace-step.is-current
.process-trace-node-ring{
    opacity:1 !important;

    border-color:
        rgba(220,38,38,.38)
        !important;

    animation:
        processTraceNodeRing
        1.9s
        ease-out
        infinite
        !important;
}

.process-trace-section.is-journey-complete
.process-trace-step--5
.process-trace-node{
    color:
        #FFFFFF !important;

    background:
        #DC2626 !important;

    border-color:
        #DC2626 !important;

    box-shadow:
        0 20px 38px
            rgba(220,38,38,.20),
        0 0 0 8px
            rgba(220,38,38,.06)
        !important;

    transform:
        translate(-50%,-50%)
        scale(1.06)
        !important;
}

.process-trace-section.is-journey-complete
.process-trace-step--5
.process-trace-node-icon{
    opacity:0 !important;

    transform:
        scale(.72)
        !important;
}

.process-trace-section.is-journey-complete
.process-trace-step--5
.process-trace-node-check{
    opacity:1 !important;

    transform:
        scale(1)
        !important;
}

.login-choice-dialog{
    position:relative !important;
}

#closeLoginChoiceBtn.login-choice-close{
    position:absolute !important;

    inset:16px auto auto 16px !important;

    top:16px !important;
    right:auto !important;
    bottom:auto !important;
    left:16px !important;

    margin:0 !important;

    width:38px !important;
    height:38px !important;

    z-index:20 !important;

    display:grid !important;
    place-items:center !important;

    transform:
        translate3d(0,0,0)
        scale(1)
        !important;
}

.login-choice-heading{
    padding-top:56px !important;
    padding-right:0 !important;
    padding-left:0 !important;
}

@media(max-width:1120px){
    #closeLoginChoiceBtn.login-choice-close{
        inset:14px auto auto 14px !important;

        top:14px !important;
        right:auto !important;
        bottom:auto !important;
        left:14px !important;

        margin:0 !important;
    }

    .login-choice-heading{
        padding-top:54px !important;
        padding-right:0 !important;
    }
}

#closeLoginChoiceBtn.login-choice-close:hover,
#closeLoginChoiceBtn.login-choice-close:focus-visible{
    color:#DC2626 !important;

    border-color:
        rgba(220,38,38,.48)
        !important;

    background:#FFFFFF !important;

    box-shadow:
        0 10px 22px
            rgba(8,17,77,.09),
        0 0 0 3px
            rgba(220,38,38,.045)
        !important;

    transform:
        translate3d(0,-2px,0)
        scale(1.035)
        !important;
}

#closeLoginChoiceBtn.login-choice-close:active{
    transform:
        translate3d(0,0,0)
        scale(.94)
        !important;
}

.login-choice-dialog{
    position:relative !important;
}

#closeLoginChoiceBtn.login-choice-close{
    position:absolute !important;

    inset:
        16px
        16px
        auto
        auto
        !important;

    top:16px !important;
    right:16px !important;
    bottom:auto !important;
    left:auto !important;

    margin:0 !important;
    padding:0 !important;

    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;

    display:block !important;

    overflow:hidden !important;

    z-index:30 !important;

    border:
        1px solid
        #DCE4EF
        !important;

    border-radius:
        11px
        !important;

    color:
        #56657B
        !important;

    background:
        #FFFFFF
        !important;

    box-shadow:
        0 5px 14px
        rgba(8,17,77,.05)
        !important;

    transform:
        translate3d(0,0,0)
        scale(1)
        !important;

    transform-origin:
        center
        center
        !important;

    transition:
        color 220ms ease,
        border-color 220ms ease,
        background 220ms ease,
        box-shadow 240ms ease,
        transform 300ms
            cubic-bezier(.22,1,.36,1)
        !important;
}

#closeLoginChoiceBtn.login-choice-close
> .ce-control-shine,
#closeLoginChoiceBtn.login-choice-close
> .ce-system-shine,
#closeLoginChoiceBtn.login-choice-close
> .ce-auto-shine{
    display:none !important;
}

#closeLoginChoiceBtn.login-choice-close svg{
    position:absolute !important;

    top:50% !important;
    left:50% !important;

    width:17px !important;
    height:17px !important;

    display:block !important;

    margin:0 !important;
    padding:0 !important;

    overflow:visible !important;

    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.9 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;

    transform:
        translate(-50%,-50%)
        rotate(0deg)
        scale(1)
        !important;

    transform-origin:
        50%
        50%
        !important;

    transition:
        transform 300ms
            cubic-bezier(.22,1,.36,1)
        !important;

    pointer-events:none !important;
}

#closeLoginChoiceBtn.login-choice-close:hover,
#closeLoginChoiceBtn.login-choice-close:focus-visible{
    color:
        #DC2626
        !important;

    border-color:
        rgba(220,38,38,.50)
        !important;

    background:
        #FFFFFF
        !important;

    box-shadow:
        0 10px 22px
            rgba(8,17,77,.09),
        0 0 0 3px
            rgba(220,38,38,.045)
        !important;

    transform:
        translate3d(0,-2px,0)
        scale(1.035)
        !important;

    outline:none !important;
}

#closeLoginChoiceBtn.login-choice-close:hover svg,
#closeLoginChoiceBtn.login-choice-close:focus-visible svg{
    transform:
        translate(-50%,-50%)
        rotate(90deg)
        scale(1.04)
        !important;
}

#closeLoginChoiceBtn.login-choice-close:active{
    transform:
        translate3d(0,0,0)
        scale(.94)
        !important;

    transition-duration:
        90ms
        !important;
}

.login-choice-heading{
    padding-top:0 !important;
    padding-left:0 !important;
    padding-right:54px !important;
}

@media(max-width:1120px){
    #closeLoginChoiceBtn.login-choice-close{
        inset:
            14px
            14px
            auto
            auto
            !important;

        top:14px !important;
        right:14px !important;
        bottom:auto !important;
        left:auto !important;

        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        min-height:38px !important;
    }

    .login-choice-heading{
        padding-top:0 !important;
        padding-left:0 !important;
        padding-right:50px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    #closeLoginChoiceBtn.login-choice-close,
    #closeLoginChoiceBtn.login-choice-close svg{
        transition:none !important;
    }
}

@media(max-width:620px){
}

@media(prefers-reduced-motion:reduce){
}

@media(max-width:620px){
}

@media(prefers-reduced-motion:reduce){
}

@media (max-width: 1180px) {
    :root {
        --page-inline: clamp(22px, 3.6vw, 46px);
    }

    html,
    body {
        max-width: 100%;
    }

    body {
        overflow-x: clip;
    }
.landing-nav,
.hero-inner,
.package-v21-shell,
.package-v21-stage,
.package-v21-dossier,
.gallery-odyssey-shell,
.gallery-odyssey-header,
.gallery-corridor-stage,
.process-trace-shell,
.process-trace-heading,
.process-trace-stage,
.process-trace-focus,
.site-footer-shell,
.site-footer-main{
        min-width: 0;
    }
.package-stage-heading-copy,
.package-v21-identity,
.package-v21-price,
.package-v21-metrics,
.package-v21-row-head,
.gallery-odyssey-heading,
.process-trace-heading-copy,
.process-trace-focus-copy,
.site-footer-column{
        min-width: 0;
        max-width: 100%;
    }

    .package-v21-identity h3,
    .package-v21-row-head strong,
    .package-browser-v21 .package-selector-chip strong,
    .package-browser-v21 .package-v16-amenity-item strong,
    .package-browser-v21 .package-v16-optional-item strong,
    .process-trace-step-copy strong,
    .site-footer-contact-item strong,
    .site-footer-social-link strong {
        overflow-wrap: anywhere;
    }
}

@media (min-width: 1021px) and (max-width: 1120px) {
    .landing-brand-copy {
        display: flex;
    }

    .landing-brand-copy strong {
        font-size: .80rem;
    }

    .landing-brand-copy small {
        font-size: .47rem;
    }

    .landing-nav {
        gap: clamp(14px, 1.7vw, 22px);
    }

    .landing-nav-links {
        gap: clamp(11px, 1.15vw, 17px);
    }
}

@media (max-width: 980px) {
.package-v21-shell,
.gallery-odyssey-shell,
.process-trace-shell{
        width: 100%;
        max-width: 100%;
    }
.package-v21-hero,
.package-v21-data-row,
.gallery-corridor-card,
.process-trace-stage,
.process-trace-focus{
        max-width: 100%;
    }

    .gallery-corridor-card {
        max-width: calc(100vw - 36px);
    }

    .process-trace-step-copy,
    .process-trace-step-copy p {
        max-width: 100%;
    }
}

@media (max-width: 900px) {
    .landing-nav {
        position: relative;
        grid-template-columns: auto auto minmax(0, 1fr);
        padding-inline: var(--page-inline);
    }

    .landing-nav-actions {
        min-width: 0;
    }

    .landing-nav-links {
        z-index: 30;
        right: var(--page-inline);
        left: var(--page-inline);
        max-height: calc(100dvh - var(--nav-height) - 12px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .hero {
        height: calc(100svh - var(--nav-height));
        min-height: max(590px, calc(100svh - var(--nav-height)));
    }

    .hero-inner {
        padding-inline: var(--page-inline);
    }

    .hero-copy,
    .hero-description {
        max-width: min(100%, 650px);
    }
.hero-title-primary,
.hero-title-secondary,
.package-v21-heading h2,
.gallery-odyssey-heading h2,
.process-trace-heading h2{
        text-wrap: balance;
    }

    .package-v21-heading .package-stage-heading-copy {
        padding-left: 18px;
    }

    .package-v21-hero {
        gap: 18px;
    }

    .package-v21-price strong {
        white-space: normal;
    }

    .package-v21-row-head {
        width: 100%;
    }

    .process-trace-focus-actions {
        min-width: 0;
    }

    .site-footer-contact-item,
    .site-footer-social-link {
        width: 100%;
    }
}

@media (max-width: 760px) {
    :root {
        --page-inline: clamp(17px, 4.6vw, 26px);
    }

    .hero-copy {
        width: 100%;
    }

    .hero-title-primary {
        font-size: clamp(2.65rem, 11.5vw, 4rem);
    }

    .hero-title-secondary {
        font-size: clamp(2.22rem, 9.7vw, 3.45rem);
    }

    .hero-description {
        width: min(100%, 590px);
    }

    .package-stage-section.package-browser-v21 {
        padding-top: 34px;
        padding-bottom: 46px;
    }

    .package-v21-heading .package-stage-heading-copy {
        padding-left: 14px;
    }

    .package-v21-heading h2,
    .ce-occasions-heading h2 {
        font-size: clamp(1.95rem, 7.5vw, 2.8rem);
        line-height: 1;
    }

    .package-v21-nav-row {
        gap: 10px;
    }

    .package-browser-v21 .package-selector-chip {
        flex-basis: min(72vw, 225px);
    }

    .package-v21-hero {
        grid-template-columns: 1fr !important;
        padding: clamp(20px, 4.8vw, 28px);
        border-radius: 22px 22px 22px 7px;
    }

    .package-v21-price {
        padding-top: 14px !important;
        padding-left: 0 !important;
        border-top: 1px solid rgba(255,255,255,.14) !important;
        border-left: 0 !important;
    }

    .package-v21-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .package-v21-cta.ce-system-button {
        width: 100%;
        min-width: 0;
    }

    .package-v21-data-row {
        grid-template-columns: 1fr !important;
        border-radius: 18px 18px 18px 6px;
    }

    .package-v21-row-head {
        height: auto !important;
        padding: 14px 15px;
        border-right: 0 !important;
        border-bottom: 1px solid #E5EAF2;
    }

    .gallery-odyssey-shell {
        padding-inline: var(--page-inline) !important;
    }

    .gallery-odyssey-heading p {
        max-width: 100%;
    }

    .gallery-corridor-card {
        width: min(88vw, 650px);
        min-width: 0;
    }

    .gallery-odyssey-footer,
    .gallery-odyssey-filmstrip {
        min-width: 0;
    }

    .process-trace-shell {
        padding-inline: var(--page-inline) !important;
    }

    .process-trace-stage {
        height: auto !important;
        min-height: 650px;
    }

    .process-trace-steps {
        min-height: 650px;
    }

    .process-trace-focus {
        width: 100%;
    }

    .process-trace-focus-actions {
        width: 100%;
    }
}

@media (min-width: 561px) and (max-width: 760px) {

    .package-v21-amenity-grid,
    .package-v21-tier-grid,
    .package-v21-optional-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    :root {
        --nav-height: 64px;
        --page-inline: clamp(15px, 4.4vw, 20px);
    }

    .landing-header,
    .landing-nav {
        height: var(--nav-height);
    }

    .landing-nav {
        gap: 8px;
    }

    .landing-menu-toggle {
        width: 40px;
        height: 40px;
        padding: 9px;
    }

    .landing-nav-actions {
        gap: 6px;
    }

    .landing-login,
    .ce-system-button--compact {
        min-height: 40px;
    }

    .hero {
        min-height: max(560px, calc(100svh - var(--nav-height)));
    }

    .hero-inner {
        padding-bottom: clamp(26px, 5.5vh, 38px);
    }

    .hero-eyebrow {
        max-width: 100%;
    }

    .hero-eyebrow > span:last-child {
        white-space: normal;
    }

    .hero-actions {
        width: 100%;
    }

    .package-v21-shell {
        gap: 12px;
    }

    .package-browser-v21 .package-selector-chip {
        flex-basis: min(74vw, 220px);
    }

    .package-v21-hero {
        gap: 14px;
    }

    .package-v21-identity h3 {
        font-size: clamp(1.85rem, 8vw, 2.5rem);
    }

    .package-v21-metrics {
        gap: 6px;
    }

    .package-v21-metrics > div {
        padding: 10px 8px;
    }

    .package-v21-metrics span {
        font-size: .41rem;
        line-height: 1.25;
    }

    .package-v21-metrics strong {
        font-size: .57rem;
    }

    .package-v21-amenity-grid,
    .package-v21-tier-grid,
    .package-v21-optional-grid {
        grid-template-columns: 1fr !important;
        padding: 10px !important;
    }

    .gallery-odyssey-heading p {
        display: block !important;
        max-width: 100%;
        margin-top: 8px;
        font-size: .61rem;
        line-height: 1.5;
    }

    .gallery-odyssey {
        min-height: max(690px, calc(100svh - var(--nav-height)));
    }

    .gallery-odyssey-shell {
        min-height: max(690px, calc(100svh - var(--nav-height)));
        padding-top: 20px;
        padding-bottom: 18px;
    }

    .gallery-corridor-card {
        width: min(90vw, 560px);
        min-width: 0;
        min-height: 300px;
    }

    .gallery-odyssey-footer {
        width: 100%;
    }

    .gallery-odyssey-filmstrip {
        flex: 1 1 auto;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .gallery-odyssey-filmstrip::-webkit-scrollbar {
        display: none;
    }

    .process-trace-heading {
        grid-template-columns: 1fr !important;
    }

    .process-trace-counter {
        width: min(176px, 100%);
    }

    .process-trace-stage {
        min-height: 640px;
    }

    .process-trace-steps {
        min-height: 640px;
        padding-right: 10px;
    }

    .process-trace-step-copy strong,
    .process-trace-step-copy p {
        overflow-wrap: anywhere;
    }

    .process-trace-focus-actions {
        grid-template-columns: 1fr !important;
    }

    .process-trace-cta.ce-system-button {
        width: 100%;
        min-width: 0;
    }

    .site-footer-shell {
        width: min(100% - 30px, 520px);
    }

    .site-footer-main {
        grid-template-columns: 1fr;
    }

    .site-footer-contact-item > span:last-child,
    .site-footer-social-link > span:last-child {
        min-width: 0;
    }

    .login-choice-modal {
        padding: 12px;
    }

    .login-choice-dialog {
        width: min(100%, 520px);
        max-height: calc(100dvh - 24px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}

@media (max-width: 430px) {
    :root {
        --page-inline: 14px;
    }

    .landing-brand-mark {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .landing-brand-mark img {
        width: 33px;
        height: 33px;
    }

    .landing-login {
        padding-inline: 8px;
    }

    .ce-system-button--compact {
        min-width: 96px;
        padding-left: 9px;
    }

    .hero-title-primary {
        font-size: clamp(2.42rem, 12.5vw, 3.2rem);
    }

    .hero-title-secondary {
        font-size: clamp(2.02rem, 10.8vw, 2.7rem);
    }

    .hero-description {
        max-width: 100%;
    }

    .package-v21-heading .package-stage-heading-copy {
        padding-left: 11px;
    }

    .package-v21-heading h2,
    .ce-occasions-heading h2 {
        font-size: clamp(1.78rem, 8.4vw, 2.35rem);
    }

    .package-browser-v21 .package-selector-chip {
        flex-basis: min(78vw, 212px);
    }

    .package-v21-hero {
        padding: 19px 16px;
    }

    .package-v21-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .package-v21-row-head {
        padding: 13px;
    }

    .package-browser-v21 .package-v16-optional-item {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }

    .package-browser-v21 .package-v16-optional-item span {
        white-space: normal;
        text-align: right;
    }

    .gallery-odyssey-shell {
        padding-inline: 14px !important;
    }

    .gallery-corridor-card {
        width: calc(100vw - 28px);
        max-width: calc(100vw - 28px);
    }

    .process-trace-shell {
        padding-inline: 14px !important;
    }

    .process-trace-stage {
        border-radius: 20px;
    }

    .process-trace-steps {
        padding-left: 67px;
    }

    .process-trace-steps::before,
    .process-trace-steps::after {
        left: 39px;
    }

    .process-trace-step {
        grid-template-columns: 53px minmax(0, 1fr);
        column-gap: 10px;
    }

    .process-trace-node {
        width: 49px;
        height: 49px;
    }

    .process-trace-focus {
        padding: 14px;
    }

    .site-footer-shell {
        width: calc(100% - 28px);
    }

    .site-footer-bottom p,
    .site-footer-bottom span {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 370px) {
    .landing-nav {
        gap: 6px;
    }

    .landing-login-icon {
        display: grid;
    }

    .landing-login > span:last-child {
        display: none;
    }

    .landing-login {
        width: 40px;
        min-width: 40px;
        padding: 0;
        justify-content: center;
    }

    .ce-system-button--compact {
        min-width: 92px;
        padding-left: 8px;
    }

    .ce-system-button--compact .ce-system-icon {
        width: 29px;
        height: 29px;
        flex-basis: 29px;
    }

    .hero-eyebrow-pin {
        display: none;
    }

    .package-v21-metrics > div {
        padding-inline: 6px;
    }

    .package-v21-metrics span {
        font-size: .38rem;
    }

    .gallery-odyssey-arrow,
    .process-trace-arrow {
        width: 36px;
        height: 36px;
    }
}

@media (max-width: 900px) and (max-height: 560px) and (orientation: landscape) {
    :root {
        --nav-height: 60px;
    }

    .hero {
        height: auto;
        min-height: 520px;
    }

    .hero-inner {
        min-height: 520px;
        padding-top: 26px;
        padding-bottom: 26px;
    }

    .hero-title-primary {
        font-size: clamp(2.3rem, 7vw, 3.45rem);
    }

    .hero-title-secondary {
        font-size: clamp(2rem, 6vw, 3rem);
    }
.gallery-corridor-card{
        max-height: 430px;
    }
}

.hero-video,
.hero.is-video-ready .hero-video{
    filter:none !important;
}

.hero-video{
    transition:
        opacity 620ms ease,
        transform 980ms var(--ease-out) !important;
    will-change:opacity,transform !important;
}

.hero.is-video-ready .hero-media-fallback{
    animation:none !important;
}

.hero-ambient{
    animation:none !important;
    transform:none !important;
    opacity:.60 !important;
}

.hero-media-plane{
    transition:transform 220ms cubic-bezier(.22,1,.36,1) !important;
}

.hero-copy{
    transition:
        transform 200ms cubic-bezier(.22,1,.36,1),
        opacity 180ms linear !important;
}

.package-browser-v21.is-idle .package-v21-hero::after,
.package-browser-v21.is-idle .package-selector-chip.is-active::after,
.package-browser-v21.is-idle .package-v16-amenity-check,
.package-browser-v21.is-idle .package-tier-chip,
.package-browser-v21.is-idle .package-v21-selector-track .package-selector-chip.is-active,
.package-browser-v21.is-idle .package-section-kicker::after,
.package-browser-v21.is-idle .package-v21-controls .package-nav-button .ce-system-icon svg{
    animation:none !important;
}

.package-browser-v21 .package-v21-hero,
.package-browser-v21 .package-v21-data-row{
    backface-visibility:hidden;
}
.gallery-corridor-image,
.gallery-odyssey-bg{
    backface-visibility:hidden;
}

@media(prefers-reduced-motion:reduce){
.hero-video,
.hero-media-plane,
.hero-copy{
        transition:none !important;
        animation:none !important;
        will-change:auto !important;
    }
}

.motion-ready .package-browser-v21 .package-v21-heading {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

.motion-ready .package-browser-v21 .package-stage-heading-copy,
.motion-ready .package-browser-v21 .package-v21-nav-row,
.motion-ready .package-browser-v21 .package-v21-stage {
    opacity: 0;
    animation: none !important;
    will-change: auto !important;
    transition-property: opacity, transform !important;
    transition-timing-function: cubic-bezier(.22, 1, .36, 1) !important;
}

.motion-ready .package-browser-v21 .package-stage-heading-copy {
    transform: translate3d(0, 16px, 0);
    transition-duration: 560ms !important;
    transition-delay: 40ms !important;
}

.motion-ready .package-browser-v21 .package-v21-nav-row {
    transform: translate3d(-14px, 8px, 0);
    transition-duration: 620ms !important;
    transition-delay: 100ms !important;
}

.motion-ready .package-browser-v21 .package-v21-stage {
    transform: translate3d(0, 18px, 0) scale(.994);
    transform-origin: center top;
    transition-duration: 720ms !important;
    transition-delay: 160ms !important;
}

.motion-ready .package-browser-v21.is-in-view .package-stage-heading-copy,
.motion-ready .package-browser-v21.is-in-view .package-v21-nav-row,
.motion-ready .package-browser-v21.is-in-view .package-v21-stage {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

.motion-ready .package-browser-v21 .package-section-kicker,
.motion-ready .package-browser-v21 .package-v21-heading h2,
.motion-ready .package-browser-v21 .package-stage-heading-copy > p {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

.motion-ready .package-browser-v21 .package-selector-chip,
.motion-ready .package-browser-v21 .package-v21-controls .package-nav-button {
    opacity: 1 !important;
}

.motion-ready .package-browser-v21 .package-stage-heading-copy::before,
.motion-ready .package-browser-v21 .package-section-kicker::after,
.motion-ready .package-browser-v21 .package-v21-nav-row::after {
    opacity: 1 !important;
    transform: scale(1) !important;
    animation: none !important;
}

.package-browser-v21 .package-selector-chip.is-active,
.package-browser-v21 .package-v21-dossier.is-entering-right .package-v21-identity,
.package-browser-v21 .package-v21-dossier.is-entering-left .package-v21-identity,
.package-browser-v21 .package-v21-dossier.is-entering-right .package-v21-price,
.package-browser-v21 .package-v21-dossier.is-entering-left .package-v21-price,
.package-browser-v21 .package-v21-dossier.is-entering-right .package-v21-metrics,
.package-browser-v21 .package-v21-dossier.is-entering-left .package-v21-metrics,
.package-browser-v21 .package-v21-dossier.is-entering-right .package-tier-chip,
.package-browser-v21 .package-v21-dossier.is-entering-left .package-tier-chip,
.package-browser-v21 .package-v21-dossier.is-entering-right .package-v16-amenity-item,
.package-browser-v21 .package-v21-dossier.is-entering-left .package-v16-amenity-item,
.package-browser-v21 .package-v21-dossier.is-entering-right .package-v16-optional-item,
.package-browser-v21 .package-v21-dossier.is-entering-left .package-v16-optional-item {
    animation: none !important;
}

.package-browser-v21 .package-v21-hero,
.package-browser-v21 .package-v21-data-row,
.package-browser-v21 .package-tier-chip,
.package-browser-v21 .package-v16-amenity-item,
.package-browser-v21 .package-v16-optional-item {
    backface-visibility: visible;
    will-change: auto !important;
}

@media (prefers-reduced-motion: reduce) {
    .motion-ready .package-browser-v21 .package-stage-heading-copy,
    .motion-ready .package-browser-v21 .package-v21-nav-row,
    .motion-ready .package-browser-v21 .package-v21-stage {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

.motion-ready .package-browser-v21 .package-v21-heading,
.motion-ready .package-browser-v21 .package-stage-heading-copy,
.motion-ready .package-browser-v21 .package-v21-nav-row,
.motion-ready .package-browser-v21 .package-v21-stage,
.motion-ready .package-browser-v21 .package-v21-dossier,
.motion-ready .package-browser-v21 .package-v21-hero,
.motion-ready .package-browser-v21 .package-v21-data-row {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
    will-change: auto !important;
}

.package-browser-v21 *,
.package-browser-v21 *::before,
.package-browser-v21 *::after {
    animation: none !important;
}

.package-browser-v21 .package-v21-hero,
.package-browser-v21 .package-v21-data-row,
.package-browser-v21 .package-v21-dossier {
    backface-visibility: visible !important;
    will-change: auto !important;
}

html{
    overflow-y:scroll;
    scrollbar-gutter:stable;
}

body.modal-open{
    position:fixed;
    left:0;
    right:0;
    width:100%;
    overflow:hidden;
    overscroll-behavior:none;
}

.landing-nav-actions .landing-login,
.landing-nav-actions .ce-system-button--compact{
    font-family:"Poppins",Arial,sans-serif;
    font-size:.64rem;
    font-weight:700;
    letter-spacing:0;
    line-height:1;
}

.landing-nav-actions .landing-login{
    min-width:82px;
    min-height:44px;
    justify-content:center;
    gap:0;
    padding:0 16px;
}

.landing-nav-actions .ce-system-button--compact{
    min-width:148px;
}

.landing-nav-actions .ce-system-button--compact .ce-system-copy{
    font-weight:700;
}

.login-choice-modal{
    opacity:1;
    visibility:hidden;
    pointer-events:none;
    transition:visibility 0s linear .28s;
}

.login-choice-modal.is-preparing,
.login-choice-modal.is-open{
    visibility:visible;
    transition-delay:0s;
}

.login-choice-modal.is-open{
    pointer-events:auto;
}

.login-choice-backdrop{
    opacity:0;
    background:rgba(4,9,34,.70);
    transition:opacity .22s ease;
}

.login-choice-modal.is-open .login-choice-backdrop{
    opacity:1;
}

.login-choice-dialog{
    width:min(490px,calc(100% - 28px));
    padding:28px;
    border:1px solid #D8E2EF;
    border-radius:22px;
    background:#FFFFFF;
    box-shadow:0 26px 66px rgba(8,17,77,.22);

    opacity:0;
    transform:translate3d(0,12px,0) scale(.978);
    transform-origin:center center;
    transition:
        opacity .20s ease,
        transform .28s cubic-bezier(.22,1,.36,1);
}

.login-choice-modal.is-open .login-choice-dialog{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
}

.login-choice-accent{
    width:96px;
    height:4px;
    position:absolute;
    top:0;
    left:38px;
    border-radius:0 0 999px 999px;
    background:#D72638;
}

.login-choice-close{
    width:38px;
    height:38px;
    top:14px;
    right:14px;
    display:grid;
    place-items:center;
    border:1px solid #DFE6F0;
    border-radius:10px;
    color:#08114D;
    background:#FFFFFF;
    box-shadow:none;
}

.login-choice-close svg{
    width:15px;
    height:15px;
}

.login-choice-close:hover,
.login-choice-close:focus-visible{
    color:#D72638;
    border-color:#F0B9C0;
    background:#FFF4F5;
    transform:rotate(90deg);
}

.login-choice-close:active{
    transform:rotate(90deg) scale(.94);
}

.login-choice-heading{
    padding:0;
    text-align:center;
}

.login-choice-brand{
    display:grid;
    justify-items:center;
    gap:7px;
    padding:0 48px;
}

.login-choice-logo{
    width:58px;
    height:58px;
    display:block;
    object-fit:contain;
}

.login-choice-business-name{
    margin:0;
    color:#07164A;
    font-size:.68rem;
    font-weight:700;
    line-height:1.4;
}

.login-choice-heading h2{
    margin:15px 0 0;
    color:#08114D;
    font-size:clamp(1.42rem,2.15vw,1.68rem);
    font-weight:800;
    letter-spacing:-.04em;
    line-height:1.08;
}

.login-choice-heading p{
    margin:7px 0 0;
    color:#5F6F88;
    font-size:.66rem;
    font-weight:500;
    line-height:1.5;
}

.login-choice-options{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:22px;
}

.login-role{
    min-width:0;
    min-height:82px;
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 32px;
    align-items:center;
    gap:11px;
    overflow:hidden;
    padding:12px 12px 12px 13px;
    border-radius:12px;
    text-decoration:none;
    transform:none;
    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease,
        transform .2s cubic-bezier(.22,1,.36,1);
}

.login-role--customer{
    color:#08114D;
    border:1px solid #CBD9EC;
    background:#FFFFFF;
    box-shadow:0 7px 18px rgba(8,17,77,.055);
}

.login-role--admin{
    color:#FFFFFF;
    border:1px solid #102862;
    background:#08114D;
    box-shadow:0 9px 20px rgba(8,17,77,.13);
}

.login-role--admin::after{
    content:"";
    width:54px;
    height:180%;
    position:absolute;
    top:-40%;
    left:-86px;
    z-index:0;
    pointer-events:none;
    background:
        linear-gradient(
            110deg,
            transparent,
            rgba(255,255,255,.22),
            transparent
        );
    transform:skewX(-18deg);
    transition:left .46s cubic-bezier(.22,1,.36,1);
}

.login-role > *{
    position:relative;
    z-index:1;
}

.login-role:hover,
.login-role:focus-visible{
    transform:translateY(-1px);
    outline:none;
}

.login-role--customer:hover,
.login-role--customer:focus-visible{
    border-color:#AFC3E0;
    background:#FDFEFF;
    box-shadow:0 11px 24px rgba(8,17,77,.09);
}

.login-role--admin:hover,
.login-role--admin:focus-visible{
    border-color:#173A8B;
    background:#0A215F;
    box-shadow:0 13px 28px rgba(8,17,77,.19);
}

.login-role--admin:hover::after,
.login-role--admin:focus-visible::after{
    left:calc(100% + 28px);
}

.login-role-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:10px;
}

.login-role--customer .login-role-icon{
    color:#173E91;
    border:1px solid #D6E1F0;
    background:#EEF3FB;
}

.login-role--admin .login-role-icon{
    color:#FFFFFF;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
}

.login-role-icon svg,
.login-role-arrow svg{
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.login-role-icon svg{
    width:18px;
    height:18px;
    stroke-width:1.7;
}

.login-role-copy{
    min-width:0;
}

.login-role-copy strong,
.login-role-copy > span{
    display:block;
}

.login-role-copy strong{
    font-size:.73rem;
    font-weight:700;
    line-height:1.3;
}

.login-role--customer .login-role-copy strong{
    color:#08114D;
}

.login-role--admin .login-role-copy strong{
    color:#FFFFFF;
}

.login-role-copy > span{
    margin-top:3px;
    overflow:hidden;
    font-size:.59rem;
    font-weight:500;
    line-height:1.45;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.login-role--customer .login-role-copy > span{
    color:#5F6F88;
}

.login-role--admin .login-role-copy > span{
    color:#D5DDF0;
}

.login-role-arrow{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:8px;
}

.login-role--customer .login-role-arrow{
    color:#FFFFFF;
    border:1px solid #08114D;
    background:#08114D;
}

.login-role--admin .login-role-arrow{
    color:#FFFFFF;
    border:1px solid rgba(255,255,255,.20);
    background:rgba(255,255,255,.08);
}

.login-role-arrow svg{
    width:14px;
    height:14px;
    stroke-width:1.9;
}

.login-role:hover .login-role-arrow,
.login-role:focus-visible .login-role-arrow{
    color:#FFFFFF;
    border-color:#D72638;
    background:#D72638;
    transform:translateX(2px);
}

@media(max-width:680px){
    .login-choice-dialog{
        width:min(100% - 20px,480px);
        padding:26px 16px 18px;
        border-radius:20px;
    }

    .login-choice-accent{
        left:26px;
        width:78px;
    }

    .login-choice-brand{
        padding:0 42px;
    }

    .login-choice-logo{
        width:56px;
        height:56px;
    }

    .login-choice-heading h2{
        margin-top:14px;
        font-size:1.38rem;
    }

    .login-choice-options{
        gap:9px;
        margin-top:18px;
    }

    .login-role{
        min-height:76px;
    }
}

@media(max-width:460px){
    .login-choice-dialog{
        padding:24px 12px 14px;
    }

    .login-choice-heading h2{
        font-size:1.28rem;
    }

    .login-role{
        grid-template-columns:40px minmax(0,1fr) 30px;
        gap:9px;
        padding:11px;
    }

    .login-role-icon{
        width:40px;
        height:40px;
    }

    .login-role-arrow{
        width:30px;
        height:30px;
    }
}

@media(prefers-reduced-motion:reduce){
    .login-choice-modal,
    .login-choice-backdrop,
    .login-choice-dialog{
        transition:none!important;
    }

    .login-choice-dialog{
        transform:none!important;
    }
}

.ce-story {
    --story-ink: #050c25;
    position: relative;
    isolation: isolate;
    transform: none;
    background: var(--story-ink);
    color: #fff;
    scroll-margin-top: var(--nav-height, 78px);
}
.ce-story-panel {
    position: relative;
    min-height: 560px;
    min-height: clamp(540px, 76svh, 820px);
    display: grid;
    align-items: center;
    overflow: hidden;
    overflow: clip;
    isolation: isolate;
    background: var(--story-ink);
}
.ce-story-landscape {
    position: absolute;
    inset: -48px 0;
    pointer-events: none;
}
.ce-story-landscape img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.ce-story-panel.ce-story-has-motion .ce-story-landscape { will-change: transform; }
.ce-story-shade {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(5,12,37,.05) 0%, rgba(5,12,37,.18) 28%, rgba(5,12,37,.86) 57%, #050c25 100%);
}
.ce-story-panel--left .ce-story-shade {
    background: linear-gradient(90deg, #050c25 0%, rgba(5,12,37,.86) 43%, rgba(5,12,37,.18) 72%, rgba(5,12,37,.05) 100%);
}
.ce-story-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, #050c25 0%, transparent 20%, transparent 77%, #050c25 100%);
}
.ce-story-inner {
    position: relative;
    z-index: 1;
    width: min(100%, 1480px);
    margin-inline: auto;
    padding: 88px clamp(24px, 7vw, 112px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 6vw, 96px);
}
.ce-story-panel--right .ce-story-copy { grid-column: 2; }
.ce-story-panel--left .ce-story-copy { grid-column: 1; }
.ce-story-copy { max-width: 550px; min-width: 0; }
.ce-story .ce-story-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 28px;
    color: #c8cddd;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: .17em;
}
.ce-story-copy h2, .ce-story-copy h3 {
    margin: 0;
    color: #fff;
    font-family: "Poppins", Arial, sans-serif;
    font-size: clamp(32px, 3.1vw, 48px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.035em;
    text-wrap: balance;
}
.ce-story .ce-story-description {
    max-width: 470px;
    margin: 22px 0 0;
    color: #d1d7e3;
    font-size: clamp(14px, 1.05vw, 16px);
    font-weight: 400;
    line-height: 1.85;
}
@media (prefers-reduced-motion: no-preference) {
    .ce-story-copy.ce-story-reveal { animation: ceStoryRise 700ms cubic-bezier(.22,1,.36,1) both; }
    @keyframes ceStoryRise {
        from { opacity: .25; transform: translateY(22px); }
        to { opacity: 1; transform: translateY(0); }
    }
}
@media (max-width: 1000px) and (min-width: 761px) {
    .ce-story-inner { padding-inline: 36px; gap: 32px; }
    .ce-story-copy h2, .ce-story-copy h3 { font-size: 36px; }
}
@media (max-width: 760px) {
    .ce-story-panel { min-height: 580px; align-items: end; }
    .ce-story-landscape { inset: 0 0 22%; }
    .ce-story-panel .ce-story-shade {
        background: linear-gradient(180deg, rgba(5,12,37,.08) 0%, rgba(5,12,37,.12) 20%, rgba(5,12,37,.9) 53%, #050c25 74%);
    }
    .ce-story-panel::after { background: linear-gradient(180deg, #050c25, transparent 16%); }
    .ce-story-inner { display: block; padding: 240px 26px 48px; }
    .ce-story-copy { max-width: 520px; }
    .ce-story-copy h2, .ce-story-copy h3 { font-size: clamp(28px, 6.8vw, 36px); }
    .ce-story .ce-story-eyebrow { margin-bottom: 20px; font-size: 9px; gap: 10px; }
    .ce-story .ce-story-description { margin-top: 20px; font-size: 14px; line-height: 1.8; }
    }
@media (prefers-reduced-motion: reduce) {
    .ce-story-landscape, .ce-story-copy {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

.ce-occasions {
    position: relative;
    transform: none;
    padding: clamp(72px, 6vw, 100px) 0;
    background: #FFFFFF;
    color: var(--ce-text);
    font-family: "Poppins", Arial, sans-serif;
    scroll-margin-top: var(--nav-height, 78px);
}

.ce-occasions [hidden] {
    display: none !important;
}

.ce-occasions-shell {
    width: min(100%, 1680px);
    margin-inline: auto;
    padding-inline: var(--page-inline, clamp(24px, 4.7vw, 72px));
}

.ce-occasions-heading {
    max-width: 820px;
    margin-bottom: clamp(30px, 3.2vw, 48px);
}

.ce-occasions-kicker,
.ce-occasion-selector-kicker,
.ce-occasions-personalized-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ce-red);
    font-size: .62rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.ce-occasions-kicker::after {
    content: "";
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--ce-red);
}

.ce-occasions-heading h2 {
    max-width: 790px;
    margin: 13px 0 0;
    color: var(--ce-navy);
    font-size: clamp(2.35rem, 4.05vw, 4.25rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.052em;
    text-wrap: balance;
}

.ce-occasions-heading p {
    max-width: 690px;
    margin: 17px 0 0;
    color: var(--ce-muted);
    font-size: clamp(.8rem, .84vw, .92rem);
    font-weight: 400;
    line-height: 1.72;
}

.ce-occasions-status {
    margin: 0;
    padding: 4px 0 24px;
    color: var(--ce-muted);
    font-size: .78rem;
    font-weight: 500;
}

.ce-occasions-retry {
    min-height: 44px;
    margin: 0 0 26px;
    padding: 8px 18px;
    border: 1px solid #CBD5E1;
    border-radius: 11px;
    color: var(--ce-navy);
    background: #FFFFFF;
    font: inherit;
    font-size: .72rem;
    font-weight: 700;
    cursor: pointer;
}

.ce-occasion-stage {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.48fr) minmax(340px, .88fr);
    min-height: clamp(430px, 34vw, 560px);
    overflow: hidden;
    border: 1px solid #DCE4EF;
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 20px 52px rgba(8, 17, 77, .07);
    contain: layout paint;
}

.ce-occasion-stage-media {
    position: relative;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    background: #E9EEF6;
}

.ce-occasion-stage-media .ce-occasion-loaded-image {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    transform: scale(1);
    transition:
        opacity 430ms ease,
        transform 620ms var(--ease-out);
}

.ce-occasion-stage-media .ce-occasion-loaded-image--pending {
    z-index: 2;
    opacity: 0;
    transform: scale(1.006);
}

.ce-occasion-stage-media .ce-occasion-loaded-image--leaving {
    z-index: 1;
    opacity: 0;
}

.ce-occasion-stage-fallback,
.ce-occasion-thumb-fallback {
    display: grid;
    place-items: center;
    color: #77869C;
    background: #E9EEF6;
    font-size: .7rem;
    font-weight: 600;
    text-align: center;
}

.ce-occasion-stage-fallback {
    position: absolute;
    inset: 0;
    z-index: 0;
    padding: 24px;
}

.ce-occasion-stage-arrow {
    position: absolute;
    z-index: 4;
    top: 50%;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(8, 17, 77, .13);
    border-radius: 50%;
    color: var(--ce-navy);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 26px rgba(8, 17, 77, .13);
    cursor: pointer;
    transform: translateY(-50%);
    transition:
        color 200ms ease,
        border-color 200ms ease,
        background-color 200ms ease,
        box-shadow 260ms ease,
        transform 340ms var(--ease-out);
}

.ce-occasion-stage-arrow--prev {
    left: 18px;
}

.ce-occasion-stage-arrow--next {
    right: 18px;
}

.ce-occasion-stage-arrow svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ce-occasion-stage-arrow:disabled {
    opacity: .38;
    cursor: default;
}

.ce-occasion-stage-index {
    position: absolute;
    z-index: 4;
    right: 18px;
    bottom: 18px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid rgba(8, 17, 77, .12);
    border-radius: 999px;
    color: var(--ce-navy);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 20px rgba(8, 17, 77, .09);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .07em;
    font-variant-numeric: tabular-nums;
}

.ce-occasion-stage-index i {
    width: 16px;
    height: 1px;
    background: #AEBBCD;
}

.ce-occasion-stage-copy {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(36px, 3.7vw, 62px);
    border-left: 1px solid #E4E9F2;
    background: #FFFFFF;
}

.ce-occasion-stage-copy::before {
    content: "";
    position: absolute;
    top: clamp(38px, 3.7vw, 62px);
    left: 0;
    width: 3px;
    height: 58px;
    border-radius: 0 999px 999px 0;
    background: var(--ce-red);
}

.ce-occasion-stage-eyebrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.ce-occasion-stage-eyebrow > span:first-child {
    color: var(--ce-red);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ce-occasion-stage-eyebrow > span:last-child {
    color: #8490A2;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .07em;
    font-variant-numeric: tabular-nums;
}

.ce-occasion-stage-copy h3 {
    max-width: 560px;
    margin: 0;
    color: var(--ce-navy);
    font-size: clamp(2.25rem, 3.55vw, 4.2rem);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.055em;
    overflow-wrap: anywhere;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    -webkit-line-clamp: 3;
}

.ce-occasion-stage-copy > p {
    max-width: 535px;
    margin: 19px 0 0;
    color: var(--ce-muted);
    font-size: clamp(.78rem, .82vw, .9rem);
    font-weight: 400;
    line-height: 1.72;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    line-clamp: 5;
    -webkit-line-clamp: 5;
}

.ce-occasion-stage-actions {
    display: flex;
    align-items: center;
    margin-top: clamp(26px, 2.6vw, 38px);
}

.ce-occasion-stage-cta.ce-system-button {
    min-width: 190px;
}

.ce-occasion-stage-media,
.ce-occasion-stage-copy {
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    transition:
        opacity 360ms ease,
        transform 520ms var(--ease-out);
}

.ce-occasion-stage.is-leaving-next .ce-occasion-stage-media,
.ce-occasion-stage.is-leaving-next .ce-occasion-stage-copy {
    opacity: .28;
    transform: translate3d(-7px, 0, 0);
}

.ce-occasion-stage.is-leaving-prev .ce-occasion-stage-media,
.ce-occasion-stage.is-leaving-prev .ce-occasion-stage-copy {
    opacity: .28;
    transform: translate3d(7px, 0, 0);
}

.ce-occasion-stage.is-entering-next .ce-occasion-stage-media,
.ce-occasion-stage.is-entering-next .ce-occasion-stage-copy {
    opacity: .28;
    transform: translate3d(7px, 0, 0);
}

.ce-occasion-stage.is-entering-prev .ce-occasion-stage-media,
.ce-occasion-stage.is-entering-prev .ce-occasion-stage-copy {
    opacity: .28;
    transform: translate3d(-7px, 0, 0);
}

.ce-occasion-selector {
    position: relative;
    margin-top: clamp(34px, 3.1vw, 48px);
    padding-top: 2px;
}

.ce-occasion-selector-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 15px;
}

.ce-occasion-selector-kicker {
    font-size: .54rem;
}

.ce-occasion-selector-heading h3 {
    margin: 7px 0 0;
    color: var(--ce-navy);
    font-size: clamp(1.25rem, 1.55vw, 1.58rem);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -.032em;
}

.ce-occasions-count {
    color: #8190A3;
    font-size: .6rem;
    font-weight: 700;
    white-space: nowrap;
}

.ce-occasion-selector-rail {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 3px 1px 4px;
}

.ce-occasion-selector-rail::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.ce-occasion-selector-card {
    min-width: 0;
    flex: 0 0 clamp(210px, 18.5vw, 275px);
    scroll-snap-align: start;
}

.ce-occasion-selector-button {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    min-height: 92px;
    padding: 10px;
    overflow: hidden;
    border: 1px solid #DEE5EF;
    border-radius: 14px;
    color: inherit;
    background: #FFFFFF;
    box-shadow: 0 7px 18px rgba(8, 17, 77, .035);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition:
        border-color 220ms ease,
        box-shadow 280ms ease,
        transform 320ms var(--ease-out);
}

.ce-occasion-selector-card.is-current .ce-occasion-selector-button {
    border-color: rgba(8, 17, 77, .24);
    box-shadow:
        inset 0 3px 0 var(--ce-red),
        0 10px 24px rgba(8, 17, 77, .055);
}

.ce-occasion-selector-card.is-current .ce-occasion-selector-meta {
    color: var(--ce-red);
}

.ce-occasion-selector-card.is-current .ce-occasion-selector-body strong {
    color: var(--ce-blue);
}

.ce-occasion-selector-media {
    position: relative;
    width: 82px;
    aspect-ratio: 1 / 1;
    display: block;
    overflow: hidden;
    border-radius: 10px;
    background: #E9EEF6;
}

.ce-occasion-selector-media .ce-occasion-loaded-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 520ms var(--ease-out);
}

.ce-occasion-thumb-fallback {
    position: absolute;
    inset: 0;
    padding: 8px;
    font-size: .5rem;
}

.ce-occasion-selector-body {
    min-width: 0;
    display: block;
}

.ce-occasion-selector-meta {
    display: block;
    margin-bottom: 5px;
    color: var(--ce-red);
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.ce-occasion-selector-body strong {
    display: block;
    color: var(--ce-navy);
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

.ce-occasions-personalized {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(24px, 3vw, 48px);
    margin-top: clamp(34px, 3vw, 48px);
    padding: 25px 26px 25px 32px;
    border-top: 1px solid var(--ce-border);
    border-bottom: 1px solid var(--ce-border);
    background: #FFFFFF;
}

.ce-occasions-personalized-accent {
    position: absolute;
    top: 21px;
    bottom: 21px;
    left: 0;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: var(--ce-red);
}

.ce-occasions-personalized-copy {
    min-width: 0;
}

.ce-occasions-personalized-kicker {
    font-size: .53rem;
}

.ce-occasions-personalized h3 {
    margin: 7px 0 0;
    color: var(--ce-navy);
    font-size: clamp(1.16rem, 1.5vw, 1.45rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.03em;
}

.ce-occasions-personalized p {
    max-width: 650px;
    margin: 7px 0 0;
    color: var(--ce-muted);
    font-size: clamp(.72rem, .75vw, .82rem);
    font-weight: 400;
    line-height: 1.65;
}

.ce-occasions-personalized-cta.ce-system-button {
    min-width: 190px;
}

.ce-occasions :is(a, button):focus-visible {
    outline: 3px solid rgba(30, 58, 138, .22);
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    .ce-occasion-stage-arrow:not(:disabled):hover,
    .ce-occasion-stage-arrow:not(:disabled):focus-visible {
        color: #FFFFFF;
        border-color: var(--ce-navy);
        background: var(--ce-navy);
        box-shadow: 0 13px 30px rgba(8, 17, 77, .2);
    }

    .ce-occasion-stage-arrow--prev:not(:disabled):hover,
    .ce-occasion-stage-arrow--prev:not(:disabled):focus-visible {
        transform: translateY(-50%) translateX(-2px);
    }

    .ce-occasion-stage-arrow--next:not(:disabled):hover,
    .ce-occasion-stage-arrow--next:not(:disabled):focus-visible {
        transform: translateY(-50%) translateX(2px);
    }

    .ce-occasion-selector-button:hover,
    .ce-occasion-selector-button:focus-visible {
        border-color: #C7D3E3;
        box-shadow: 0 12px 27px rgba(8, 17, 77, .07);
        transform: translateY(-2px);
    }

    .ce-occasion-selector-button:hover .ce-occasion-loaded-image,
    .ce-occasion-selector-button:focus-visible .ce-occasion-loaded-image {
        transform: scale(1.025);
    }

    .ce-occasion-selector-card:not(.is-current)
        .ce-occasion-selector-button:hover
        .ce-occasion-selector-body strong,
    .ce-occasion-selector-card:not(.is-current)
        .ce-occasion-selector-button:focus-visible
        .ce-occasion-selector-body strong {
        color: var(--ce-blue);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .ce-occasions.ce-occasions-entered .ce-occasions-heading {
        animation: ceOccasionsV2Enter 620ms var(--ease-out) both;
    }

    .ce-occasions.ce-occasions-entered .ce-occasion-stage {
        animation: ceOccasionsV2Enter 680ms 80ms var(--ease-out) both;
    }

    .ce-occasions.ce-occasions-entered .ce-occasion-selector {
        animation: ceOccasionsV2Enter 680ms 145ms var(--ease-out) both;
    }

    .ce-occasions.ce-occasions-entered .ce-occasions-personalized {
        animation: ceOccasionsV2Enter 680ms 205ms var(--ease-out) both;
    }

    @keyframes ceOccasionsV2Enter {
        from {
            opacity: .18;
            transform: translateY(14px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

@media (max-width: 1080px) {
    .ce-occasion-stage {
        grid-template-columns: minmax(0, 1.15fr) minmax(315px, .85fr);
        min-height: 420px;
    }

    .ce-occasion-stage-copy {
        padding: 35px;
    }

    .ce-occasion-stage-copy::before {
        top: 36px;
    }

    .ce-occasion-stage-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .ce-occasion-selector-card {
        flex-basis: 245px;
    }
}

@media (max-width: 780px) {
    .ce-occasions {
        padding: 58px 0 68px;
    }

    .ce-occasions-heading {
        margin-bottom: 25px;
    }

    .ce-occasions-heading h2 {
        margin-top: 10px;
        font-size: clamp(1.9rem, 9vw, 2.55rem);
        line-height: 1.03;
        letter-spacing: -.045em;
    }

    .ce-occasions-heading p {
        margin-top: 12px;
        font-size: .72rem;
        line-height: 1.62;
    }

    .ce-occasions-kicker {
        font-size: .55rem;
    }

    .ce-occasion-stage {
        grid-template-columns: 1fr;
        min-height: 0;
        border-radius: 18px;
    }

    .ce-occasion-stage-media {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .ce-occasion-stage-arrow {
        top: auto;
        bottom: 14px;
        width: 44px;
        height: 44px;
        transform: none;
    }

    .ce-occasion-stage-arrow--prev {
        left: 14px;
    }

    .ce-occasion-stage-arrow--next {
        right: 14px;
    }

    .ce-occasion-stage-index {
        right: 50%;
        bottom: 17px;
        min-height: 38px;
        transform: translateX(50%);
    }

    .ce-occasion-stage-copy {
        min-height: 276px;
        padding: 24px 21px 23px;
        border-top: 1px solid #E4E9F2;
        border-left: 0;
    }

    .ce-occasion-stage-copy::before {
        top: 23px;
        left: 0;
        height: 46px;
    }

    .ce-occasion-stage-eyebrow {
        margin-bottom: 12px;
    }

    .ce-occasion-stage-copy h3 {
        font-size: clamp(1.8rem, 9vw, 2.5rem);
        line-height: 1.01;
    }

    .ce-occasion-stage-copy > p {
        margin-top: 12px;
        font-size: .73rem;
        line-height: 1.62;
    }

    .ce-occasion-stage-actions {
        align-items: stretch;
        gap: 10px;
        margin-top: 20px;
    }

    .ce-occasion-stage-cta.ce-system-button {
        width: 100%;
        min-width: 0;
    }

    .ce-occasion-stage.is-leaving-next .ce-occasion-stage-media,
    .ce-occasion-stage.is-leaving-next .ce-occasion-stage-copy {
        transform: translate3d(-6px, 0, 0);
    }

    .ce-occasion-stage.is-leaving-prev .ce-occasion-stage-media,
    .ce-occasion-stage.is-leaving-prev .ce-occasion-stage-copy {
        transform: translate3d(6px, 0, 0);
    }

    .ce-occasion-stage.is-entering-next .ce-occasion-stage-media,
    .ce-occasion-stage.is-entering-next .ce-occasion-stage-copy {
        transform: translate3d(6px, 0, 0);
    }

    .ce-occasion-stage.is-entering-prev .ce-occasion-stage-media,
    .ce-occasion-stage.is-entering-prev .ce-occasion-stage-copy {
        transform: translate3d(-6px, 0, 0);
    }

    .ce-occasion-selector {
        margin-top: 28px;
    }

    .ce-occasion-selector-heading {
        align-items: flex-end;
        gap: 14px;
        margin-bottom: 12px;
    }

    .ce-occasion-selector-heading h3 {
        font-size: 1.13rem;
    }

    .ce-occasion-selector-rail {
        width: calc(100% + var(--page-inline, 22px));
        margin-right: calc(var(--page-inline, 22px) * -1);
        gap: 10px;
        padding-right: var(--page-inline, 22px);
        padding-bottom: 2px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        scroll-snap-type: x mandatory;
    }

    .ce-occasion-selector-rail::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .ce-occasion-selector-card {
        flex: 0 0 min(72vw, 250px);
    }

    .ce-occasion-selector-button {
        grid-template-columns: 72px minmax(0, 1fr);
        min-height: 84px;
        border-radius: 13px;
    }

    .ce-occasion-selector-media {
        width: 72px;
        border-radius: 9px;
    }

    .ce-occasions-personalized {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 18px;
        margin-top: 30px;
        padding: 22px 18px 21px 24px;
    }

    .ce-occasions-personalized-cta.ce-system-button {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 430px) {
    .ce-occasion-stage {
        border-radius: 16px;
    }

    .ce-occasion-stage-copy {
        padding: 21px 18px 20px;
    }

    .ce-occasion-stage-eyebrow > span:first-child {
        font-size: .51rem;
    }

    .ce-occasion-stage-copy h3 {
        font-size: clamp(1.7rem, 9vw, 2.2rem);
    }

    .ce-occasion-selector-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .ce-occasion-selector-card {
        flex-basis: min(76vw, 238px);
    }

    .ce-occasions-personalized {
        padding: 20px 16px 19px 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ce-occasions *,
    .ce-occasions *::before,
    .ce-occasions *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

@media (max-width: 1100px) {
    .package-editorial-optional-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .package-editorial-addons summary {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .package-editorial-addons-side {
        justify-content: space-between;
        width: 100%;
    }

    .package-editorial-addons-intro {
        flex-direction: column;
        align-items: flex-start;
    }

    .package-editorial-optional-grid {
        grid-template-columns: 1fr;
    }

    .package-editorial-optional-item {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .package-editorial-optional-price {
        grid-column: 2;
        justify-self: start;
        margin-top: 2px;
    }
}

@media (max-width: 760px) {
    .package-editorial-guest-helper {
        grid-template-columns: 32px minmax(0, 1fr);
    }

    .package-editorial-guest-helper-icon {
        width: 32px;
        height: 32px;
    }
}

.package-stage-section.package-showcase-v23 {
    padding-top: clamp(82px, 7.2vw, 112px);
    padding-bottom: clamp(88px, 7.6vw, 118px);
}

.package-editorial-heading {
    max-width: 820px;
    margin-bottom: clamp(34px, 3.5vw, 48px);
}

.package-editorial-heading .package-section-kicker {
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.package-editorial-heading h2 {
    max-width: 760px;
    margin-top: 14px;
    font-size: clamp(2.45rem, 4vw, 4.15rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.052em;
}

.package-editorial-heading p {
    max-width: 680px;
    margin-top: 17px;
    font-size: clamp(.82rem, .86vw, .94rem);
    font-weight: 400;
    line-height: 1.72;
}

.package-editorial-nav-row {
    margin-bottom: 22px;
}

.package-editorial-card {
    grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr);
    grid-template-areas: "visual details";
    align-items: stretch;
}

.package-editorial-card.is-reversed {
    grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr);
    grid-template-areas: "details visual";
}

.package-editorial-card .package-editorial-visual,
.package-editorial-card.is-reversed .package-editorial-visual {
    grid-area: visual;
    order: initial;
}

.package-editorial-card .package-editorial-details,
.package-editorial-card.is-reversed .package-editorial-details {
    grid-area: details;
    order: initial;
}

.package-editorial-visual {
    min-height: 620px;
    padding: clamp(30px, 3vw, 44px);
}

.package-editorial-visual > img {
    object-position: center center;
    transform: scale(1);
}

.package-editorial-visual-copy strong {
    margin-top: 0;
    font-size: clamp(2.2rem, 3.15vw, 3.85rem);
    line-height: .98;
    letter-spacing: -.052em;
}

.package-editorial-visual-copy p {
    margin-top: 14px;
    font-size: .78rem;
    font-weight: 500;
    line-height: 1.65;
}

.package-editorial-details {
    padding: clamp(38px, 3.6vw, 54px);
}

.package-editorial-title-row {
    gap: clamp(26px, 3vw, 48px);
    padding-bottom: 30px;
}

.package-editorial-title-row .package-focus-kicker {
    font-size: .6rem;
    letter-spacing: .15em;
}

.package-editorial-title-row h3 {
    margin-top: 10px;
    font-size: clamp(2.45rem, 3.35vw, 3.75rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.052em;
}

.package-editorial-title-row p {
    max-width: 610px;
    margin-top: 15px;
    font-size: .82rem;
    font-weight: 400;
    line-height: 1.68;
}

.package-editorial-price {
    min-width: 190px;
    padding-left: 26px;
}

.package-editorial-price span {
    font-size: .56rem;
    letter-spacing: .115em;
}

.package-editorial-price strong {
    margin-top: 8px;
    font-size: clamp(2rem, 2.55vw, 2.7rem);
    letter-spacing: -.045em;
}

.package-editorial-price small {
    margin-top: 9px;
    font-size: .55rem;
    line-height: 1.5;
}

.package-editorial-block {
    padding: 24px 0;
}

.package-editorial-title-row + .package-editorial-block {
    padding-top: 20px;
}

.package-editorial-block-head {
    margin-bottom: 15px;
}

.package-editorial-block-head span {
    font-size: .54rem;
    letter-spacing: .11em;
}

.package-editorial-block-head h4 {
    margin-top: 5px;
    font-size: .96rem;
    line-height: 1.3;
}

.package-editorial-block-head > b {
    font-size: .56rem;
}

.package-editorial-tiers {
    gap: 10px;
}

.package-editorial-tier {
    gap: 5px;
    padding: 15px 16px;
    border-radius: 14px;
}

.package-editorial-tier small {
    font-size: .52rem;
}

.package-editorial-tier strong {
    font-size: .76rem;
    line-height: 1.3;
}

.package-editorial-tier b {
    font-size: .72rem;
}

.package-editorial-guest-helper {
    gap: 12px;
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: 14px;
}

.package-editorial-guest-helper-copy h5 {
    font-size: .67rem;
    line-height: 1.4;
}

.package-editorial-guest-helper-copy p {
    margin-top: 4px;
    font-size: .59rem;
    line-height: 1.55;
}

.package-editorial-inclusions {
    margin-top: 2px;
}

.package-editorial-amenities {
    gap: 10px 18px;
}

.package-editorial-amenity-item {
    min-height: 44px;
}

.package-editorial-amenity-item strong {
    font-size: .68rem;
    line-height: 1.45;
}

.package-editorial-action-row {
    gap: 26px;
    margin-top: 4px;
    padding-top: 28px;
}

.package-editorial-action-row p {
    font-size: .59rem;
    line-height: 1.6;
}

.package-editorial-addons {
    margin-top: 22px;
}

.package-editorial-addons summary {
    padding: 22px 24px;
}

.package-editorial-addons-headline strong {
    font-size: .9rem;
}

.package-editorial-addons-headline p {
    font-size: .64rem;
    line-height: 1.65;
}

.package-editorial-note {
    margin-top: 20px;
    font-size: .58rem;
    line-height: 1.65;
}

@media (max-width: 1180px) and (min-width: 901px) {
    .package-editorial-card {
        grid-template-columns: minmax(290px, .78fr) minmax(0, 1.22fr);
        grid-template-areas: "visual details";
    }

    .package-editorial-card.is-reversed {
        grid-template-columns: minmax(0, 1.22fr) minmax(290px, .78fr);
        grid-template-areas: "details visual";
    }

    .package-editorial-visual {
        min-height: 610px;
    }
}

@media (max-width: 900px) {
    .package-editorial-card,
    .package-editorial-card.is-reversed {
        grid-template-columns: 1fr;
        grid-template-areas:
            "visual"
            "details";
    }

    .package-editorial-card .package-editorial-visual,
    .package-editorial-card.is-reversed .package-editorial-visual,
    .package-editorial-card .package-editorial-details,
    .package-editorial-card.is-reversed .package-editorial-details {
        order: initial;
    }

    .package-editorial-visual {
        min-height: 390px;
    }
}

@media (max-width: 640px) {
    .package-stage-section.package-showcase-v23 {
        padding-top: 64px;
        padding-bottom: 72px;
    }

    .package-editorial-heading h2 {
        font-size: clamp(2.15rem, 10.5vw, 3rem);
    }

    .package-editorial-heading p {
        font-size: .78rem;
    }

    .package-editorial-details {
        padding: 28px 21px 26px;
    }

    .package-editorial-title-row h3 {
        font-size: clamp(2.1rem, 10vw, 2.85rem);
    }

    .package-editorial-title-row p {
        font-size: .76rem;
    }

    .package-editorial-visual {
        min-height: 340px;
    }
}

.package-editorial-card {
    transform-origin: center center;
    transition:
        opacity 220ms ease,
        transform 280ms cubic-bezier(.4, 0, .2, 1);
}

.package-editorial-card.is-leaving-left,
.package-editorial-card.is-leaving-right,
.package-editorial-card.is-entering-left,
.package-editorial-card.is-entering-right {
    will-change: transform, opacity;
}

.package-editorial-card.is-leaving-left {
    opacity: 0;
    transform: translate3d(-26px, 0, 0) scale(.994);
}

.package-editorial-card.is-leaving-right {
    opacity: 0;
    transform: translate3d(26px, 0, 0) scale(.994);
}

.package-editorial-card.is-entering-left {
    animation: packageEditorialSwitchInLeft 560ms var(--ease-out) both;
}

.package-editorial-card.is-entering-right {
    animation: packageEditorialSwitchInRight 560ms var(--ease-out) both;
}

.package-editorial-card.is-entering-left .package-editorial-visual {
    animation: packageEditorialVisualInLeft 610ms var(--ease-out) both;
}

.package-editorial-card.is-entering-right .package-editorial-visual {
    animation: packageEditorialVisualInRight 610ms var(--ease-out) both;
}

.package-editorial-card.is-entering-left .package-editorial-details > *,
.package-editorial-card.is-entering-right .package-editorial-details > * {
    animation: packageEditorialDetailSettle 470ms var(--ease-out) both;
}

.package-editorial-card.is-entering-left .package-editorial-details > :nth-child(1),
.package-editorial-card.is-entering-right .package-editorial-details > :nth-child(1) {
    animation-delay: 65ms;
}

.package-editorial-card.is-entering-left .package-editorial-details > :nth-child(2),
.package-editorial-card.is-entering-right .package-editorial-details > :nth-child(2) {
    animation-delay: 105ms;
}

.package-editorial-card.is-entering-left .package-editorial-details > :nth-child(3),
.package-editorial-card.is-entering-right .package-editorial-details > :nth-child(3) {
    animation-delay: 145ms;
}

.package-editorial-card.is-entering-left .package-editorial-details > :nth-child(4),
.package-editorial-card.is-entering-right .package-editorial-details > :nth-child(4) {
    animation-delay: 185ms;
}

.package-editorial-card.is-entering-left .package-editorial-details > :nth-child(5),
.package-editorial-card.is-entering-right .package-editorial-details > :nth-child(5) {
    animation-delay: 225ms;
}

.package-editorial-tab.is-active {
    animation: packageEditorialTabActivate 360ms var(--ease-out) both;
}

@keyframes packageEditorialSwitchInLeft {
    from {
        opacity: 0;
        transform: translate3d(-24px, 0, 0) scale(.994);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes packageEditorialSwitchInRight {
    from {
        opacity: 0;
        transform: translate3d(24px, 0, 0) scale(.994);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes packageEditorialVisualInLeft {
    from {
        opacity: .72;
        transform: translate3d(-14px, 0, 0) scale(1.008);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes packageEditorialVisualInRight {
    from {
        opacity: .72;
        transform: translate3d(14px, 0, 0) scale(1.008);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes packageEditorialDetailSettle {
    from {
        opacity: 0;
        transform: translate3d(0, 10px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes packageEditorialTabActivate {
    from {
        transform: translateY(2px);
    }
    to {
        transform: translateY(0);
    }
}

.package-editorial-addons {
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        background 180ms ease;
}

.package-editorial-addons:hover,
.package-editorial-addons[open] {
    border-color: #CDD9E8;
    box-shadow: 0 16px 34px rgba(8, 17, 77, .06);
}

.package-editorial-addons summary {
    transition: background 160ms ease;
}

.package-editorial-addons summary:hover,
.package-editorial-addons[open] > summary {
    background: rgba(247, 250, 253, .72);
}

.package-editorial-summary-icon {
    transition:
        transform 180ms var(--ease-out),
        border-color 160ms ease,
        background 160ms ease;
}

.package-editorial-addons summary:hover .package-editorial-summary-icon {
    border-color: #C8D4E4;
}

.package-editorial-addons[open] .package-editorial-summary-icon {
    color: #FFFFFF;
    border-color: var(--ce-navy);
    background: var(--ce-navy);
}

.package-editorial-addons[open] .package-editorial-summary-icon::before,
.package-editorial-addons[open] .package-editorial-summary-icon::after {
    background: #FFFFFF;
}

.package-editorial-addons.is-closing .package-editorial-summary-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.package-editorial-addons-body {
    transform-origin: top center;
}

.package-editorial-addons.is-opening .package-editorial-addons-body {
    animation: packageAddonsBodyIn 180ms cubic-bezier(.22, 1, .36, 1) both;
}

.package-editorial-addons.is-closing .package-editorial-addons-body {
    animation: packageAddonsBodyOut 140ms ease both;
    pointer-events: none;
}

@keyframes packageAddonsBodyIn {
    from {
        opacity: 0;
        transform: translate3d(0, -5px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes packageAddonsBodyOut {
    from {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        transform: translate3d(0, -4px, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .package-editorial-card,
    .package-editorial-card.is-leaving-left,
    .package-editorial-card.is-leaving-right,
    .package-editorial-card.is-entering-left,
    .package-editorial-card.is-entering-right,
    .package-editorial-card.is-entering-left .package-editorial-visual,
    .package-editorial-card.is-entering-right .package-editorial-visual,
    .package-editorial-card.is-entering-left .package-editorial-details > *,
    .package-editorial-card.is-entering-right .package-editorial-details > *,
    .package-editorial-tab.is-active,
    .package-editorial-addons,
    .package-editorial-addons summary,
    .package-editorial-summary-icon {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

@media (max-width: 640px) {
    .package-stage-section.package-showcase-v23 {
        min-height: 0;
        padding-top: 52px;
        padding-bottom: 58px;
    }

    .package-editorial-shell {
        padding-inline: 14px;
    }

    .package-editorial-heading {
        margin-bottom: 22px;
    }

    .package-editorial-heading .package-section-kicker {
        font-size: .56rem;
        letter-spacing: .14em;
    }

    .package-editorial-heading h2 {
        margin-top: 10px;
        font-size: clamp(1.9rem, 9vw, 2.55rem);
        line-height: 1.04;
        letter-spacing: -.045em;
    }

    .package-editorial-heading p {
        margin-top: 12px;
        font-size: .7rem;
        line-height: 1.58;
    }

    .package-editorial-nav-row {
        margin-bottom: 14px;
        gap: 10px;
    }

    .package-editorial-selector {
        gap: 8px;
        padding-bottom: 2px;
    }

    .package-editorial-tab {
        flex-basis: 148px;
        min-height: 54px;
        padding: 9px 11px;
        border-radius: 13px;
    }

    .package-editorial-tab small {
        font-size: .46rem;
    }

    .package-editorial-tab strong {
        font-size: .65rem;
    }

    .package-editorial-tab em {
        font-size: .48rem;
    }

    .package-editorial-card,
    .package-editorial-card.is-reversed {
        grid-template-columns: 1fr;
        grid-template-areas:
            "visual"
            "details";
        overflow: hidden;
        border-radius: 20px;
    }

    .package-editorial-visual {
        min-height: 184px;
        padding: 18px 20px;
    }

    .package-editorial-watermark {
        position: absolute;
        right: 22px;
        bottom: 14px;
        margin: 0;
        font-size: clamp(6rem, 29vw, 8.2rem);
        line-height: .72;
    }

    .package-editorial-visual-copy {
        margin-top: auto;
        max-width: 76%;
    }

    .package-editorial-visual-copy strong {
        margin-top: 0;
        font-size: clamp(1.8rem, 8.8vw, 2.35rem);
        line-height: 1;
    }

    .package-editorial-visual-copy p {
        margin-top: 8px;
        font-size: .62rem;
        line-height: 1.45;
    }

    .package-editorial-details {
        padding: 20px 16px 18px;
    }

    .package-editorial-title-row {
        display: block;
        padding-bottom: 16px;
    }

    .package-editorial-title-row > div:first-child {
        display: none;
    }

    .package-editorial-price {
        min-width: 0;
        padding: 0;
        border-left: 0;
    }

    .package-editorial-price span {
        font-size: .5rem;
        letter-spacing: .11em;
    }

    .package-editorial-price strong {
        margin-top: 5px;
        font-size: 2rem;
        line-height: 1;
    }

    .package-editorial-price small {
        display: none;
    }

    .package-editorial-block {
        padding: 17px 0;
    }

    .package-editorial-title-row + .package-editorial-block {
        padding-top: 16px;
    }

    .package-editorial-block-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 10px;
        margin-bottom: 11px;
    }

    .package-editorial-block-head > div {
        min-width: 0;
    }

    .package-editorial-block-head span {
        font-size: .48rem;
        letter-spacing: .1em;
    }

    .package-editorial-block-head h4 {
        margin-top: 4px;
        font-size: .88rem;
        line-height: 1.25;
    }

    .package-editorial-block-head > b {
        align-self: end;
        font-size: .5rem;
        white-space: nowrap;
    }

    .package-editorial-tiers {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding: 1px 1px 5px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .package-editorial-tiers::-webkit-scrollbar {
        display: none;
    }

    .package-editorial-tier {
        flex: 0 0 126px;
        min-height: 84px;
        gap: 3px;
        padding: 11px 12px;
        border-radius: 13px;
        scroll-snap-align: start;
    }

    .package-editorial-tier small {
        font-size: .46rem;
    }

    .package-editorial-tier strong {
        font-size: .69rem;
        line-height: 1.25;
    }

    .package-editorial-tier b {
        font-size: .63rem;
    }

    .package-editorial-tier.is-empty {
        flex-basis: 100%;
    }

    .package-editorial-guest-helper {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 9px;
        margin-top: 9px;
        padding: 10px 11px;
        border-radius: 12px;
    }

    .package-editorial-guest-helper-icon {
        width: 30px;
        height: 30px;
        border-radius: 9px;
        font-size: .88rem;
    }

    .package-editorial-guest-helper-copy h5 {
        font-size: .6rem;
    }

    .package-editorial-guest-helper-copy p {
        margin-top: 2px;
        font-size: .52rem;
        line-height: 1.42;
    }

    .package-editorial-amenities {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px 10px;
    }

    .package-editorial-amenity-item {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 7px;
        min-height: 34px;
    }

    .package-editorial-amenity-check {
        width: 22px;
        height: 22px;
        font-size: .54rem;
    }

    .package-editorial-amenity-item strong {
        font-size: .55rem;
        line-height: 1.32;
    }

    .package-editorial-action-row {
        gap: 10px;
        margin-top: 0;
        padding-top: 18px;
    }

    .package-editorial-action-row .package-editorial-cta.ce-system-button {
        min-height: 48px;
    }

    .package-editorial-action-row p {
        display: none;
    }

    .package-editorial-addons {
        margin-top: 14px;
        border-radius: 17px;
        box-shadow: 0 10px 26px rgba(8, 17, 77, .045);
    }

    .package-editorial-addons summary {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        padding: 13px 14px;
    }

    .package-editorial-addons-headline small {
        font-size: .44rem;
        letter-spacing: .11em;
    }

    .package-editorial-addons-headline strong {
        margin-top: 3px;
        font-size: .76rem;
        line-height: 1.24;
    }

    .package-editorial-addons-headline p {
        display: none;
    }

    .package-editorial-addons-side {
        gap: 8px;
        align-self: center;
    }

    .package-editorial-addons-side > b {
        padding: 6px 8px;
        font-size: .47rem;
    }

    .package-editorial-summary-icon {
        width: 30px;
        height: 30px;
        border-radius: 10px;
    }

    .package-editorial-addons-body {
        padding: 0 13px 13px;
    }

    .package-editorial-addons-intro {
        display: none;
    }

    .package-editorial-optional-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 7px;
        padding: 11px 0 0;
        border-top: 1px solid #E8EDF4;
    }

    .package-editorial-optional-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        min-height: 0;
        padding: 10px 11px;
        border-radius: 12px;
        box-shadow: none;
    }

    .package-editorial-optional-item:hover {
        transform: none;
        box-shadow: none;
    }

    .package-editorial-optional-mark,
    .package-editorial-optional-copy small,
    .package-editorial-optional-copy p {
        display: none;
    }

    .package-editorial-optional-copy strong {
        margin-top: 0;
        font-size: .58rem;
        line-height: 1.3;
        white-space: normal;
    }

    .package-editorial-optional-price {
        grid-column: auto;
        justify-self: end;
        margin-top: 0;
        padding: 6px 8px;
        font-size: .52rem;
    }

    .package-editorial-note {
        margin-top: 13px;
        padding-inline: 8px;
        font-size: .5rem;
        line-height: 1.5;
    }

    .package-editorial-card.is-entering-left .package-editorial-visual,
    .package-editorial-card.is-entering-right .package-editorial-visual,
    .package-editorial-card.is-entering-left .package-editorial-details > *,
    .package-editorial-card.is-entering-right .package-editorial-details > * {
        animation: none !important;
    }

    .package-editorial-card.is-leaving-left {
        transform: translate3d(-10px, 0, 0);
    }

    .package-editorial-card.is-leaving-right {
        transform: translate3d(10px, 0, 0);
    }

    .package-editorial-card.is-entering-left {
        animation: packageMobileSwitchInLeft 260ms var(--ease-out) both;
    }

    .package-editorial-card.is-entering-right {
        animation: packageMobileSwitchInRight 260ms var(--ease-out) both;
    }
}

@keyframes packageMobileSwitchInLeft {
    from {
        opacity: 0;
        transform: translate3d(-10px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes packageMobileSwitchInRight {
    from {
        opacity: 0;
        transform: translate3d(10px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.package-editorial-addons.is-closing .package-editorial-addons-body {
    animation: none !important;
    opacity: 1;
    transform: none;
}

@media (max-width: 640px) {
    .package-editorial-tiers {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
        width: 100%;
        min-width: 0;
        overflow: visible;
        padding: 1px 0 3px;
        scroll-snap-type: none;
    }

    .package-editorial-tier {
        width: 100%;
        min-width: 0;
        min-height: 84px;
        padding: 10px 9px;
        border-radius: 12px;
        scroll-snap-align: none;
    }

    .package-editorial-tier small,
    .package-editorial-tier strong,
    .package-editorial-tier b {
        min-width: 0;
        overflow: visible;
        text-overflow: clip;
    }

    .package-editorial-tier small {
        font-size: .43rem;
    }

    .package-editorial-tier strong {
        font-size: .63rem;
        line-height: 1.22;
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
    }

    .package-editorial-tier b {
        font-size: .57rem;
        line-height: 1.25;
        white-space: nowrap;
    }

    .package-editorial-tier.is-empty {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 360px) {
    .package-editorial-tiers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .package-editorial-tier {
        min-height: 80px;
    }
}

.package-editorial-visual.has-image::after {
    opacity: 1 !important;
    background:
        linear-gradient(
            90deg,
            rgba(4, 11, 35, .78) 0%,
            rgba(4, 11, 35, .58) 30%,
            rgba(4, 11, 35, .28) 58%,
            rgba(4, 11, 35, .08) 82%,
            rgba(4, 11, 35, .04) 100%
        ),
        linear-gradient(
            180deg,
            rgba(4, 11, 35, .16) 0%,
            rgba(4, 11, 35, .06) 38%,
            rgba(4, 11, 35, .28) 72%,
            rgba(4, 11, 35, .58) 100%
        ) !important;
}

.package-editorial-visual.has-image .package-editorial-visual-glow {
    display: none;
}

.package-editorial-visual.has-image .package-editorial-visual-copy {
    position: relative;
    z-index: 3;
    max-width: min(82%, 520px);
}

.package-editorial-visual.has-image .package-editorial-visual-copy strong {
    color: #FFFFFF;
    text-shadow:
        0 2px 4px rgba(4, 11, 35, .42),
        0 8px 26px rgba(4, 11, 35, .58);
}

.package-editorial-visual.has-image .package-editorial-visual-copy p {
    color: rgba(255, 255, 255, .92);
    text-shadow:
        0 2px 4px rgba(4, 11, 35, .5),
        0 5px 16px rgba(4, 11, 35, .42);
}

.package-editorial-visual.has-image > img {
    filter: saturate(.96) contrast(1.03);
}

@media (max-width: 640px) {
    .package-editorial-visual.has-image::after {
        background:
            linear-gradient(
                180deg,
                rgba(4, 11, 35, .08) 0%,
                rgba(4, 11, 35, .12) 38%,
                rgba(4, 11, 35, .72) 100%
            ) !important;
    }

    .package-editorial-visual.has-image .package-editorial-visual-copy {
        max-width: 88%;
    }

    .package-editorial-visual.has-image .package-editorial-visual-copy strong {
        text-shadow:
            0 2px 4px rgba(4, 11, 35, .48),
            0 7px 22px rgba(4, 11, 35, .56);
    }
}

.process-flow {
    --process-flow-progress: 0;
    --process-flow-duration: 3200ms;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(86px, 7vw, 108px) 0 clamp(90px, 7vw, 112px);
    color: var(--ce-text);
    background: #F7F9FC;
}

.process-flow-shell {
    position: relative;
    z-index: 1;
    width: min(100%, 1540px);
    margin-inline: auto;
    padding-inline: var(--page-inline);
}

.process-flow-heading {
    max-width: 760px;
    margin-bottom: clamp(34px, 3vw, 46px);
}

.process-flow-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--ce-red);
    font-size: .62rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.process-flow-kicker::after {
    content: "";
    width: 52px;
    height: 1px;
    border-radius: 999px;
    background: var(--ce-red);
}

.process-flow-heading h2 {
    max-width: 700px;
    margin: 13px 0 0;
    color: var(--ce-navy);
    font-size: clamp(2.35rem, 3.65vw, 3.75rem);
    font-weight: 800;
    line-height: 1.01;
    letter-spacing: -.047em;
    text-wrap: balance;
}

.process-flow-heading h2 span {
    color: var(--ce-blue);
}

.process-flow-heading p {
    max-width: 650px;
    margin: 16px 0 0;
    color: var(--ce-muted);
    font-size: clamp(.82rem, .84vw, .94rem);
    font-weight: 400;
    line-height: 1.7;
}

.process-flow-journey {
    position: relative;
    overflow: hidden;
    padding: 32px 24px 26px;
    border: 1px solid var(--ce-border);
    border-radius: 22px;
    background: var(--ce-surface);
    box-shadow: 0 18px 44px rgba(8, 17, 77, .055);
}

.process-flow-track {
    position: absolute;
    z-index: 0;
    top: 56px;
    left: calc(10% + 24px);
    right: calc(10% + 24px);
    height: 2px;
    overflow: hidden;
    border-radius: 999px;
    background: #DCE5F2;
}

.process-flow-track-fill {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: var(--ce-navy);
    transform: scaleX(var(--process-flow-progress));
    transform-origin: left center;
}

.process-flow.is-auto-running .process-flow-track-fill {
    transition: transform var(--process-flow-duration) cubic-bezier(.45, .05, .20, 1);
}

.process-flow-steps {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.process-flow-step {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-inline: clamp(4px, .65vw, 10px);
}

.process-flow-node {
    position: relative;
    z-index: 2;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid #CBD8EA;
    border-radius: 50%;
    color: #738198;
    background: #FFFFFF;
    box-shadow: 0 5px 14px rgba(8, 17, 77, .04);
    font: inherit;
    font-size: .61rem;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    cursor: default;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition:
        color 460ms var(--ease-out),
        border-color 460ms var(--ease-out),
        background-color 460ms var(--ease-out),
        box-shadow 520ms var(--ease-out),
        transform 560ms var(--ease-out);
}

.process-flow-node[aria-disabled="false"] {
    cursor: pointer;
}

.process-flow-node:focus {
    outline: none;
}

.process-flow-node:focus-visible {
    outline: 3px solid rgba(30, 58, 138, .18);
    outline-offset: 4px;
}

.process-flow-card {
    position: relative;
    width: 100%;
    min-height: 232px;
    margin-top: 20px;
    padding: 22px 19px 21px;
    overflow: hidden;
    border: 1px solid #E5EAF2;
    border-radius: 16px;
    background: #F8FAFC;
    cursor: default;
    transform: translateY(0) scale(1);
    transition:
        border-color 500ms var(--ease-out),
        background-color 500ms var(--ease-out),
        box-shadow 560ms var(--ease-out),
        transform 620ms var(--ease-out);
}

.process-flow-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20px;
    width: 46px;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: var(--ce-red);
    opacity: 0;
    transform: scaleX(.25);
    transform-origin: left center;
    transition:
        opacity 420ms ease,
        transform 620ms var(--ease-out);
}

.process-flow-card-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin-bottom: 20px;
    border: 1px solid #D5E0F0;
    border-radius: 12px;
    color: var(--ce-blue);
    background: #EEF4FF;
    transform: translateY(0) scale(1);
    transition:
        color 460ms var(--ease-out),
        border-color 460ms var(--ease-out),
        background-color 460ms var(--ease-out),
        transform 560ms var(--ease-out),
        box-shadow 560ms var(--ease-out);
}

.process-flow-card-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.process-flow-card-kicker {
    display: block;
    margin-bottom: 8px;
    color: #708097;
    font-size: .55rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
    transition: color 460ms var(--ease-out);
}

.process-flow-card h3 {
    margin: 0;
    color: var(--ce-navy);
    font-size: clamp(1rem, 1.16vw, 1.22rem);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -.027em;
    text-wrap: balance;
    transition: color 460ms var(--ease-out);
}

.process-flow-card p {
    margin: 10px 0 0;
    color: var(--ce-muted);
    font-size: clamp(.71rem, .70vw, .80rem);
    font-weight: 400;
    line-height: 1.68;
    transition: color 460ms var(--ease-out);
}

.process-flow-step.is-complete .process-flow-node {
    color: #FFFFFF;
    border-color: var(--ce-navy);
    background: var(--ce-navy);
    box-shadow: 0 8px 18px rgba(8, 17, 77, .11);
}

.process-flow-step.is-complete .process-flow-card-kicker {
    color: var(--ce-blue);
}

.process-flow-step.is-current .process-flow-node {
    color: #FFFFFF;
    border-color: var(--ce-red);
    background: var(--ce-red);
    box-shadow:
        0 10px 24px rgba(220, 38, 38, .16),
        0 0 0 6px rgba(220, 38, 38, .055);
    transform: translateY(-2px) scale(1.025);
}

.process-flow-step.is-current .process-flow-card {
    border-color: rgba(220, 38, 38, .22);
    background: #FFFFFF;
    box-shadow: 0 16px 34px rgba(8, 17, 77, .075);
    transform: translateY(-5px) scale(1.008);
}

.process-flow-step.is-current .process-flow-card::before {
    opacity: 1;
    transform: scaleX(1);
}

.process-flow-step.is-current .process-flow-card-kicker {
    color: var(--ce-red);
}

.process-flow-step.is-current .process-flow-card-icon {
    color: #FFFFFF;
    border-color: var(--ce-blue);
    background: var(--ce-blue);
    box-shadow: 0 8px 18px rgba(30, 58, 138, .13);
    transform: translateY(-2px);
}

.process-flow.is-stage-changing .process-flow-step.is-current .process-flow-card {
    box-shadow: 0 18px 38px rgba(8, 17, 77, .085);
}

.process-flow.is-manual-seek .process-flow-track-fill {
    transition-timing-function: cubic-bezier(.22, 1, .36, 1);
}

@media (hover: hover) and (pointer: fine) {
    .process-flow-step:not(.is-current) .process-flow-node[aria-disabled="false"]:hover,
    .process-flow-step:not(.is-current) .process-flow-node[aria-disabled="false"]:focus-visible {
        border-color: var(--ce-blue);
        background: var(--ce-blue);
        box-shadow:
            0 10px 22px rgba(30, 58, 138, .16),
            0 0 0 5px rgba(30, 58, 138, .055);
        transform: translateY(-2px) scale(1.045);
    }

    .process-flow-step:not(.is-current) .process-flow-card:hover {
        border-color: #CCD8E8;
        background: #FFFFFF;
        box-shadow: 0 11px 24px rgba(8, 17, 77, .05);
        transform: translateY(-2px);
    }

    .process-flow-step:not(.is-current) .process-flow-card:hover .process-flow-card-icon {
        border-color: #C7D5E9;
        background: #F3F6FC;
        transform: translateY(-2px);
    }

    .process-flow-step:not(.is-current) .process-flow-card:hover h3 {
        color: var(--ce-blue);
    }
}

.process-flow-action {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(24px, 3vw, 46px);
    margin-top: 24px;
    padding: 22px 24px 22px 30px;
    overflow: hidden;
    border: 1px solid var(--ce-border);
    border-radius: 18px;
    background: #FFFFFF;
    box-shadow: 0 12px 30px rgba(8, 17, 77, .045);
}

.process-flow-action-accent {
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 0;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: var(--ce-red);
}

.process-flow-action-copy {
    min-width: 0;
    padding-left: 2px;
}

.process-flow-action-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--ce-red);
    font-size: .54rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.process-flow-action-copy strong {
    display: block;
    margin: 0;
    color: var(--ce-navy);
    font-size: clamp(1.03rem, 1.35vw, 1.32rem);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -.028em;
}

.process-flow-action-copy p {
    max-width: 520px;
    margin: 6px 0 0;
    color: var(--ce-muted);
    font-size: clamp(.69rem, .72vw, .78rem);
    font-weight: 400;
    line-height: 1.6;
}

.process-flow-cta.ce-system-button {
    min-width: 218px;
    flex: 0 0 auto;
}

@media (hover: hover) and (pointer: fine) {
    .process-flow-action {
        transition:
            border-color 220ms ease,
            box-shadow 260ms ease,
            transform 320ms var(--ease-out);
    }

    .process-flow-action:hover {
        border-color: #D4DDEA;
        box-shadow: 0 16px 36px rgba(8, 17, 77, .065);
        transform: translateY(-1px);
    }
}

.motion-ready .process-flow-heading,
.motion-ready .process-flow-journey,
.motion-ready .process-flow-action {
    opacity: 0;
    transform: translateY(12px);
}

.motion-ready .process-flow.is-in-view .process-flow-heading,
.motion-ready .process-flow.is-in-view .process-flow-journey,
.motion-ready .process-flow.is-in-view .process-flow-action {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 680ms var(--ease-out),
        transform 680ms var(--ease-out);
}

.motion-ready .process-flow.is-in-view .process-flow-journey {
    transition-delay: 90ms;
}

.motion-ready .process-flow.is-in-view .process-flow-action {
    transition-delay: 150ms;
}

@media (max-width: 1100px) {
    .process-flow-journey {
        padding-inline: 16px;
    }

    .process-flow-steps {
        gap: 6px;
    }

    .process-flow-step {
        padding-inline: 4px;
    }

    .process-flow-card {
        min-height: 238px;
        padding: 20px 14px 19px;
    }

    .process-flow-card h3 {
        font-size: .98rem;
    }
}

@media (max-width: 820px) {
    .process-flow {
        padding-top: 70px;
        padding-bottom: 80px;
    }

    .process-flow-heading {
        max-width: 660px;
    }

    .process-flow-heading h2 {
        font-size: clamp(2.1rem, 7vw, 3.15rem);
    }

    .process-flow-journey {
        padding: 26px 16px 23px;
    }

    .process-flow-track {
        top: 49px;
        left: calc(10% + 14px);
        right: calc(10% + 14px);
    }

    .process-flow-node {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        font-size: .54rem;
    }

    .process-flow-card {
        min-height: 222px;
        margin-top: 17px;
        padding: 18px 11px 17px;
    }

    .process-flow-card-icon {
        width: 37px;
        height: 37px;
        margin-bottom: 16px;
    }

    .process-flow-card h3 {
        font-size: .9rem;
    }

    .process-flow-card p {
        font-size: .66rem;
    }
}

@media (max-width: 680px) {
    .process-flow {
        padding-top: 62px;
        padding-bottom: 70px;
    }

    .process-flow-shell {
        padding-inline: var(--page-inline);
    }

    .process-flow-heading {
        margin-bottom: 28px;
    }

    .process-flow-heading h2 {
        max-width: 520px;
        font-size: clamp(2rem, 10.2vw, 2.85rem);
    }

    .process-flow-heading p {
        max-width: 100%;
        font-size: .78rem;
    }

    .process-flow-journey {
        padding: 20px 15px 18px;
        border-radius: 18px;
    }

    .process-flow-track {
        top: 38px;
        bottom: 38px;
        left: 32px;
        right: auto;
        width: 2px;
        height: auto;
    }

    .process-flow-track-fill {
        width: 100%;
        height: 100%;
        transform: scaleY(var(--process-flow-progress));
        transform-origin: center top;
    }

    .process-flow-steps {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .process-flow-step {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        align-items: start;
        gap: 13px;
        padding: 0;
    }

    .process-flow-node {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        margin-top: 14px;
        font-size: .5rem;
    }

    .process-flow-card {
        min-height: 0;
        margin-top: 0;
        padding: 17px 16px 18px;
        border-radius: 14px;
    }

    .process-flow-card::before {
        top: 15px;
        bottom: 15px;
        left: 0;
        width: 3px;
        height: auto;
        border-radius: 0 999px 999px 0;
        transform: scaleY(.25);
        transform-origin: center top;
    }

    .process-flow-step.is-current .process-flow-card::before {
        transform: scaleY(1);
    }

    .process-flow-card-icon {
        width: 36px;
        height: 36px;
        margin-bottom: 13px;
    }

    .process-flow-card-kicker {
        margin-bottom: 6px;
    }

    .process-flow-card h3 {
        font-size: 1rem;
    }

    .process-flow-card p {
        max-width: 520px;
        margin-top: 7px;
        font-size: .72rem;
    }

    .process-flow-step.is-current .process-flow-card {
        transform: translateX(3px);
    }

    .process-flow-action {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 18px;
        margin-top: 18px;
        padding: 20px 18px 18px 22px;
        border-radius: 16px;
    }

    .process-flow-action-accent {
        top: 16px;
        bottom: 16px;
    }

    .process-flow-action-copy strong {
        max-width: 420px;
        font-size: 1.08rem;
    }

    .process-flow-action-copy p {
        max-width: 100%;
        font-size: .72rem;
    }

    .process-flow-cta.ce-system-button {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 420px) {
    .process-flow {
        padding-top: 56px;
        padding-bottom: 64px;
    }

    .process-flow-kicker {
        font-size: .54rem;
        letter-spacing: .12em;
    }

    .process-flow-kicker::after {
        width: 34px;
    }

    .process-flow-heading h2 {
        font-size: clamp(1.9rem, 10.5vw, 2.5rem);
    }

    .process-flow-journey {
        padding-inline: 12px;
    }

    .process-flow-track {
        left: 28px;
    }

    .process-flow-step {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 11px;
    }

    .process-flow-node {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .process-flow-card {
        padding: 15px 14px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .process-flow *,
    .process-flow *::before,
    .process-flow *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }

    .motion-ready .process-flow-heading,
    .motion-ready .process-flow-journey,
    .motion-ready .process-flow-action {
        opacity: 1 !important;
        transform: none !important;
    }
}

.ce-occasions {
    padding-top: clamp(36px, 3.2vw, 50px);
    padding-bottom: clamp(40px, 3.5vw, 54px);
}

.ce-occasions-shell {
    width: min(100%, 1680px);
    padding-inline: clamp(24px, 3.2vw, 58px);
}

.package-stage-section.package-showcase-v23 {
    min-height: 0;
    padding-top: clamp(58px, 5vw, 78px);
    padding-bottom: clamp(62px, 5.2vw, 82px);
}

.package-editorial-shell {
    width: min(100%, 1680px);
    padding-inline: clamp(24px, 3.2vw, 58px);
}

.package-editorial-heading {
    margin-bottom: clamp(26px, 2.4vw, 36px);
}

.process-flow {
    min-height: 0;
    padding-top: clamp(54px, 4.7vw, 72px);
    padding-bottom: clamp(62px, 5vw, 80px);
}

.process-flow-shell {
    width: min(100%, 1680px);
    padding-inline: clamp(24px, 3.2vw, 58px);
}

.process-flow-heading {
    margin-bottom: clamp(26px, 2.4vw, 34px);
}

@media (max-width: 1100px) {
    .ce-gallery-wall-card.ce-gallery-wall-stage {
        height: clamp(430px, 54vw, 590px);
    }

    .ce-gallery-wall-control--previous {
        left: 12px;
    }

    .ce-gallery-wall-control--next {
        right: 12px;
    }
}

@media (max-width: 780px) {
    .ce-occasions,
    .package-stage-section.package-showcase-v23,
    .process-flow {
        padding-top: 48px;
        padding-bottom: 54px;
    }

    .ce-occasions-shell,
    .package-editorial-shell,
    .process-flow-shell {
        padding-inline: clamp(18px, 4.5vw, 28px);
    }

    .ce-gallery-wall-shell {
        padding: 48px clamp(18px, 4.5vw, 28px) 50px;
    }

    .ce-gallery-wall-heading h2 {
        font-size: clamp(2rem, 8vw, 3.05rem);
    }

    .ce-gallery-wall-card.ce-gallery-wall-stage {
        height: clamp(330px, 64vw, 470px);
    }

    .ce-gallery-wall-rail {
        margin-top: 12px;
    }
}

@media (max-width: 520px) {
    .ce-gallery-wall-shell {
        padding: 44px 16px 46px;
    }

    .ce-gallery-wall-header {
        margin-bottom: 18px;
    }

    .ce-gallery-wall-card.ce-gallery-wall-stage {
        height: clamp(270px, 66vw, 350px);
    }

    .ce-gallery-wall-control--previous {
        left: 9px;
    }

    .ce-gallery-wall-control--next {
        right: 9px;
    }

    .ce-gallery-wall-thumb {
        flex-basis: 102px;
    }

    .process-flow-heading {
        margin-bottom: 24px;
    }
}

@media (min-width: 1181px) {
    .ce-gallery-wall-carousel {
        height: clamp(520px, 38vw, 720px);
        grid-template-columns:
            minmax(0, 1fr)
            min(76vw, 1320px)
            minmax(0, 1fr);
    }

    .ce-gallery-wall-card.ce-gallery-wall-stage {
        width: 100%;
        height: 100%;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .ce-gallery-wall-carousel {
        height: clamp(480px, 50vw, 610px);
        grid-template-columns:
            minmax(0, 1fr)
            min(74vw, 980px)
            minmax(0, 1fr);
    }

    .ce-gallery-wall-card.ce-gallery-wall-stage {
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 780px) {
    .ce-gallery-wall-shell {
        padding-top: 56px;
        padding-bottom: 66px;
    }

    .ce-gallery-wall-header {
        margin-bottom: 24px;
    }

    .ce-gallery-wall-carousel {
        height: clamp(360px, 74vw, 500px);
    }

    .ce-gallery-wall-card.ce-gallery-wall-stage {
        height: 100%;
    }

    .ce-gallery-wall-rail {
        margin-top: 16px;
    }

    .ce-gallery-wall-thumb {
        flex-basis: clamp(108px, 29vw, 132px);
    }
}

@media (max-width: 520px) {
    .ce-gallery-wall-shell {
        padding: 52px 16px 64px;
    }

    .ce-gallery-wall-header {
        margin-bottom: 22px;
    }

    .ce-gallery-wall-carousel {
        height: clamp(315px, 78vw, 420px);
    }

    .ce-gallery-wall-card.ce-gallery-wall-stage {
        height: 100%;
    }

    .ce-gallery-wall-rail {
        margin-top: 15px;
    }

    .ce-gallery-wall-thumb {
        flex-basis: clamp(106px, 30vw, 124px);
    }
}

.ce-gallery-wall-stage .ce-gallery-wall-card-image {
    inset: -2px !important;
    width: calc(100% + 4px) !important;
    height: calc(100% + 4px) !important;
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 780px) {
    .ce-gallery-wall-carousel {
        height: clamp(245px, 58vw, 360px);
    }

    .ce-gallery-wall-card.ce-gallery-wall-stage {
        height: 100%;
    }
}

@media (max-width: 520px) {
    .ce-gallery-wall-carousel {
        height: clamp(225px, 60vw, 300px);
    }
}

.ce-gallery-wall-card,
.ce-gallery-wall-card.ce-gallery-wall-stage,
.ce-gallery-wall-card-media,
.ce-gallery-wall-card-image,
.ce-gallery-wall-peek,
.ce-gallery-wall-peek img,
.ce-gallery-wall-thumb,
.ce-gallery-wall-thumb img {
    border-color: transparent !important;
    outline: 0 !important;
    border-image: none !important;
    text-decoration: none !important;
}

.ce-gallery-wall-card.ce-gallery-wall-stage,
.ce-gallery-wall-card-media {
    background: var(--ce-navy-deep) !important;
}

.ce-gallery-wall-card.ce-gallery-wall-stage::before,
.ce-gallery-wall-card.ce-gallery-wall-stage::after,
.ce-gallery-wall-card-media::before,
.ce-gallery-wall-card-media::after,
.ce-gallery-wall-thumb::before,
.ce-gallery-wall-thumb::after {
    content: none !important;
    display: none !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.ce-gallery-wall-card-media {
    overflow: hidden !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    border: 0 !important;
    border-radius: clamp(18px, 1.5vw, 23px) !important;
    box-shadow: 0 28px 70px rgba(0,0,0,.34) !important;
    transform: none !important;
    isolation: isolate;
}

.ce-gallery-wall-stage .ce-gallery-wall-card-image {
    inset: -8px !important;
    width: calc(100% + 16px) !important;
    height: calc(100% + 16px) !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: translate3d(0,0,0) !important;
    backface-visibility: hidden;
}

.ce-gallery-wall-card-shade {
    inset: 0 !important;
    border: 0 !important;
    border-radius: inherit;
    background:
        linear-gradient(
            90deg,
            rgba(4,11,35,.64) 0,
            rgba(4,11,35,.20) 5px,
            rgba(4,11,35,.04) 12px,
            transparent 22px,
            transparent calc(100% - 22px),
            rgba(4,11,35,.04) calc(100% - 12px),
            rgba(4,11,35,.20) calc(100% - 5px),
            rgba(4,11,35,.64) 100%
        ),
        linear-gradient(
            180deg,
            rgba(2,7,19,.04) 0%,
            transparent 64%,
            rgba(2,7,19,.42) 100%
        ) !important;
}

.ce-gallery-wall-peek {
    border: 0 !important;
    background: var(--ce-navy-deep) !important;
}

.ce-gallery-wall-peek img {
    inset: -8px !important;
    width: calc(100% + 16px) !important;
    height: calc(100% + 16px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: scale(1.02) !important;
}

.ce-gallery-wall-thumb {
    border: 0 !important;
    background: var(--ce-navy-deep) !important;
}

.ce-gallery-wall-thumb img {
    width: 104% !important;
    height: 104% !important;
    margin: -2% !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: cover !important;
}

.ce-gallery-wall-thumb:hover,
.ce-gallery-wall-thumb:focus-visible,
.ce-gallery-wall-thumb.is-active {
    border-color: transparent !important;
}

@media (max-width: 780px) {
    .ce-gallery-wall-carousel {
        height: auto !important;
        aspect-ratio: 16 / 10;
        min-height: 245px;
        max-height: 360px;
    }

    .ce-gallery-wall-card.ce-gallery-wall-stage {
        height: 100% !important;
    }
}

@media (max-width: 520px) {
    .ce-gallery-wall-carousel {
        aspect-ratio: 16 / 10.2;
        min-height: 225px;
        max-height: 300px;
    }
}

:root {
    --landing-font: "Poppins", Arial, sans-serif;
    --landing-display-size: clamp(3.5rem, 5.4vw, 6.35rem);
    --landing-display-support-size: clamp(2.9rem, 4.55vw, 5.25rem);
    --landing-section-size: clamp(2.45rem, 3.8vw, 4rem);
    --landing-subheading-size: clamp(1.05rem, 1.28vw, 1.34rem);
    --landing-body-size: clamp(.88rem, .93vw, 1rem);
    --landing-label-size: clamp(.61rem, .66vw, .69rem);
    --landing-title-weight: 800;
    --landing-subheading-weight: 700;
    --landing-body-weight: 400;
    --landing-title-leading: 1.03;
    --landing-subheading-leading: 1.28;
    --landing-body-leading: 1.72;
    --landing-title-tracking: -.048em;
    --landing-label-tracking: .15em;
    --landing-motion-duration: 620ms;
}

html,
body,
button,
input,
select,
textarea {
    font-family: var(--landing-font);
}

body {
    font-synthesis: none;
    font-kerning: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.ce-story-copy h2,
.ce-story-copy h3,
.ce-occasions-heading h2,
.package-editorial-heading h2,
.ce-gallery-wall-heading h2,
.process-flow-heading h2 {
    font-family: var(--landing-font);
    font-size: var(--landing-section-size);
    font-weight: var(--landing-title-weight);
    line-height: var(--landing-title-leading);
    letter-spacing: var(--landing-title-tracking);
    text-wrap: balance;
}

.hero-title-primary {
    font-family: var(--landing-font);
    font-size: var(--landing-display-size);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.058em;
}

.hero-title-secondary {
    margin-top: .12em;
    font-family: var(--landing-font);
    font-size: var(--landing-display-support-size);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.052em;
}

.ce-occasion-stage-copy h3,
.ce-occasion-selector-heading h3,
.ce-occasions-personalized-copy h3,
.package-editorial-title-row h3,
.package-editorial-block h3,
.process-flow-card h3,
.process-flow-action-copy strong,
.site-footer-column h2 {
    font-family: var(--landing-font);
    font-size: var(--landing-subheading-size);
    font-weight: var(--landing-subheading-weight);
    line-height: var(--landing-subheading-leading);
    letter-spacing: -.025em;
    text-wrap: balance;
}

.hero-description,
.ce-story .ce-story-description,
.ce-occasions-heading p,
.ce-occasion-stage-copy > p,
.ce-occasions-personalized-copy p,
.package-editorial-heading > p,
.ce-gallery-wall-heading p,
.process-flow-heading > p,
.process-flow-card p,
.process-flow-action-copy p,
.site-footer-brand-description {
    font-family: var(--landing-font);
    font-size: var(--landing-body-size);
    font-weight: var(--landing-body-weight);
    line-height: var(--landing-body-leading);
    letter-spacing: 0;
}

.hero-eyebrow,
.ce-story .ce-story-eyebrow,
.ce-occasions-kicker,
.ce-occasion-selector-kicker,
.ce-occasions-personalized-kicker,
.package-section-kicker,
.package-focus-kicker,
.ce-gallery-wall-kicker,
.process-flow-kicker,
.process-flow-card-kicker,
.process-flow-action-kicker {
    font-family: var(--landing-font);
    font-size: var(--landing-label-size);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: var(--landing-label-tracking);
    text-transform: uppercase;
}

.ce-occasions-heading,
.package-editorial-heading,
.ce-gallery-wall-heading,
.process-flow-heading {
    max-width: 820px;
}

.ce-occasions-heading h2,
.package-editorial-heading h2,
.ce-gallery-wall-heading h2,
.process-flow-heading h2 {
    max-width: 780px;
    margin-top: 13px;
}

.ce-occasions-heading p,
.package-editorial-heading > p,
.ce-gallery-wall-heading p,
.process-flow-heading > p {
    max-width: 680px;
    margin-top: 16px;
}

.hero-copy,
.ce-story-copy,
.ce-occasions-heading,
.package-editorial-heading,
.ce-gallery-wall-heading,
.process-flow-heading {
    backface-visibility: hidden;
    will-change: auto;
}

@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }

    .motion-ready .ce-occasions-heading,
    .motion-ready .package-editorial-heading,
    .motion-ready .ce-gallery-wall-heading,
    .motion-ready .process-flow-heading {
        transition:
            opacity var(--landing-motion-duration) var(--ease-out),
            transform var(--landing-motion-duration) var(--ease-out);
    }
}

@media (max-width: 780px) {
    :root {
        --landing-section-size: clamp(2rem, 8vw, 3rem);
        --landing-subheading-size: clamp(1rem, 4.5vw, 1.18rem);
        --landing-body-size: clamp(.84rem, 3.5vw, .94rem);
        --landing-label-size: .59rem;
    }

    .hero-title-primary {
        font-size: clamp(2.8rem, 12vw, 4.35rem);
    }

    .hero-title-secondary {
        font-size: clamp(2.35rem, 10.2vw, 3.8rem);
    }
}

@media (max-width: 480px) {
    :root {
        --landing-section-size: clamp(1.9rem, 9.4vw, 2.55rem);
        --landing-body-size: .84rem;
    }

    .hero-title-primary {
        font-size: clamp(2.55rem, 13vw, 3.55rem);
    }

    .hero-title-secondary {
        font-size: clamp(2.15rem, 11vw, 3.05rem);
    }
}

:root {
    --landing-top-line-size: clamp(2.7rem, 4.45vw, 4.85rem);
    --landing-middle-line-size: clamp(2rem, 3.15vw, 3.35rem);
    --landing-bottom-line-size: clamp(.88rem, .93vw, 1rem);
}

.ce-story .ce-story-eyebrow,
.ce-occasions-heading > .ce-occasions-kicker,
.package-editorial-heading > .package-section-kicker,
.ce-gallery-wall-heading > .ce-gallery-wall-kicker,
.process-flow-heading > .process-flow-kicker {
    display: block;
    margin: 0;
    color: var(--ce-navy);
    font-size: var(--landing-top-line-size);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.052em;
    text-transform: none;
    text-wrap: balance;
}

.ce-story .ce-story-eyebrow::before,
.ce-story .ce-story-eyebrow::after,
.ce-occasions-heading > .ce-occasions-kicker::before,
.ce-occasions-heading > .ce-occasions-kicker::after,
.package-editorial-heading > .package-section-kicker::before,
.package-editorial-heading > .package-section-kicker::after,
.ce-gallery-wall-heading > .ce-gallery-wall-kicker::before,
.ce-gallery-wall-heading > .ce-gallery-wall-kicker::after,
.process-flow-heading > .process-flow-kicker::before,
.process-flow-heading > .process-flow-kicker::after {
    content: none !important;
    display: none !important;
}

.package-v23-stage {
    position: relative;
    overflow: hidden;
    transition: none;
}

.package-v23-stage.is-package-switching {
    overflow: hidden;
    contain: layout paint;
}

.package-v23-stage.is-package-switching > .package-editorial-card {
    width: 100%;
    min-width: 0;
    pointer-events: none;
}

.package-v23-stage.is-package-switching .package-editorial-visual,
.package-v23-stage.is-package-switching .package-editorial-details {
    backface-visibility: hidden;
    will-change: transform, opacity;
}

@media (max-width: 640px) {
    .package-v23-stage,
    .package-v23-stage > .package-editorial-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .package-v23-stage.is-package-switching {
        height: auto !important;
        contain: none;
    }

    .package-v23-stage.is-package-switching .package-editorial-visual,
    .package-v23-stage.is-package-switching .package-editorial-details {
        opacity: 1 !important;
        transform: none !important;
        will-change: auto;
    }
}

:root {
    --landing-story-width: 1480px;
    --landing-story-gutter: clamp(24px, 7vw, 112px);
}

.ce-occasions-shell,
.package-editorial-shell,
.ce-gallery-wall-shell,
.process-flow-shell {
    width: min(100%, var(--landing-story-width));
    margin-inline: auto;
    padding-left: var(--landing-story-gutter);
    padding-right: var(--landing-story-gutter);
}

.ce-occasions-heading,
.package-editorial-heading,
.ce-gallery-wall-header,
.ce-gallery-wall-heading,
.process-flow-heading {
    width: 100%;
    max-width: 820px;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}

.ce-occasions-heading h2,
.package-editorial-heading h2,
.ce-gallery-wall-heading h2,
.process-flow-heading h2,
.ce-occasions-heading p,
.package-editorial-heading > p,
.ce-gallery-wall-heading p,
.process-flow-heading > p {
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}

.ce-occasions-heading > .ce-occasions-kicker,
.package-editorial-heading > .package-section-kicker,
.ce-gallery-wall-heading > .ce-gallery-wall-kicker,
.process-flow-heading > .process-flow-kicker {
    justify-content: flex-start;
    text-align: left;
}

.ce-occasions-layout,
.package-editorial-nav-row,
.package-v23-stage,
.ce-gallery-wall-grid,
.process-flow-journey,
.process-flow-action {
    margin-left: 0;
    margin-right: 0;
}

@media (max-width: 780px) {
    :root {
        --landing-story-gutter: 26px;
    }
}

@media (max-width: 480px) {
    :root {
        --landing-story-gutter: 20px;
    }
}

.ce-occasions-heading h2,
.package-editorial-heading h2,
.ce-gallery-wall-heading h2,
.process-flow-heading h2 {
    margin-top: clamp(9px, 1vw, 14px);
    font-size: var(--landing-middle-line-size);
    line-height: 1.06;
}

.ce-occasions-heading p,
.package-editorial-heading > p,
.ce-gallery-wall-heading p,
.process-flow-heading > p {
    margin-top: clamp(12px, 1.2vw, 17px);
    font-size: var(--landing-bottom-line-size);
}

.ce-gallery-wall-carousel {
    height: clamp(470px, 32vw, 620px);
}

@media (prefers-reduced-motion: no-preference) {
    .ce-occasions-layout.is-event-data-ready .ce-occasion-stage,
    .ce-occasions-layout.is-event-data-ready .ce-occasion-selector-heading,
    .ce-occasions-layout.is-event-data-ready .ce-occasion-selector-card,
    .ce-occasions-layout.is-event-data-ready .ce-occasions-personalized {
        animation: ceEventDataEnter 660ms var(--ease-out) both;
    }

    .ce-occasions-layout.is-event-data-ready .ce-occasion-selector-heading {
        animation-delay: 90ms;
    }

    .ce-occasions-layout.is-event-data-ready .ce-occasion-selector-card {
        animation-delay: calc(135ms + var(--event-card-index, 0) * 55ms);
    }

    .ce-occasions-layout.is-event-data-ready .ce-occasions-personalized {
        animation-delay: 230ms;
    }

    @keyframes ceEventDataEnter {
        from {
            opacity: 0;
            transform: translate3d(0, 18px, 0);
        }
        to {
            opacity: 1;
            transform: translate3d(0, 0, 0);
        }
    }
}

@media (max-width: 780px) {
    :root {
        --landing-top-line-size: clamp(2.15rem, 9.8vw, 3.15rem);
        --landing-middle-line-size: clamp(1.65rem, 7.2vw, 2.35rem);
        --landing-bottom-line-size: clamp(.84rem, 3.5vw, .94rem);
    }

    .ce-gallery-wall-carousel {
        min-height: 275px;
        max-height: 390px;
    }
}

@media (max-width: 520px) {
    .ce-gallery-wall-carousel {
        min-height: 255px;
        max-height: 340px;
    }
}

.ce-story {
    --story-ink: #040B23;
    --story-accent: #F04444;
    --story-heading: #FFFFFF;
    --story-copy: #DCE4F2;
}

.ce-story-shade {
    background:
        linear-gradient(
            90deg,
            rgba(4, 11, 35, .02) 0%,
            rgba(4, 11, 35, .18) 30%,
            rgba(4, 11, 35, .88) 62%,
            rgba(4, 11, 35, .98) 100%
        );
}

.ce-story-panel--left .ce-story-shade {
    background:
        linear-gradient(
            90deg,
            rgba(4, 11, 35, .98) 0%,
            rgba(4, 11, 35, .88) 38%,
            rgba(4, 11, 35, .18) 70%,
            rgba(4, 11, 35, .02) 100%
        );
}

.ce-story .ce-story-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 clamp(15px, 1.5vw, 22px);
    color: var(--story-accent);
    font-family: var(--landing-font);
    font-size: clamp(.7rem, .72vw, .78rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: .16em;
    text-transform: uppercase;
    text-shadow: none;
}

.ce-story .ce-story-eyebrow::before {
    content: "" !important;
    display: block !important;
    width: clamp(24px, 2vw, 34px);
    height: 2px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: currentColor;
}

.ce-story .ce-story-eyebrow::after {
    content: none !important;
    display: none !important;
}

.ce-story-copy h2,
.ce-story-copy h3 {
    max-width: 560px;
    margin: 0;
    color: var(--story-heading);
    font-family: var(--landing-font);
    font-size: clamp(2.65rem, 4.15vw, 4.75rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.052em;
    text-wrap: balance;
    text-shadow: 0 3px 22px rgba(2, 7, 24, .3);
}

.ce-story .ce-story-description {
    max-width: 535px;
    margin: clamp(18px, 1.7vw, 25px) 0 0;
    color: var(--story-copy);
    font-family: var(--landing-font);
    font-size: clamp(.92rem, .96vw, 1.06rem);
    font-weight: 400;
    line-height: 1.72;
    letter-spacing: 0;
    text-wrap: pretty;
    text-shadow: 0 2px 16px rgba(2, 7, 24, .25);
}

@media (max-width: 1000px) and (min-width: 761px) {
    .ce-story-copy h2,
    .ce-story-copy h3 {
        font-size: clamp(2.45rem, 5vw, 3.4rem);
    }
}

@media (max-width: 760px) {
    .ce-story-panel .ce-story-shade,
    .ce-story-panel--left .ce-story-shade {
        background:
            linear-gradient(
                180deg,
                rgba(4, 11, 35, .04) 0%,
                rgba(4, 11, 35, .18) 30%,
                rgba(4, 11, 35, .92) 58%,
                var(--story-ink) 78%
            );
    }

    .ce-story .ce-story-eyebrow {
        gap: 9px;
        margin-bottom: 14px;
        font-size: .66rem;
    }

    .ce-story .ce-story-eyebrow::before {
        width: 22px;
    }

    .ce-story-copy h2,
    .ce-story-copy h3 {
        font-size: clamp(2.15rem, 9.2vw, 3.15rem);
        line-height: 1.04;
    }

    .ce-story .ce-story-description {
        margin-top: 16px;
        font-size: clamp(.86rem, 3.7vw, .96rem);
        line-height: 1.7;
    }
}

:root {
    --landing-kicker-size: clamp(.65rem, .68vw, .74rem);
    --landing-section-title-size: clamp(2.65rem, 4.15vw, 4.65rem);
    --landing-section-copy-size: clamp(.92rem, .96vw, 1.06rem);
    --landing-component-title-size: clamp(1.25rem, 1.65vw, 1.65rem);
}

.hero-title-primary {
    font-size: clamp(3.7rem, 6vw, 6.5rem);
    font-weight: 800;
    line-height: .94;
    letter-spacing: -.06em;
}

.hero-title-secondary {
    margin-top: .14em;
    font-size: clamp(2.8rem, 4.8vw, 5.1rem);
    font-weight: 600;
    line-height: .98;
    letter-spacing: -.052em;
}

.hero-description {
    font-size: clamp(.94rem, 1vw, 1.08rem);
    line-height: 1.72;
}

.ce-story .ce-story-eyebrow {
    display: inline-flex;
    margin: 0 0 clamp(15px, 1.5vw, 22px);
    color: var(--story-accent);
    font-size: var(--landing-kicker-size);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.ce-story .ce-story-eyebrow::before,
.ce-story .ce-story-eyebrow::after {
    content: none !important;
    display: none !important;
}

.ce-story-copy h2,
.ce-story-copy h3 {
    font-size: var(--landing-section-title-size);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.052em;
}

.ce-story .ce-story-description {
    font-size: var(--landing-section-copy-size);
    line-height: 1.72;
}

.ce-occasions-heading > .ce-occasions-kicker,
.package-editorial-heading > .package-section-kicker,
.process-flow-heading > .process-flow-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--ce-red);
    font-size: var(--landing-kicker-size);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.ce-occasions-heading > .ce-occasions-kicker::after,
.package-editorial-heading > .package-section-kicker::after,
.process-flow-heading > .process-flow-kicker::after {
    content: "" !important;
    display: block !important;
    width: 34px;
    height: 2px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: currentColor;
}

.ce-occasions-heading h2,
.package-editorial-heading h2,
.process-flow-heading h2 {
    margin-top: clamp(11px, 1.1vw, 15px);
    color: var(--ce-navy);
    font-size: var(--landing-section-title-size);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -.052em;
    text-wrap: balance;
}

.ce-occasions-heading p,
.package-editorial-heading > p,
.process-flow-heading > p {
    max-width: 690px;
    margin-top: clamp(14px, 1.3vw, 19px);
    color: var(--ce-muted);
    font-size: var(--landing-section-copy-size);
    font-weight: 400;
    line-height: 1.72;
}

.ce-gallery-wall-heading > .ce-gallery-wall-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #F87171;
    font-size: var(--landing-kicker-size);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.ce-gallery-wall-heading > .ce-gallery-wall-kicker::before {
    content: "" !important;
    display: block !important;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.ce-gallery-wall-heading h2 {
    margin-top: clamp(11px, 1.1vw, 15px);
    color: #FFFFFF;
    font-size: var(--landing-section-title-size);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -.052em;
}

.ce-gallery-wall-heading p {
    max-width: 760px;
    margin-top: clamp(14px, 1.3vw, 19px);
    color: rgba(226, 234, 255, .76);
    font-size: var(--landing-section-copy-size);
    line-height: 1.72;
}

.ce-occasion-stage-copy h3 {
    font-size: clamp(2rem, 3vw, 3.45rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.05em;
}

.ce-occasion-selector-heading h3,
.ce-occasions-personalized-copy h3,
.package-editorial-title-row h3,
.package-editorial-block h3,
.process-flow-card h3,
.process-flow-action-copy strong,
.site-footer-column h2 {
    font-size: var(--landing-component-title-size);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.ce-occasion-stage-copy > p,
.ce-occasions-personalized-copy p,
.package-editorial-title-row p,
.process-flow-card p,
.process-flow-action-copy p,
.site-footer-brand-description {
    font-size: clamp(.84rem, .88vw, .96rem);
    line-height: 1.68;
}

@media (max-width: 780px) {
    :root {
        --landing-kicker-size: .64rem;
        --landing-section-title-size: clamp(2.05rem, 9vw, 3rem);
        --landing-section-copy-size: clamp(.86rem, 3.7vw, .96rem);
        --landing-component-title-size: clamp(1.08rem, 4.8vw, 1.35rem);
    }

    .hero-title-primary {
        font-size: clamp(2.8rem, 12.5vw, 4.35rem);
    }

    .hero-title-secondary {
        font-size: clamp(2.25rem, 10vw, 3.55rem);
    }

    .ce-occasion-stage-copy h3 {
        font-size: clamp(1.85rem, 8.5vw, 2.65rem);
    }
}

@media (max-width: 480px) {
    :root {
        --landing-section-title-size: clamp(1.95rem, 9.6vw, 2.65rem);
    }

    .hero-title-primary {
        font-size: clamp(2.55rem, 13vw, 3.65rem);
    }

    .hero-title-secondary {
        font-size: clamp(2.05rem, 10.8vw, 3rem);
    }
}

.ce-story .ce-story-eyebrow::before,
.ce-story .ce-story-eyebrow::after,
.ce-occasions-heading > .ce-occasions-kicker::before,
.ce-occasions-heading > .ce-occasions-kicker::after,
.package-editorial-heading > .package-section-kicker::before,
.package-editorial-heading > .package-section-kicker::after,
.ce-gallery-wall-heading > .ce-gallery-wall-kicker::before,
.ce-gallery-wall-heading > .ce-gallery-wall-kicker::after,
.process-flow-heading > .process-flow-kicker::before,
.process-flow-heading > .process-flow-kicker::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 900px) {
    .landing-nav-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        padding: 8px;
        max-height: none;
        overflow: visible;
        border-radius: 0 0 14px 14px;
    }

    .landing-nav-link {
        min-width: 0;
        min-height: 38px;
        justify-content: center;
        padding: 0 10px;
        border: 1px solid transparent;
        border-radius: 10px;
        font-size: .64rem;
        text-align: center;
        transition:
            color 180ms ease,
            background 180ms ease,
            border-color 180ms ease,
            transform 220ms var(--ease-out);
    }

    .landing-nav-link:hover,
    .landing-nav-link:focus-visible,
    .landing-nav-link.is-active {
        border-color: #E6EBF3;
        background: #F7F9FC;
    }

    .landing-nav-link::after {
        right: auto;
        bottom: 4px;
        left: 50%;
        width: 18px;
        transform: translateX(-50%) scaleX(0);
        transform-origin: center;
    }

    .landing-nav-link:hover::after,
    .landing-nav-link:focus-visible::after,
    .landing-nav-link.is-active::after {
        transform: translateX(-50%) scaleX(1);
    }
}

@media (max-width: 620px) {
    :root {
        --nav-height: 60px;
        --page-inline: clamp(12px, 3.8vw, 17px);
    }

    .landing-header,
    .landing-nav {
        height: var(--nav-height);
    }

    .landing-nav {
        gap: 7px;
    }

    .landing-brand-mark {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
        border-radius: 11px;
    }

    .landing-brand-mark img {
        width: 31px;
        height: 31px;
    }

    .landing-menu-toggle {
        width: 38px;
        height: 38px;
        padding: 8px;
        border-radius: 10px;
    }

    .landing-nav-actions {
        gap: 5px;
    }

    .landing-nav-actions .landing-login,
    .landing-nav-actions .ce-system-button--compact {
        min-height: 38px;
        border-radius: 10px;
    }

    .landing-nav-actions .landing-login {
        min-width: 68px;
        padding: 0 10px;
        font-size: .60rem;
    }

    .landing-nav-actions .ce-system-button--compact {
        min-width: 124px;
        padding: 4px 4px 4px 11px;
        font-size: .59rem;
    }

    .landing-nav-actions .ce-system-button--compact .ce-system-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
        border-radius: 8px;
    }

    .landing-nav-links {
        right: 12px;
        left: 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding: 8px;
        max-height: calc(100dvh - var(--nav-height) - 10px);
        overflow-y: auto;
    }

    .landing-nav-link {
        min-height: 37px;
        padding-inline: 8px;
        font-size: .62rem;
    }
}

@media (max-width: 430px) {
    .landing-nav-actions .landing-login {
        min-width: 62px;
        padding-inline: 8px;
    }

    .landing-nav-actions .ce-system-button--compact {
        min-width: 110px;
        padding-left: 9px;
    }

    .landing-nav-actions .ce-system-button--compact .ce-system-copy {
        font-size: .56rem;
    }

    .landing-nav-actions .ce-system-button--compact .ce-system-icon {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
    }
}

@media (max-width: 370px) {
    .landing-nav-actions .ce-system-button--compact {
        min-width: 98px;
        padding-left: 8px;
    }

    .landing-nav-actions .ce-system-button--compact .ce-system-copy {
        font-size: .53rem;
    }
}

@media (max-width: 780px) {
    .site-footer-shell {
        width: min(calc(100% - 28px), 720px);
        padding: 30px 0 16px;
    }

    .site-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 14px;
        padding-bottom: 20px;
    }

    .site-footer-brand-block {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .site-footer-main > nav.site-footer-column {
        grid-column: 1;
        grid-row: 2;
    }

    .site-footer-social {
        grid-column: 2;
        grid-row: 2;
    }

    .site-footer-contact {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .site-footer-brand {
        gap: 11px;
    }

    .site-footer-logo-frame {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
        border-radius: 14px;
    }

    .site-footer-logo-frame img {
        width: 40px;
        height: 40px;
    }

    .site-footer-brand-copy strong {
        font-size: .92rem;
    }

    .site-footer-brand-copy small {
        font-size: .50rem;
    }

    .site-footer-brand-description {
        max-width: 560px;
        margin-top: 11px;
        font-size: .72rem;
        line-height: 1.6;
    }

    .site-footer-label {
        margin: 0 0 5px;
        font-size: .47rem;
    }

    .site-footer-column h2 {
        margin: 0 0 10px;
        font-size: 1rem;
        line-height: 1.2;
    }

    .site-footer-link-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        align-items: stretch;
    }

    .site-footer-link-list a {
        min-height: 34px;
        justify-content: center;
        padding: 0 7px;
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 8px;
        background: rgba(255, 255, 255, .025);
        font-size: .58rem;
        text-align: center;
    }

    .site-footer-link-list a::before {
        display: none;
    }

    .site-footer-link-list a:hover,
    .site-footer-link-list a:focus-visible {
        border-color: rgba(248, 113, 113, .25);
        background: rgba(255, 255, 255, .055);
        transform: translateY(-1px);
    }

    .site-footer-social-intro {
        display: none;
    }

    .site-footer-social-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .site-footer-social-link {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 8px;
        min-height: 47px;
        padding: 7px;
        border-radius: 10px;
    }

    .site-footer-social-icon {
        width: 32px;
        height: 32px;
        border-radius: 9px;
    }

    .site-footer-social-glyph {
        width: 15px;
        height: 15px;
    }

    .site-footer-social-link small {
        font-size: .43rem;
    }

    .site-footer-social-link strong {
        font-size: .51rem;
        line-height: 1.3;
    }

    .site-footer-contact-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .site-footer-contact-item {
        grid-template-columns: 31px minmax(0, 1fr);
        gap: 7px;
        min-height: 58px;
        padding: 8px;
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 10px;
        background: rgba(255, 255, 255, .025);
    }

    .site-footer-contact-icon {
        width: 31px;
        height: 31px;
        border-radius: 9px;
    }

    .site-footer-contact-icon svg {
        width: 14px;
        height: 14px;
    }

    .site-footer-contact-item small {
        font-size: .42rem;
    }

    .site-footer-contact-item strong {
        font-size: .53rem;
        line-height: 1.45;
    }

    .site-footer-contact-item em {
        font-size: .46rem;
        line-height: 1.35;
    }

    .site-footer-bottom {
        min-height: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
        padding-top: 13px;
        font-size: .50rem;
        line-height: 1.45;
    }
}

@media (max-width: 620px) {
    .site-footer-shell {
        width: calc(100% - 24px);
        padding-top: 24px;
        padding-bottom: 14px;
    }

    .site-footer-main {
        gap: 17px 12px;
        padding-bottom: 17px;
    }

    .site-footer-label {
        display: none;
    }

    .site-footer-column h2 {
        margin-bottom: 9px;
        font-size: .94rem;
    }

    .site-footer-brand-description {
        margin-top: 9px;
        font-size: .68rem;
        line-height: 1.55;
    }

    .site-footer-contact-list {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .site-footer-contact-item {
        grid-template-columns: 30px minmax(0, 1fr);
        min-height: 0;
        padding: 7px 8px;
    }

    .site-footer-contact-icon {
        width: 30px;
        height: 30px;
    }

    .site-footer-contact-item > span:last-child {
        justify-content: center;
        padding-top: 0;
    }

    .site-footer-contact-item strong {
        font-size: .54rem;
    }

    .site-footer-bottom {
        padding-top: 11px;
    }
}

@media (max-width: 430px) {
    .site-footer-shell {
        width: calc(100% - 20px);
    }

    .site-footer-main {
        gap: 15px 10px;
    }

    .site-footer-brand {
        gap: 9px;
    }

    .site-footer-logo-frame {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        border-radius: 13px;
    }

    .site-footer-logo-frame img {
        width: 37px;
        height: 37px;
    }

    .site-footer-brand-copy strong {
        font-size: .86rem;
    }

    .site-footer-brand-description {
        font-size: .65rem;
    }

    .site-footer-link-list {
        gap: 5px;
    }

    .site-footer-link-list a {
        min-height: 32px;
        padding-inline: 5px;
        font-size: .54rem;
    }

    .site-footer-social-link {
        grid-template-columns: 29px minmax(0, 1fr);
        gap: 6px;
        min-height: 43px;
        padding: 6px;
    }

    .site-footer-social-icon {
        width: 29px;
        height: 29px;
        border-radius: 8px;
    }

    .site-footer-social-link strong {
        font-size: .47rem;
        overflow-wrap: anywhere;
    }

    .site-footer-contact-item {
        padding: 6px 7px;
    }

    .site-footer-bottom {
        font-size: .47rem;
    }
}

@media (max-width: 900px) {
    .hero {
        height: auto;
        min-height: clamp(
            620px,
            calc(100svh - var(--nav-height)),
            820px
        );
    }

    .hero-inner {
        min-height: inherit;
        height: auto;
        align-items: flex-end;
        padding:
            clamp(34px, 5.5vh, 54px)
            var(--page-inline)
            clamp(46px, 7vh, 70px);
    }

    .hero-copy {
        width: min(100%, 620px);
        min-width: 0;
        max-width: 100%;
        transform: translate3d(0, 0, 0);
    }

    .hero h1 {
        width: 100%;
        max-width: 100%;
        letter-spacing: -.052em;
    }

    .hero-title-primary,
    .hero-title-secondary {
        width: auto;
        max-width: 100%;
        overflow-wrap: normal;
        word-break: normal;
        text-wrap: balance;
    }

    .hero-title-primary {
        font-size: clamp(2.75rem, 8.7vw, 4.2rem);
        line-height: .95;
    }

    .hero-title-secondary {
        margin-top: .16em;
        font-size: clamp(2.25rem, 7.25vw, 3.55rem);
        line-height: 1;
    }

    .hero-description {
        width: min(100%, 560px);
        max-width: 100%;
        margin-top: clamp(17px, 2.6vh, 23px);
        font-size: clamp(.82rem, 2.05vw, .94rem);
        line-height: 1.62;
        text-wrap: pretty;
    }

    .hero-actions {
        width: min(100%, 500px);
        margin-top: clamp(18px, 2.8vh, 25px);
    }

    .hero-video {
        object-position: 68% center;
    }

    .hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(4, 11, 35, .08) 0%,
                rgba(4, 11, 35, .18) 27%,
                rgba(4, 11, 35, .62) 54%,
                rgba(4, 11, 35, .90) 72%,
                rgba(4, 11, 35, .98) 100%
            ),
            linear-gradient(
                90deg,
                rgba(4, 11, 35, .38) 0%,
                rgba(4, 11, 35, .16) 58%,
                transparent 100%
            );
    }

    .hero-vignette {
        background:
            linear-gradient(
                180deg,
                rgba(4, 11, 35, .05) 0%,
                transparent 26%,
                transparent 58%,
                rgba(4, 11, 35, .35) 100%
            ),
            radial-gradient(
                circle at 58% 42%,
                transparent 34%,
                rgba(4, 11, 35, .22) 100%
            );
    }
}

@media (max-width: 620px) {
    .hero {
        min-height: clamp(
            590px,
            calc(100svh - var(--nav-height)),
            760px
        );
    }

    .hero-inner {
        min-height: inherit;
        padding-top: clamp(34px, 5vh, 46px);
        padding-bottom: max(
            clamp(40px, 6.5vh, 58px),
            calc(env(safe-area-inset-bottom, 0px) + 26px)
        );
    }

    .hero-copy {
        width: 100%;
        max-width: 100%;
    }

    .hero h1 {
        max-width: 100%;
        line-height: 1;
    }

    .hero-title-primary {
        max-width: 9.8ch;
        font-size: clamp(2.38rem, 10.7vw, 3.15rem);
        line-height: .96;
        letter-spacing: -.055em;
    }

    .hero-title-secondary {
        max-width: 10.8ch;
        margin-top: .18em;
        font-size: clamp(1.98rem, 8.9vw, 2.62rem);
        line-height: 1.02;
        letter-spacing: -.045em;
    }

    .hero-title-secondary::after {
        bottom: -7px;
        width: min(108px, 30%);
    }

    .hero-description {
        width: 100%;
        max-width: 34rem;
        margin-top: 18px;
        color: rgba(238, 242, 252, .88);
        font-size: clamp(.76rem, 3.25vw, .86rem);
        line-height: 1.62;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        width: 100%;
        max-width: 100%;
        margin-top: 19px;
    }

    .hero-actions .ce-system-button {
        width: 100%;
        min-width: 0;
        min-height: 48px;
        padding-left: 15px;
        border-radius: 12px;
        font-size: .60rem;
    }

    .hero-actions .ce-system-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .hero-video {
        object-position: 72% center;
    }
}

@media (max-width: 430px) {
    .hero {
        min-height: clamp(
            575px,
            calc(100svh - var(--nav-height)),
            735px
        );
    }

    .hero-inner {
        padding-inline: max(14px, 4.2vw);
        padding-top: clamp(30px, 4.5vh, 40px);
        padding-bottom: max(
            clamp(34px, 5.5vh, 48px),
            calc(env(safe-area-inset-bottom, 0px) + 22px)
        );
    }

    .hero-title-primary {
        max-width: 9.4ch;
        font-size: clamp(2.28rem, 10.45vw, 2.8rem);
        line-height: .97;
    }

    .hero-title-secondary {
        max-width: 10.4ch;
        font-size: clamp(1.88rem, 8.65vw, 2.32rem);
        line-height: 1.02;
    }

    .hero-description {
        margin-top: 16px;
        font-size: clamp(.75rem, 3.35vw, .82rem);
        line-height: 1.58;
    }

    .hero-actions {
        gap: 7px;
        margin-top: 17px;
    }

    .hero-actions .ce-system-button {
        min-height: 46px;
        padding: 5px 5px 5px 14px;
    }

    .hero-actions .ce-system-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .hero-video {
        object-position: 74% center;
    }
}

@media (max-width: 360px) {
    .hero-inner {
        padding-inline: 13px;
    }

    .hero-title-primary {
        font-size: clamp(2.14rem, 10.2vw, 2.45rem);
    }

    .hero-title-secondary {
        font-size: clamp(1.76rem, 8.4vw, 2.08rem);
    }

    .hero-description {
        font-size: .74rem;
    }

    .hero-actions .ce-system-button {
        min-height: 44px;
        font-size: .57rem;
    }
}

@media (max-width: 620px) and (max-height: 700px) and (orientation: portrait) {
    .hero {
        min-height: 610px;
    }

    .hero-inner {
        min-height: 610px;
        padding-top: 28px;
        padding-bottom: 28px;
    }

    .hero-title-primary {
        font-size: clamp(2.18rem, 9.8vw, 2.72rem);
    }

    .hero-title-secondary {
        font-size: clamp(1.82rem, 8.1vw, 2.25rem);
    }

    .hero-description {
        margin-top: 14px;
        line-height: 1.52;
    }

    .hero-actions {
        margin-top: 15px;
    }
}

@media (max-width: 900px) and (max-height: 560px) and (orientation: landscape) {
    .hero {
        height: auto;
        min-height: 500px;
    }

    .hero-inner {
        min-height: 500px;
        align-items: center;
        padding-top: 26px;
        padding-bottom: 26px;
    }

    .hero-copy {
        width: min(72%, 600px);
    }

    .hero-title-primary {
        max-width: none;
        font-size: clamp(2.15rem, 6.2vw, 3.1rem);
    }

    .hero-title-secondary {
        max-width: none;
        font-size: clamp(1.82rem, 5vw, 2.65rem);
    }

    .hero-description {
        max-width: 520px;
        margin-top: 13px;
        font-size: .76rem;
        line-height: 1.5;
    }

    .hero-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100%, 430px);
        margin-top: 15px;
    }

    .hero-video {
        object-position: 70% center;
    }
}

.package-v23-stage.is-package-switching .package-editorial-card{
    pointer-events:none;
    backface-visibility:hidden;
    transform:translateZ(0);
    contain:paint;
}

.package-v23-stage.is-package-switching .package-editorial-visual,
.package-v23-stage.is-package-switching .package-editorial-details{
    backface-visibility:hidden;
}

.package-v23-stage.is-package-switching .package-editorial-card,
.package-v23-stage.is-package-switching .package-editorial-card *,
.package-editorial-card.is-entering-left,
.package-editorial-card.is-entering-right{
    animation:none!important;
}

.package-v23-stage.is-package-switching .package-editorial-card{
    transition:none!important;
}

.package-editorial-tab{
    transition:
        color 220ms ease,
        border-color 220ms ease,
        background 220ms ease,
        box-shadow 260ms ease,
        transform 320ms cubic-bezier(.22,1,.36,1);
}

.package-editorial-tab.is-active{
    animation:none!important;
    transform:translate3d(0,-1px,0);
}

@media(prefers-reduced-motion:reduce){
    .package-v23-stage.is-package-switching .package-editorial-card{
        transform:none!important;
        opacity:1!important;
    }
}

.motion-ready .package-showcase-v23.has-package-switch-started.is-in-view .package-editorial-card{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
}

.package-v23-stage.is-package-switching .package-editorial-card{
    animation:none!important;
    transition:none!important;
    opacity:1!important;
    pointer-events:none;
    backface-visibility:hidden;
    will-change:transform;
}

.package-v23-stage.is-package-switching .package-editorial-card *,
.package-v23-stage.is-package-switching .package-editorial-visual,
.package-v23-stage.is-package-switching .package-editorial-details{
    animation:none!important;
    transition:none!important;
}

.package-editorial-card.is-entering-left,
.package-editorial-card.is-entering-right,
.package-editorial-card.is-leaving-left,
.package-editorial-card.is-leaving-right{
    animation:none!important;
}

@media(prefers-reduced-motion:reduce){
    .package-v23-stage.is-package-switching .package-editorial-card{
        transform:none!important;
        will-change:auto;
    }
}

.package-v23-stage{
    overflow:hidden;
}

.package-v23-stage.is-package-switching .package-editorial-card{
    animation:none!important;
    transition:none!important;
    opacity:1!important;
    pointer-events:none;
    backface-visibility:hidden;
    transform:translateZ(0);
    will-change:transform;
}

.package-v23-stage.is-package-switching .package-editorial-card *,
.package-v23-stage.is-package-switching .package-editorial-visual,
.package-v23-stage.is-package-switching .package-editorial-details{
    animation:none!important;
}

.package-v23-stage.is-package-switching .package-editorial-visual,
.package-v23-stage.is-package-switching .package-editorial-details{
    transition:none!important;
}

.motion-ready .package-showcase-v23.has-package-switch-started.is-in-view .package-editorial-card{
    animation:none!important;
    opacity:1!important;
}

.package-editorial-tab{
    transition:
        border-color 240ms ease,
        background 240ms ease,
        color 240ms ease,
        box-shadow 280ms ease,
        transform 320ms cubic-bezier(.16,1,.3,1);
}

.package-editorial-tab.is-active{
    animation:none!important;
    transform:translate3d(0,-1px,0);
}

@media(prefers-reduced-motion:reduce){
    .package-v23-stage.is-package-switching .package-editorial-card{
        transform:none!important;
        will-change:auto;
    }
}

.package-v23-stage{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

.package-v23-stage.is-package-switching{
    overflow:hidden;
}

.package-v23-stage.is-package-switching>.package-editorial-card{
    position:relative;
    z-index:2;
    opacity:1!important;
    animation:none!important;
    transition:none!important;
    backface-visibility:hidden;
    transform:translate3d(0,0,0);
    will-change:transform,opacity;
}

.package-v23-stage.is-package-switching .package-editorial-card *{
    animation:none!important;
    transition:none!important;
}

.package-v23-stage.is-package-switching .package-editorial-visual>img{
    transform:translate3d(0,0,0)!important;
    animation:none!important;
    transition:none!important;
}

.motion-ready .package-showcase-v23.has-package-switch-started.is-in-view .package-editorial-card{
    opacity:1!important;
}

.package-editorial-tab{
    transition:
        border-color 180ms ease,
        background 180ms ease,
        color 180ms ease,
        box-shadow 220ms ease,
        transform 240ms cubic-bezier(.22,1,.36,1);
}

.package-editorial-tab.is-active{
    animation:none!important;
}

@media(prefers-reduced-motion:reduce){
    .package-v23-stage.is-package-switching>.package-editorial-card{
        transform:none!important;
        opacity:1!important;
        will-change:auto;
    }
}

.package-editorial-addons-body{
    transform-origin:top center;
    will-change:opacity,transform;
}

.ce-occasion-stage-media,
.ce-occasion-stage-copy,
.ce-gallery-wall-card-image{
    will-change:opacity,transform;
}

.ce-gallery-wall-card-image--incoming.is-from-right{
    transform:translate3d(12px,0,0) scale(1.012);
}

.ce-gallery-wall-card-image--incoming.is-from-left{
    transform:translate3d(-12px,0,0) scale(1.012);
}

.ce-gallery-wall-card-image--incoming.is-visible{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
}

.ce-gallery-wall-card-image.is-leaving-left{
    opacity:0;
    transform:translate3d(-12px,0,0) scale(.994);
}

.ce-gallery-wall-card-image.is-leaving-right{
    opacity:0;
    transform:translate3d(12px,0,0) scale(.994);
}

.ce-occasions-personalized,
.process-flow-action{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:clamp(20px,3vw,42px);
    padding:22px 24px 22px 28px;
    overflow:hidden;
    border:1px solid #d5dfed;
    border-left:3px solid var(--ce-red);
    border-radius:14px;
    background:#f3f6fb;
    box-shadow:none;
}

.ce-occasions-personalized{
    margin-top:clamp(30px,3vw,44px);
}

.process-flow-action{
    margin-top:24px;
}

.ce-occasions-personalized-accent,
.process-flow-action-accent{
    display:none;
}

.ce-occasions-personalized-copy,
.process-flow-action-copy{
    min-width:0;
    padding:0;
}

.ce-occasions-personalized-kicker,
.process-flow-action-kicker{
    display:block;
    margin:0 0 6px;
    color:var(--ce-red);
}

.ce-occasions-personalized-copy h3,
.process-flow-action-copy strong{
    display:block;
    margin:0;
    color:var(--ce-navy);
    font-size:clamp(1rem,1.25vw,1.2rem);
    font-weight:800;
    line-height:1.22;
    letter-spacing:-.025em;
}

.ce-occasions-personalized-copy p,
.process-flow-action-copy p{
    max-width:650px;
    margin:6px 0 0;
    color:var(--ce-muted);
    font-size:clamp(.7rem,.75vw,.8rem);
    line-height:1.6;
}

@media(prefers-reduced-motion:no-preference){
    .motion-ready .ce-occasions-heading,
    .motion-ready .ce-occasion-stage,
    .motion-ready .ce-occasion-selector,
    .motion-ready .ce-occasions-personalized,
    .motion-ready .package-editorial-heading,
    .motion-ready .package-editorial-nav-row,
    .motion-ready .package-v23-stage,
    .motion-ready .package-editorial-addons,
    .motion-ready .ce-gallery-wall-heading,
    .motion-ready .ce-gallery-wall-grid,
    .motion-ready .process-flow-heading,
    .motion-ready .process-flow-journey,
    .motion-ready .process-flow-action{
        animation:none!important;
        opacity:0;
        transform:translate3d(0,14px,0);
        transition:opacity 560ms cubic-bezier(.22,1,.36,1),transform 560ms cubic-bezier(.22,1,.36,1);
    }

    .motion-ready .ce-occasions.ce-occasions-entered .ce-occasions-heading,
    .motion-ready .ce-occasions.ce-occasions-entered .ce-occasion-stage,
    .motion-ready .ce-occasions.ce-occasions-entered .ce-occasion-selector,
    .motion-ready .ce-occasions.ce-occasions-entered .ce-occasions-personalized,
    .motion-ready .package-showcase-v23.is-in-view .package-editorial-heading,
    .motion-ready .package-showcase-v23.is-in-view .package-editorial-nav-row,
    .motion-ready .package-showcase-v23.is-in-view .package-v23-stage,
    .motion-ready .package-showcase-v23.is-in-view .package-editorial-addons,
    .motion-ready .ce-gallery-wall.is-in-view .ce-gallery-wall-heading,
    .motion-ready .ce-gallery-wall.is-in-view .ce-gallery-wall-grid,
    .motion-ready .process-flow.is-in-view .process-flow-heading,
    .motion-ready .process-flow.is-in-view .process-flow-journey,
    .motion-ready .process-flow.is-in-view .process-flow-action{
        opacity:1;
        transform:translate3d(0,0,0);
    }

    .motion-ready :is(.ce-occasion-stage,.package-editorial-nav-row,.ce-gallery-wall-grid,.process-flow-journey){
        transition-delay:70ms;
    }

    .motion-ready :is(.ce-occasion-selector,.package-v23-stage,.process-flow-action){
        transition-delay:120ms;
    }

    .motion-ready :is(.ce-occasions-personalized,.package-editorial-addons){
        transition-delay:170ms;
    }

    .ce-occasions-layout.is-event-data-ready .ce-occasion-stage,
    .ce-occasions-layout.is-event-data-ready .ce-occasion-selector-heading,
    .ce-occasions-layout.is-event-data-ready .ce-occasion-selector-card,
    .ce-occasions-layout.is-event-data-ready .ce-occasions-personalized{
        animation:none!important;
    }
}

@media(max-width:700px){
    .ce-occasions-personalized,
    .process-flow-action{
        grid-template-columns:1fr;
        gap:16px;
        padding:20px;
    }

    .ce-occasions-personalized-cta.ce-system-button,
    .process-flow-cta.ce-system-button{
        width:100%;
        min-width:0;
    }
}

@media(prefers-reduced-motion:reduce){
    .package-editorial-addons-body,
    .ce-occasion-stage-media,
    .ce-occasion-stage-copy,
    .ce-gallery-wall-card-image{
        will-change:auto;
    }
}

.package-editorial-addons.is-expanding,
.package-editorial-addons.is-collapsing{
    contain:layout paint;
    box-shadow:none!important;
}

.package-editorial-addons.is-expanding .package-editorial-addons-body{
    animation:packageAddonsQuickReveal 240ms cubic-bezier(.22,1,.36,1) both!important;
}

.package-editorial-addons.is-collapsing .package-editorial-addons-body{
    animation:packageAddonsQuickHide 160ms ease-out both!important;
    pointer-events:none;
}

.package-editorial-addons.is-expanding .package-editorial-optional-item,
.package-editorial-addons.is-collapsing .package-editorial-optional-item{
    box-shadow:none!important;
}

@keyframes packageAddonsQuickReveal{
    from{
        opacity:0;
        transform:translate3d(0,-6px,0);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

@keyframes packageAddonsQuickHide{
    from{
        opacity:1;
        transform:translate3d(0,0,0);
    }
    to{
        opacity:0;
        transform:translate3d(0,-4px,0);
    }
}

.process-flow-action{
    padding:20px 0 20px 24px!important;
    border:0!important;
    border-left:3px solid var(--ce-red)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.process-flow-action:hover{
    border-color:var(--ce-red)!important;
    box-shadow:none!important;
    transform:none!important;
}

.site-footer[data-footer-motion="true"] .site-footer-shell{
    opacity:0;
    transform:translate3d(0,16px,0);
    transition:opacity 560ms cubic-bezier(.22,1,.36,1),transform 560ms cubic-bezier(.22,1,.36,1)!important;
    will-change:opacity,transform;
}

.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-shell{
    opacity:1;
    transform:translate3d(0,0,0);
}

.site-footer[data-footer-motion="true"] .site-footer-brand-block,
.site-footer[data-footer-motion="true"] .site-footer-main>.site-footer-column,
.site-footer[data-footer-motion="true"] .site-footer-brand,
.site-footer[data-footer-motion="true"] .site-footer-brand-description,
.site-footer[data-footer-motion="true"] .site-footer-label,
.site-footer[data-footer-motion="true"] .site-footer-column h2,
.site-footer[data-footer-motion="true"] .site-footer-link-list a,
.site-footer[data-footer-motion="true"] .site-footer-contact-item,
.site-footer[data-footer-motion="true"] .site-footer-social-intro,
.site-footer[data-footer-motion="true"] .site-footer-social-link,
.site-footer[data-footer-motion="true"] .site-footer-bottom{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
    will-change:auto!important;
}

@media(max-width:700px){
    .process-flow-action{
        padding:18px 0 18px 18px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .package-editorial-addons.is-expanding .package-editorial-addons-body,
    .package-editorial-addons.is-collapsing .package-editorial-addons-body{
        animation:none!important;
    }

    .site-footer[data-footer-motion="true"] .site-footer-shell{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
        will-change:auto!important;
    }
}

.process-flow-action{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:clamp(20px,3vw,42px)!important;
    padding:22px 24px 22px 28px!important;
    border:1px solid #d5dfed!important;
    border-left:3px solid var(--ce-red)!important;
    border-radius:14px!important;
    background:#f3f6fb!important;
    box-shadow:none!important;
}

.process-flow-action:hover{
    border-color:#d5dfed!important;
    border-left-color:var(--ce-red)!important;
    box-shadow:none!important;
    transform:none!important;
}

.site-footer[data-footer-motion="true"] .site-footer-shell{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
}

.site-footer[data-footer-motion="true"] .site-footer-brand-block,
.site-footer[data-footer-motion="true"] .site-footer-main>nav.site-footer-column,
.site-footer[data-footer-motion="true"] .site-footer-contact,
.site-footer[data-footer-motion="true"] .site-footer-social,
.site-footer[data-footer-motion="true"] .site-footer-bottom{
    opacity:0!important;
    transform:translate3d(0,24px,0)!important;
    transition:opacity 620ms cubic-bezier(.22,1,.36,1),transform 620ms cubic-bezier(.22,1,.36,1)!important;
    animation:none!important;
    will-change:opacity,transform!important;
}

.site-footer[data-footer-motion="true"] .site-footer-main>nav.site-footer-column{
    transition-delay:70ms!important;
}

.site-footer[data-footer-motion="true"] .site-footer-contact{
    transition-delay:120ms!important;
}

.site-footer[data-footer-motion="true"] .site-footer-social{
    transition-delay:170ms!important;
}

.site-footer[data-footer-motion="true"] .site-footer-bottom{
    transition-delay:220ms!important;
}

.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-brand-block,
.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-main>nav.site-footer-column,
.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-contact,
.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-social,
.site-footer[data-footer-motion="true"].is-footer-in-view .site-footer-bottom{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
}

@media(max-width:700px){
    .process-flow-action{
        grid-template-columns:1fr!important;
        align-items:stretch!important;
        gap:16px!important;
        padding:20px!important;
    }
}

@media(max-width:680px){
    .process-flow-track{
        top:var(--process-flow-mobile-track-top,51px)!important;
        bottom:auto!important;
        left:32px!important;
        width:2px!important;
        height:var(--process-flow-mobile-track-height,calc(100% - 102px))!important;
    }

    .process-flow-track-fill{
        width:100%!important;
        height:var(--process-flow-mobile-fill-height,0)!important;
        transform:none!important;
    }

    .process-flow.is-auto-running .process-flow-track-fill{
        transition:height var(--process-flow-duration) cubic-bezier(.45,.05,.20,1)!important;
    }
}

@media(max-width:420px){
    .process-flow-track{
        left:28px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .site-footer[data-footer-motion="true"] .site-footer-brand-block,
    .site-footer[data-footer-motion="true"] .site-footer-main>nav.site-footer-column,
    .site-footer[data-footer-motion="true"] .site-footer-contact,
    .site-footer[data-footer-motion="true"] .site-footer-social,
    .site-footer[data-footer-motion="true"] .site-footer-bottom{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
    }
}
