        @font-face { font-family: "Montserrat"; src: url("/assets/fonts/Montserrat/Montserrat-Light.woff") format("woff"); font-weight: 300; font-style: normal; font-display: swap; }
        @font-face { font-family: "Montserrat"; src: url("/assets/fonts/Montserrat/Montserrat-Regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
        @font-face { font-family: "Montserrat"; src: url("/assets/fonts/Montserrat/Montserrat-Medium.woff") format("woff"); font-weight: 500; font-style: normal; font-display: swap; }
        @font-face { font-family: "Montserrat"; src: url("/assets/fonts/Montserrat/Montserrat-SemiBold.woff") format("woff"); font-weight: 600; font-style: normal; font-display: swap; }
        @font-face { font-family: "Montserrat"; src: url("/assets/fonts/Montserrat/Montserrat-Bold.woff") format("woff"); font-weight: 700; font-style: normal; font-display: swap; }

        :root {
            --ink:        #0b1220;
            --slate-900:  #0f172a;
            --slate-700:  #334155;
            --slate-600:  #475569;
            --slate-500:  #64748b;
            --slate-400:  #94a3b8;
            --slate-200:  #e2e8f0;
            --slate-100:  #f1f5f9;
            --slate-50:   #f8fafc;
            --accent:     #405189;
            --accent-d:   #2f3e6c;
            --accent-soft:#eef0f7;
            --line:       #e6e8ee;
            --bg:         #ffffff;
        }

        html { scroll-behavior: smooth; }

        *, *::before, *::after { box-sizing: border-box; }

        body {
            font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
            color: var(--slate-600);
            background: var(--bg);
            font-size: 16px;
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: inherit;
            color: var(--ink);
            font-weight: 700;
            letter-spacing: -0.022em;
            line-height: 1.2;
        }

        a { color: var(--accent); text-decoration: none; transition: color .15s ease; }
        a:hover { color: var(--accent-d); }

        ::selection { background: rgba(64,81,137,0.15); color: var(--ink); }
        .hero {
            position: relative;
            padding: 140px 0 90px;
            background:
                radial-gradient(circle at 88% 12%, rgba(111, 66, 193, 0.06), transparent 55%),
                radial-gradient(circle at 12% 88%, rgba(64, 81, 137, 0.06), transparent 55%),
                linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
            overflow: hidden;
        }
        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(15,23,42,0.025) 1px, transparent 1px),
                linear-gradient(90deg, rgba(15,23,42,0.025) 1px, transparent 1px);
            background-size: 56px 56px;
            mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.5), transparent 70%);
            -webkit-mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.5), transparent 70%);
            pointer-events: none;
        }
        .hero .container { position: relative; }

        .hero-eyebrow {
            display: inline-flex; align-items: center; gap: 8px;
            font-size: 0.72rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: var(--slate-500);
            margin-bottom: 20px;
        }
        .hero-eyebrow::before {
            content: '';
            width: 28px; height: 1px;
            background: var(--slate-300, #cbd5e1);
        }
        .hero h1 {
            font-size: clamp(2.3rem, 4.6vw, 3rem);
            line-height: 1.08;
            letter-spacing: -0.03em;
            margin-bottom: 22px;
            color: var(--ink);
        }
        .hero .lead {
            font-size: 1.075rem;
            color: var(--slate-600);
            margin-bottom: 36px;
            max-width: 600px;
        }
        .hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }

        .btn-primary-x {
            display: inline-flex; align-items: center; gap: 8px;
            background: var(--ink);
            color: #fff;
            padding: 13px 24px;
            border-radius: 8px;
            font-weight: 600;
            font-size: 0.95rem;
            border: 1px solid var(--ink);
            transition: background .15s ease, border-color .15s ease, transform .15s ease;
        }
        .btn-primary-x:hover { background: #1f2937; border-color: #1f2937; color: #fff; transform: translateY(-1px); }
        .btn-outline-x {
            display: inline-flex; align-items: center; gap: 8px;
            background: #fff;
            color: var(--ink);
            padding: 13px 24px;
            border-radius: 8px;
            font-weight: 600;
            font-size: 0.95rem;
            border: 1px solid var(--line);
            transition: background .15s ease, border-color .15s ease;
        }
        .btn-outline-x:hover { background: var(--slate-50); border-color: var(--slate-200); color: var(--ink); }

        .hero-banner {
            position: relative;
            border-radius: 14px;
            overflow: hidden;
            box-shadow:
                0 1px 0 rgba(255,255,255,0.5) inset,
                0 30px 70px -20px rgba(15, 23, 42, 0.24),
                0 8px 20px -8px rgba(15, 23, 42, 0.08);
            border: 1px solid var(--line);
            background: #fff;
        }
        .hero-banner img {
            width: 100%;
            height: auto;
            display: block;
        }
        section { padding: 50px 0; }
        .section-alt { background: var(--slate-50); }
        .section-dark { background: var(--ink); color: rgba(255,255,255,0.78); }

        .eyebrow {
            display: inline-flex; align-items: center; gap: 10px;
            font-size: 0.72rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: var(--accent);
            margin-bottom: 16px;
        }
        .eyebrow::before {
            content: '';
            width: 24px; height: 1px;
            background: var(--accent);
        }
        .section-title {
            font-size: clamp(1.8rem, 3.2vw, 2.5rem);
            letter-spacing: -0.025em;
            color: var(--ink);
            margin-bottom: 14px;
        }
        .section-sub {
            color: var(--slate-500);
            font-size: 1.025rem;
            max-width: 640px;
        }
        .section-head-center { text-align: center; margin-bottom: 64px; }
        .section-head-center .eyebrow { justify-content: center; }
        .section-head-center .section-sub { margin-left: auto; margin-right: auto; }
        .stats-row {
            border-top: 1px solid var(--line);
            border-bottom: 1px solid var(--line);
            padding: 56px 0;
            background: #fff;
        }
        .stat { text-align: left; padding: 0 8px; }
        .stat-num {
            font-size: 2.4rem;
            font-weight: 700;
            color: var(--ink);
            letter-spacing: -0.04em;
            line-height: 1;
            margin-bottom: 8px;
        }
        .stat-lbl {
            color: var(--slate-500);
            font-size: 0.9rem;
        }
        .stats-note {
            margin-top: 36px;
            padding-top: 28px;
            border-top: 1px solid var(--line);
            font-size: 0.85rem;
            line-height: 1.65;
            color: var(--slate-500);
            text-align: center;
            max-width: 880px;
            margin-left: auto; margin-right: auto;
        }
        .stats-note a {
            color: var(--accent);
            font-weight: 600;
            border-bottom: 1px dashed rgba(64,81,137,0.4);
            padding-bottom: 1px;
        }
        .stats-note a:hover { color: var(--accent-d); border-bottom-color: var(--accent-d); }
        .feature {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 12px;
            padding: 28px;
            height: 100%;
            transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
        }
        .feature:hover {
            border-color: rgba(64,81,137,0.25);
            transform: translateY(-2px);
            box-shadow: 0 12px 30px -12px rgba(15,23,42,0.10);
        }
        .feature-icon {
            width: 38px; height: 38px;
            display: inline-flex; align-items: center; justify-content: center;
            border-radius: 8px;
            background: var(--slate-50);
            border: 1px solid var(--line);
            color: var(--ink);
            font-size: 1.05rem;
            margin-bottom: 18px;
            transition: background .15s ease, color .15s ease, border-color .15s ease;
        }
        .feature:hover .feature-icon {
            background: var(--accent-soft);
            color: var(--accent);
            border-color: transparent;
        }
        .feature h3 {
            font-size: 1.05rem;
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 8px;
            letter-spacing: -0.012em;
        }
        .feature p {
            font-size: 0.93rem;
            color: var(--slate-500);
            line-height: 1.6;
            margin-bottom: 0;
        }
        .check-list { list-style: none; padding: 0; margin: 24px 0 0; }
        .check-list li {
            position: relative;
            padding: 9px 0 9px 30px;
            color: var(--slate-700);
            font-size: 0.96rem;
            line-height: 1.55;
        }
        .check-list li::before {
            content: '';
            position: absolute;
            left: 0; top: 15px;
            width: 18px; height: 18px;
            border-radius: 50%;
            background: var(--accent-soft);
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23405189'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: center;
            background-size: 11px;
        }

        .mock {
            background: #fff;
            border-radius: 12px;
            border: 1px solid var(--line);
            box-shadow: 0 24px 50px -20px rgba(15,23,42,0.12);
            padding: 24px;
        }
        .mock-head {
            display: flex; justify-content: space-between; align-items: flex-start;
            padding-bottom: 16px;
            border-bottom: 1px solid var(--line);
            margin-bottom: 8px;
        }
        .mock-head h6 { font-size: 0.95rem; font-weight: 600; color: var(--ink); margin: 0; }
        .mock-head .mock-sub { font-size: 0.78rem; color: var(--slate-500); margin-top: 4px; }
        .mock-row {
            display: flex; align-items: center; justify-content: space-between;
            padding: 11px 0;
            font-size: 0.88rem;
        }
        .mock-row + .mock-row { border-top: 1px dashed var(--line); }
        .mock-lbl { color: var(--slate-500); }
        .mock-val { color: var(--ink); font-weight: 600; }
        .mock-total {
            margin-top: 12px;
            padding-top: 16px;
            border-top: 1px solid var(--line);
            display: flex; align-items: center; justify-content: space-between;
        }
        .mock-total .mock-lbl { color: var(--ink); font-weight: 600; }
        .mock-total .mock-val { font-size: 1.15rem; }
        .mock-foot {
            margin-top: 18px;
            padding-top: 14px;
            border-top: 1px solid var(--line);
            display: flex; gap: 6px; flex-wrap: wrap; align-items: center;
        }

        .pill {
            display: inline-flex; align-items: center;
            padding: 3px 10px;
            border-radius: 20px;
            font-size: 0.7rem; font-weight: 600;
            letter-spacing: 0.01em;
            border: 1px solid var(--line);
            color: var(--slate-600);
            background: #fff;
        }
        .pill-warn {
            color: #92400e;
            background: #fffbeb;
            border-color: #fde68a;
        }
        .pill-ok {
            color: var(--accent);
            background: var(--accent-soft);
            border-color: rgba(64,81,137,0.15);
        }
        .tier {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 10px;
            padding: 18px 22px;
            margin: 12px auto;
            display: flex; align-items: center;
            transition: border-color .15s ease, box-shadow .15s ease;
        }
        .tier:hover { border-color: rgba(64,81,137,0.2); box-shadow: 0 8px 20px -10px rgba(15,23,42,0.08); }
        .tier .tier-num {
            width: 30px; height: 30px;
            border-radius: 6px;
            background: var(--slate-50);
            color: var(--slate-700);
            display: inline-flex; align-items: center; justify-content: center;
            font-size: 0.75rem; font-weight: 700;
            margin-right: 16px;
            flex-shrink: 0;
        }
        .tier-text { flex: 1; }
        .tier-name { font-weight: 700; color: var(--ink); font-size: 1rem; letter-spacing: -0.01em; }
        .tier-desc { color: var(--slate-500); font-size: 0.86rem; margin-top: 2px; }
        .tier.tier-1 { max-width: 100%; }
        .tier.tier-2 { max-width: 88%; }
        .tier.tier-3 { max-width: 76%; }
        .tier.tier-4 { max-width: 62%; background: var(--slate-50); }
        .usecase {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 12px;
            padding: 32px 28px;
            height: 100%;
            transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
        }
        .usecase:hover {
            border-color: rgba(64,81,137,0.2);
            transform: translateY(-2px);
            box-shadow: 0 12px 30px -12px rgba(15,23,42,0.08);
        }
        .usecase-tag {
            display: inline-block;
            font-size: 0.7rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--accent);
            margin-bottom: 16px;
        }
        .usecase h4 {
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 10px;
            letter-spacing: -0.015em;
        }
        .usecase p { color: var(--slate-500); font-size: 0.94rem; margin: 0; line-height: 1.6; }
        .step {
            display: grid;
            grid-template-columns: 38px 1fr;
            gap: 20px;
            padding: 22px 0;
            border-bottom: 1px solid var(--line);
        }
        .step:last-child { border-bottom: none; }
        .step-num {
            width: 38px; height: 38px;
            border-radius: 50%;
            background: var(--accent-soft);
            color: var(--accent);
            display: inline-flex; align-items: center; justify-content: center;
            font-weight: 700;
            font-size: 0.92rem;
        }
        .step h5 { font-size: 1.05rem; font-weight: 600; color: var(--ink); margin-bottom: 4px; letter-spacing: -0.015em; }
        .step p { color: var(--slate-500); margin: 0; font-size: 0.94rem; line-height: 1.6; }
        .accordion { border-top: 1px solid var(--line); }
        .accordion-item {
            border: none;
            border-bottom: 1px solid var(--line);
            border-radius: 0 !important;
            background: transparent;
        }
        .accordion-button {
            background: transparent;
            font-weight: 600;
            font-family: 'Montserrat', sans-serif;
            color: var(--ink);
            padding: 22px 4px;
            font-size: 1rem;
            letter-spacing: -0.01em;
            border-radius: 0 !important;
        }
        .accordion-button:not(.collapsed) {
            background: transparent;
            color: var(--ink);
            box-shadow: none;
        }
        .accordion-button:focus { box-shadow: none; border-color: transparent; }
        .accordion-button::after {
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2364748b'%3E%3Cpath d='M3.204 5h9.592L8 10.481 3.204 5zm-.753.659l4.796 5.48a1 1 0 001.506 0l4.796-5.48c.566-.647.106-1.659-.753-1.659H3.204a1 1 0 00-.753 1.659z'/%3E%3C/svg%3E");
        }
        .accordion-body {
            padding: 0 4px 22px;
            color: var(--slate-600);
            font-size: 0.94rem;
            line-height: 1.7;
        }
        .cta-slab {
            background: var(--ink);
            color: #fff;
            border-radius: 16px;
            padding: 64px 56px;
            position: relative;
            overflow: hidden;
        }
        .cta-slab::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
            background-size: 40px 40px;
            mask-image: radial-gradient(ellipse at top right, rgba(0,0,0,0.5), transparent 60%);
            -webkit-mask-image: radial-gradient(ellipse at top right, rgba(0,0,0,0.5), transparent 60%);
            pointer-events: none;
        }
        .cta-slab > * { position: relative; }
        .cta-slab h2 {
            color: #fff;
            font-size: clamp(1.65rem, 2.6vw, 2.15rem);
            margin-bottom: 12px;
            letter-spacing: -0.025em;
            line-height: 1.2;
        }
        .cta-slab p {
            color: rgba(255,255,255,0.75);
            font-size: 1.025rem;
            margin: 0;
        }
        .btn-light-x {
            display: inline-flex; align-items: center; gap: 8px;
            background: #fff;
            color: var(--ink);
            padding: 13px 24px;
            border-radius: 8px;
            font-weight: 600;
            font-size: 0.95rem;
            border: 1px solid #fff;
            transition: transform .15s ease, background .15s ease;
        }
        .btn-light-x:hover { background: var(--slate-50); color: var(--ink); transform: translateY(-1px); }
        .pricing-wrap { position: relative; }
        .pricing-scroll {
            display: flex;
            gap: 24px;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scroll-behavior: smooth;
            padding: 8px 4px 24px;
            margin: 0 -4px;
            scrollbar-width: thin;
            scrollbar-color: var(--slate-200) transparent;
        }
        .pricing-scroll::-webkit-scrollbar { height: 6px; }
        .pricing-scroll::-webkit-scrollbar-thumb { background: var(--slate-200); border-radius: 3px; }
        .pricing-scroll::-webkit-scrollbar-track { background: transparent; }

        .pricing-card {
            flex-shrink: 0;
            scroll-snap-align: start;
            width: calc((100% - 48px) / 3);
            min-width: 280px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 28px;
            display: flex; flex-direction: column;
            transition: border-color .2s, box-shadow .2s, transform .2s;
            position: relative;
        }
        .pricing-card:hover {
            border-color: rgba(64,81,137,0.25);
            transform: translateY(-2px);
            box-shadow: 0 18px 36px -16px rgba(15,23,42,0.1);
        }
        .pricing-card.popular {
            border-color: var(--accent);
            box-shadow: 0 18px 36px -16px rgba(64,81,137,0.18);
        }
        .pricing-badge {
            position: absolute;
            top: 14px;
            right: 14px;
            background: var(--accent);
            color: #fff;
            font-size: 0.66rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            padding: 4px 10px;
            border-radius: 4px;
        }
        .pricing-name {
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--ink);
            margin-bottom: 4px;
            letter-spacing: -0.012em;
        }
        .pricing-desc {
            font-size: 0.84rem;
            color: var(--slate-500);
            margin-bottom: 18px;
            line-height: 1.55;
            min-height: 2.5em;
        }
        .pricing-price {
            display: flex; align-items: baseline; gap: 4px;
            flex-wrap: wrap;
            margin-bottom: 22px;
            padding-bottom: 22px;
            border-bottom: 1px solid var(--line);
        }
        .pricing-price .amount {
            font-size: 1.85rem;
            color: var(--ink);
            font-weight: 700;
            letter-spacing: -0.025em;
            line-height: 1;
        }
        .pricing-price .period {
            font-size: 0.85rem;
            color: var(--slate-500);
            margin-left: 2px;
        }
        .pricing-features {
            list-style: none;
            padding: 0;
            margin: 0 0 24px;
            flex-grow: 1;
        }
        .pricing-features li {
            display: flex; align-items: center; gap: 10px;
            font-size: 0.88rem;
            color: var(--slate-600);
        }
        .pricing-features li i {
            color: var(--accent);
            font-size: 1.05rem;
            flex-shrink: 0;
        }
        .pricing-cta {
            display: inline-flex; align-items: center; justify-content: center; gap: 6px;
            width: 100%;
            background: var(--ink);
            color: #fff !important;
            padding: 12px 18px;
            border-radius: 8px;
            font-weight: 600;
            font-size: 0.9rem;
            border: 1px solid var(--ink);
            transition: background .15s ease, transform .15s ease;
        }
        .pricing-cta:hover { background: #1f2937; transform: translateY(-1px); color: #fff !important; }
        .pricing-card.popular .pricing-cta {
            background: var(--accent);
            border-color: var(--accent);
        }
        .pricing-card.popular .pricing-cta:hover { background: var(--accent-d); border-color: var(--accent-d); }

        .pricing-nav {
            display: flex; gap: 10px;
            justify-content: center;
            margin-top: 24px;
        }
        .pricing-nav-btn {
            width: 42px; height: 42px;
            border-radius: 50%;
            background: #fff;
            border: 1px solid var(--line);
            color: var(--ink);
            display: inline-flex; align-items: center; justify-content: center;
            cursor: pointer;
            font-size: 1.05rem;
            transition: all .15s ease;
        }
        .pricing-nav-btn:hover { background: var(--slate-50); border-color: var(--slate-200); transform: translateY(-1px); }
        .pricing-empty {
            text-align: center;
            padding: 60px 20px;
            color: var(--slate-500);
            border: 1px dashed var(--line);
            border-radius: 12px;
        }

        @media (max-width: 991.98px) {
            .pricing-card { width: calc((100% - 24px) / 2); }
        }
        @media (max-width: 575.98px) {
            .pricing-card { width: 84%; min-width: 0; }
            .pricing-name { font-size: 1.05rem; }
            .pricing-price .amount { font-size: 1.65rem; }
        }
        .contact-card {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 12px 30px -16px rgba(15,23,42,0.08);
        }
        .contact-row {
            display: flex; align-items: center; gap: 16px;
            padding: 22px 24px;
            color: var(--slate-700);
            transition: background .15s ease;
            text-decoration: none;
        }
        .contact-row + .contact-row { border-top: 1px solid var(--line); }
        .contact-row:hover { background: var(--slate-50); color: var(--ink); }
        .contact-icon {
            width: 44px; height: 44px;
            border-radius: 10px;
            background: var(--slate-50);
            color: var(--ink);
            display: inline-flex; align-items: center; justify-content: center;
            font-size: 1.3rem;
            flex-shrink: 0;
            transition: background .15s ease, color .15s ease;
        }
        .contact-row:hover .contact-icon {
            background: var(--accent-soft);
            color: var(--accent);
        }
        .contact-meta-lbl {
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: var(--slate-500);
            font-weight: 600;
        }
        .contact-meta-val {
            font-size: 1rem;
            font-weight: 600;
            color: var(--ink);
            margin-top: 2px;
        }
        .contact-arrow {
            margin-left: auto;
            color: var(--slate-400);
            font-size: 1.15rem;
        }
        .contact-row:hover .contact-arrow { color: var(--accent); }

        /* 24/7 infra reassurance note — sits below the contact card */
        .contact-note {
            margin-top: 18px;
            background: var(--accent-soft);
            border-left: 3px solid var(--accent);
            padding: 16px 18px;
            border-radius: 8px;
            display: flex;
            gap: 14px;
            align-items: flex-start;
        }
        .contact-note-icon {
            color: var(--accent);
            font-size: 1.5rem;
            flex-shrink: 0;
            line-height: 1;
            margin-top: 2px;
        }
        .contact-note h6 {
            font-size: 0.95rem;
            margin: 0 0 4px;
            color: var(--ink);
            font-weight: 600;
            letter-spacing: -0.01em;
        }
        .contact-note p {
            font-size: 0.84rem;
            color: var(--slate-600);
            margin: 0;
            line-height: 1.55;
        }

        /* Footer support-hours line */
        .footer-hours {
            margin-top: 16px;
            padding-top: 14px;
            border-top: 1px solid rgba(255,255,255,0.08);
            font-size: 0.82rem;
        }
        .footer-hours .label {
            color: rgba(255,255,255,0.5);
            display: block;
            margin-bottom: 2px;
            font-size: 0.74rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 600;
        }
        .footer-hours .val {
            color: rgba(255,255,255,0.85);
            font-weight: 500;
        }

        /* Looking glass link inside feature card */
        .lg-link {
            display: inline-flex; align-items: center; gap: 4px;
            color: var(--accent);
            font-weight: 600;
            border-bottom: 1px dashed rgba(64,81,137,0.4);
            padding-bottom: 1px;
        }
        .lg-link:hover { color: var(--accent-d); border-bottom-color: var(--accent-d); }
        @media (max-width: 991.98px) {
            section { padding: 64px 0; }
            .hero { padding: 110px 0 56px; }
            .cta-slab { padding: 44px 32px; }
            .tier.tier-2, .tier.tier-3, .tier.tier-4 { max-width: 100%; }
            .nav-wrap .container { position: relative; }
        }
        @media (max-width: 575.98px) {
            .cta-slab { padding: 36px 24px; }
            .stat-num { font-size: 2rem; }
            .stats-row { padding: 40px 0; }
        }

/* ============ Shared landing nav ============ */
    /* Container width override — match Tailwind's max-w-7xl (1280px) with
       responsive padding (px-4 sm:px-6 lg:px-8) so nav + footer align with
       register form's <main> on pages that load Tailwind. !important needed
       because client-tailwind.css loads after landing.css and defines its
       own .container max-widths. */
    .nav-wrap > .container,
    .landing-foot > .container {
        max-width: 1280px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    @media (min-width: 640px) {
        .nav-wrap > .container,
        .landing-foot > .container {
            padding-left: 24px !important;
            padding-right: 24px !important;
        }
    }
    @media (min-width: 1024px) {
        .nav-wrap > .container,
        .landing-foot > .container {
            padding-left: 32px !important;
            padding-right: 32px !important;
        }
    }
    .nav-wrap {
        position: fixed;
        top: 0; left: 0; right: 0;
        background: rgba(255,255,255,0.78);
        backdrop-filter: saturate(180%) blur(14px);
        -webkit-backdrop-filter: saturate(180%) blur(14px);
        border-bottom: 1px solid transparent;
        z-index: 1030;
        transition: border-color .25s ease, background .25s ease;
    }
    .nav-wrap.scrolled {
        border-bottom-color: var(--line);
        background: rgba(255,255,255,0.92);
    }
    .nav-wrap .nav-inner {
        display: flex; align-items: center; justify-content: space-between;
        padding: 18px 0;
    }
    .nav-brand img { height: 50px; display: block; }
    .nav-menu { display: flex; align-items: center; gap: 4px; list-style: none; padding: 0; margin: 0; }
    .nav-menu a {
        color: var(--slate-600);
        font-size: 0.92rem;
        font-weight: 500;
        padding: 8px 14px;
        border-radius: 6px;
        text-decoration: none;
        transition: color .15s ease, background .15s ease;
    }
    .nav-menu a:hover { color: var(--ink); background: var(--slate-50); }
    .nav-lang {
        display: inline-flex; align-items: center; gap: 6px;
        background: transparent;
        color: var(--ink);
        font-size: 0.88rem;
        font-weight: 600;
        padding: 8px 16px;
        border: 1px solid var(--ink);
        border-radius: 6px;
        margin-left: 8px;
        line-height: 1.4;
        transition: all .15s ease;
    }
    .nav-lang:hover, .nav-lang:focus {
        background: #1a2540 !important;
        border-color: #1a2540 !important;
        color: #fff !important;
        text-decoration: none;
    }
    .nav-cta, .nav-signin {
        display: inline-flex; align-items: center; gap: 6px;
        font-size: 0.88rem;
        font-weight: 600;
        padding: 8px 16px;
        border: 1px solid var(--ink);
        border-radius: 6px;
        margin-left: 8px;
        line-height: 1.4;
        transition: all .15s ease;
    }
    .nav-cta { background: var(--ink); color: #fff !important; }
    .nav-cta:hover, .nav-cta:focus {
        background: #1a2540 !important;
        border-color: #1a2540 !important;
        color: #fff !important;
        text-decoration: none;
    }
    .nav-signin { background: transparent; color: var(--ink); }
    .nav-signin:hover, .nav-signin:focus {
        background: #1a2540 !important;
        border-color: #1a2540 !important;
        color: #fff !important;
        text-decoration: none;
    }
    .nav-toggle {
        display: none;
        background: none; border: none;
        color: var(--ink);
        font-size: 1.4rem;
        padding: 4px 8px;
    }
    @media (max-width: 991.98px) {
        .nav-wrap .container { position: relative; }
        .nav-toggle { display: inline-block; }
        .nav-menu {
            display: none;
            position: absolute;
            top: 100%; left: 0; right: 0;
            background: #fff;
            border-bottom: 1px solid var(--line);
            box-shadow: 0 12px 24px -12px rgba(15,23,42,0.12);
            flex-direction: column;
            padding: 10px 24px 14px 14px;
            margin: 0;
            gap: 0;
            list-style: none;
            max-height: calc(100vh - 64px);
            overflow-y: auto;
            box-sizing: border-box;
        }
        .nav-menu * { box-sizing: border-box; }
        .nav-menu.show { display: flex; }
        .nav-menu li { display: block; width: 100%; margin: 0; padding: 0; align-self: stretch; }
        .nav-menu li > a {
            display: flex !important; align-items: center;
            width: 100% !important; max-width: 100%;
            margin: 0 !important;
            font-size: 0.92rem; border-radius: 6px;
        }
        .nav-menu li > .nav-lang,
        .nav-menu li > .nav-signin,
        .nav-menu li > .nav-cta {
            justify-content: center;
            margin: 4px 0 0 !important;
        }
        .nav-menu li:has(> .nav-lang) {
            margin-top: 8px;
            padding-top: 10px;
            border-top: 1px solid var(--line);
        }
    }

/* ============ Shared landing footer ============ */
    footer.landing-foot {
        background: var(--ink);
        color: rgba(255,255,255,0.6);
        padding: 64px 0 28px;
    }
    footer.landing-foot h5 {
        color: #fff;
        font-size: 0.82rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.12em;
        margin-bottom: 18px;
    }
    footer.landing-foot a {
        color: rgba(255,255,255,0.6);
        display: block;
        padding: 4px 0;
        font-size: 0.9rem;
        text-decoration: none;
    }
    footer.landing-foot a:hover { color: #fff; }
    .footer-about {
        color: rgba(255,255,255,0.6);
        font-size: 0.9rem;
        margin-top: 14px;
        line-height: 1.6;
    }
    .footer-links-row {
        display: flex; gap: 20px; flex-wrap: wrap;
        margin-top: 16px; padding-top: 16px;
        border-top: 1px solid rgba(255,255,255,0.08);
    }
    .footer-links-row a {
        display: inline-flex; align-items: center; gap: 6px;
        padding: 0;
        font-size: 0.85rem;
        color: rgba(255,255,255,0.6);
        font-weight: 500;
    }
    .footer-links-row a:hover { color: #fff; }
    .footer-links-row i { font-size: 1rem; }
    .footer-bottom {
        border-top: 1px solid rgba(255,255,255,0.08);
        margin-top: 56px; padding-top: 22px;
        display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px;
        font-size: 0.82rem;
        color: rgba(255,255,255,0.4);
    }
    .footer-bottom .legal { display: flex; gap: 14px; flex-wrap: wrap; }
    .footer-bottom .legal a {
        color: rgba(255,255,255,0.55);
        text-decoration: none;
        font-weight: 500;
        display: inline;
        padding: 0;
    }
    .footer-bottom .legal a:hover { color: #fff; }
    .footer-bottom .legal .sep { color: rgba(255,255,255,0.2); }
    .footer-hours {
        margin-top: 16px; padding-top: 14px;
        border-top: 1px solid rgba(255,255,255,0.08);
        font-size: 0.82rem;
    }
    .footer-hours .label {
        color: rgba(255,255,255,0.5);
        display: block;
        margin-bottom: 2px;
        font-size: 0.74rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 600;
    }
    .footer-hours .val {
        color: rgba(255,255,255,0.85);
        font-weight: 500;
    }

/* ============ Privacy / TOS document layout ============ */
.doc-hero {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    padding: 130px 0 36px;
    border-bottom: 1px solid var(--line);
}
.doc-hero h1 {
    font-size: 2.2rem; font-weight: 700;
    margin: 0 0 8px;
}
.doc-hero .updated {
    color: var(--slate-500);
    font-size: 0.88rem;
    display: inline-flex; align-items: center; gap: 6px;
}
.doc-body { padding: 48px 0 64px; }
.doc-body .lede {
    font-size: 1.02rem;
    background: var(--paper, #ffffff);
    border: 1px solid var(--line);
    border-left: 4px solid var(--accent);
    padding: 22px 24px;
    border-radius: 8px;
    margin: 0 0 36px;
}
.doc-body .lede p { margin: 0 0 10px; }
.doc-body .lede p:last-child { margin: 0; }
.doc-body section { margin: 0 0 32px; padding: 0; }
.doc-body h2 {
    font-size: 1.18rem; font-weight: 600;
    margin: 0 0 12px;
    padding-top: 4px;
    display: flex; align-items: center; gap: 10px;
}
.doc-body h2::before {
    content: ""; display: inline-block;
    width: 4px; height: 18px;
    background: var(--accent); border-radius: 2px;
}
.doc-body p { margin: 0 0 12px; }
.doc-body ul { margin: 8px 0 0; padding-left: 22px; }
.doc-body ul li { margin-bottom: 10px; }

@media (max-width: 640px) {
    .doc-hero { padding: 110px 0 28px; }
    .doc-hero h1 { font-size: 1.6rem; }
    .doc-body { padding: 32px 0 48px; }
}
