        /* ── Product intro → trust bar gap ── */
        .home-intro { padding-bottom: 3.5rem !important; }

        /* ── Nav origin badge — hidden until scrolled ── */
        .nav .nav__demo-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            white-space: normal;
            padding: 0.45rem 1.6rem;
            background: transparent !important;
            color: #ffffff !important;
            opacity: 0 !important;
            visibility: hidden;
            pointer-events: none !important;
            transition: opacity 0.35s ease, visibility 0.35s ease;
        }
        .nav.is-scrolled .nav__demo-btn {
            opacity: 1 !important;
            visibility: visible;
            pointer-events: auto !important;
            transform: translateY(0) !important;
        }
        .nav__origin { display: flex; align-items: center; gap: 0.35rem; font-family: var(--font-body,'Inter',sans-serif); font-size: 0.72rem; font-weight: 500; color: #ffffff; letter-spacing: 0.03em; line-height: 1; }
        .nav__origin__usa { font-weight: 800; letter-spacing: 0.1em; }
        /* Desktop: show inline, hide stacked */
        .nav__origin--mobile { display: none; }
        .nav__origin--inline { text-align: center; }
        /* Mobile: show two-col stacked badge, hide single-line */
        @media (max-width: 960px) {
            .nav__origin--inline { display: none; }
            .nav__origin--mobile { display: flex; align-items: center; gap: 0.45rem; }
            .nav__origin__left { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
            .nav__origin__designed, .nav__origin__assembled { font-size: 0.52rem; font-weight: 700; color: #ffffff; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.3; }
            .nav__origin__right { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
            .nav__origin__prep { font-size: 0.42rem; font-weight: 400; color: rgba(255,255,255,.5); letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.4; }
            .nav__origin__country { font-family: var(--font-logo,'Arial Black',sans-serif); font-size: 1.15rem; font-weight: 900; color: #ffffff; letter-spacing: 0.02em; line-height: 1; }
        }

        /* ── Content entrance ── */
        @keyframes heroContentIn {
            from { opacity: 0; transform: translateY(16px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        .home-hero__inner {
            position: relative;
            z-index: 2;
        }

        /* Heading: fades in first, slightly after video starts */
        .home-hero__heading {
            font-size: clamp(3.2rem, 8vw, 7rem);
            opacity: 0;
            animation: heroContentIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s forwards;
        }

        /* Sub-text container fades in after heading */
        .home-hero__sub {
            position: relative;
            min-height: 1.6em;
            opacity: 0;
            animation: heroContentIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.55s forwards;
        }

        /* Buttons fade in last */
        .home-hero__actions {
            opacity: 0;
            animation: heroContentIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.72s forwards;
        }

        /* "See the device →" — plain white text link next to Mix */
        .home-hero__device-link {
            display: inline-block;
            vertical-align: middle;
            font-family: var(--font-body);
            font-size: clamp(0.78rem, 1.1vw, 0.95rem);
            font-weight: 500;
            color: rgba(255,255,255,0.65);
            text-decoration: none;
            background: none;
            border: none;
            padding: 0;
            margin-left: 1.1em;
            letter-spacing: 0.01em;
            transition: color 0.2s ease;
        }
        .home-hero__device-link:hover { color: #ffffff; }

        /* Sub-line: the "One device for [word]" row inside the h1 */
        .home-hero__sub-line {
            display: block;
            font-family: var(--font-body);
            font-size: clamp(1rem, 2vw, 1.55rem);
            font-weight: 400;
            color: rgba(255,255,255,0.72);
            letter-spacing: -0.01em;
            line-height: 1.4;
            margin-top: 0.55rem;
        }

        /* ── Hero end-frame image (fades in when video finishes) ── */
        .hero-end-img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: auto;
            pointer-events: none;
            display: block;
        }
        /* Hide end-frame static image on mobile — video-only */
        @media (max-width: 768px) {
            .hero-end-img {
                display: none !important;
            }
        }

        /* ── Hero float card ── */
        /* ── Water-drop expand animation ── */
        @keyframes floatCardDrop {
            0% {
                opacity: 0;
                transform: translateY(18px) scale(0.95);
            }
            100% {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }
        .hero-float-card {
            position: relative;
            z-index: 10;
            display: flex;
            justify-content: center;
            margin-top: -2.75rem;
            padding: 0 1.5rem;
            opacity: 0;
            animation: floatCardDrop 1s cubic-bezier(0.22, 1, 0.36, 1) 1.05s forwards;
        }
        .hero-float-card.is-hidden {
            opacity: 0 !important;
            pointer-events: none !important;
            transition: opacity 0.5s ease;
        }
        .hero-float-card__inner {
            background: rgba(255,255,255,0.95);
            backdrop-filter: blur(24px) saturate(1.4);
            -webkit-backdrop-filter: blur(24px) saturate(1.4);
            border-radius: 20px;
            border: 1px solid rgba(0,0,0,0.08);
            box-shadow:
                0 20px 60px rgba(0,0,0,0.12),
                0 4px 16px rgba(0,0,0,0.06);
            padding: 1.4rem 2.25rem;
            display: flex;
            align-items: center;
            gap: 2rem;
            max-width: 660px;
            width: 100%;
        }
        .hero-float-card__left {
            display: flex;
            flex-direction: column;
            gap: 0.3rem;
            min-width: 0;
            flex: 1;
        }

        .hero-float-card__right {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0.55rem;
            flex-shrink: 0;
        }
        .hero-float-card__name {
            font-family: var(--font-logo, 'Arial Black', sans-serif);
            font-weight: 700;
            font-size: 1.65rem;
            letter-spacing: -0.02em;
            color: #1d1d1f;
            white-space: nowrap;
            line-height: 1;
        }
        .hero-float-card__link {
            font-size: 0.775rem;
            font-weight: 500;
            color: var(--clr-red, #D42B2B);
            text-decoration: none;
            letter-spacing: 0.01em;
            transition: opacity 0.2s;
            white-space: nowrap;
        }
        .hero-float-card__link:hover { opacity: 0.7; }

        .hero-float-card__divider {
            width: 1px;
            height: 2.5rem;
            background: rgba(0,0,0,0.1);
            flex-shrink: 0;
        }
        .hero-float-card__tagline {
            font-size: 0.9rem;
            color: rgba(0,0,0,0.45);
            line-height: 1.5;
            flex: 1;
            margin: 0;
        }
        .hero-float-card__price {
            font-size: 1.4rem;
            font-weight: 700;
            color: #1d1d1f;
            letter-spacing: -0.02em;
            line-height: 1;
        }
        .hero-float-card__cta {
            display: inline-flex;
            align-items: center;
            white-space: nowrap;
            font-size: 0.8375rem;
            font-weight: 600;
            color: #fff;
            background: #1d1d1f;
            border-radius: 999px;
            padding: 0.65rem 1.35rem;
            border: none;
            transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
            flex-shrink: 0;
            width: auto;
            text-decoration: none;
        }
        .hero-float-card__cta:hover {
            background: #333;
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0,0,0,0.15);
        }

        /* Desktop: hide hero text, show float card as fixed popup */
        @media (min-width: 641px) {
            .home-hero__content { display: none; }
            .hero-float-card {
                position: fixed;
                bottom: 3rem;
                left: 0;
                right: 0;
                width: 660px;
                margin: 0 auto;
                z-index: 50;
                padding: 0;
                /* No CSS transition — JS drives inline opacity/transform for smooth gradient fade */
            }
        }

        /* ══ Team Section ══════════════════════════════════════════════════ */
        .home-team {
            background: #1d1d1f;
            padding: 7rem 0;
            border: none;
        }

        .home-team__inner {
            max-width: var(--container-max, 1280px);
            margin: 0 auto;
            padding: 0 2.5rem;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 3rem;
        }

        .home-team__header {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            max-width: 560px;
        }

        .home-team__heading {
            font-family: var(--font-logo);
            font-size: clamp(2.4rem, 5vw, 4.2rem);
            font-weight: 700;
            line-height: 1.05;
            letter-spacing: -0.03em;
            color: #fff;
            margin: 0;
        }

        .home-team__heading em {
            font-style: italic;
            font-family: var(--font-display, 'Playfair Display', serif);
            font-weight: 400;
            color: var(--clr-red, #D42B2B);
        }

        .home-team__sub {
            font-size: clamp(1rem, 1.6vw, 1.15rem);
            color: rgba(255,255,255,0.45);
            line-height: 1.6;
            margin: 0;
            max-width: 480px;
        }

        .home-team__grid {
            display: grid;
            grid-template-columns: 1fr 1fr 210px;
            gap: 1.5rem;
            width: 100%;
            perspective: 900px;
        }

        @keyframes teamSlideUp {
            from { opacity: 0; transform: translateY(40px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        .home-team__card {
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 20px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            transition: box-shadow 0.35s ease, transform 0.35s cubic-bezier(0.22,1,0.36,1), border-color 0.3s ease;
            text-decoration: none;
            color: inherit;
            cursor: pointer;
            box-shadow: 0 4px 24px rgba(0,0,0,0.15);
            opacity: 0;
            transform: translateY(40px);
        }
        .home-team--animate .home-team__card:nth-child(1) {
            animation: teamSlideUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.1s forwards;
        }
        .home-team--animate .home-team__card:nth-child(2) {
            animation: teamSlideUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.25s forwards;
        }
        .home-team--animate .home-team__card:nth-child(3) {
            animation: teamSlideUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.4s forwards;
        }

        .home-team__card:hover {
            box-shadow: 0 20px 60px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.06) inset;
            transform: translateY(-6px);
            border-color: rgba(255,255,255,0.15);
        }

        /* CTA tile — dark glass with red accent */
        .home-team__card--cta {
            background: linear-gradient(135deg, rgba(212,43,43,0.15) 0%, rgba(212,43,43,0.05) 100%);
            border-color: rgba(212,43,43,0.2);
            align-items: center;
            justify-content: center;
            text-align: center;
            gap: 1.5rem;
            padding: 2.5rem 1.5rem;
            text-decoration: none;
            cursor: pointer;
            writing-mode: horizontal-tb;
            position: relative;
            overflow: hidden;
        }
        .home-team__card--cta::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, var(--clr-red, #D42B2B) 0%, #1d1d1f 100%);
            opacity: 0;
            transition: opacity 0.5s ease;
            z-index: 0;
        }
        .home-team__card--cta.is-swiped::before {
            opacity: 1;
        }
        .home-team__card-cta__arrow,
        .home-team__card-cta__text,
        .home-team__card-cta__sub {
            position: relative;
            z-index: 1;
        }

        .home-team__card--cta:hover {
            box-shadow: 0 20px 60px rgba(212,43,43,0.2), 0 8px 24px rgba(0,0,0,0.3);
            transform: translateY(-6px);
            border-color: rgba(212,43,43,0.35);
        }
        .home-team__card--cta.is-swiped:hover::before {
            opacity: 0.9;
        }

        .home-team__card-cta__arrow {
            font-size: 2.4rem;
            color: rgba(255,255,255,0.2);
            line-height: 1;
            display: block;
        }

        .home-team__card-cta__text {
            font-family: var(--font-logo);
            font-size: clamp(1.05rem, 1.8vw, 1.4rem);
            font-weight: 700;
            letter-spacing: -0.02em;
            color: #ffffff;
            line-height: 1.25;
            display: block;
        }

        .home-team__card-cta__sub {
            font-size: 0.78rem;
            font-weight: 500;
            color: rgba(255,255,255,0.35);
            letter-spacing: 0.01em;
            display: block;
            margin-top: 0.3rem;
        }

        .home-team__photo {
            width: 100%;
            aspect-ratio: 4 / 3;
            background-size: cover;
            background-position: center top;
            filter: grayscale(0.2);
            transition: filter 0.4s ease, transform 0.5s ease;
        }
        .home-team__card:hover .home-team__photo {
            filter: grayscale(0);
            transform: scale(1.03);
        }

        .home-team__bio {
            padding: 1.75rem 2rem;
            display: flex;
            flex-direction: column;
            gap: 0.4rem;
        }

        .home-team__name {
            font-family: var(--font-logo);
            font-size: 1.25rem;
            font-weight: 700;
            letter-spacing: -0.02em;
            color: #fff;
            margin: 0;
        }

        .home-team__role {
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--clr-red, #D42B2B);
            margin: 0;
        }

        .home-team__desc {
            font-size: 0.9rem;
            color: rgba(255,255,255,0.45);
            line-height: 1.6;
            margin: 0.5rem 0 0;
        }

        .home-team__cta {
            display: inline-flex;
            align-items: center;
            font-size: 0.9rem;
            font-weight: 600;
            color: #fff;
            background: transparent;
            border: 1px solid rgba(255,255,255,0.15);
            border-radius: 999px;
            padding: 0.7rem 1.75rem;
            letter-spacing: 0.01em;
            text-decoration: none;
            transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
        }

        .home-team__cta:hover {
            background: #fff;
            color: #1d1d1f;
            border-color: #fff;
            transform: translateY(-2px);
        }

        @media (max-width: 640px) {
            .home-team__grid {
                grid-template-columns: 1fr;
            }
            .home-team__card--cta {
                flex-direction: row;
                justify-content: center;
                gap: 1.25rem;
                padding: 2rem 2rem;
                min-height: 0;
            }
            .home-team__card-cta__arrow {
                font-size: 1.8rem;
            }
            .home-team__inner {
                padding: 0 1.25rem;
                gap: 2rem;
            }
            .home-team {
                padding: 4rem 0;
            }
        }

        /* ── Waitlist strip — cardboard background + dark tint ── */
        .home-waitlist-strip {
            position: relative !important;
            background: url('/images/carboard.webp') center / cover no-repeat !important;
        }
        .home-waitlist-strip__inner {
            position: relative;
            z-index: 1;
        }
        /* Mobile: hug the content, no giant empty space */
        @media (max-width: 640px) {
            .home-waitlist-strip {
                padding: 3rem 1.5rem !important;
                background-size: cover !important;
                background-position: center center !important;
            }
        }

        /* ── Workshop — SDK badge + Open Source sub-heading ── */
        .home-workshop__label-row {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            margin-bottom: 0.1rem;
        }
        .home-workshop__sdk-badge {
            display: inline-flex;
            align-items: center;
            font-size: 0.65rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #ffffff;
            background: var(--clr-red, #D42B2B);
            border-radius: 4px;
            padding: 0.2em 0.55em;
            line-height: 1;
        }
        .home-workshop__open-source {
            font-family: var(--font-logo);
            font-size: clamp(1.5rem, 2.8vw, 2.4rem);
            font-weight: 400;
            letter-spacing: -0.05em;
            line-height: 1;
            color: #ffffff;
            margin: 0.1rem 0 0.6rem;
        }
        .home-workshop__open-source em {
            color: var(--clr-red, #D42B2B);
            font-style: normal;
        }

        /* ── Customize section — force light theme ── */
        .home-customize {
            background: #ffffff !important;
            color: var(--clr-text, #1B1916) !important;
        }
        .home-customize__heading,
        .home-customize__title {
            color: var(--clr-text, #1B1916) !important;
        }
        .home-customize__sub,
        .home-customize__title-sub {
            color: var(--clr-text-muted, #8C8478) !important;
        }
        .home-customize__label {
            color: var(--clr-red, #D42B2B) !important;
            background: none !important;
        }
        .home-customize__cta {
            background: var(--clr-text, #1B1916) !important;
            color: #ffffff !important;
            border-color: var(--clr-text, #1B1916) !important;
        }
        .home-customize__cta:hover {
            background: #3a3a3a !important;
        }

        /* ── Override section defaults that kill position:sticky ── */
        .home-customize {
            overflow: visible !important;
            overflow-x: clip !important;
            content-visibility: visible !important;
            contain: none !important;
            padding: 0 !important; /* remove style.css 7rem top/bottom padding (header space) */
        }

        /* ── Sequence wrapper — both sticky phases live inside this one container ── */
        .home-customize__seq-wrap {
            position: relative;
            min-height: 260vh;
            background: #ffffff;
            overflow-x: clip; /* clips cust-window slide-in without breaking sticky */
        }

        /* ── Phase 1: pinned preheader — "That's not all." ── */
        .home-customize__preheader {
            position: sticky !important;
            top: 0 !important;
            height: 100vh !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: center !important;
            background: #ffffff !important;
            z-index: 2 !important;
            padding: 4rem 2.5rem !important;
            text-align: center !important;
            margin: 0 !important;
        }
        .home-customize__preheader-kicker,
        .home-customize__preheader-headline,
        .home-customize__preheader-body {
            opacity: 0 !important;
            transform: translateY(40px) !important;
            transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22,1,0.36,1) !important;
        }
        .home-customize__preheader.is-rising .home-customize__preheader-kicker {
            opacity: 1 !important; transform: translateY(0) !important; transition-delay: 0s !important;
        }
        .home-customize__preheader.is-rising .home-customize__preheader-headline {
            opacity: 1 !important; transform: translateY(0) !important; transition-delay: 0.18s !important;
        }
        .home-customize__preheader.is-rising .home-customize__preheader-body {
            opacity: 1 !important; transform: translateY(0) !important; transition-delay: 0.34s !important;
        }
        .home-customize__preheader-headline {
            font-family: var(--font-logo) !important;
            font-size: clamp(3rem, 8vw, 6rem) !important;
            font-weight: 700 !important; letter-spacing: -0.035em !important;
            color: #1d1d1f !important; line-height: 1 !important;
            margin: 0.5rem 0 0.75rem !important;
        }
        .home-customize__preheader-headline em { color: var(--clr-red, #D42B2B) !important; font-style: normal !important; }
        .home-customize__preheader-body {
            font-size: clamp(1rem, 1.8vw, 1.2rem) !important;
            color: rgba(0,0,0,0.42) !important; max-width: 500px !important;
            line-height: 1.6 !important; margin: 0 !important;
        }
        /* ── Phase 2: pinned inner — "Make your Mixlar" ── */
        /* Overlaps preheader via margin-top:-100vh; opacity driven entirely by JS */
        .home-customize__inner {
            position: sticky !important;
            top: 0 !important;
            height: 100vh !important;
            margin-top: -100vh !important; /* pull back so it sits at the same offset as preheader */
            margin-left: 0 !important;
            margin-right: 0 !important;
            max-width: 100% !important;
            width: 100% !important;
            padding: 4rem 2.5rem !important;
            box-sizing: border-box !important;
            display: grid !important;
            grid-template-columns: 1fr 1.5fr !important;
            gap: 5rem !important;
            align-items: center !important;
            align-content: center !important; /* vertically centre the grid rows in 100vh */
            background: #ffffff !important;
            z-index: 1 !important;
            opacity: 0;          /* JS-driven — starts invisible */
            will-change: opacity, transform;
        }
        @media (max-width: 960px) {
            .home-customize__inner {
                grid-template-columns: 1fr !important;
                gap: 2rem !important;
                padding: 2rem 1.5rem !important;
            }
        }

        /* Mobile cust-window — use opacity fade only, no translateX (prevents viewport stretch) */
        @media (max-width: 768px) {
            .cust-window__bar,
            .cust-window__body { transform: none !important; }
            @keyframes custFadeIn {
                from { opacity: 0; }
                to   { opacity: 1; }
            }
            .cust-window--animate .cust-window__bar {
                animation: custFadeIn 0.55s ease forwards !important;
            }
            .cust-window--animate .cust-window__body {
                animation: custFadeIn 0.7s ease 0.1s forwards !important;
            }
        }

        /* ── Customize CTA — fix mobile sizing ── */
        @media (max-width: 640px) {
            .home-customize__cta {
                display: inline-flex !important;
                width: auto !important;
                align-self: flex-start !important;
                white-space: nowrap !important;
                flex-shrink: 0 !important;
            }
        }

        /* ══ Final Reserve CTA ══════════════════════════════════════════════ */
        .home-reserve-cta {
            background: #0c0c0c;
            padding: 8rem 0 7rem;
            position: relative;
            overflow: hidden;
        }
        .home-reserve-cta__inner {
            max-width: 780px;
            margin: 0 auto;
            padding: 0 2.5rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 0;
            position: relative;
            z-index: 1;
        }
        .home-reserve-cta__kicker {
            display: inline-block;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--clr-red, #D42B2B);
            margin-bottom: 1.75rem;
        }
        .home-reserve-cta__heading {
            font-family: var(--font-logo);
            font-size: clamp(2.8rem, 7vw, 5.5rem);
            font-weight: 700;
            letter-spacing: -0.03em;
            line-height: 1.05;
            color: #ffffff;
            margin: 0 0 1.5rem;
        }
        .home-reserve-cta__heading em {
            font-family: var(--font-display, 'Playfair Display', serif);
            font-style: italic;
            font-weight: 400;
            color: var(--clr-red, #D42B2B);
        }
        .home-reserve-cta__sub {
            font-size: clamp(1rem, 1.6vw, 1.1rem);
            color: rgba(255,255,255,0.5);
            line-height: 1.7;
            margin: 0 0 3rem;
            max-width: 540px;
        }
        /* Perks row */
        .home-reserve-cta__perks {
            display: flex;
            align-items: stretch;
            gap: 0;
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 14px;
            margin-bottom: 2.75rem;
            width: 100%;
            max-width: 640px;
            overflow: hidden;
        }
        .home-reserve-cta__perk {
            display: flex;
            align-items: center;
            gap: 0.85rem;
            padding: 1.4rem 1.6rem;
            flex: 1;
            text-align: left;
        }
        .home-reserve-cta__perk-icon {
            flex-shrink: 0;
            width: 36px;
            height: 36px;
            background: rgba(212,43,43,0.12);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--clr-red, #D42B2B);
        }
        .home-reserve-cta__perk-icon svg {
            width: 18px;
            height: 18px;
        }
        .home-reserve-cta__perk div {
            display: flex;
            flex-direction: column;
            gap: 0.15rem;
        }
        .home-reserve-cta__perk strong {
            font-size: 0.88rem;
            font-weight: 700;
            color: #ffffff;
            line-height: 1.2;
        }
        .home-reserve-cta__perk span {
            font-size: 0.72rem;
            color: rgba(255,255,255,0.4);
            line-height: 1.4;
        }
        .home-reserve-cta__perk-divider {
            width: 1px;
            background: rgba(255,255,255,0.08);
            align-self: stretch;
            flex-shrink: 0;
        }
        /* Buttons */
        .home-reserve-cta__actions {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: wrap;
            justify-content: center;
            margin-bottom: 1.5rem;
        }
        .home-reserve-cta__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.9rem;
            font-weight: 700;
            letter-spacing: 0.02em;
            border-radius: 10px;
            padding: 0.85rem 2rem;
            text-decoration: none;
            white-space: nowrap;
            transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease;
        }
        .home-reserve-cta__btn--primary {
            background: var(--clr-red, #D42B2B);
            color: #ffffff;
            border: 1.5px solid var(--clr-red, #D42B2B);
            box-shadow: 0 0 0 0 rgba(212,43,43,0);
        }
        .home-reserve-cta__btn--primary:hover {
            background: #b82424;
            transform: translateY(-2px);
            box-shadow: 0 8px 28px rgba(212,43,43,0.4);
        }
        .home-reserve-cta__btn--ghost {
            background: transparent;
            color: rgba(255,255,255,0.65);
            border: 1.5px solid rgba(255,255,255,0.15);
        }
        .home-reserve-cta__btn--ghost:hover {
            border-color: rgba(255,255,255,0.4);
            color: #ffffff;
            transform: translateY(-2px);
        }
        /* Fine print */
        .home-reserve-cta__fine {
            font-size: 0.72rem;
            color: rgba(255,255,255,0.25);
            line-height: 1.6;
            margin: 0 auto;
            max-width: 400px;
            text-align: center;
        }
        /* Mobile */
        @media (max-width: 640px) {
            .home-reserve-cta {
                padding: 5rem 0 4.5rem;
            }
            .home-reserve-cta__inner {
                padding: 0 1.5rem;
            }
            .home-reserve-cta__perks {
                flex-direction: column;
                max-width: 100%;
            }
            .home-reserve-cta__perk-divider {
                width: auto;
                height: 1px;
                align-self: auto;
            }
            .home-reserve-cta__actions {
                flex-direction: column;
                width: 100%;
            }
            .home-reserve-cta__btn {
                width: 100%;
            }
        }

        /* ── Software feature chips — 3D tilt cards ── */
        .sw-feat-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.75rem;
            margin-top: 1.75rem;
            perspective: 800px;
        }
        .sw-feat {
            position: relative;
            background: linear-gradient(145deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.03) 100%);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 16px;
            padding: 1.4rem 1.2rem;
            opacity: 0;
            transform: translateY(16px) rotateX(0) rotateY(0);
            transform-style: preserve-3d;
            transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.22,1,0.36,1), box-shadow 0.3s ease, border-color 0.3s ease;
            cursor: default;
            overflow: hidden;
        }
        .sw-feat.is-shown {
            opacity: 1;
            transform: translateY(0) rotateX(0) rotateY(0);
        }
        .sw-feat::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: radial-gradient(
                circle at var(--mx, 50%) var(--my, 50%),
                rgba(255,255,255,0.12) 0%,
                transparent 60%
            );
            opacity: 0;
            transition: opacity 0.3s ease;
            pointer-events: none;
        }
        .sw-feat:hover::before { opacity: 1; }
        .sw-feat:hover {
            border-color: rgba(255,255,255,0.18);
            box-shadow:
                0 8px 32px rgba(0,0,0,0.25),
                0 0 0 1px rgba(255,255,255,0.05) inset,
                0 1px 0 rgba(255,255,255,0.1) inset;
        }
        .sw-feat__icon {
            font-size: 1.2rem;
            margin-bottom: 0.65rem;
            color: var(--clr-red, #D42B2B);
            transform: translateZ(20px);
            display: inline-block;
            filter: drop-shadow(0 2px 8px rgba(212,43,43,0.3));
        }
        .sw-feat__title {
            font-size: 0.72rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            margin-bottom: 0.35rem;
            transform: translateZ(12px);
        }
        .sw-feat__desc {
            font-size: 0.78rem !important;
            line-height: 1.55 !important;
            color: rgba(255,255,255,0.5) !important;
            margin: 0;
            transform: translateZ(6px);
        }
        .sw-feat__expand {
            display: none;
            margin-top: 0.75rem;
            background: none;
            border: 1px solid rgba(255,255,255,0.15);
            border-radius: 999px;
            color: rgba(255,255,255,0.5);
            font-family: var(--font-body, 'Inter', sans-serif);
            font-size: 0.75rem;
            font-weight: 500;
            padding: 0.55rem 1.2rem;
            cursor: pointer;
            transition: border-color 0.2s, color 0.2s;
        }
        .sw-feat__expand:hover { border-color: rgba(255,255,255,0.3); color: rgba(255,255,255,0.7); }
        .sw-feat__expand.is-hidden { display: none !important; }
        @media (max-width: 640px) {
            .sw-feat__expand { display: inline-block; }
            .sw-feat-grid {
                grid-template-columns: 1fr;
                gap: 0.6rem;
            }
            .sw-feat { padding: 1rem; }
            .sw-feat-grid .sw-feat:nth-child(n+4) { display: none; }
            .sw-feat-grid.is-expanded .sw-feat:nth-child(n+4) { display: block; }
        }

        /* ── Software features — clean minimal list (legacy) ── */
        .home-software__features {
            display: flex !important;
            flex-direction: column !important;
            gap: 0 !important;
            list-style: none !important;
            padding: 0 !important;
            margin: 0 0 1.25rem !important;
            counter-reset: feat-counter;
        }
        .home-software__features li {
            display: flex !important;
            align-items: flex-start !important;
            gap: 0.85rem !important;
            padding: 1rem 0 !important;
            border-bottom: 1px solid rgba(255,255,255,0.08) !important;
            background: none !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            opacity: 0;
            transform: translateY(14px);
            transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        }
        .home-software__features li:first-child {
            border-top: 1px solid rgba(255,255,255,0.08) !important;
        }
        .home-software__features li:last-child {
            border-bottom: none !important;
        }
        /* Counter dot */
        .home-software__features li::before {
            counter-increment: feat-counter;
            content: counter(feat-counter, decimal-leading-zero);
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: rgba(255,255,255,0.06) !important;
            font-size: 0.62rem !important;
            font-weight: 600;
            color: rgba(255,255,255,0.35) !important;
            letter-spacing: 0.04em;
            font-family: var(--font-body);
            margin-top: 0.1rem;
        }
        .home-software__features strong {
            display: block !important;
            font-size: 0.95rem !important;
            font-weight: 600 !important;
            color: rgba(255,255,255,0.92) !important;
            letter-spacing: -0.01em !important;
            line-height: 1.3 !important;
            margin-bottom: 0.2rem !important;
            font-family: var(--font-body) !important;
        }
        .home-software__features p {
            font-size: 0.78rem !important;
            color: rgba(255,255,255,0.38) !important;
            line-height: 1.5 !important;
            margin: 0 !important;
        }
        /* Float-in on scroll */
        .home-software__features.is-visible li { opacity: 1; transform: translateY(0); }
        /* View Demo — full width */
        .home-software__cta--demo {
            display: flex !important;
            align-items: center;
            justify-content: center;
            width: 100% !important;
            box-sizing: border-box;
            text-align: center;
            margin-top: 0.5rem;
            background: #1B1916 !important;
            color: #ffffff !important;
            padding: 0.75rem 1.5rem;
            border-radius: 999px;
            border: none;
            cursor: pointer;
        }
        .home-software__cta--demo:hover {
            background: #2a2724 !important;
            color: #ffffff !important;
        }
        /* View more — desktop always hidden */
        .sw-feat__more { display: none !important; }

        /* ── Software content — floats up independently on scroll ── */
        .home-software__content {
            opacity: 0 !important;
            transform: translateY(28px) !important;
            transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) !important;
        }
        .home-software__content.is-in-view { opacity: 1 !important; transform: translateY(0) !important; }
        .sw-is-ready .home-software__content { animation: none !important; }
        .sw-is-done .home-software__content { opacity: 1 !important; transform: none !important; transition: none !important; }

        /* ── Software section: white panel behind dark mock (explicit class) ── */
        .sw-visual-bg {
            position: relative !important;
            overflow: hidden !important;
            background: #ffffff !important;
            border-radius: 20px !important;
            padding: 2.25rem !important;
        }
        .sw-visual-bg::before {
            display: none !important;
        }
        /* Lift mock above the wave pseudo-element */
        .sw-visual-bg .sw-mock { position: relative !important; z-index: 1 !important; }

        /* ── sw-mock demo overlay — fades in after animation completes ── */
        .sw-mock__demo-overlay {
            position: absolute;
            inset: 0;
            z-index: 5;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(10,8,6,0.25);
            backdrop-filter: blur(1.5px);
            -webkit-backdrop-filter: blur(1.5px);
            border-radius: inherit;
            opacity: 0;
            transition: opacity 0.9s ease 0.4s;
            pointer-events: none;
            cursor: pointer;
            text-decoration: none;
        }
        .sw-is-done .sw-mock__demo-overlay {
            opacity: 1;
            pointer-events: auto;
        }
        .sw-mock__demo-overlay:hover { background: rgba(10,8,6,0.35); }
        .sw-mock__demo-overlay-text {
            font-family: var(--font-logo, 'Arial Black', sans-serif);
            font-size: clamp(0.95rem, 1.8vw, 1.2rem);
            font-weight: 900;
            color: #ffffff;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            text-align: center;
            line-height: 1.25;
            text-shadow: 0 2px 20px rgba(0,0,0,0.5);
            user-select: none;
        }
        @media (max-width: 640px) {
            .sw-visual-bg {
                padding: 1rem !important;
                border-radius: 14px !important;
            }
            .sw-mock { overflow: hidden !important; max-width: 100% !important; }
            .sw-mock__body { padding: 1rem 0.6rem 1.25rem !important; }
            .sw-mock__sliders { gap: 0.25rem !important; }
            .sw-mock__fader-track { min-height: 105px !important; }
            .sw-mock__fader-thumb { width: 18px !important; height: 9px !important; border-radius: 3px !important; }
            .sw-mock__macros { padding-left: 0.5rem !important; gap: 0.3rem !important; }
            .sw-mock__macro { width: 34px !important; height: 32px !important; }
        }
        /* Thumb: larger, light-on-dark, starts at bottom of track, transitions up */
        .sw-mock__fader-thumb {
            background: rgba(255,255,255,0.78) !important;
            width: 30px !important;
            height: 11px !important;
            border-radius: 5px !important;
            cursor: grab !important;
            top: 88% !important;
            transition: top 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important;
        }
        .sw-mock__fader-thumb:active { cursor: grabbing !important; }
        /* During drag, disable transition so thumb follows finger instantly */
        .sw-mock__fader-thumb.is-dragging { transition: none !important; }

        /* ── Software visual: clip any translateX overflow on mobile ── */
        @media (max-width: 960px) {
            .home-software { overflow: hidden !important; }
        }

        /* ── Mobile: show 3, rest expand on tap ── */
        @media (max-width: 768px) {
            .home-software__features li.sw-feat--extra { display: none !important; }
            .home-software__features.is-expanded li.sw-feat--extra {
                display: flex !important;
                opacity: 0 !important;
                transform: translateY(14px) !important;
            }
            .home-software__features.is-expanded li.sw-feat--extra.is-revealed {
                opacity: 1 !important;
                transform: translateY(0) !important;
                transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
            }
            .home-software__cta--demo { display: none !important; }
            .home-software__cta--demo.is-visible { display: flex !important; }
            .sw-feat__more {
                display: flex !important;
                align-items: center;
                justify-content: center;
                width: 100%;
                margin-top: 0.25rem;
                padding: 0.85rem 1rem;
                background: transparent;
                border: 1px solid rgba(255,255,255,0.1);
                border-radius: 999px;
                box-shadow: none;
                color: rgba(255,255,255,0.4);
                font-size: 0.76rem;
                font-weight: 500;
                letter-spacing: 0.03em;
                text-align: center;
                cursor: pointer;
                transition: color 0.2s ease, border-color 0.2s ease;
                font-family: var(--font-body);
            }
            .sw-feat__more:active { color: rgba(255,255,255,0.75); border-color: rgba(255,255,255,0.2); }
            .sw-feat__more.is-hidden { display: none !important; }
        }

        /* ── Accent cell — one-line heading + high-contrast sub text ── */
        .home-intro__heading {
            white-space: nowrap !important;
        }
        .home-intro__for {
            color: rgba(255, 255, 255, 0.88) !important;
        }

        /* ── Explore specs: white pill, black text ── */
        .home-intro__cta {
            background: #ffffff !important;
            color: #1d1d1f !important;
            border-radius: 999px !important;
            border: none !important;
        }
        .home-intro__cta:hover { background: rgba(255,255,255,0.88) !important; color: #1d1d1f !important; }

        /* ── Accent cell mobile: stack vertically, CTA fills bottom ── */
        @media (max-width: 640px) {
            .home-intro__cell--accent {
                display: flex !important;
                flex-direction: column !important;
            }
            .home-intro__cta {
                font-size: 0.82rem !important;
                padding: 0.6rem 1rem !important;
                color: #1d1d1f !important;
                background: #ffffff !important;
                box-shadow: none !important;
                margin-top: 1.25rem !important;
            }
        }

        /* ── Software section — Netscape browser window mock ── */
        /* ── Software description — modern card ── */
        .sw-desc {
            margin-top: 1.5rem;
        }
        .sw-desc p {
            font-size: 0.92rem !important;
            line-height: 1.7 !important;
            color: rgba(255,255,255,0.55) !important;
            margin: 0;
        }
        .sw-desc a {
            color: #fff;
            text-decoration: none;
            font-weight: 600;
            border-bottom: 1px solid rgba(255,255,255,0.2);
            transition: border-color 0.2s;
        }
        .sw-desc a:hover { border-color: rgba(255,255,255,0.6); }
        @media (max-width: 640px) {
            .sw-desc p { font-size: 0.82rem !important; }
        }

        /* ── Home intro: kill bottom border (padding-bottom set above for trust bar gap) ── */
        .home-intro {
            border-bottom: none !important;
            margin-bottom: 0 !important;
        }
        .home-intro__inner {
            padding-bottom: 0 !important;
            margin-bottom: 0 !important;
            gap: 0 !important;
        }
        @media (min-width: 769px) {
            .home-intro__inner {
                padding-left: 2.5rem !important;
                padding-right: 2.5rem !important;
            }
        }
        @media (min-width: 1200px) {
            .home-intro__inner {
                padding-left: 4rem !important;
                padding-right: 4rem !important;
            }
        }
        .home-intro__panel {
            margin-bottom: 0 !important;
        }
        .home-origin-band {
            border: none !important;
            border-bottom: none !important;
            margin: 0 !important;
            padding-top: 0.75rem !important;
            padding-bottom: 0.75rem !important;
        }

        /* ── Mobile nav overrides (index-specific, bypasses stale min.css) ── */
        @media (max-width: 960px) {
            /* Lock logo to "M." — never expand on mobile */
            .nav__logo-expand {
                max-width: 0 !important;
                opacity: 0 !important;
                transition: none !important;
                pointer-events: none;
            }
            /* Layout: [M.] [☰] ············· [Origin badge] */
            .nav__inner {
                justify-content: flex-start;
            }
            .nav__logo {
                order: 1;
                flex-shrink: 0;
            }
            .nav__menu-btn {
                display: flex;
                order: 2;
                margin-left: 0.35rem;
                z-index: 210;
                flex-shrink: 0;
            }
            .nav__demo-btn {
                order: 3;
                margin-left: auto;
                opacity: 1 !important;
                pointer-events: auto !important;
                transform: none !important;
                border-radius: 6px;
                flex-shrink: 0;
                padding-right: 0.5rem;
            }
        }

        /* Mobile: card fixed to bottom, two-column layout */
        @media (max-width: 640px) {
            .home-hero {
                justify-content: flex-end;
                padding-bottom: 0;
            }
            .home-hero__inner { display: none; }

            /* Fixed to viewport bottom — floating tile with breathing room */
            .hero-float-card {
                position: fixed;
                bottom: 0.75rem;
                left: 0.75rem;
                right: 0.75rem;
                z-index: 50;
                margin: 0;
                padding: 0;
                animation: floatCardDrop 1s cubic-bezier(0.22, 1, 0.36, 1) 0.8s forwards;
                transition: opacity 0.35s ease, transform 0.35s ease;
            }

            /* Two-column grid: [MIXLAR MIX + words] [CTA + link] */
            .hero-float-card__inner {
                display: grid;
                grid-template-columns: 1fr auto;
                align-items: center;
                gap: 1.25rem;
                padding: 1.1rem 1.4rem;
                max-width: 100%;
                border-radius: 16px;
            }

            .hero-float-card__divider { display: none; }

            /* Left: big name */
            .hero-float-card__name {
                font-size: clamp(1.5rem, 5.5vw, 2rem);
                letter-spacing: -0.03em;
                white-space: normal;
                line-height: 0.95;
            }

            /* Left: tagline sits tight under the name */
            .hero-float-card__tagline {
                font-size: 0.78rem;
                margin-top: 0.4rem;
            }

            /* Right: CTA vertically centered in column */
            .hero-float-card__right {
                align-items: stretch;
                justify-content: center;
            }

            .hero-float-card__cta {
                width: 100%;
                justify-content: center;
                padding: 0.65rem 1rem;
                font-size: 0.78rem;
                align-self: center;
            }
        }

        /* ═══════════════════════════════════════
           WHY SECTION — restructured
        ═══════════════════════════════════════ */

        /* Kill the old glass wrapper — content is now flat */
        .home-why__glass { display: none !important; }

        /* Header: heading left, film button right; stacks on mobile */
        .home-why__header {
            display: flex !important;
            align-items: flex-end !important;
            justify-content: space-between !important;
            gap: 1.5rem !important;
            margin-bottom: 1.75rem !important;
            padding: 0 !important;
        }
        .home-why__heading {
            font-family: var(--font-logo) !important;
            font-size: clamp(1.6rem, 3vw, 2.6rem) !important;
            font-weight: 700 !important;
            line-height: 1.15 !important;
            letter-spacing: -0.02em !important;
            color: var(--clr-text) !important;
            margin: 0 !important;
        }

        /* "View film >" button */
        .home-why__film-btn {
            display: flex;
            align-items: center;
            gap: 0.3rem;
            font-size: 0.9rem;
            font-weight: 500;
            color: var(--clr-red, #D42B2B);
            background: none;
            border: none;
            cursor: pointer;
            white-space: nowrap;
            padding: 0.2rem 0;
            transition: opacity 0.2s;
            font-family: var(--font-body);
            flex-shrink: 0;
        }
        .home-why__film-btn:hover { opacity: 0.65; }

        /* ── Why CTA tile: deposit sub-text + bold button ── */
        .why-card__cta-sub {
            font-size: 0.8rem;
            color: rgba(255,255,255,0.55);
            margin: 0.4rem 0 1.5rem;
            line-height: 1.5;
        }
        .why-card__cta-btn--deposit {
            display: inline-flex !important;
            align-items: center;
            gap: 0.4rem;
            background: #D42B2B !important;
            color: #ffffff !important;
            border: 1px solid rgba(0,0,0,0.2) !important;
            border-radius: 6px !important;
            padding: 0.75rem 1.5rem !important;
            font-size: 0.82rem !important;
            font-weight: 700 !important;
            letter-spacing: 0.03em !important;
            cursor: pointer;
            transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
        }
        .why-card__cta-btn--deposit:hover {
            background: #b82424 !important;
            transform: translateY(-2px) !important;
            box-shadow: 0 8px 24px rgba(212,43,43,0.4) !important;
        }

        /* Glass cards — each card becomes a glass panel */
        .why-card {
            background: rgba(255,255,255,0.78) !important;
            backdrop-filter: blur(10px) !important;
            -webkit-backdrop-filter: blur(10px) !important;
            border: 1px solid rgba(255,255,255,0.95) !important;
            box-shadow:
                0 1px 0 rgba(255,255,255,0.9) inset,
                0 6px 20px rgba(0,0,0,0.06),
                0 1px 4px rgba(0,0,0,0.04) !important;
        }
        /* Why cards — tile-level stagger on desktop */
        @media (min-width: 769px) {
            .why-card {
                opacity: 0;
                transform: translateY(28px);
                transition: opacity 0.55s ease, transform 0.55s ease;
            }
            .why-card.is-tile-visible {
                opacity: 1;
                transform: translateY(0);
            }
            .why-card:nth-child(1) { transition-delay: 0s; }
            .why-card:nth-child(2) { transition-delay: 0.12s; }
            .why-card:nth-child(3) { transition-delay: 0.24s; }
            .why-card:nth-child(4) { transition-delay: 0.36s; }
            .why-card:nth-child(5) { transition-delay: 0.48s; }
            .why-card:nth-child(6) { transition-delay: 0.60s; }
            .why-card:nth-child(7) { transition-delay: 0.72s; }
        }
        /* Mobile: keep text stagger per-card */
        @media (max-width: 768px) {
            .why-card__body > * {
                opacity: 0;
                transform: translateY(18px);
                transition: opacity 0.5s ease, transform 0.5s ease;
            }
            .why-card__body > *:nth-child(1) { transition-delay: 0.1s; }
            .why-card__body > *:nth-child(2) { transition-delay: 0.25s; }
            .why-card__body > *:nth-child(3) { transition-delay: 0.4s; }
            .why-card.is-visible .why-card__body > * {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* ── Pill dot selector ── */
        .home-why__selector {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 1.25rem;
        }
        .why-selector__pill {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            background: rgba(0,0,0,0.07);
            border-radius: 100px;
            padding: 9px 16px;
        }
        .why-selector__dot {
            height: 6px; width: 6px; border-radius: 100px;
            background: rgba(0,0,0,0.22);
            position: relative; overflow: hidden; flex-shrink: 0;
            cursor: pointer; border: none; padding: 0;
            transition: width 0.3s cubic-bezier(0.34,1.4,0.64,1);
        }
        .why-selector__dot.is-active {
            width: 36px !important; border-radius: 4px !important;
            background: rgba(0,0,0,0.12) !important;
        }
        .why-selector__dot.is-active::after {
            content: '';
            position: absolute; left: 0; top: 0; bottom: 0;
            width: 0%; background: #1d1d1f; border-radius: 4px;
            animation: dotProgress 3.8s linear forwards;
        }
        @keyframes dotProgress { from { width: 0%; } to { width: 100%; } }
        .home-workshop__selector .why-selector__dot { background: rgba(0,0,0,0.18); }
        .home-workshop__selector .why-selector__dot.is-active::after { background: #1d1d1f !important; }
        .home-reserve-cta__perk-selector .why-selector__dot { background: rgba(0,0,0,0.2); }
        .home-reserve-cta__perk-selector .why-selector__dot.is-active { background: rgba(0,0,0,0.12) !important; }
        .home-reserve-cta__perk-selector .why-selector__dot.is-active::after { background: rgba(0,0,0,0.65) !important; }

        /* ── Film panel overlay ── */
        .home-why__film-panel {
            position: fixed;
            inset: 0;
            z-index: 900;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(247, 245, 242, 0.94);
            backdrop-filter: blur(28px) saturate(1.4);
            -webkit-backdrop-filter: blur(28px) saturate(1.4);
            opacity: 0;
            pointer-events: none;
            transform: scale(0.97);
            transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        }
        .home-why__film-panel.is-open {
            opacity: 1;
            pointer-events: all;
            transform: scale(1);
        }
        .home-why__film-inner {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 1.5rem;
            max-width: 480px;
            width: 90%;
            text-align: center;
            padding: 3rem 2rem;
        }
        .home-why__film-close {
            position: absolute;
            top: -1rem;
            right: -1rem;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: rgba(0,0,0,0.09);
            border: none;
            font-size: 1rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.2s;
            color: var(--clr-text);
        }
        .home-why__film-close:hover { background: rgba(0,0,0,0.15); }
        .home-why__film-sorry {
            font-size: 1.15rem;
            line-height: 1.6;
            color: #1B1916;
            font-family: 'Caveat', cursive;
            font-weight: 500;
        }
        .home-why__film-soon {
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(0,0,0,0.25);
        }

        /* ── Film panel — wcp-modal style on mobile ── */
        @media (max-width: 640px) {
            .home-why__film-panel {
                background: rgba(0,0,0,0.4) !important;
                backdrop-filter: blur(10px) !important;
                -webkit-backdrop-filter: blur(10px) !important;
                padding: 1.5rem !important;
            }
            .home-why__film-inner {
                background: #ffffff !important;
                border-radius: 20px !important;
                padding: 2.75rem 2rem 2.25rem !important;
                max-width: 360px !important;
                width: 100% !important;
                box-shadow: 0 24px 80px rgba(0,0,0,0.18) !important;
            }
            .home-why__film-close {
                top: 0.75rem !important;
                right: 0.85rem !important;
                background: none !important;
                color: rgba(0,0,0,0.28) !important;
                font-size: 1.4rem !important;
                width: auto !important;
                height: auto !important;
                padding: 0.25rem !important;
            }
            .home-why__film-close:hover { color: rgba(0,0,0,0.65) !important; }
        }

        /* ── Software demo popup (same pattern as film panel) ── */
        .sw-demo-panel {
            position: fixed;
            inset: 0;
            z-index: 900;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(247, 245, 242, 0.88);
            backdrop-filter: blur(10px) saturate(1.2);
            -webkit-backdrop-filter: blur(10px) saturate(1.2);
            opacity: 0;
            pointer-events: none;
            transform: scale(0.97);
            transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        }
        .sw-demo-panel.is-open {
            opacity: 1;
            pointer-events: all;
            transform: scale(1);
        }
        .sw-demo-panel__inner {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1.5rem;
            max-width: 420px;
            width: 90%;
            text-align: center;
            padding: 3rem 2rem;
        }
        .sw-demo-panel__close {
            position: absolute;
            top: -1rem;
            right: -1rem;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: rgba(0,0,0,0.09);
            border: none;
            font-size: 1rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.2s;
            color: var(--clr-text);
        }
        .sw-demo-panel__close:hover { background: rgba(0,0,0,0.15); }
        .sw-demo-panel__text {
            font-size: 1.15rem;
            line-height: 1.6;
            color: #1B1916;
            font-family: 'Caveat', cursive;
            font-weight: 500;
        }
        .sw-demo-panel__annoy {
            display: inline-flex;
            align-items: center;
            padding: 0.65rem 1.5rem;
            background: rgba(0,0,0,0.06);
            color: rgba(0,0,0,0.35);
            border: 1.5px solid rgba(0,0,0,0.1);
            border-radius: 999px;
            font-size: 0.88rem;
            font-weight: 600;
            cursor: default;
            font-family: var(--font-body);
            letter-spacing: 0.01em;
            user-select: none;
        }
        .sw-demo-panel__annoy--red {
            background: #D42B2B;
            color: #ffffff;
            border: none;
            cursor: pointer;
            padding: 0.7rem 2rem;
            font-size: 0.95rem;
        }

        /* Mobile: make sw-demo-panel match wcp-overlay styling */
        @media (max-width: 640px) {
            .sw-demo-panel {
                background: rgba(0,0,0,0.4);
                backdrop-filter: blur(10px);
                -webkit-backdrop-filter: blur(10px);
            }
            .sw-demo-panel__inner {
                background: #ffffff;
                border-radius: 20px;
                padding: 2.75rem 2rem 2.25rem;
                max-width: 360px;
                box-shadow: 0 24px 80px rgba(0,0,0,0.18);
                overflow: hidden;
            }
            .sw-demo-panel__close {
                top: 0.75rem;
                right: 0.85rem;
            }
        }

        /* ── Mobile why overrides ── */
        @media (max-width: 640px) {
            /* Flatten inner padding so viewport can bleed edge-to-edge */
            .home-why__inner { padding-left: 0 !important; padding-right: 0 !important; }
            .home-why__header { padding: 0 1.25rem !important; }
            .home-why__selector { padding: 0 1.25rem !important; }

            /* Stack heading + button vertically */
            .home-why__header {
                flex-direction: column !important;
                align-items: flex-start !important;
                gap: 0.75rem !important;
            }
            /* Button: keep arrow snug next to text, no bg */
            .home-why__film-btn {
                width: auto;
                justify-content: flex-start;
                gap: 0.2rem;
                padding: 0.3rem 0;
                background: none !important;
                border-radius: 0;
            }

            /* Viewport: bleed to edges, peek left & right */
            .home-why__viewport {
                margin: 0 !important;
                padding: 0.5rem 0 1rem !important;
                scroll-padding-left: 2.5rem !important;
            }
            .home-why__track {
                padding: 0 2.5rem !important;
                gap: 0.75rem !important;
            }
            /* Cards: 78vw so adjacent cards peek ~24px each side */
            .why-card {
                width: 78vw !important;
                min-width: 78vw !important;
                scroll-snap-align: start !important;
            }
        }

        /* ═══════════════════════════════════════
           WORKSHOP — header phases + selector
        ═══════════════════════════════════════ */

        /* Shared pill selector for workshop (reuses why-selector styles) */
        .home-workshop__selector {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 1.25rem;
            position: relative;
            z-index: 1;
        }

        /* Two-phase header */
        .home-workshop__header {
            position: relative !important;
            min-height: 12rem;
        }
        .ws-header__phase {
            transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
            will-change: opacity, transform;
        }
        /* Phase 1: quip text fills the whole header, large */
        .ws-header__phase--quip {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            opacity: 1;
            pointer-events: auto;
        }
        .ws-quip-large {
            font-family: var(--font-logo);
            font-size: clamp(1.6rem, 3.5vw, 2.8rem);
            font-weight: 700;
            line-height: 1.18;
            letter-spacing: -0.025em;
            color: rgba(255,255,255,0.82);
        }
        .ws-quip-large .ws-quip-red  { color: var(--clr-red, #D42B2B); }
        .ws-quip-large .ws-quip-blue { color: #5B9BD5; }

        /* Phase 2: normal content — hidden until halfway */
        .ws-header__phase--content {
            opacity: 0;
            transform: translateY(14px);
            pointer-events: none;
        }

        /* Transition: class added by JS */
        .home-workshop--revealed .ws-header__phase--quip {
            opacity: 0;
            pointer-events: none;
        }
        .home-workshop--revealed .ws-header__phase--content {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }

        /* ═══════════════════════════════════════
           TRUST BAR — mobile morph groups
        ═══════════════════════════════════════ */
        /* Desktop: groups are just flex rows inline */
        .trust-bar__group { display: contents; }
        .trust-bar__desktop-only { display: block; }
        @media (max-width: 640px) {
            .trust-bar__desktop-only { display: none !important; }
            .trust-bar__inner { position: relative; min-height: 2.8rem; }
            .trust-bar__group {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 0;
                width: 100%;
                transition: opacity 0.55s ease, transform 0.55s ease;
            }
            .trust-bar__group--a { opacity: 1; transform: translateY(0); }
            .trust-bar__group--b {
                position: absolute;
                top: 0; left: 0; right: 0; bottom: 0;
                display: flex;
                align-items: center;
                justify-content: center;
                opacity: 0;
                transform: translateY(6px);
                pointer-events: none;
            }
            .trust-bar.is-morphed .trust-bar__group--a {
                opacity: 0; transform: translateY(-6px); pointer-events: none;
            }
            .trust-bar.is-morphed .trust-bar__group--b {
                opacity: 1; transform: translateY(0); pointer-events: auto;
            }
            .trust-bar__inner { justify-content: center !important; }
            .trust-bar__item { color: #ffffff !important; text-align: center; }
            .trust-bar__icon { opacity: 1 !important; color: #ffffff !important; }
            .trust-bar__item-text, .trust-bar__item p, .trust-bar__item span { color: #ffffff !important; }
            .trust-bar__icon, .trust-bar__icon svg { color: #ffffff !important; opacity: 1 !important; fill: none !important; }
            .trust-bar__inner { justify-content: center !important; }
        }

        /* ═══════════════════════════════════════
           CUST-WINDOW — remove white border
        ═══════════════════════════════════════ */
        .cust-window {
            border: none !important;
            box-shadow: 0 32px 80px rgba(0,0,0,0.6) !important;
        }

        /* ═══════════════════════════════════════
           WHY CTA TILE — gradient black + white btn
        ═══════════════════════════════════════ */
        .why-card--cta {
            background: linear-gradient(145deg, #1c1c1e 0%, #0e0e10 55%, #1a1318 100%) !important;
            border: none !important;
            box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important;
        }
        .why-card__cta-heading {
            color: rgba(255,255,255,0.92) !important;
            font-size: clamp(1.15rem, 1.8vw, 1.55rem) !important;
            line-height: 1.3 !important;
            letter-spacing: -0.02em !important;
        }
        .why-card__cta-label {
            color: rgba(255,255,255,0.35) !important;
            font-size: 0.68rem !important;
            letter-spacing: 0.1em !important;
            text-transform: uppercase !important;
            font-weight: 600 !important;
            margin-bottom: 0.5rem !important;
        }
        .why-card__cta-btn {
            display: inline-flex !important;
            align-items: center !important;
            background: #ffffff !important;
            color: #0e0e10 !important;
            border: none !important;
            cursor: pointer !important;
            font-family: var(--font-body) !important;
            font-weight: 600 !important;
            font-size: 0.82rem !important;
            padding: 0.6rem 1.2rem !important;
            border-radius: 999px !important;
            margin-top: 0.75rem !important;
            transition: background 0.2s, opacity 0.2s !important;
        }
        .why-card__cta-btn:hover { background: rgba(255,255,255,0.88) !important; opacity: 1 !important; }

        /* ═══════════════════════════════════════
           WAITLIST STRIP — detail cell gradient + centered
        ═══════════════════════════════════════ */
        .home-waitlist-strip {
            position: relative;
            overflow: hidden;
            background:
                radial-gradient(ellipse at 78% 12%, rgba(228,230,223,0.72) 0%, transparent 48%),
                radial-gradient(ellipse at 12% 88%, rgba(140,144,134,0.38) 0%, transparent 52%),
                linear-gradient(148deg, #b2b5aa 0%, #c2c5ba 42%, #cdd0c5 100%) !important;
        }
        .home-waitlist-strip__sheen {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 0;
            background:
                radial-gradient(ellipse 600px 350px at var(--sheen-x, 50%) var(--sheen-y, 50%),
                    rgba(255,255,255,0.35) 0%,
                    rgba(255,255,255,0.12) 25%,
                    transparent 60%),
                radial-gradient(ellipse 300px 200px at var(--sheen-x, 50%) var(--sheen-y, 50%),
                    rgba(255,255,255,0.25) 0%,
                    transparent 50%);
            opacity: 0;
            transition: opacity 0.4s ease;
        }
        .home-waitlist-strip:hover .home-waitlist-strip__sheen,
        .home-waitlist-strip.sheen-active .home-waitlist-strip__sheen {
            opacity: 1;
        }
        .home-waitlist-strip__inner { position: relative; z-index: 1; }
        .home-waitlist-strip__inner {
            flex-direction: column !important;
            align-items: center !important;
            text-align: center !important;
            gap: 1.25rem !important;
        }
        .home-waitlist-strip__text { text-align: center !important; }
        .home-waitlist-strip__right { align-items: center !important; text-align: center !important; }
        .home-waitlist-strip__heading {
            color: var(--clr-text, #1B1916) !important;
        }
        .home-waitlist-strip__eyebrow {
            color: rgba(27,25,22,0.55) !important;
        }
        .home-waitlist-strip__note {
            color: rgba(27,25,22,0.5) !important;
        }
        .home-waitlist-strip__btn {
            background: var(--clr-text, #1B1916) !important;
            color: #ffffff !important;
        }
        .home-waitlist-strip__btn:hover { background: #3a3a3a !important; }

        /* ═══════════════════════════════════════
           WORKSHOP GLASS → WHITE PANEL
        ═══════════════════════════════════════ */
        .home-workshop__glass {
            background: transparent !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            box-shadow: none !important;
            border: none !important;
        }
        .home-workshop__glass {
            opacity: 0;
            transform: translateY(28px);
            transition: opacity 0.85s ease, transform 0.85s cubic-bezier(0.22,1,0.36,1);
        }
        .home-workshop__glass.is-in-view {
            opacity: 1 !important;
            transform: translateY(0) !important;
        }
        .home-workshop__glass::before,
        .home-workshop__glass::after { display: none !important; }
        /* Invert all text inside to dark */
        .ws-quip-large { color: #1d1d1f !important; }
        .home-workshop__heading { color: #1d1d1f !important; letter-spacing: -0.045em !important; }
        .home-workshop__open-source { color: rgba(0,0,0,0.38) !important; font-weight: 300 !important; letter-spacing: -0.04em !important; }
        .home-workshop__sub { color: rgba(0,0,0,0.45) !important; }
        .home-workshop__link {
            color: rgba(0,0,0,0.55) !important;
            transition: color 0.2s ease !important;
        }
        .home-workshop__link:hover { color: #000 !important; }
        .home-workshop__link:hover .ws-link-arrow {
            transform: translateX(4px);
        }
        .ws-link-arrow {
            display: inline-block;
            transition: transform 0.25s cubic-bezier(0.22,1,0.36,1);
        }
        .home-workshop__sdk-badge {
            background: rgba(0,0,0,0.07) !important;
            color: rgba(0,0,0,0.6) !important;
            border-color: rgba(0,0,0,0.1) !important;
        }
        /* ── Workshop cards — depth & glass ── */
        .ws-card {
            background: #1c1a18 !important;
            border-color: rgba(255,255,255,0.09) !important;
            border-radius: 20px !important;
            transition: background 0.25s ease, border-color 0.25s ease, transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease !important;
        }
        .ws-card:hover {
            background: #252220 !important;
            border-color: rgba(255,255,255,0.16) !important;
            transform: translateY(-3px) !important;
            box-shadow: 0 12px 40px rgba(0,0,0,0.25) !important;
        }
        .ws-card__heading { color: #ffffff !important; letter-spacing: -0.03em !important; }
        .ws-card__text { color: rgba(255,255,255,0.42) !important; }
        .ws-card__icon { color: rgba(255,255,255,0.38) !important; }
        /* Accent card — gradient red + float shadow */
        .ws-card--accent {
            background: linear-gradient(135deg, #e04040 0%, #D42B2B 40%, #b82424 100%) !important;
            border-color: transparent !important;
            box-shadow: 0 6px 20px rgba(212,43,43,0.25), 0 2px 6px rgba(212,43,43,0.12) !important;
        }
        .ws-card--accent:hover {
            background: linear-gradient(135deg, #e54a4a 0%, #D42B2B 40%, #c02626 100%) !important;
            transform: translateY(-4px) scale(1.01) !important;
            box-shadow: 0 10px 30px rgba(212,43,43,0.3), 0 3px 10px rgba(212,43,43,0.15) !important;
        }
        .ws-card--accent .ws-card__heading { letter-spacing: -0.03em !important; }
        /* Allow shadow on Y axis but clip horizontal overflow */
        .home-workshop__glass { overflow-x: clip !important; overflow-y: visible !important; }
        .home-workshop__glass > *:not(canvas) { position: relative; z-index: 1; }
        .home-workshop__viewport { padding-bottom: 1.75rem !important; }
        @media (max-width: 768px) {
            .home-workshop__glass {
                border-radius: 0 !important;
                margin-left: -1.25rem !important;
                margin-right: -1.25rem !important;
                padding-left: 1.25rem !important;
                padding-right: 1.25rem !important;
            }
        }
        .ws-card--cta { background: #0e0d0c !important; border-color: rgba(255,255,255,0.07) !important; }
        .ws-card--cta:hover { transform: translateY(-3px) !important; box-shadow: 0 12px 40px rgba(0,0,0,0.3) !important; }
        /* Let JS tilt override CSS transform on hover-capable devices */
        @media (hover: hover) {
            .ws-card:hover { transform: none !important; }
        }
        /* Workshop selector dots — dark for white bg */
        .home-workshop__selector .why-selector__pill { background: rgba(0,0,0,0.08) !important; }
        .home-workshop__selector .why-selector__dot { background: rgba(0,0,0,0.2) !important; }
        .home-workshop__selector .why-selector__dot.is-active { background: #1d1d1f !important; }

        /* ═══════════════════════════════════════
           CUST-WINDOW → SLIDE FROM RIGHT
        ═══════════════════════════════════════ */
        @keyframes custSlideRight {
            from { opacity: 0; transform: translateX(56px); }
            to   { opacity: 1; transform: translateX(0); }
        }
        /* Initial hidden state — NO !important so the keyframe animation can override the transform */
        .cust-window__bar,
        .cust-window__body { opacity: 0; transform: translateX(56px); }
        .cust-window--animate .cust-window__bar {
            animation: custSlideRight 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
        }
        .cust-window--animate .cust-window__body {
            animation: custSlideRight 0.72s cubic-bezier(0.22, 1, 0.36, 1) 0.1s forwards !important;
        }
        @media (max-width: 640px) {
            .cust-window__bar,
            .cust-window__body { transform: translateX(28px); }
            .cust-window--animate .cust-window__bar {
                animation: custSlideRight 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
            }
            .cust-window--animate .cust-window__body {
                animation: custSlideRight 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.08s forwards !important;
            }
        }

        /* ═══════════════════════════════════════
           CUSTOMIZE CONTENT → SLIDE FROM LEFT
        ═══════════════════════════════════════ */
        .home-customize__content {
            opacity: 0;
            transform: translateX(-52px);
            transition: opacity 0.72s ease, transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
        }
        .home-customize__content.is-in-view {
            opacity: 1 !important;
            transform: translateX(0) !important;
        }

        /* ═══════════════════════════════════════
           RESERVE CTA → WARM SAGE GRADIENT
        ═══════════════════════════════════════ */
        .home-reserve-cta {
            background:
                radial-gradient(ellipse at 78% 12%, rgba(228,230,223,0.72) 0%, transparent 48%),
                radial-gradient(ellipse at 12% 88%, rgba(140,144,134,0.38) 0%, transparent 52%),
                linear-gradient(148deg, #b2b5aa 0%, #c2c5ba 42%, #cdd0c5 100%) !important;
        }
        .home-reserve-cta__kicker {
            color: rgba(0,0,0,0.5) !important;
            background: rgba(0,0,0,0.07) !important;
            border-color: rgba(0,0,0,0.12) !important;
        }
        .home-reserve-cta__heading { color: #1d1d1f !important; }
        .home-reserve-cta__heading em { color: #ffffff !important; font-style: normal !important; }
        .home-reserve-cta__btn--ghost {
            color: rgba(0,0,0,0.55) !important;
            border-color: rgba(0,0,0,0.22) !important;
        }
        .home-reserve-cta__btn--ghost:hover {
            color: #000 !important;
            border-color: rgba(0,0,0,0.5) !important;
        }
        .home-reserve-cta__fine { color: rgba(0,0,0,0.38) !important; }
        .home-reserve-cta__fine strong { color: rgba(0,0,0,0.62) !important; }

        /* ═══════════════════════════════════════
           PERKS LARGE CYCLING CAROUSEL
        ═══════════════════════════════════════ */
        .home-reserve-cta__perks-stage {
            position: relative;
            width: 100%;
            min-height: 220px;
            margin-bottom: 0.5rem;
        }
        .home-reserve-cta__perk-panel {
            position: absolute;
            inset: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 1.1rem;
            text-align: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.55s ease;
        }
        .home-reserve-cta__perk-panel.is-active {
            opacity: 1;
            pointer-events: auto;
        }
        .home-reserve-cta__perk-icon-lg {
            width: 48px; height: 48px;
            min-width: 48px; min-height: 48px;
            display: flex; align-items: center; justify-content: center;
            background: rgba(255,255,255,0.1);
            border-radius: 50%;
            color: #ffffff;
            flex-shrink: 0;
            margin: 0 auto;
            line-height: 1;
        }
        .home-reserve-cta__perk-icon-lg svg {
            width: 24px; height: 24px;
            flex-shrink: 0;
            display: block;
        }
        .home-reserve-cta__perk-panel strong {
            display: block;
            font-family: var(--font-logo);
            font-size: clamp(1.75rem, 3.5vw, 2.6rem);
            font-weight: 700;
            color: #1d1d1f;
            letter-spacing: -0.025em;
            line-height: 1.08;
        }
        .home-reserve-cta__perk-panel > span {
            display: block;
            font-size: clamp(1rem, 1.5vw, 1.15rem);
            color: rgba(0,0,0,0.5);
            line-height: 1.5;
        }
        .home-reserve-cta__perk-selector {
            display: flex;
            justify-content: center;
            margin-top: 1.5rem;
        }

        /* ═══════════════════════════════════════
           TEAM CARD ROLE — TYPEWRITER
        ═══════════════════════════════════════ */
        .home-team__role { overflow: hidden; white-space: nowrap; }
        .home-team__role.is-typing::after {
            content: '|';
            font-weight: 300;
            opacity: 1;
            animation: typeCursor 0.65s step-end infinite;
        }
        @keyframes typeCursor {
            0%, 100% { opacity: 1; }
            50% { opacity: 0; }
        }

        /* ═══════════════════════════════════════
           PERKS STAGE — fixed height so abs panels work
        ═══════════════════════════════════════ */
        .home-reserve-cta__perks-stage { height: 220px !important; min-height: 0 !important; overflow: hidden !important; }
        .home-reserve-cta { overflow: hidden !important; }

        /* ── RCTA Scroll Sequence ── */
        .rcta-seq-wrap {
            position: relative;
            min-height: 300vh;
            background: var(--clr-bg-dark, #131110);
        }
        .rcta-seq-wrap .home-reserve-cta {
            position: sticky !important;
            top: 0 !important;
            height: 100dvh !important;
            padding: 0 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            overflow: hidden !important;
        }
        .rcta-seq-wrap .home-reserve-cta__inner {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            text-align: center !important;
            width: 100% !important;
            height: 100% !important;
            justify-content: center !important;
            position: relative !important;
            padding: 4rem 2rem !important;
            box-sizing: border-box !important;
        }
        @media (max-width: 640px) {
            .rcta-seq-wrap .home-reserve-cta {
                align-items: flex-start !important;
            }
            .rcta-seq-wrap .home-reserve-cta__inner {
                justify-content: flex-start !important;
                padding: 5.5rem 1.5rem !important;
            }
            .home-reserve-cta__adv-area {
                position: relative !important;
                bottom: auto !important;
                left: auto !important;
                right: auto !important;
                margin-top: 1.5rem;
            }
        }
        .rcta__heading-line1 { display: block; }
        .rcta__heading-line2 { display: block; overflow: hidden; }
        .home-reserve-cta__adv-area {
            position: absolute;
            bottom: 2.5rem;
            left: 2rem;
            right: 2rem;
            opacity: 0;
            pointer-events: none;
            text-align: center;
        }
        .rcta-seq-wrap .home-reserve-cta__perk-panel {
            opacity: 0;
            pointer-events: none;
            transition: none;
        }
        .rcta-seq-wrap .home-reserve-cta__perk-selector { display: none !important; }

        /* ═══════════════════════════════════════
           WHY HEADING — large Mixlar Mix on mobile
        ═══════════════════════════════════════ */
        .why-heading-name {
            display: inline;
        }
        @media (max-width: 640px) {
            /* Row layout: big heading left, film btn right */
            .home-why__header {
                flex-direction: row !important;
                align-items: flex-end !important;
                justify-content: space-between !important;
                gap: 0.5rem !important;
            }
            .home-why__heading {
                font-size: clamp(1.5rem, 6.5vw, 2.2rem) !important;
                margin-left: 0 !important;
            }
            /* "Mixlar Mix" pops larger */
            .why-heading-name {
                display: block !important;
                font-size: clamp(2.2rem, 10vw, 3.2rem) !important;
                line-height: 1 !important;
                letter-spacing: -0.03em !important;
                margin-bottom: 0.1rem !important;
            }
            /* Film button pushes to the right, stays inline */
            .home-why__film-btn {
                flex-shrink: 0 !important;
                align-self: flex-end !important;
                padding-bottom: 0.15rem !important;
            }
        }

        /* ═══════════════════════════════════════
           WHY SECTION — clip vertical overflow
        ═══════════════════════════════════════ */
        .home-why { overflow: hidden !important; }
        .home-why__viewport { overflow-y: hidden !important; }

        /* origin-overlay CSS lives in nav.php (shared across all pages) */

/* Waitlist modal */
        .wl-overlay{position:fixed;inset:0;z-index:9999;background:rgba(19,17,16,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;padding:1.5rem;pointer-events:none}
        .wl-overlay[aria-hidden="false"]{display:flex;pointer-events:auto}
        .wl-overlay.is-visible{opacity:1}

        .wl-modal{position:relative;background:#ffffff;border:1px solid rgba(0,0,0,0.08);border-radius:20px;padding:2.5rem 2.5rem 2rem;max-width:480px;width:100%;box-sizing:border-box;transform:translateY(16px) scale(.97);transition:transform .35s cubic-bezier(.16,1,.3,1);box-shadow:0 24px 80px rgba(0,0,0,0.15),0 0 0 1px rgba(0,0,0,0.04)}
        .wl-overlay.is-visible .wl-modal{transform:translateY(0) scale(1)}

        .wl-close{position:absolute;top:.85rem;right:.85rem;background:none;border:none;color:rgba(0,0,0,0.28);font-size:1.4rem;cursor:pointer;line-height:1;padding:0.25rem;transition:color .15s}
        .wl-close:hover{color:rgba(0,0,0,0.7)}

        .wl-badge{display:inline-block;font-family:var(--font-body,'Inter',sans-serif);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--clr-red,#D42B2B);padding:0;margin-bottom:1rem}

        .wl-title{font-family:var(--font-logo,'Inter',sans-serif);font-size:clamp(1.5rem,3.5vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0 0 .6rem;color:#1B1916}
        .wl-sub{color:rgba(0,0,0,0.45);font-size:.88rem;line-height:1.65;margin:0 0 1.5rem}

        .wl-form{margin:0}
        .wl-input-wrap{display:flex;gap:.5rem;align-items:stretch}
        .wl-input{flex:1;padding:.75rem 1rem;background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.12);border-radius:8px;color:#1B1916;font-size:.88rem;font-family:inherit;outline:none;transition:border-color .2s,background .2s}
        .wl-input:focus{border-color:rgba(0,0,0,0.35);background:rgba(0,0,0,0.07)}
        .wl-input::placeholder{color:rgba(0,0,0,0.32)}

        .wl-submit{padding:.75rem 1.4rem;background:#1B1916;color:#ffffff;border:1px solid #1B1916;border-radius:8px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;letter-spacing:.02em;transition:background .2s,transform .15s;flex-shrink:0;box-sizing:border-box}
        .wl-submit:hover{background:#3a3a3a;transform:translateY(-1px)}
        .wl-submit:disabled{opacity:.4;cursor:not-allowed;transform:none}

        .wl-error{color:var(--clr-red,#D42B2B);font-size:.8rem;margin:.75rem 0 0}
        .wl-fine{color:rgba(0,0,0,0.35);font-size:.72rem;margin:1.2rem 0 0}

        .wl-modal__success{text-align:center;padding:1rem 0}
        .wl-check{width:52px;height:52px;border-radius:50%;background:#1B1916;color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}

        @media(max-width:500px){.wl-input-wrap{flex-direction:column}.wl-modal{padding:2rem 1.5rem 1.5rem;margin:0 .5rem}}

        .wcp-overlay{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,0.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:1.5rem;opacity:0;transition:opacity 0.3s ease;pointer-events:none}
        .wcp-overlay[aria-hidden="false"]{display:flex;pointer-events:auto}
        .wcp-overlay.is-visible{opacity:1}
        .wcp-modal{position:relative;background:#ffffff;border-radius:20px;padding:2.75rem 2rem 2.25rem;max-width:360px;width:100%;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,0.18);transform:translateY(14px) scale(0.97);transition:transform 0.35s cubic-bezier(0.16,1,0.3,1)}
        .wcp-overlay.is-visible .wcp-modal{transform:translateY(0) scale(1)}
        .wcp-close{position:absolute;top:.75rem;right:.85rem;background:none;border:none;color:rgba(0,0,0,0.28);font-size:1.4rem;cursor:pointer;line-height:1;padding:.25rem;transition:color .15s}
        .wcp-close:hover{color:rgba(0,0,0,0.65)}
        .wcp-emoji{font-size:2.6rem;margin:0 0 0.6rem;line-height:1}
        .wcp-message{font-family:var(--font-logo);font-size:1.05rem;font-weight:700;color:#1B1916;margin:0 0 0.55rem;letter-spacing:-0.02em}
        .wcp-sub{font-size:1.05rem;color:#1B1916;line-height:1.5;margin:0;font-family:'Caveat',cursive;font-weight:500}