@import url('../brand/brand.css');
:root {
            --bg: var(--vp-ground);
            --bg-subtle: #dbd8cd;
            --bg-card: var(--vp-surface);
            --accent: var(--vp-blue);
            --accent-hover: var(--vp-blue-hover);
            --text: var(--vp-ink);
            --text-muted: #6b6a62;
            --border: #c9c4b6;
            --border-hi: #a39d8c;
            --nav-bg: var(--vp-chrome);
            --nav-border: #3d3b32;
            --nav-text: #ece9e0;
            --nav-text-muted: #a3a094;
            --max-width: 1100px;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Inter', -apple-system, sans-serif;
            background: var(--bg);
            color: var(--text);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }

        /* Nav */
        nav {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 100;
            background: var(--nav-bg);
            border-bottom: 2px solid var(--nav-border);
        }

        .nav-inner {
            max-width: var(--max-width);
            margin: 0 auto;
            padding: 0 24px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .logo {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--nav-text);
            text-decoration: none;
            letter-spacing: -0.02em;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 24px;
        }

        .nav-menu,
        .nav-actions {
            display: flex;
            align-items: center;
        }

        .nav-menu {
            gap: clamp(28px, 3vw, 40px);
            padding: 0 4px;
        }
        .nav-actions { gap: 8px; }

        .nav-menu a { white-space: nowrap; }

        .nav-links a {
            color: var(--nav-text-muted);
            text-decoration: none;
            font-size: 14px;
            transition: color 0.15s;
        }
        .nav-links a:hover { color: var(--nav-text); }

        .nav-login {
            border: 1px solid var(--nav-border);
            border-radius: 2px;
            padding: 8px 14px;
            color: var(--nav-text);
            font-weight: 600;
        }
        .nav-login:hover { background: rgba(255,255,255,0.08); }

        .nav-cta {
            background: var(--accent);
            color: #fff;
            padding: 9px 18px;
            border-radius: 2px;
            text-decoration: none;
            font-weight: 700;
            font-size: 14px;
            transition: background 0.15s;
            border: 0;
            cursor: pointer;
            font-family: inherit;
            line-height: 1.2;
        }
        .nav-cta:hover { background: var(--accent-hover); }

        /* Hero */
        .hero {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 100px 24px 64px;
            text-align: center;
        }

        .hero-inner { max-width: 680px; margin: 0 auto; }

        .compliance-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--bg-card);
            border: 1px solid var(--border-hi);
            border-left: 3px solid var(--accent);
            padding: 7px 14px;
            border-radius: 2px;
            font-family: 'SF Mono', 'Roboto Mono', ui-monospace, monospace;
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: var(--text-muted);
            margin-bottom: 24px;
        }

        h1 {
            font-size: clamp(32px, 4.6vw, 48px);
            font-weight: 800;
            line-height: 1.16;
            letter-spacing: -0.02em;
            margin-bottom: 22px;
        }

        .gradient-text {
            color: var(--accent);
        }

        .hero p {
            font-size: 16px;
            color: var(--text-muted);
            max-width: 520px;
            margin: 0 auto 36px;
            line-height: 1.65;
        }

        .hero-cta {
            display: flex;
            gap: 12px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn {
            padding: 13px 26px;
            border-radius: 2px;
            font-size: 15px;
            font-weight: 700;
            text-decoration: none;
            transition: background 0.15s;
            border: none;
            cursor: pointer;
            display: inline-block;
        }
        .btn-primary { background: var(--accent); color: #fff; }
        .btn-primary:hover { background: var(--accent-hover); }
        .btn-ghost {
            background: transparent;
            color: var(--text-muted);
            border: 1px solid var(--border-hi);
        }
        .btn-ghost:hover { background: var(--bg-card); color: var(--text); }

        /* Sections */
        section.content-section {
            padding: 64px 24px;
            border-top: 1px solid var(--border);
        }

        .section-inner {
            max-width: var(--max-width);
            margin: 0 auto;
        }

        .section-kicker {
            color: var(--accent);
            font-family: 'SF Mono', 'Roboto Mono', ui-monospace, monospace;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            margin-bottom: 14px;
        }

        .section-heading {
            font-size: clamp(28px, 4vw, 44px);
            line-height: 1.12;
            letter-spacing: -0.025em;
            margin-bottom: 14px;
        }

        .section-subheading {
            color: var(--text-muted);
            font-size: 16px;
            max-width: 640px;
            margin-bottom: 32px;
        }

        .grid {
            display: grid;
            gap: 16px;
        }

        .feature-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .card {
            background: var(--bg-card);
            border: 1px solid var(--border);
            border-radius: 2px;
            padding: 20px;
        }

        .card h3 {
            font-size: 16px;
            margin-bottom: 10px;
            letter-spacing: -0.01em;
        }

        .card p {
            color: var(--text-muted);
            font-size: 14px;
            line-height: 1.65;
        }

        .steps {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            counter-reset: step;
        }

        .step-card::before {
            counter-increment: step;
            content: counter(step);
            display: inline-flex;
            width: 24px;
            height: 24px;
            align-items: center;
            justify-content: center;
            border-radius: 2px;
            background: var(--bg);
            color: var(--accent);
            border: 1px solid var(--border-hi);
            font-family: 'SF Mono', 'Roboto Mono', ui-monospace, monospace;
            font-size: 12px;
            font-weight: 700;
            margin-bottom: 16px;
        }

        .trust-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .check-list {
            list-style: none;
            display: grid;
            gap: 10px;
            color: var(--text-muted);
            font-size: 14px;
        }

        .check-list li::before {
            content: "";
            display: inline-block;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--accent);
            margin-right: 10px;
            transform: translateY(-1px);
        }

        .pricing-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .pricing-grid-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            max-width: 780px;
            margin-inline: auto;
        }

        .billing-toggle {
            display: flex;
            gap: 4px;
            background: rgba(0,0,0,0.05);
            border-radius: 2px;
            padding: 4px;
            width: fit-content;
            margin: 0 auto 32px;
        }

        .billing-toggle-modal {
            margin: 12px auto 20px;
        }

        .billing-btn {
            background: none;
            border: none;
            color: var(--text-muted);
            font-size: 14px;
            font-weight: 500;
            padding: 7px 16px;
            border-radius: 2px;
            cursor: pointer;
            transition: background 0.15s, color 0.15s;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .billing-btn.active {
            background: var(--bg-card);
            color: var(--text);
            border: 1px solid var(--border-hi);
        }

        .save-badge {
            background: rgba(var(--vp-blue-rgb),0.15);
            color: var(--accent);
            font-size: 11px;
            font-weight: 700;
            padding: 2px 7px;
            border-radius: 2px;
        }

        .pricing-card {
            display: flex;
            flex-direction: column;
            min-height: 100%;
        }

        .pricing-card.featured {
            border-color: var(--accent);
        }

        .price {
            font-size: 32px;
            font-weight: 800;
            margin: 12px 0 4px;
            letter-spacing: -0.03em;
        }

        .price span {
            color: var(--text-muted);
            font-size: 14px;
            font-weight: 500;
        }

        .pricing-card .btn {
            margin-top: auto;
            text-align: center;
        }

        .trial-note {
            color: var(--text-muted);
            font-size: 13px;
            margin-top: 18px;
            text-align: center;
        }

        .metric-row {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
            margin-top: 14px;
        }

        .mini-metric {
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: 2px;
            padding: 12px;
        }

        .mini-metric span {
            display: block;
            color: var(--text-muted);
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }

        .mini-metric strong {
            font-size: 18px;
        }

        .faq-list {
            display: grid;
            gap: 10px;
        }

        .faq-item {
            background: var(--bg-card);
            border: 1px solid var(--border);
            border-radius: 2px;
            padding: 18px 20px;
        }

        .faq-item h3 {
            font-size: 15px;
            margin-bottom: 8px;
        }

        .faq-item p {
            color: var(--text-muted);
            font-size: 14px;
            line-height: 1.65;
        }

        .bottom-cta {
            text-align: center;
            background: var(--bg-subtle);
        }

        .bottom-cta .section-subheading {
            margin-left: auto;
            margin-right: auto;
        }

        .contact-section {
            background: var(--bg);
        }

        .contact-layout {
            display: grid;
            grid-template-columns: minmax(0, 0.8fr) minmax(420px, 0.9fr);
            gap: clamp(40px, 6vw, 84px);
            align-items: center;
        }

        .contact-copy .section-heading {
            max-width: 460px;
        }

        .contact-copy .section-subheading {
            max-width: 440px;
        }

        .contact-direct {
            display: inline-flex;
            align-items: center;
            gap: 14px;
            background: var(--bg-card);
            border: 1px solid var(--border-hi);
            border-radius: 2px;
            padding: 12px 14px;
        }

        .contact-direct span {
            color: var(--text-muted);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

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

        .contact-form {
            display: grid;
            gap: 16px;
            background: var(--bg-card);
            border: 1px solid var(--border-hi);
            border-radius: 2px;
            padding: 24px;
        }

        .contact-form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
        }

        .contact-form label {
            display: grid;
            gap: 8px;
        }

        .contact-form span {
            color: var(--text-muted);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .contact-form input,
        .contact-form textarea {
            width: 100%;
            background: var(--bg);
            border: 1px solid var(--border-hi);
            border-radius: 2px;
            color: var(--text);
            font: inherit;
            font-size: 14px;
            padding: 12px 13px;
            outline: none;
            resize: vertical;
            transition: border-color 0.15s;
        }

        .contact-form input:focus,
        .contact-form textarea:focus {
            border-color: var(--accent);
        }

        .contact-status {
            min-height: 18px;
            color: var(--text-muted);
            font-size: 13px;
        }

        .contact-status.success { color: var(--accent); }
        .contact-status.error { color: var(--vp-danger); }

        /* Footer */
        footer {
            padding: 36px 24px;
            border-top: 1px solid var(--border);
            text-align: center;
        }
        .footer-links {
            display: flex;
            justify-content: center;
            gap: 28px;
            margin-bottom: 20px;
            flex-wrap: wrap;
        }
        .footer-links a { color: var(--text-muted); text-decoration: none; font-size: 14px; }
        .footer-links a:hover { color: var(--text); }
        .copyright { color: var(--text-muted); font-size: 13px; }

        /* Modal */
        .modal {
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .modal-backdrop {
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background: rgba(0,0,0,0.8);
        }
        .modal-content {
            position: relative;
            background: var(--bg-card);
            border: 1px solid var(--border-hi);
            border-radius: 2px;
            padding: 36px;
            max-width: 440px;
            width: 90%;
            text-align: center;
        }
        .modal-close {
            position: absolute;
            top: 14px; right: 14px;
            background: none;
            border: none;
            color: var(--text-muted);
            font-size: 22px;
            cursor: pointer;
            padding: 0;
            line-height: 1;
        }
        .modal-close:hover { color: var(--text); }
        .modal-content h2 { font-size: 20px; margin-bottom: 8px; }
        .modal-subtitle { color: var(--text-muted); font-size: 14px; margin-bottom: 20px; }

        .tier-grid {
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-bottom: 20px;
        }
        .tier-option {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 14px 16px;
            background: var(--bg);
            border: 2px solid var(--border);
            border-radius: 2px;
            cursor: pointer;
            transition: border-color 0.15s;
            text-align: left;
        }
        .tier-option:hover { border-color: var(--accent); }
        .tier-option.selected { border-color: var(--accent); background: rgba(var(--vp-blue-rgb),0.06); }
        .tier-option input[type="radio"] { display: none; }
        .tier-name { font-weight: 700; font-size: 15px; }
        .tier-price { font-size: 13px; color: var(--text-muted); }
        .tier-desc-modal { font-size: 12px; color: var(--text-muted); margin-top: 2px; }

        .modal-content input[type="email"] {
            width: 100%;
            background: var(--bg);
            border: 1px solid var(--border-hi);
            border-radius: 2px;
            padding: 13px 14px;
            font-size: 15px;
            color: var(--text);
            margin-bottom: 14px;
            outline: none;
        }
        .modal-content input[type="email"]:focus { border-color: var(--accent); }
        .modal-content input[type="email"]::placeholder { color: var(--text-muted); }
        .modal-note { color: var(--text-muted); font-size: 12px; margin-top: 14px; }
        .modal-error {
            background: rgba(220,38,38,0.1);
            border: 1px solid var(--vp-danger);
            color: var(--vp-danger);
            padding: 12px;
            border-radius: 2px;
            margin-top: 16px;
            font-size: 14px;
        }

        .success-icon {
            width: 56px; height: 56px;
            background: var(--accent);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 28px;
            color: #fff;
            margin: 0 auto 20px;
        }
        .license-display {
            background: var(--bg);
            border: 1px solid var(--border-hi);
            border-radius: 2px;
            padding: 14px;
            margin: 20px 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }
        .license-display span {
            font-family: 'SF Mono', Monaco, monospace;
            font-size: 14px;
            letter-spacing: 2px;
            overflow-wrap: anywhere;
        }
        .copy-btn {
            background: var(--border-hi);
            border: none;
            color: var(--text);
            padding: 7px 12px;
            border-radius: 2px;
            cursor: pointer;
            font-size: 12px;
        }
        .copy-btn:hover { background: var(--text-muted); color: var(--bg); }

        @media (max-width: 640px) {
            .nav-inner {
                height: 54px;
                padding: 0 14px;
                gap: 12px;
            }
            .logo {
                font-size: 1rem;
                white-space: nowrap;
            }
            .nav-links {
                gap: 0;
                min-width: 0;
            }
            .nav-menu { display: none; }
            .nav-actions { gap: 8px; }
            .nav-login {
                padding: 7px 10px;
                font-size: 13px;
            }
            .nav-cta {
                padding: 8px 12px;
                font-size: 13px;
                white-space: nowrap;
            }
            .hero {
                min-height: auto;
                padding: 100px 20px 64px;
            }
            .hero-cta { flex-direction: column; align-items: center; }
            .feature-grid, .steps, .trust-grid, .pricing-grid, .metric-row, .contact-layout { grid-template-columns: 1fr; }
            .contact-form-row { grid-template-columns: 1fr; }
            .contact-form { padding: 18px; }
            .contact-direct {
                display: grid;
                justify-items: start;
                gap: 4px;
            }
            section.content-section { padding: 56px 20px; }
        }

/* Live destinations stay visible; explanatory anchors live under About. */
html { scroll-padding-top:76px; }
.nav-inner { gap:16px; }
.nav-links a.nav-cta { color:#fff; min-height:44px; display:inline-flex; align-items:center; }
.nav-menu { gap:14px; }
.nav-menu > a,.nav-about summary { display:flex; align-items:center; min-height:44px; }
.nav-about { position:relative; color:var(--nav-text-muted); font-size:14px; }
.nav-about summary { cursor:pointer; gap:6px; padding:0 6px; }
.nav-about summary::after { content:'+'; }
.nav-about[open] summary::after { content:'−'; }
.nav-about > div { position:absolute; right:0; top:100%; min-width:220px; padding:8px; border:1px solid var(--nav-border); background:var(--nav-bg); }
.nav-about a { display:block; padding:12px; }
.nav-menu a:focus-visible,.nav-about summary:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
@media (max-width:1120px) {
    html { scroll-padding-top:116px; }
    .nav-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0; height:auto; padding:0 14px; }
    .nav-inner > .logo { grid-column:1; grid-row:1; min-height:54px; }
    .nav-links { display:contents; }
    .nav-actions { grid-column:2; grid-row:1; }
    .nav-menu { display:flex; grid-column:1/-1; grid-row:2; justify-content:space-between; gap:8px; padding:0; border-top:1px solid var(--nav-border); }
    .hero { padding-top:144px; }
}
@media (max-width:640px) {
    html { scroll-padding-top:160px; }
    .nav-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
    .nav-menu > a,.nav-about summary { justify-content:center; font-size:12px; }
    .nav-about { font-size:12px; }
    .hero { padding-top:178px; }
}

/* The world is the front door; the retained interface is its working shell. */
.clubhouse-first .nav-inner{max-width:1380px}
.clubhouse-first .nav-menu{gap:18px}
.world-hero.hero{max-width:1380px;margin:auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;padding:108px 28px 64px;text-align:left;align-items:center}
.world-intro.hero-inner{margin:0;max-width:none}
.world-intro h1{font-size:clamp(38px,4.6vw,64px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.world-intro h1 span{color:var(--accent)}
.world-intro p{margin:24px 0;max-width:50ch}
.world-intro .hero-cta{justify-content:flex-start;gap:12px}
.world-intro .world-terms{font-size:13px;line-height:1.6;margin-bottom:0}
.world-preview{min-width:0;margin:0;scroll-margin-top:110px;border:1px solid var(--border-hi);background:var(--bg-card);container-type:inline-size}
.world-preview iframe{display:block;width:100%;height:calc(66.667cqw + 195px);border:0;background:var(--nav-bg)}
.world-preview figcaption{padding:14px 18px;font-size:12px;line-height:1.6;border-top:1px solid var(--border);color:var(--text-muted)}
.world-preview a{color:var(--accent);text-underline-offset:3px}
.world-story .section-heading,.world-story .section-subheading{text-align:left;margin-left:0}
.world-itinerary{margin:38px 0;border-top:1px solid var(--border-hi)}
.world-itinerary>div{display:grid;grid-template-columns:220px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--border)}
.world-itinerary dt{font-size:20px;font-weight:750;letter-spacing:-.02em}
.world-itinerary dd{max-width:70ch;color:var(--text-muted)}
.clubhouse-first a:focus-visible,.clubhouse-first summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.clubhouse-first .world-intro p,.clubhouse-first .world-intro .btn-ghost,.world-story .section-subheading,.world-itinerary dd,.world-story>div>p{color:#605e56}
@media(max-width:1120px){.world-hero.hero{padding-top:142px;gap:24px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
@media(max-width:800px){.world-hero.hero{grid-template-columns:1fr;padding:140px 20px 48px;gap:32px}.world-intro h1{font-size:clamp(38px,7vw,56px)}.world-intro .hero-cta{flex-direction:row;align-items:flex-start}.world-itinerary>div{grid-template-columns:1fr;gap:10px}}
@media(max-width:559px){.world-hero.hero{padding:132px 16px 40px}.world-intro h1{font-size:42px}.world-intro .hero-cta{display:grid}.world-preview iframe{height:calc(66.667cqw + 230px)}.clubhouse-first .nav-inner>.logo{max-width:150px}.clubhouse-first .nav-actions a{font-size:12px;padding:9px 11px}.clubhouse-first .nav-menu{gap:0}.world-preview figcaption{padding:12px}.world-itinerary dt{font-size:18px}}
