html {
    background: #111827;
}

body {
    background:
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.12), transparent 26rem),
        radial-gradient(circle at top right, rgba(52, 211, 153, 0.08), transparent 24rem),
        #111827;
    overflow-x: hidden;
}

body {
    scrollbar-color: rgba(125, 211, 252, 0.34) #0f172a;
}

body::-webkit-scrollbar,
.quest-app-menu .offcanvas-body::-webkit-scrollbar {
    width: 0.7rem;
}

body::-webkit-scrollbar-track,
.quest-app-menu .offcanvas-body::-webkit-scrollbar-track {
    background: #0f172a;
}

body::-webkit-scrollbar-thumb,
.quest-app-menu .offcanvas-body::-webkit-scrollbar-thumb {
    background: rgba(125, 211, 252, 0.34);
    border: 2px solid #0f172a;
    border-radius: 999px;
}

body::-webkit-scrollbar-thumb:hover,
.quest-app-menu .offcanvas-body::-webkit-scrollbar-thumb:hover {
    background: rgba(125, 211, 252, 0.52);
}

.quest-app-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at 12% 0%, rgba(96, 165, 250, 0.16), transparent 25rem),
        radial-gradient(circle at 88% 8%, rgba(20, 184, 166, 0.1), transparent 22rem),
        linear-gradient(180deg, #162033 0%, #111827 42%, #0f172a 100%);
}

.quest-app-navbar {
    background:
        linear-gradient(135deg, rgba(36, 50, 74, 0.98) 0%, rgba(29, 39, 56, 0.98) 58%, rgba(17, 24, 39, 0.98) 100%) !important;
    border-bottom: 1px solid rgba(125, 211, 252, 0.16);
    box-shadow: 0 12px 32px rgba(2, 6, 23, 0.38);
    z-index: 1040;
}

.quest-navbar-container {
    gap: 1rem;
}

.quest-navbar-brand {
    color: #f8fafc !important;
    font-weight: 800;
    letter-spacing: 0;
}

.quest-navbar-links {
    gap: 0.25rem;
    margin-left: 1.25rem;
}

.quest-navbar-links .nav-link {
    border-radius: 8px;
    color: #cbd5e1 !important;
    font-weight: 650;
    padding: 0.42rem 0.7rem;
    transition: background 0.16s ease, color 0.16s ease;
}

.quest-navbar-links .nav-link:hover,
.quest-navbar-links .nav-link:focus {
    background: rgba(96, 165, 250, 0.14);
    color: #f8fafc !important;
}

.quest-navbar-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
    min-width: 0;
}

.quest-status-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.quest-status-bar .alert {
    margin: 0;
    padding: 0.35rem 0.55rem;
    font-size: 0.82rem;
    line-height: 1.2;
    white-space: nowrap;
}

#status-content > div {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

#status-content h6 {
    margin: 0;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quest-menu-button {
    display: inline-flex;
    align-items: center;
    background: rgba(15, 23, 42, 0.34);
    border-color: rgba(125, 211, 252, 0.28);
    border-radius: 8px;
    color: #e0f2fe;
    font-weight: 700;
    min-height: 2.25rem;
    white-space: nowrap;
}

.quest-menu-button:hover,
.quest-menu-button:focus {
    background: rgba(14, 165, 233, 0.18);
    border-color: rgba(125, 211, 252, 0.46);
    color: #f8fafc;
}

.quest-app-menu {
    --bs-offcanvas-width: min(22.5rem, 94vw);
    background:
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.18), transparent 14rem),
        linear-gradient(180deg, #1c2536 0%, #111827 100%);
    border-right: 1px solid rgba(125, 211, 252, 0.18);
    box-shadow: 16px 0 48px rgba(2, 6, 23, 0.46);
    color: #e2e8f0;
}

.quest-app-menu .offcanvas-header {
    background: rgba(15, 23, 42, 0.36);
    border-bottom: 1px solid rgba(125, 211, 252, 0.14);
    padding: 1rem 1.1rem;
}

.quest-app-menu .offcanvas-title {
    color: #f8fafc;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0;
}

.quest-app-menu .btn-close {
    filter: invert(1) grayscale(1) brightness(1.8);
    opacity: 0.72;
}

.quest-app-menu .btn-close:hover,
.quest-app-menu .btn-close:focus {
    opacity: 1;
}

.quest-app-menu .offcanvas-body {
    display: grid;
    gap: 0.9rem;
    align-content: start;
    background: transparent;
    padding: 1rem;
    scrollbar-color: rgba(125, 211, 252, 0.34) #0f172a;
}

.quest-menu-section {
    background: rgba(15, 23, 42, 0.36);
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 8px;
}

.quest-menu-section {
    padding: 0.75rem;
}

.quest-menu-section-label {
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    margin: 0 0 0.5rem 0.12rem;
    text-transform: uppercase;
}

.quest-app-menu .nav {
    display: grid;
    gap: 0.4rem;
}

.quest-app-menu .nav-link {
    align-items: center;
    background: rgba(30, 41, 59, 0.64);
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 8px;
    color: #dbeafe;
    display: flex;
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.25;
    min-height: 2.65rem;
    padding: 0.58rem 0.65rem;
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.quest-app-menu .nav-link:hover,
.quest-app-menu .nav-link:focus {
    background: rgba(37, 99, 235, 0.22);
    border-color: rgba(125, 211, 252, 0.28);
    color: #f8fafc;
    transform: translateX(2px);
}

.quest-app-menu .nav-link.active,
.quest-app-menu .nav-pills .nav-link.active,
.quest-app-menu .nav-pills .show > .nav-link {
    background:
        linear-gradient(135deg, rgba(14, 165, 233, 0.3) 0%, rgba(37, 99, 235, 0.2) 100%);
    border-color: rgba(125, 211, 252, 0.46);
    box-shadow: inset 3px 0 0 #38bdf8;
    color: #f8fafc;
}

.quest-menu-link-label {
    align-items: center;
    display: flex;
    gap: 0.62rem;
    min-width: 0;
    width: 100%;
}

.quest-menu-link-icon {
    align-items: center;
    background: rgba(125, 211, 252, 0.1);
    border: 1px solid rgba(125, 211, 252, 0.14);
    border-radius: 8px;
    color: #7dd3fc;
    display: inline-flex;
    flex: 0 0 auto;
    height: 1.9rem;
    justify-content: center;
    width: 1.9rem;
}

.quest-app-menu .nav-link.active .quest-menu-link-icon {
    background: rgba(240, 249, 255, 0.14);
    border-color: rgba(240, 249, 255, 0.22);
    color: #e0f2fe;
}

.quest-menu-link-text {
    min-width: 0;
}

.quest-app-menu .accordion {
    --bs-accordion-bg: transparent;
    --bs-accordion-border-color: transparent;
    --bs-accordion-btn-focus-box-shadow: none;
    display: grid;
    gap: 0.5rem;
}

.quest-app-menu .accordion-item {
    background: rgba(15, 23, 42, 0.3);
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 8px;
    overflow: hidden;
}

.quest-app-menu .accordion-button {
    background: rgba(30, 41, 59, 0.78);
    box-shadow: none;
    color: #e2e8f0;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0;
    padding: 0.78rem 0.85rem;
}

.quest-app-menu .accordion-button:not(.collapsed) {
    background: linear-gradient(180deg, rgba(42, 58, 84, 0.9) 0%, rgba(30, 43, 66, 0.9) 100%);
    color: #f8fafc;
}

.quest-app-menu .accordion-button::after {
    filter: invert(1) brightness(1.6);
    opacity: 0.75;
}

.quest-app-menu .accordion-body {
    background: rgba(15, 23, 42, 0.32);
    padding: 0.55rem;
}

.quest-app-alerts,
.quest-app-main,
.quest-page-content {
    width: 100%;
}

.quest-app-main {
    flex: 1 0 auto;
}

.quest-login-shell {
    background:
        linear-gradient(135deg, #132238 0%, #17324a 50%, #1f3d37 100%);
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.14);
    color: #f8fafc;
    overflow: hidden;
    padding: 1.25rem;
}

.quest-login-intro {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 25rem;
    padding: 1.25rem;
}

.quest-login-brand-row {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    max-width: 43rem;
}

.quest-login-logo {
    background: rgba(255, 255, 255, 0.92);
    border-radius: 8px;
    height: 3.8rem;
    object-fit: contain;
    padding: 0.55rem;
    width: 3.8rem;
}

.quest-login-title {
    color: #ffffff;
    font-size: 2.8rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.05;
    margin: 0 0 0.8rem;
}

.quest-login-copy {
    color: #d7edf2;
    font-size: 1.04rem;
    line-height: 1.6;
    margin: 0;
    max-width: 40rem;
}

.quest-login-proof-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 2rem;
    max-width: 42rem;
}

.quest-login-proof-item {
    align-items: center;
    color: #e2f4ef;
    display: flex;
    font-size: 0.96rem;
    gap: 0.7rem;
    line-height: 1.45;
}

.quest-login-proof-item i {
    align-items: center;
    background: rgba(167, 243, 208, 0.14);
    border: 1px solid rgba(167, 243, 208, 0.22);
    border-radius: 8px;
    color: #86efac;
    display: inline-flex;
    flex: 0 0 auto;
    height: 2.15rem;
    justify-content: center;
    width: 2.15rem;
}

.quest-login-panel {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    box-shadow: 0 16px 40px rgba(2, 6, 23, 0.2);
    color: #0f172a;
    height: 100%;
    padding: 1.5rem;
}

.quest-login-panel-kicker {
    color: #0f766e;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.quest-login-panel-title {
    color: #0f172a;
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.18;
    margin: 0 0 0.45rem;
}

.quest-login-panel-copy {
    color: #475569;
    font-size: 0.96rem;
    line-height: 1.55;
    margin: 0;
}

.quest-login-policy-links {
    display: grid;
    gap: 0.65rem;
    margin: 1.25rem 0;
}

.quest-login-policy-link {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4ef;
    border-radius: 8px;
    color: #164e63;
    display: flex;
    font-size: 0.95rem;
    font-weight: 750;
    gap: 0.65rem;
    min-height: 3rem;
    padding: 0.72rem 0.85rem;
    text-decoration: none;
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.quest-login-policy-link:hover,
.quest-login-policy-link:focus {
    background: #ecfeff;
    border-color: #67e8f9;
    color: #0f766e;
}

.quest-login-policy-link i {
    color: #0f766e;
    flex: 0 0 auto;
    font-size: 1.05rem;
}

.quest-login-checklist {
    background: #f8fafc;
    border: 1px solid #dbe4ef;
    border-radius: 8px;
    margin-bottom: 1rem;
    padding: 0.85rem;
}

.quest-login-check-label {
    align-items: flex-start;
    color: #334155;
    display: flex;
    font-size: 0.92rem;
    gap: 0.65rem;
    line-height: 1.45;
    margin: 0;
}

.quest-login-check-input {
    flex: 0 0 auto;
    height: 1.1rem;
    margin-top: 0.1rem;
    width: 1.1rem;
}

.quest-login-button {
    align-items: center;
    background: #0f766e;
    border: 1px solid #0d9488;
    border-radius: 8px;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.98rem;
    font-weight: 800;
    gap: 0.65rem;
    justify-content: center;
    min-height: 3rem;
    padding: 0.78rem 1rem;
    width: 100%;
}

.quest-login-button:hover,
.quest-login-button:focus {
    background: #0d9488;
    border-color: #14b8a6;
    color: #ffffff;
}

.quest-login-button:disabled {
    background: #cbd5e1;
    border-color: #cbd5e1;
    color: #64748b;
    opacity: 1;
}

@media (max-width: 991.98px) {
    .quest-login-intro {
        min-height: auto;
        padding: 0.75rem 0.5rem;
    }

    .quest-login-panel {
        padding: 1.25rem;
    }
}

@media (max-width: 575.98px) {
    .quest-login-shell {
        padding: 0.85rem;
    }

    .quest-login-brand-row {
        flex-direction: column;
        gap: 0.85rem;
    }

    .quest-login-logo {
        height: 3.2rem;
        width: 3.2rem;
    }

    .quest-login-title {
        font-size: 2rem;
    }

    .quest-login-copy,
    .quest-login-panel-copy,
    .quest-login-proof-item {
        font-size: 0.94rem;
    }

    .quest-login-proof-list {
        margin-top: 1.25rem;
    }

    .quest-login-proof-item {
        align-items: flex-start;
    }

    .quest-login-policy-link,
    .quest-login-button {
        min-height: 2.8rem;
    }
}

/* Guided membership sales page */
.quest-membership-shell {
    --qm-bg: #121927;
    --qm-panel: #1b2535;
    --qm-panel-2: #202d40;
    --qm-border: rgba(125, 211, 252, 0.16);
    --qm-text: #f8fafc;
    --qm-muted: #bdc9d8;
    --qm-soft: #91a1b6;
    --qm-accent: #55c6f3;
    --qm-gold: #f7c95c;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--qm-border);
    border-radius: 24px;
    background: var(--qm-bg);
    color: var(--qm-text);
    box-shadow: 0 24px 70px rgba(2, 6, 23, .34);
}

.quest-membership-shell h1,
.quest-membership-shell h2,
.quest-membership-shell h3 { color: var(--qm-text); }

.quest-membership-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    padding: clamp(3rem, 7vw, 6.5rem) clamp(1.4rem, 5vw, 5rem);
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 87% 8%, rgba(56, 189, 248, .17), transparent 30%),
        linear-gradient(135deg, #1d2a3c 0%, #121927 68%);
    box-shadow: none;
}

.quest-membership-hero-content { max-width: 720px; }
.quest-membership-kicker { margin: 0 0 .8rem; color: var(--qm-accent); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.quest-membership-hero h1 { margin: 0 0 1.3rem; max-width: 760px; font-size: clamp(2.55rem, 5.2vw, 5rem); font-weight: 760; letter-spacing: -.045em; line-height: .99; }
.quest-membership-hero-copy { margin: 0 0 1.65rem; max-width: 660px; color: var(--qm-muted); font-size: clamp(1.02rem, 1.6vw, 1.25rem); line-height: 1.65; }
.quest-membership-cta { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-height: 3.25rem; border: 0; border-radius: 10px; background: #0ea5e9; box-shadow: 0 10px 28px rgba(14, 165, 233, .2); font-weight: 760; }
.quest-membership-cta:hover, .quest-membership-cta:focus { background: #38bdf8; transform: translateY(-1px); }
.quest-membership-cta-note { margin: .8rem 0 0; color: var(--qm-soft); font-size: .88rem; }
.quest-membership-trust-strip { display: flex; flex-wrap: wrap; gap: .85rem 1.3rem; margin-top: 2rem; color: var(--qm-muted); font-size: .86rem; }
.quest-membership-trust-strip i { margin-right: .35rem; color: #7dd3fc; }
.quest-membership-hero-visual { position: relative; padding: .65rem; border: 1px solid rgba(148, 163, 184, .18); border-radius: 18px; background: rgba(15, 23, 42, .58); box-shadow: 0 28px 55px rgba(2, 6, 23, .45); transform: rotate(1deg); }
.quest-membership-hero-visual img { display: block; width: 100%; border-radius: 12px; }
.quest-membership-hero-status { position: absolute; left: -1.8rem; bottom: -1.5rem; display: flex; flex-direction: column; min-width: 230px; padding: 1rem 1.15rem; border: 1px solid rgba(247, 201, 92, .3); border-radius: 12px; background: #1e293b; box-shadow: 0 15px 35px rgba(2, 6, 23, .38); }
.quest-membership-hero-status span, .quest-membership-hero-status small { color: var(--qm-soft); }
.quest-membership-hero-status strong { color: #fde68a; }

.quest-membership-section { padding: clamp(3.5rem, 7vw, 6.5rem) clamp(1.4rem, 6vw, 6rem); border-top: 1px solid var(--qm-border); }
.quest-membership-section--tint { background: #161f2e; }
.quest-membership-section--dark { background: #0e1623; }
.quest-membership-section--satnav { background: radial-gradient(circle at 50% 100%, rgba(14, 165, 233, .12), transparent 45%), #172232; }
.quest-membership-section-intro { max-width: 800px; margin-bottom: 2.3rem; }
.quest-membership-section-title { margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 740; letter-spacing: -.035em; line-height: 1.08; }
.quest-membership-section-copy { margin: 0; color: var(--qm-muted); font-size: 1.05rem; line-height: 1.7; }
.quest-membership-graphs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.quest-membership-graph-card { margin: 0; overflow: hidden; border: 1px solid rgba(125, 211, 252, .2); border-radius: 18px; background: #182233; box-shadow: 0 18px 42px rgba(2, 6, 23, .25); }
.quest-membership-chart-image { background: #fff; }
.quest-membership-graph-card img { display: block; width: 100%; height: auto; }
.quest-membership-graph-card figcaption { padding: 1.25rem 1.4rem 1.45rem; }
.quest-membership-graph-card h3 { margin: 0 0 .45rem; font-size: 1.2rem; }
.quest-membership-graph-card p, .quest-membership-report-preview figcaption { margin: 0; color: var(--qm-soft); line-height: 1.55; }
.quest-membership-transition { max-width: 820px; margin: 2.2rem auto 0; color: #e5eef8; font-size: clamp(1.2rem, 2.3vw, 1.55rem); font-weight: 650; line-height: 1.5; text-align: center; }
.quest-membership-graph-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.quest-membership-sources { margin: 1rem 0 0; padding-left: 1.2rem; color: var(--qm-soft); font-size: .78rem; line-height: 1.55; }
.quest-membership-sources li + li { margin-top: .35rem; }
.quest-membership-sources a { color: #7dd3fc; }
.quest-membership-flow { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin: 2rem 0; }
.quest-membership-flow span { display: inline-flex; align-items: center; gap: .7rem; padding: .7rem .85rem; border: 1px solid var(--qm-border); border-radius: 999px; background: var(--qm-panel); font-weight: 680; }
.quest-membership-flow span:not(:last-child)::after { content: "→"; margin-left: .25rem; color: var(--qm-accent); }
.quest-membership-interaction-examples { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 2rem 0; }
.quest-membership-interaction-examples p { margin: 0; padding: 1.2rem; border-left: 3px solid var(--qm-accent); background: rgba(30, 41, 59, .62); color: var(--qm-muted); line-height: 1.6; }
.quest-membership-shell blockquote { max-width: 830px; margin: 2.5rem auto; padding: 1.5rem 2rem; border-left: 4px solid var(--qm-gold); color: #fff5d6; font-size: clamp(1.5rem, 3.5vw, 2.35rem); font-weight: 650; line-height: 1.3; text-align: center; }
.quest-membership-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.quest-membership-card-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.quest-membership-icon-card { padding: 1.35rem; border: 1px solid var(--qm-border); border-radius: 14px; background: var(--qm-panel); }
.quest-membership-icon-card > i { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; margin-bottom: 1rem; border-radius: 9px; background: rgba(56, 189, 248, .11); color: var(--qm-accent); font-size: 1.15rem; }
.quest-membership-icon-card h3 { margin: 0 0 .5rem; font-size: 1.08rem; }
.quest-membership-icon-card p { margin: 0; color: var(--qm-muted); font-size: .94rem; line-height: 1.6; }
.quest-membership-scenario-grid { display: grid; grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr); gap: 1.5rem; }
.quest-membership-scenario-card { padding: 1.6rem; border: 1px solid rgba(247, 201, 92, .28); border-radius: 16px; background: linear-gradient(155deg, #253246, #1a2433); }
.quest-membership-card-label, .quest-membership-assumption-label { color: var(--qm-gold); font-size: .78rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.quest-membership-scenario-card h3 { margin: .35rem 0 1.35rem; font-size: 1.55rem; }
.quest-membership-scenario-card dl { display: grid; grid-template-columns: 90px 1fr; gap: .8rem; }
.quest-membership-scenario-card dt { color: var(--qm-soft); }
.quest-membership-scenario-card dd { margin: 0; color: var(--qm-muted); }
.quest-membership-evidence-chart { align-self: center; margin: 0; overflow: hidden; border: 1px solid var(--qm-border); border-radius: 16px; background: #fff; box-shadow: 0 18px 42px rgba(2, 6, 23, .25); }
.quest-membership-evidence-chart img { display: block; width: 100%; height: auto; }
.quest-membership-evidence-chart figcaption { padding: .75rem 1rem; background: #172131; color: var(--qm-soft); font-size: .8rem; }
.quest-membership-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.quest-membership-fact { padding: 1.3rem; border: 1px solid var(--qm-border); border-radius: 14px; background: #172131; }
.quest-membership-fact-label { margin: 0 0 .55rem; color: var(--qm-accent); font-size: .75rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.quest-membership-fact-value { margin: 0 0 .5rem; color: var(--qm-text); font-size: 1.15rem; font-weight: 720; line-height: 1.35; }
.quest-membership-fact-note, .quest-membership-method-note { margin: 0; color: var(--qm-soft); font-size: .83rem; line-height: 1.55; }
.quest-membership-method-note { margin-top: 1.4rem; }
.quest-membership-cite { margin-left: .3rem; color: #7dd3fc; font-size: .75em; vertical-align: super; }
.quest-membership-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; position: relative; }
.quest-membership-process { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 0; list-style: none; }
.quest-membership-process li { display: flex; gap: 1.1rem; padding: 1.4rem; border: 1px solid var(--qm-border); border-radius: 14px; background: var(--qm-panel); }
.quest-membership-process li > span { color: var(--qm-accent); font-size: 1.6rem; font-weight: 800; }
.quest-membership-process h3 { margin: 0 0 .5rem; font-size: 1.08rem; }
.quest-membership-process p { margin: 0; color: var(--qm-muted); line-height: 1.55; }
.quest-membership-report { display: grid; grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr); gap: 3rem; align-items: center; background: #162131; }
.quest-membership-report-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.quest-membership-report-preview { margin: 0; padding: .65rem; border: 1px solid var(--qm-border); border-radius: 17px; background: #0f172a; box-shadow: 0 25px 55px rgba(2, 6, 23, .38); }
.quest-membership-report-preview img { display: block; width: 100%; border-radius: 11px; }
.quest-membership-report-preview figcaption { padding: .9rem .55rem .35rem; font-size: .8rem; }
.quest-membership-methodology-disclosure, .quest-membership-faq-item { border: 1px solid var(--qm-border); border-radius: 12px; background: var(--qm-panel); }
.quest-membership-methodology-disclosure { margin-top: 2rem; }
.quest-membership-methodology-disclosure summary, .quest-membership-faq-item summary { padding: 1.15rem 1.3rem; color: var(--qm-text); font-weight: 700; cursor: pointer; }
.quest-membership-methodology { padding: 0 1.4rem 1.4rem; color: var(--qm-muted); line-height: 1.65; }
.quest-membership-methodology a { color: #7dd3fc; }
.quest-membership-methodology li { margin-bottom: .8rem; }
.quest-membership-founder { display: grid; grid-template-columns: minmax(220px, .52fr) minmax(0, 1.48fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; background: #111b29; }
.quest-membership-founder-photo { margin: 0; overflow: hidden; border: 1px solid var(--qm-border); border-radius: 16px; background: var(--qm-panel); box-shadow: 0 18px 42px rgba(2, 6, 23, .25); }
.quest-membership-founder-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.quest-membership-founder-photo figcaption { padding: .8rem 1rem; color: var(--qm-soft); font-size: .8rem; }
.quest-membership-founder-copy { max-width: 830px; }
.quest-membership-founder-copy > p:not(.quest-membership-kicker) { margin: 0 0 1rem; color: var(--qm-muted); line-height: 1.7; }
.quest-membership-founder-callout { margin: 1.5rem 0 0 !important; padding: 1rem 1.2rem; border-left: 3px solid var(--qm-gold); background: rgba(247, 201, 92, .07); color: #fff1c2 !important; font-weight: 700; }
.quest-membership-offer { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 2.5rem; padding: clamp(2rem, 6vw, 5rem); border-top: 1px solid var(--qm-border); background: linear-gradient(135deg, #1f2e42, #141d2b); }
.quest-membership-offer-content h2 { margin: 0 0 .7rem; font-size: clamp(2rem, 4vw, 3.4rem); }
.quest-membership-offer-content > p { color: var(--qm-muted); font-size: 1.05rem; }
.quest-membership-offer-content ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem 1.5rem; margin: 1.8rem 0 0; padding: 0; list-style: none; }
.quest-membership-offer-content li { position: relative; padding-left: 1.3rem; color: #dde7f2; }
.quest-membership-offer-content li::before { content: "•"; position: absolute; left: 0; color: var(--qm-accent); }
.quest-membership-offer-action { padding: 1.5rem; border: 1px solid rgba(247, 201, 92, .28); border-radius: 16px; background: rgba(15, 23, 42, .68); }
.quest-membership-offer-price { margin: 0; font-size: 2.6rem; font-weight: 800; line-height: 1; }
.quest-membership-price-note { margin: .45rem 0 1.2rem; color: var(--qm-muted); }
.quest-membership-renewal-price { display: flex; flex-direction: column; margin-bottom: 1.1rem; padding: .9rem; border-radius: 9px; background: rgba(247, 201, 92, .08); color: #fff1c2; }
.quest-membership-renewal-price span { color: var(--qm-muted); font-size: .83rem; }
.quest-membership-calibration-price { display: flex; flex-direction: column; margin-bottom: 1.1rem; padding: .9rem; border-radius: 9px; background: rgba(247, 201, 92, .08); color: #fff1c2; }
.quest-membership-calibration-price span { color: var(--qm-muted); font-size: .83rem; }
.quest-membership-offer-smallprint { margin: .9rem 0 0; color: var(--qm-soft); font-size: .8rem; line-height: 1.5; }
.quest-membership-selection-status { grid-column: 1 / -1; }
.quest-membership-faq-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.quest-membership-faq-answer { padding: 0 1.3rem 1.3rem; color: var(--qm-muted); line-height: 1.6; }
.quest-membership-final-cta { padding: clamp(3.5rem, 8vw, 7rem) 1.5rem; border-top: 1px solid var(--qm-border); background: radial-gradient(circle at 50% 100%, rgba(56, 189, 248, .17), transparent 48%), #101824; text-align: center; }
.quest-membership-final-cta h2 { max-width: 820px; margin: 0 auto 1rem; font-size: clamp(2.2rem, 5vw, 4rem); letter-spacing: -.04em; }
.quest-membership-final-cta > p:not(.quest-membership-kicker):not(.quest-membership-cta-note) { max-width: 720px; margin: 0 auto 1.6rem; color: var(--qm-muted); font-size: 1.08rem; line-height: 1.65; }

@media (max-width: 991.98px) {
    .quest-membership-hero, .quest-membership-report, .quest-membership-founder, .quest-membership-offer { grid-template-columns: 1fr; }
    .quest-membership-hero-visual { max-width: 680px; }
    .quest-membership-founder-photo { max-width: 340px; }
    .quest-membership-card-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .quest-membership-scenario-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .quest-membership-shell { border-radius: 0; }
    .quest-membership-graphs, .quest-membership-interaction-examples, .quest-membership-card-grid, .quest-membership-timeline, .quest-membership-process, .quest-membership-faq-list { grid-template-columns: 1fr; }
    .quest-membership-graph-facts, .quest-membership-facts, .quest-membership-report-features, .quest-membership-offer-content ul { grid-template-columns: 1fr; }
    .quest-membership-hero-status { position: static; margin-top: .65rem; }
    .quest-membership-flow { justify-content: flex-start; }
    .quest-membership-flow span:not(:last-child)::after { display: none; }
}

/* Keep the redesigned hero authoritative over the legacy membership rules below. */
.quest-membership-shell {
    gap: 0;
    padding-bottom: 0;
    overflow: hidden;
}

.quest-membership-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    justify-content: normal;
    padding: clamp(3rem, 7vw, 6.5rem) clamp(1.4rem, 5vw, 5rem);
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 87% 8%, rgba(56, 189, 248, .17), transparent 30%),
        linear-gradient(135deg, #1d2a3c 0%, #121927 68%);
    box-shadow: none;
}

.quest-membership-hero-copy {
    max-width: 660px;
    margin: 0 0 1.65rem;
    color: var(--qm-muted);
    font-size: clamp(1.02rem, 1.6vw, 1.25rem);
    line-height: 1.65;
}

@media (max-width: 991.98px) {
    .quest-membership-hero {
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        padding: clamp(3rem, 7vw, 6.5rem) clamp(1.4rem, 5vw, 5rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .quest-membership-cta { transition: none; }
    .quest-membership-cta:hover, .quest-membership-cta:focus { transform: none; }
}

.quest-legal-page {
    background: transparent;
}

.quest-legal-shell {
    color: #e2e8f0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.quest-legal-hero {
    background:
        linear-gradient(135deg, rgba(15, 23, 42, 0.96) 0%, rgba(30, 58, 85, 0.96) 58%, rgba(32, 75, 66, 0.96) 100%);
    border: 1px solid rgba(17, 24, 39, 0.12);
    border-radius: 8px;
    color: #f8fafc;
    padding: 2rem;
}

.quest-legal-hero--privacy {
    background:
        linear-gradient(135deg, rgba(22, 78, 99, 0.96) 0%, rgba(31, 41, 55, 0.96) 58%, rgba(73, 64, 40, 0.96) 100%);
}

.quest-legal-kicker {
    color: #a7f3d0;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.quest-legal-title {
    color: #ffffff;
    font-size: 3rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.05;
    margin: 0 0 0.8rem;
}

.quest-legal-intro {
    color: #dbeafe;
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0;
    max-width: 58rem;
}

.quest-legal-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.25rem;
}

.quest-legal-meta-pill,
.quest-legal-meta-link {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 750;
    min-height: 2.35rem;
    padding: 0.48rem 0.75rem;
    text-decoration: none;
}

.quest-legal-meta-pill {
    background: rgba(248, 250, 252, 0.14);
    color: #f8fafc;
}

.quest-legal-meta-link {
    background: rgba(16, 185, 129, 0.14);
    border: 1px solid rgba(167, 243, 208, 0.28);
    color: #d1fae5;
}

.quest-legal-meta-link:hover,
.quest-legal-meta-link:focus {
    background: rgba(16, 185, 129, 0.22);
    color: #ffffff;
}

.quest-legal-summary {
    margin-top: 0;
}

.quest-legal-summary-item,
.quest-legal-document {
    background: linear-gradient(180deg, #243246 0%, #1c2536 100%);
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(2, 6, 23, 0.28);
}

.quest-legal-summary-item {
    height: 100%;
    padding: 1.15rem;
}

.quest-legal-summary-icon {
    align-items: center;
    background: rgba(125, 211, 252, 0.12);
    border: 1px solid rgba(125, 211, 252, 0.18);
    border-radius: 8px;
    color: #7dd3fc;
    display: inline-flex;
    font-size: 1.15rem;
    height: 2.35rem;
    justify-content: center;
    margin-bottom: 0.85rem;
    width: 2.35rem;
}

.quest-legal-summary-title {
    color: #f8fafc;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 0 0 0.35rem;
}

.quest-legal-summary-copy {
    color: #cbd5e1;
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}

.quest-legal-document {
    overflow-x: auto;
    padding: 1.4rem;
}

.quest-legal-callout {
    background: rgba(15, 23, 42, 0.36);
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-left: 4px solid #38bdf8;
    border-radius: 8px;
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
}

.quest-legal-callout-title {
    color: #f8fafc;
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 0 0 0.4rem;
}

.quest-legal-callout-copy,
.quest-legal-callout-list {
    color: #cbd5e1;
    font-size: 0.96rem;
    line-height: 1.55;
}

.quest-legal-callout-copy {
    margin: 0;
}

.quest-legal-callout-list {
    margin: 0.75rem 0 0;
    padding-left: 1.2rem;
}

.quest-legal-callout-list li + li {
    margin-top: 0.25rem;
}

.quest-legal-markdown {
    color: #dbeafe;
    font-size: 0.98rem;
    line-height: 1.68;
}

.quest-legal-markdown h2 {
    border-top: 1px solid rgba(96, 165, 250, 0.18);
    color: #f8fafc;
    font-size: 1.32rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 1.45rem 0 0.7rem;
    padding-top: 1.1rem;
}

.quest-legal-markdown h2:first-child {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}

.quest-legal-markdown h3 {
    color: #7dd3fc;
    font-size: 1.06rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.3;
    margin: 1rem 0 0.4rem;
}

.quest-legal-markdown p,
.quest-legal-markdown ul,
.quest-legal-markdown table {
    margin-bottom: 0.85rem;
}

.quest-legal-markdown li + li {
    margin-top: 0.22rem;
}

.quest-legal-markdown a {
    color: #7dd3fc;
    font-weight: 700;
}

.quest-legal-markdown table {
    border-collapse: collapse;
    display: block;
    overflow-x: auto;
    width: 100%;
}

.quest-legal-markdown th,
.quest-legal-markdown td {
    border: 1px solid rgba(148, 163, 184, 0.22);
    min-width: 12rem;
    padding: 0.65rem 0.75rem;
    vertical-align: top;
}

.quest-legal-markdown th {
    background: #1e293b;
    color: #f8fafc;
    font-weight: 800;
}

.quest-legal-markdown td {
    background: rgba(15, 23, 42, 0.24);
    color: #dbeafe;
}

@media (max-width: 767.98px) {
    .quest-legal-hero,
    .quest-legal-document {
        padding: 1.1rem;
    }

    .quest-legal-title {
        font-size: 2.1rem;
    }

    .quest-legal-intro {
        font-size: 0.98rem;
    }

    .quest-legal-meta-pill,
    .quest-legal-meta-link {
        width: 100%;
    }

    .quest-legal-markdown {
        font-size: 0.95rem;
    }

    .quest-legal-markdown th,
    .quest-legal-markdown td {
        min-width: 10.5rem;
    }
}

.quest-contact-shell {
    --quest-contact-bg: #111827;
    --quest-contact-panel: #172033;
    --quest-contact-panel-2: #1f2937;
    --quest-contact-border: rgba(125, 211, 252, 0.18);
    --quest-contact-text: #f8fafc;
    --quest-contact-muted: #cbd5e1;
    --quest-contact-soft: #94a3b8;
    --quest-contact-accent: #38bdf8;
    --quest-contact-accent-2: #f59e0b;
    --quest-contact-success: #22c55e;
    --quest-contact-shadow: 0 18px 44px rgba(2, 6, 23, 0.32);
    color: var(--quest-contact-text);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.quest-contact-hero,
.quest-contact-form-panel,
.quest-contact-side-panel {
    border: 1px solid var(--quest-contact-border);
    border-radius: 20px;
    box-shadow: var(--quest-contact-shadow);
}

.quest-contact-hero {
    background:
        linear-gradient(135deg, #1f2a44 0%, #172033 54%, #111827 100%);
    padding: 2rem;
}

.quest-contact-title {
    color: var(--quest-contact-text);
    font-size: 3rem;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.05;
    margin: 0 0 0.85rem;
    max-width: 12ch;
}

.quest-contact-copy,
.quest-contact-section-copy,
.quest-contact-note-copy,
.quest-contact-channel-copy {
    color: var(--quest-contact-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 0;
}

.quest-contact-copy {
    max-width: 45rem;
}

.quest-contact-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.35rem;
}

.quest-contact-link {
    text-decoration: none;
}

.quest-contact-btn,
.quest-contact-submit {
    align-items: center;
    border-radius: 12px;
    border-width: 1px;
    display: inline-flex;
    font-weight: 750;
    justify-content: center;
    min-height: 2.9rem;
    padding: 0.72rem 1rem;
}

.quest-contact-btn--primary,
.quest-contact-submit {
    background: #0ea5e9;
    border-color: #38bdf8;
    color: #f8fafc;
}

.quest-contact-btn--primary:hover,
.quest-contact-btn--primary:focus,
.quest-contact-submit:hover,
.quest-contact-submit:focus {
    background: #0284c7;
    border-color: #7dd3fc;
    color: #f8fafc;
}

.quest-contact-btn--secondary {
    background: rgba(15, 23, 42, 0.42);
    border-color: rgba(245, 158, 11, 0.36);
    color: #fde68a;
}

.quest-contact-btn--secondary:hover,
.quest-contact-btn--secondary:focus {
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(251, 191, 36, 0.56);
    color: #fffbeb;
}

.quest-contact-note {
    background: rgba(15, 23, 42, 0.42);
    border: 1px solid rgba(245, 158, 11, 0.26);
    border-left: 4px solid var(--quest-contact-accent-2);
    border-radius: 16px;
    height: 100%;
    padding: 1.25rem;
}

.quest-contact-note-label {
    color: #fcd34d;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.quest-contact-note-title,
.quest-contact-section-title,
.quest-contact-channel-title {
    color: var(--quest-contact-text);
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.2;
}

.quest-contact-note-title {
    font-size: 1.35rem;
    margin: 0 0 0.55rem;
}

.quest-contact-main {
    margin-bottom: 0.5rem;
}

.quest-contact-form-panel,
.quest-contact-side-panel {
    background: linear-gradient(180deg, var(--quest-contact-panel-2) 0%, var(--quest-contact-panel) 100%);
    height: 100%;
    padding: 1.5rem;
}

.quest-contact-section-title {
    font-size: 1.55rem;
    margin: 0 0 0.45rem;
}

.quest-contact-form {
    margin-top: 1.25rem;
}

.quest-contact-field {
    margin-bottom: 1rem;
}

.quest-contact-label {
    color: #e2e8f0;
    font-size: 0.88rem;
    font-weight: 750;
    margin-bottom: 0.45rem;
}

.quest-contact-dropdown .Select-control,
.quest-contact-textarea {
    background: #0f172a;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 12px;
    color: #f8fafc;
    min-height: 2.8rem;
}

.quest-contact-dropdown .Select-control:hover,
.quest-contact-textarea:hover {
    border-color: rgba(125, 211, 252, 0.42);
}

.quest-contact-dropdown .Select-placeholder,
.quest-contact-dropdown .Select-value-label {
    color: #cbd5e1 !important;
}

.quest-contact-dropdown .Select-menu-outer {
    background: #111827;
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 12px;
    color: #f8fafc;
    margin-top: 0.35rem;
    overflow: hidden;
}

.quest-contact-dropdown .VirtualizedSelectOption {
    background: #111827;
    color: #e2e8f0;
}

.quest-contact-dropdown .VirtualizedSelectFocusedOption {
    background: #1e293b;
    color: #f8fafc;
}

.quest-contact-textarea {
    padding: 0.85rem 0.95rem;
    resize: vertical;
}

.quest-contact-textarea::placeholder {
    color: #94a3b8;
}

.quest-contact-submit {
    width: 100%;
}

.quest-contact-upload {
    align-items: center;
    background: rgba(15, 23, 42, 0.62);
    border: 1px dashed rgba(125, 211, 252, 0.36);
    border-radius: 12px;
    color: #dbeafe;
    cursor: pointer;
    display: flex;
    justify-content: center;
    min-height: 3.25rem;
    padding: 0.7rem 0.85rem;
    text-align: center;
    transition: background 0.18s ease, border-color 0.18s ease;
    width: 100%;
}

.quest-contact-upload:hover,
.quest-contact-upload:focus {
    background: rgba(14, 165, 233, 0.12);
    border-color: rgba(125, 211, 252, 0.7);
}

.quest-contact-upload-inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.94rem;
    font-weight: 700;
    gap: 0.3rem;
    justify-content: center;
}

.quest-contact-upload-hint {
    color: #94a3b8;
    font-size: 0.78rem;
    font-weight: 650;
    margin-left: 0.35rem;
}

.quest-contact-upload-preview {
    margin-top: 0.55rem;
}

.quest-contact-upload-status {
    align-items: center;
    border-radius: 10px;
    display: flex;
    font-size: 0.86rem;
    font-weight: 700;
    padding: 0.55rem 0.7rem;
}

.quest-contact-upload-status--success {
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.26);
    color: #bbf7d0;
}

.quest-contact-upload-status--error {
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.28);
    color: #fecaca;
}

.quest-contact-response {
    margin-top: 1rem;
}

.quest-contact-response .alert {
    border-radius: 12px;
    margin-bottom: 0;
}

.quest-contact-channel-list {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.15rem;
}

.quest-contact-channel {
    align-items: flex-start;
    background: rgba(15, 23, 42, 0.34);
    border: 1px solid rgba(125, 211, 252, 0.14);
    border-radius: 16px;
    color: inherit;
    display: flex;
    gap: 0.85rem;
    padding: 1rem;
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.quest-contact-channel:hover,
.quest-contact-channel:focus {
    background: rgba(14, 165, 233, 0.12);
    border-color: rgba(125, 211, 252, 0.38);
    color: inherit;
    transform: translateY(-1px);
}

.quest-contact-channel-icon {
    align-items: center;
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.24);
    border-radius: 12px;
    color: var(--quest-contact-success);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.15rem;
    height: 2.45rem;
    justify-content: center;
    width: 2.45rem;
}

.quest-contact-channel-title {
    font-size: 1rem;
    margin: 0 0 0.2rem;
}

.quest-contact-channel-copy {
    color: var(--quest-contact-soft);
    font-size: 0.92rem;
}

.quest-contact-channel-cta {
    color: #7dd3fc;
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 750;
    margin-top: 0.55rem;
}

@media (max-width: 991.98px) {
    .quest-contact-hero,
    .quest-contact-form-panel,
    .quest-contact-side-panel {
        padding: 1.25rem;
    }

    .quest-contact-title {
        font-size: 2.45rem;
        max-width: 14ch;
    }
}

@media (max-width: 575.98px) {
    .quest-contact-shell {
        gap: 1rem;
    }

    .quest-contact-title {
        font-size: 2.1rem;
    }

    .quest-contact-action-row,
    .quest-contact-link,
    .quest-contact-btn {
        width: 100%;
    }

    .quest-contact-channel {
        padding: 0.9rem;
    }
}

@media (max-width: 991.98px) {
    .quest-membership-status {
        display: none;
    }

    #status-content h6 {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .quest-navbar-container {
        gap: 0.5rem;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .quest-navbar-actions {
        gap: 0.45rem;
    }

    .quest-menu-label {
        display: none;
    }

    #status-content .btn {
        padding: 0.32rem 0.55rem;
        font-size: 0.8rem;
    }
}

.cross-icon {
    color: red;
}

.Select-menu-outer {
    display : block !important;
    }

/* Dash DataTables are themed through wrappers so app chrome and Bootstrap
   controls do not leak into generated table editors, filters or dropdowns. */
.quest-datatable {
    color: var(--quest-datatable-text, #0f172a);
}

.quest-datatable--light {
    --quest-datatable-accent: #2563eb;
    --quest-datatable-control-bg: #ffffff;
    --quest-datatable-control-border: #cbd5e1;
    --quest-datatable-control-hover-bg: #f1f5f9;
    --quest-datatable-control-text: #0f172a;
    --quest-datatable-dropdown-value-text: #0f172a;
    --quest-datatable-focus-bg: #eaf1fb;
    --quest-datatable-faded-header: #64748b;
    --quest-datatable-faded-text: #94a3b8;
    --quest-datatable-hover-bg: #f1f5f9;
    --quest-datatable-muted: #94a3b8;
    --quest-datatable-selected-bg: rgba(37, 99, 235, 0.14);
    --quest-datatable-text: #0f172a;
}

.quest-datatable--dark {
    --quest-datatable-accent: #7dd3fc;
    --quest-datatable-control-bg: #f8fafc;
    --quest-datatable-control-border: #94a3b8;
    --quest-datatable-control-hover-bg: #e0f2fe;
    --quest-datatable-control-text: #0f172a;
    --quest-datatable-dropdown-value-text: #e2e8f0;
    --quest-datatable-focus-bg: #243246;
    --quest-datatable-faded-header: #94a3b8;
    --quest-datatable-faded-text: #64748b;
    --quest-datatable-hover-bg: #1e293b;
    --quest-datatable-muted: #94a3b8;
    --quest-datatable-selected-bg: rgba(125, 211, 252, 0.16);
    --quest-datatable-text: #e2e8f0;
}

.quest-datatable .dash-spreadsheet-inner table {
    --accent: var(--quest-datatable-accent);
    --faded-text: var(--quest-datatable-faded-text);
    --faded-text-header: var(--quest-datatable-faded-header);
    --hover: var(--quest-datatable-hover-bg);
    --muted: var(--quest-datatable-muted);
    --selected-background: var(--quest-datatable-selected-bg);
    --text-color: var(--quest-datatable-text);
}

.quest-datatable .dash-spreadsheet-container td,
.quest-datatable .dash-spreadsheet-container th {
    color: var(--quest-datatable-text);
}

.quest-datatable .dash-spreadsheet-container .dash-cell.focused,
.quest-datatable .dash-spreadsheet-container .cell--selected {
    background-color: var(--quest-datatable-focus-bg) !important;
    color: var(--quest-datatable-text) !important;
}

.quest-datatable .dash-spreadsheet-inner input:not([type=radio]):not([type=checkbox]),
.quest-datatable .dash-spreadsheet-inner textarea {
    color: var(--quest-datatable-text) !important;
    text-shadow: none !important;
}

.quest-datatable .dash-spreadsheet-inner input.unfocused {
    color: transparent !important;
    text-shadow: 0 0 0 var(--quest-datatable-text) !important;
}

.quest-datatable .dash-spreadsheet-inner th.dash-filter input {
    background-color: var(--quest-datatable-control-bg);
    color: var(--quest-datatable-control-text) !important;
}

.quest-datatable .Select-control,
.quest-datatable .Select-menu-outer {
    background-color: var(--quest-datatable-control-bg);
    border-color: var(--quest-datatable-control-border);
    color: var(--quest-datatable-control-text);
}

.quest-datatable .Select-placeholder,
.quest-datatable .Select-value-label,
.quest-datatable .VirtualizedSelectOption {
    color: var(--quest-datatable-control-text) !important;
}

.quest-datatable .dash-spreadsheet-container td.dropdown .Select-control {
    background-color: transparent;
    border-color: transparent;
    color: var(--quest-datatable-dropdown-value-text);
}

.quest-datatable .dash-spreadsheet-container td.dropdown .Select-placeholder,
.quest-datatable .dash-spreadsheet-container td.dropdown .Select-value-label,
.quest-datatable .dash-spreadsheet-container td.dropdown .Select-input > input {
    color: var(--quest-datatable-dropdown-value-text) !important;
}

.quest-datatable .dash-spreadsheet-container .Select-control .Select-placeholder,
.quest-datatable .dash-spreadsheet-container .Select-control .Select-value-label,
.quest-datatable .dash-spreadsheet-container .Select-control .Select-input > input {
    color: var(--quest-datatable-dropdown-value-text) !important;
}

.quest-datatable .dash-spreadsheet-container td.dropdown .Select-arrow {
    border-top-color: var(--quest-datatable-dropdown-value-text);
}

.quest-datatable .dash-spreadsheet-container .Select-control .Select-arrow {
    border-top-color: var(--quest-datatable-dropdown-value-text);
}

.quest-datatable .dash-spreadsheet-container td.dropdown .Select-menu-outer .VirtualizedSelectOption {
    color: var(--quest-datatable-control-text) !important;
}

.quest-datatable .VirtualizedSelectFocusedOption {
    background-color: var(--quest-datatable-control-hover-bg);
}

.monthly-report-page-intro {
    padding: 2rem 2.25rem;
    margin-bottom: 1.5rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(196, 138, 47, 0.22), transparent 30%),
        linear-gradient(135deg, #152033 0%, #202d47 60%, #12263f 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 64px rgba(5, 10, 20, 0.28);
    color: #f8fafc;
}

.monthly-report-shell {
    color: #0f172a;
}

.monthly-report-hero,
.monthly-report-toolbar,
.monthly-report-section-card,
.monthly-report-card {
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
}

.monthly-report-toolbar,
.monthly-report-section-card {
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, #f8fbff 100%);
}

.monthly-report-toolbar {
    padding: 1.4rem 1.5rem 0.75rem;
    margin-bottom: 1.5rem;
}

.monthly-report-hero {
    padding: 2rem 2.15rem;
    margin-bottom: 1.5rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(196, 138, 47, 0.18), transparent 34%),
        linear-gradient(135deg, #172033 0%, #24344e 62%, #10243b 100%);
    color: #f8fafc;
}

.monthly-report-eyebrow,
.monthly-report-section-eyebrow,
.monthly-report-card-kicker {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.72rem;
    font-weight: 700;
}

.monthly-report-eyebrow,
.monthly-report-section-eyebrow {
    color: #d4af72;
}

.monthly-report-page-title,
.monthly-report-title,
.monthly-report-section-title,
.monthly-report-card-title,
.monthly-report-stat-value {
    font-family: Georgia, "Times New Roman", serif;
}

.monthly-report-page-title {
    margin: 0.35rem 0 0.5rem;
    font-size: clamp(2rem, 4vw, 3.15rem);
}

.monthly-report-page-copy,
.monthly-report-hero-copy,
.monthly-report-hero-subcopy,
.monthly-report-toolbar-copy,
.monthly-report-section-copy,
.monthly-report-note,
.monthly-report-stat-note,
.monthly-report-list-note {
    color: #475569;
}

.monthly-report-page-copy {
    margin-bottom: 0;
    max-width: 42rem;
    color: rgba(248, 250, 252, 0.82);
    font-size: 1.03rem;
}

.monthly-report-toolbar-title,
.monthly-report-section-title,
.monthly-report-card-title {
    margin: 0.25rem 0 0.45rem;
    color: #0f172a;
}

.monthly-report-toolbar-copy {
    margin-bottom: 1rem;
    max-width: 42rem;
    font-size: 0.96rem;
}

.monthly-report-title {
    margin: 0.35rem 0 0.65rem;
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    color: #f8fafc;
}

.monthly-report-hero-copy,
.monthly-report-hero-subcopy {
    max-width: 40rem;
    color: rgba(248, 250, 252, 0.86);
}

.monthly-report-hero-subcopy {
    margin-bottom: 0;
    font-size: 0.95rem;
}

.monthly-report-meta-list {
    display: grid;
    gap: 0.85rem;
    height: 100%;
}

.monthly-report-meta-item {
    padding: 0.9rem 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(6px);
}

.monthly-report-meta-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(248, 250, 252, 0.68);
    margin-bottom: 0.35rem;
}

.monthly-report-meta-value {
    color: #f8fafc;
    font-weight: 600;
    line-height: 1.4;
}

.monthly-report-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.2rem;
}

.monthly-report-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.48rem 0.86rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #f8fafc;
    font-size: 0.88rem;
    font-weight: 600;
}

.monthly-report-chip--muted {
    background: rgba(15, 118, 110, 0.08);
    border: 1px solid rgba(15, 118, 110, 0.12);
    color: #0f766e;
}

.monthly-report-summary-grid {
    margin-bottom: 0.25rem;
}

.monthly-report-stat-card {
    height: 100%;
    padding: 1.15rem 1.2rem;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.monthly-report-stat-card--stress {
    background: linear-gradient(180deg, #fff7ed 0%, #fffbeb 100%);
}

.monthly-report-stat-card--accent {
    background: linear-gradient(180deg, #ecfeff 0%, #f8fafc 100%);
}

.monthly-report-stat-label {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.5rem;
}

.monthly-report-stat-value {
    font-size: clamp(1.6rem, 3vw, 2rem);
    line-height: 1.1;
    color: #0f172a;
    margin-bottom: 0.45rem;
}

.monthly-report-stat-note {
    margin-bottom: 0;
    font-size: 0.92rem;
    line-height: 1.45;
}

.monthly-report-section-card .card-body {
    padding: 1.5rem;
}

.monthly-report-section-header {
    margin-bottom: 1.2rem;
}

.monthly-report-section-title {
    font-size: clamp(1.55rem, 2.8vw, 2.1rem);
}

.monthly-report-section-copy {
    margin-bottom: 0;
    max-width: 48rem;
    font-size: 0.97rem;
    line-height: 1.55;
}

.monthly-report-card {
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.monthly-report-card .card-body {
    padding: 1.2rem 1.2rem 1.1rem;
}

.monthly-report-card-kicker {
    color: #0f766e;
    margin-bottom: 0.45rem;
}

.monthly-report-card-title {
    font-size: 1.3rem;
}

.monthly-report-note {
    font-size: 0.94rem;
    line-height: 1.55;
}

.monthly-report-list {
    display: grid;
    gap: 0.8rem;
}

.monthly-report-list-item {
    padding: 0.95rem 1rem;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.monthly-report-list-kicker {
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.35rem;
}

.monthly-report-list-value {
    font-size: 1.08rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.2rem;
}

.monthly-report-list-note {
    font-size: 0.9rem;
    line-height: 1.45;
}

.monthly-report-table {
    margin-bottom: 0.75rem;
}

.monthly-report-table th {
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.monthly-report-table td {
    border-top: 1px solid rgba(226, 232, 240, 0.7);
    color: #0f172a;
    padding-top: 0.82rem;
    padding-bottom: 0.82rem;
}

.monthly-report-graph-card .card-body {
    padding: 0.55rem 0.55rem 0.3rem;
}

.monthly-report-graph {
    min-height: 360px;
}

@media (max-width: 991.98px) {
    .monthly-report-page-intro,
    .monthly-report-hero,
    .monthly-report-toolbar {
        padding: 1.5rem;
    }

    .monthly-report-section-card .card-body {
        padding: 1.2rem;
    }
}

.life-planner-accordion {
    margin-top: 1.15rem;
}

.life-planner-accordion .accordion-item {
    margin-bottom: 0.9rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 18px;
    overflow: hidden;
    background: transparent;
}

.life-planner-accordion .accordion-button {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    color: #0f172a;
    box-shadow: none;
    padding: 1rem 1.1rem;
}

.life-planner-accordion .accordion-button:not(.collapsed) {
    background: linear-gradient(180deg, #eff6ff 0%, #f8fbff 100%);
    color: #0f172a;
    box-shadow: none;
}

.life-planner-accordion .accordion-button:focus {
    box-shadow: none;
    border-color: rgba(15, 118, 110, 0.25);
}

.life-planner-accordion-title {
    display: flex;
    flex-direction: column;
    gap: 0.16rem;
}

.life-planner-accordion-label {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.3;
}

.life-planner-accordion-copy {
    font-size: 0.85rem;
    color: #64748b;
    line-height: 1.4;
}

.life-planner-accordion-content {
    background: linear-gradient(180deg, #282a3a 0%, #222738 100%);
    color: #f8fafc;
    padding: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.life-planner-accordion-content .form-control,
.life-planner-accordion-content .form-select,
.life-planner-accordion-content .Select-control,
.life-planner-accordion-content .dash-dropdown {
    background-color: #ffffff;
}

.life-calc-hero {
    padding: 1.8rem 2rem;
    margin-bottom: 1.25rem;
    border-radius: 8px;
    background: linear-gradient(135deg, #24324a 0%, #1d2738 58%, #161d2b 100%);
    border: 1px solid rgba(96, 165, 250, 0.18);
    box-shadow: 0 18px 40px rgba(2, 6, 23, 0.34);
    color: #f8fafc;
}

.life-calc-kicker,
.life-calc-stage-kicker {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.72rem;
    font-weight: 700;
}

.life-calc-kicker {
    color: #7dd3fc;
}

.life-calc-page-title {
    margin: 0.35rem 0 0.5rem;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1.08;
}

.life-calc-page-copy {
    margin-bottom: 0;
    max-width: 44rem;
    color: #cbd5e1;
    font-size: 1rem;
    line-height: 1.55;
}

.life-calc-toolbar,
.life-calc-stage-card,
.life-calc-side-card {
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 8px;
    background: linear-gradient(180deg, #243246 0%, #1c2536 100%);
    box-shadow: 0 14px 30px rgba(2, 6, 23, 0.28);
}

.life-calc-toolbar {
    padding: 1.25rem 1.4rem 0.9rem;
    margin-bottom: 1.25rem;
}

.life-calc-toolbar-title,
.life-calc-stage-title,
.life-calc-side-title {
    margin: 0.25rem 0 0.45rem;
    color: #f8fafc;
    font-weight: 700;
}

.life-calc-toolbar-copy,
.life-calc-stage-copy {
    color: #cbd5e1;
    font-size: 0.96rem;
    line-height: 1.55;
    max-width: 52rem;
}

.life-calc-stage-card .card-body,
.life-calc-side-card .card-body {
    padding: 1.3rem;
}

.life-calc-stage-kicker {
    color: #7dd3fc;
    margin-bottom: 0.3rem;
}

.life-calc-stage-title {
    font-size: clamp(1.4rem, 2.2vw, 1.95rem);
}

.life-calc-side-title {
    font-size: 1.15rem;
}

.life-calc-accordion {
    margin-top: 1rem;
}

.life-calc-accordion .accordion-item {
    margin-bottom: 0.85rem;
    border: 1px solid rgba(96, 165, 250, 0.14);
    border-radius: 8px;
    overflow: hidden;
    background: #1d2638;
}

.life-calc-accordion .accordion-button {
    background: linear-gradient(180deg, #243246 0%, #1c2536 100%);
    color: #f8fafc;
    box-shadow: none;
    padding: 0.95rem 1rem;
    border-left: 4px solid #334155;
}

.life-calc-accordion .accordion-button:not(.collapsed) {
    background: linear-gradient(180deg, #2a3a54 0%, #1e2b42 100%);
    color: #f8fafc;
    box-shadow: none;
    border-left-color: #60a5fa;
}

.life-calc-accordion .accordion-button:focus {
    box-shadow: none;
    border-color: rgba(96, 165, 250, 0.28);
}

.life-calc-accordion-title {
    display: flex;
    flex-direction: column;
    gap: 0.14rem;
}

.life-calc-accordion-label {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.3;
}

.life-calc-accordion-copy {
    font-size: 0.84rem;
    color: #94a3b8;
    line-height: 1.4;
}

.life-calc-accordion-hint {
    font-size: 0.73rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7dd3fc;
    margin-top: 0.25rem;
}

.life-calc-accordion-content {
    background: linear-gradient(180deg, #182334 0%, #111827 100%);
    color: #e2e8f0;
    padding: 1rem;
    border-top: 1px solid rgba(96, 165, 250, 0.16);
}

.life-calc-accordion-content .input-group-text {
    background: #1e293b;
    color: #dbeafe;
    border-color: #475569;
}

.life-calc-accordion-content .form-control,
.life-calc-accordion-content .form-select,
.life-calc-accordion-content .Select-control,
.life-calc-accordion-content .dash-dropdown {
    background-color: #f8fafc;
    color: #0f172a;
    border-color: #64748b;
}

.life-calc-accordion-content .form-control::placeholder {
    color: #64748b;
}

.life-calc-accordion-content h1,
.life-calc-accordion-content h2,
.life-calc-accordion-content h3,
.life-calc-accordion-content h4,
.life-calc-accordion-content h5,
.life-calc-accordion-content h6,
.life-calc-accordion-content label,
.life-calc-accordion-content p,
.life-calc-accordion-content .form-check-label,
.life-calc-accordion-content [style*="color"]:not(.dash-table-container, .dash-table-container *) {
    color: #e2e8f0 !important;
}

.life-calc-accordion .accordion-button::after {
    transform: scale(1.15);
    filter: invert(1) brightness(1.05);
}

.life-calc-accordion .accordion-button:not(.collapsed)::after {
    filter: invert(1) brightness(1.2);
}

.life-calc-map-shell {
    width: min(100%, 860px);
    margin: 0 auto;
    padding: 0 1rem;
}

.life-calc-map-shell .leaflet-container {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(96, 165, 250, 0.18);
    box-shadow: 0 14px 28px rgba(2, 6, 23, 0.3);
}

.life-calc-map-output-card .dash-table-container {
    margin-top: 0.35rem;
}

.life-calc-map-output-card .dash-table-container .dash-spreadsheet-container {
    overflow-x: auto;
}

.life-calc-side-card {
    margin-top: 0.25rem;
}

.quest-calc-hero {
    padding: 1.8rem 2rem;
    margin-bottom: 1.25rem;
    border-radius: 8px;
    background: linear-gradient(135deg, #24324a 0%, #1d2738 58%, #161d2b 100%);
    border: 1px solid rgba(96, 165, 250, 0.18);
    box-shadow: 0 18px 40px rgba(2, 6, 23, 0.34);
    color: #f8fafc;
}

.quest-calc-kicker,
.quest-calc-stage-kicker {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.72rem;
    font-weight: 700;
    color: #7dd3fc;
}

.quest-calc-page-title {
    margin: 0.35rem 0 0.5rem;
    color: #f8fafc;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.08;
}

.quest-calc-page-copy {
    margin-bottom: 0;
    max-width: 48rem;
    color: #cbd5e1;
    font-size: 1rem;
    line-height: 1.55;
}

.quest-calc-jumpbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.quest-calc-jump-label {
    color: #7dd3fc;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.quest-calc-jump-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.quest-calc-jump-link {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.7rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.45);
    border: 1px solid rgba(147, 197, 253, 0.2);
    color: #dbeafe;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.1;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.quest-calc-jump-link:hover,
.quest-calc-jump-link:focus {
    background: rgba(37, 99, 235, 0.24);
    border-color: rgba(147, 197, 253, 0.42);
    color: #ffffff;
    text-decoration: none;
}

.quest-calc-stage-card {
    scroll-margin-top: 1rem;
    margin-bottom: 1.25rem;
    padding: 1.3rem;
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 8px;
    background: linear-gradient(180deg, #243246 0%, #1c2536 100%);
    box-shadow: 0 14px 30px rgba(2, 6, 23, 0.28);
    color: #e2e8f0;
}

.quest-calc-stage-title {
    margin: 0.25rem 0 0.45rem;
    color: #f8fafc;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.2;
}

.quest-calc-stage-copy {
    color: #cbd5e1;
    font-size: 0.96rem;
    line-height: 1.55;
    max-width: 52rem;
}

.quest-calc-stage-content {
    margin-top: 1rem;
}

.quest-ai-prompt-helper {
    color: #cbd5e1;
    font-size: 0.88rem;
    line-height: 1.35;
    margin-top: 0.45rem;
}

.quest-ai-sample-block {
    margin-top: 0.95rem;
}

.quest-ai-sample-title {
    color: #164e63;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.quest-ai-sample-list {
    display: grid;
    gap: 0.45rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.quest-ai-sample-list li {
    background: #e0f2fe;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    color: #0f172a;
    font-size: 0.9rem;
    line-height: 1.35;
    padding: 0.55rem 0.65rem;
}

.quest-calc-stage-card .card {
    border-color: rgba(96, 165, 250, 0.16);
    border-radius: 8px;
    overflow: hidden;
}

.quest-calc-stage-card .card-header {
    background: #1e293b;
    border-color: rgba(96, 165, 250, 0.16);
}

.quest-calc-stage-card .card-body {
    background: #f8fafc;
    color: #0f172a;
}

.quest-calc-stage-card .input-group-text {
    background: #1e293b;
    color: #dbeafe;
    border-color: #475569;
}

.quest-calc-stage-card .form-control,
.quest-calc-stage-card .form-select,
.quest-calc-stage-card .Select-control,
.quest-calc-stage-card .dash-dropdown {
    background-color: #f8fafc;
    color: #0f172a;
    border-color: #64748b;
}

.quest-calc-stage-card label,
.quest-calc-stage-card .form-check-label {
    color: #e2e8f0;
}

.quest-calc-stage-card .rc-slider-mark-text,
.quest-calc-stage-card .rc-slider-mark-text-active {
    color: #cbd5e1;
}

.quest-calc-results-panel .js-plotly-plot,
.quest-calc-results-panel .dash-graph,
.quest-calc-results-panel .dash-table-container {
    border-radius: 8px;
    overflow: hidden;
}

.quest-calc-action-block,
.quest-calc-save-load,
.quest-calc-scenarios {
    scroll-margin-top: 1rem;
    margin-bottom: 1.25rem;
    padding: 1.3rem;
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 8px;
    background: linear-gradient(180deg, #243246 0%, #1c2536 100%);
    box-shadow: 0 14px 30px rgba(2, 6, 23, 0.28);
    color: #e2e8f0;
}

.quest-calc-action-block > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.quest-calc-action-text {
    min-width: 0;
}

.quest-calc-action-kicker {
    color: #7dd3fc;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.quest-calc-action-title,
.quest-calc-save-title {
    color: #f8fafc;
    font-weight: 700;
}

.quest-calc-action-title {
    margin: 0.25rem 0 0.35rem;
    font-size: 1.25rem;
}

.quest-calc-action-copy {
    max-width: 46rem;
    margin-bottom: 0;
    color: #cbd5e1;
    font-size: 0.94rem;
    line-height: 1.5;
}

.quest-calc-action-controls {
    min-width: 18rem;
}

.quest-calc-action-buttons,
.quest-calc-save-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.quest-calc-save-load .row,
.quest-calc-scenarios .row {
    margin-top: 1rem;
}

.quest-calc-save-card {
    height: 100%;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.34);
}

.quest-calc-save-title {
    margin-bottom: 0.75rem;
    font-size: 1rem;
}

@media (max-width: 991.98px) {
    .life-calc-hero,
    .life-calc-toolbar,
    .life-calc-stage-card .card-body,
    .life-calc-side-card .card-body {
        padding: 1.15rem;
    }

    .life-calc-map-shell {
        width: 100%;
        padding: 0;
    }

    .quest-calc-hero,
    .quest-calc-stage-card,
    .quest-calc-action-block,
    .quest-calc-save-load,
    .quest-calc-scenarios {
        padding: 1.15rem;
    }

    .quest-calc-action-block > div {
        flex-direction: column;
    }

    .quest-calc-action-controls {
        min-width: 0;
    }

    .quest-calc-page-title {
        font-size: 2.35rem;
    }
}

@media (max-width: 767.98px) {
    .quest-calc-page-title {
        font-size: 2rem;
    }

    .quest-calc-stage-title {
        font-size: 1.25rem;
    }
}

.quest-home-shell {
    --quest-home-bg: #161d2b;
    --quest-home-panel: #1c2536;
    --quest-home-panel-top: #243246;
    --quest-home-panel-open: #2a3a54;
    --quest-home-border: rgba(96, 165, 250, 0.16);
    --quest-home-accent: #7dd3fc;
    --quest-home-accent-strong: #38bdf8;
    --quest-home-success: #34d399;
    --quest-home-text: #f8fafc;
    --quest-home-muted: #cbd5e1;
    --quest-home-soft: #94a3b8;
    --quest-home-shadow: 0 18px 40px rgba(2, 6, 23, 0.32);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    color: var(--quest-home-text);
}

.quest-membership-shell {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding-bottom: 2rem;
}

.quest-membership-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 2rem;
    border: 1px solid rgba(96, 165, 250, 0.18);
    border-radius: 8px;
    background: linear-gradient(135deg, #24324a 0%, #1d2738 58%, #161d2b 100%);
    box-shadow: 0 18px 40px rgba(2, 6, 23, 0.34);
    color: #f8fafc;
}

.quest-membership-hero-copy {
    max-width: 58rem;
}

.quest-membership-title {
    margin: 0 0 0.75rem;
    color: #f8fafc;
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    font-weight: 750;
    line-height: 1.05;
}

.quest-membership-copy {
    max-width: 52rem;
    margin: 0;
    color: #cbd5e1;
    font-size: 1rem;
    line-height: 1.6;
}

.quest-membership-trust-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(7rem, 1fr));
    gap: 0.65rem;
    min-width: min(100%, 28rem);
}

.quest-membership-trust-row > div {
    padding: 0.8rem;
    border: 1px solid rgba(147, 197, 253, 0.18);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.36);
}

.quest-membership-trust-row strong,
.quest-membership-trust-row span {
    display: block;
}

.quest-membership-trust-row strong {
    color: #f8fafc;
    font-size: 1.05rem;
}

.quest-membership-trust-row span {
    color: #cbd5e1;
    font-size: 0.82rem;
}

.quest-membership-plan-grid {
    align-items: stretch;
}

.quest-membership-plus {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    color: #e2e8f0;
    text-align: center;
}

.quest-membership-plus span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid rgba(250, 204, 21, 0.38);
    border-radius: 50%;
    background: rgba(250, 204, 21, 0.12);
    color: #fde68a;
    font-size: 2rem;
    line-height: 1;
}

.quest-membership-essential-wrap {
    max-width: 42rem;
    width: 100%;
    margin: 0 auto;
    opacity: 0.92;
}

.quest-membership-free-section {
    display: grid;
    grid-template-columns: minmax(16rem, 0.8fr) minmax(20rem, 1.2fr);
    gap: 1.25rem;
    align-items: center;
    padding: 1.35rem;
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.24);
}

.quest-membership-free-eyebrow {
    display: block;
    margin-bottom: 0.3rem;
    color: #7dd3fc;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.quest-membership-premium-heading {
    padding-top: 0.75rem;
    color: #f8fafc;
    text-align: center;
}

.quest-membership-premium-heading h2 {
    margin: 0;
    color: #f8fafc;
    font-size: 1.65rem;
}

.quest-membership-plan {
    height: 100%;
    padding: 1.35rem;
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 8px;
    background: linear-gradient(180deg, #243246 0%, #1c2536 100%);
    box-shadow: 0 14px 30px rgba(2, 6, 23, 0.28);
    color: #e2e8f0;
}

.quest-membership-plan--growth {
    border-color: rgba(125, 211, 252, 0.36);
}

.quest-membership-plan--mastery {
    border-color: rgba(52, 211, 153, 0.36);
}

.quest-membership-plan-header {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.quest-membership-plan-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 8px;
    background: rgba(125, 211, 252, 0.14);
    color: #7dd3fc;
    font-size: 1.2rem;
}

.quest-membership-plan--mastery .quest-membership-plan-icon {
    background: rgba(52, 211, 153, 0.14);
    color: #86efac;
}

.quest-membership-plan-name {
    margin: 0;
    color: #f8fafc;
    font-size: 1.35rem;
    font-weight: 750;
}

.quest-membership-plan-strapline {
    margin: 0.2rem 0 0;
    color: #94a3b8;
    font-size: 0.9rem;
}

.quest-membership-plan-price {
    margin-bottom: 0.65rem;
    color: #f8fafc;
    font-size: 1.8rem;
    font-weight: 750;
    line-height: 1;
}

.quest-membership-plan-price-note {
    margin: -0.3rem 0 0.75rem;
    color: #7dd3fc;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.3;
}

.quest-membership-plan--mastery .quest-membership-plan-price-note {
    color: #86efac;
}

.quest-membership-plan-copy,
.quest-membership-plan-footnote {
    color: #cbd5e1;
    font-size: 0.94rem;
    line-height: 1.5;
}

.quest-membership-feature-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.quest-membership-feature-list li {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    color: #e2e8f0;
    font-size: 0.92rem;
    line-height: 1.4;
}

.quest-membership-feature-list i {
    color: #7dd3fc;
    margin-top: 0.1rem;
}

.quest-membership-plan--mastery .quest-membership-feature-list i {
    color: #86efac;
}

.quest-membership-session-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
    gap: 1.4rem;
    align-items: center;
    padding: 1.45rem;
    border: 1px solid rgba(250, 204, 21, 0.38);
    border-radius: 8px;
    background: linear-gradient(135deg, #273645 0%, #1e2a38 54%, #172232 100%);
    box-shadow: 0 16px 34px rgba(2, 6, 23, 0.3);
    color: #e2e8f0;
}

.quest-membership-session-heading {
    display: flex;
    gap: 0.85rem;
    align-items: center;
    margin-bottom: 0.85rem;
}

.quest-membership-session-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 8px;
    background: rgba(250, 204, 21, 0.15);
    color: #fde68a;
    font-size: 1.25rem;
}

.quest-membership-session-eyebrow {
    display: block;
    margin-bottom: 0.18rem;
    color: #fde68a;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.quest-membership-session-title {
    margin: 0;
    color: #f8fafc;
    font-size: 1.45rem;
    font-weight: 750;
    line-height: 1.2;
}

.quest-membership-session-copy {
    max-width: 58rem;
    margin: 0;
    color: #cbd5e1;
    font-size: 0.95rem;
    line-height: 1.5;
}

.quest-membership-session-disclaimer {
    margin: 0.95rem 0 0;
    color: #94a3b8;
    font-size: 0.82rem;
    line-height: 1.45;
}

.quest-membership-session-action {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    align-items: stretch;
    padding: 1rem;
    border: 1px solid rgba(250, 204, 21, 0.18);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.32);
}

.quest-membership-session-price {
    color: #f8fafc;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
}

.quest-membership-session-price-note {
    color: #fde68a;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.35;
}

.quest-membership-session-button {
    margin-top: 0.25rem;
    border-radius: 8px;
    font-weight: 750;
}

.quest-membership-session-smallprint {
    margin: 0.25rem 0 0;
    color: #cbd5e1;
    font-size: 0.84rem;
    line-height: 1.45;
}

.quest-membership-selector-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
    padding: 1.35rem;
    border: 1px solid rgba(96, 165, 250, 0.16);
    border-radius: 8px;
    background: linear-gradient(180deg, #243246 0%, #1c2536 100%);
    box-shadow: 0 14px 30px rgba(2, 6, 23, 0.28);
    color: #e2e8f0;
}

.quest-membership-selector-title {
    margin: 0 0 0.35rem;
    color: #f8fafc;
    font-size: 1.35rem;
    font-weight: 750;
}

.quest-membership-selector-copy {
    max-width: 42rem;
    margin: 0;
    color: #cbd5e1;
    font-size: 0.95rem;
    line-height: 1.5;
}

.quest-membership-selector-controls {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) auto;
    align-items: end;
    gap: 0.75rem;
    min-width: min(100%, 36rem);
}

.quest-membership-select-label {
    grid-column: 1 / -1;
    margin-bottom: -0.45rem;
    color: #e2e8f0;
    font-size: 0.86rem;
    font-weight: 700;
}

.quest-membership-tier-select {
    min-width: 18rem;
    color: #0f172a;
}

.quest-membership-confirm {
    border-radius: 8px;
    font-weight: 750;
}

.quest-membership-selection-status {
    grid-column: 1 / -1;
}

.quest-membership-status-alert {
    padding: 0.85rem 1rem;
    border: 1px solid rgba(125, 211, 252, 0.24);
    border-radius: 8px;
    background: rgba(14, 165, 233, 0.12);
    color: #e0f2fe;
    font-weight: 700;
    text-align: center;
}

.quest-membership-status-alert--warning {
    border-color: rgba(251, 191, 36, 0.38);
    background: rgba(251, 191, 36, 0.12);
    color: #fef3c7;
}

.quest-membership-status-alert--success {
    border-color: rgba(52, 211, 153, 0.34);
    background: rgba(52, 211, 153, 0.12);
    color: #dcfce7;
}

.quest-membership-status-alert--neutral {
    border-color: rgba(148, 163, 184, 0.24);
    background: rgba(15, 23, 42, 0.34);
    color: #e2e8f0;
}

.quest-membership-support-note {
    margin: 0;
    color: #94a3b8;
    font-size: 0.9rem;
    text-align: center;
}

@media (max-width: 991.98px) {
    .quest-membership-hero,
    .quest-membership-free-section,
    .quest-membership-session-panel,
    .quest-membership-selector-panel {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .quest-membership-hero {
        flex-direction: column;
        align-items: stretch;
        padding: 1.25rem;
    }

    .quest-membership-trust-row {
        min-width: 0;
    }

    .quest-membership-selector-controls {
        grid-template-columns: 1fr;
    }

    .quest-membership-session-action {
        max-width: 26rem;
    }
}

@media (max-width: 575.98px) {
    .quest-membership-trust-row {
        grid-template-columns: 1fr;
    }

    .quest-membership-selector-controls,
    .quest-membership-tier-select,
    .quest-membership-session-button,
    .quest-membership-confirm {
        width: 100%;
    }

    .quest-membership-session-panel {
        padding: 1.15rem;
    }

    .quest-membership-session-heading {
        align-items: flex-start;
    }

    .quest-membership-session-action {
        max-width: none;
    }
}

.quest-home-hero,
.quest-home-toolbar,
.quest-home-section,
.quest-home-cta {
    border: 1px solid var(--quest-home-border);
    border-radius: 22px;
    background: linear-gradient(180deg, var(--quest-home-panel-top) 0%, var(--quest-home-panel) 100%);
    box-shadow: var(--quest-home-shadow);
}

.quest-home-hero {
    padding: 1.8rem 2rem;
    background:
        radial-gradient(circle at top right, rgba(96, 165, 250, 0.28), transparent 28%),
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.16), transparent 24%),
        linear-gradient(135deg, #24324a 0%, #1d2738 58%, var(--quest-home-bg) 100%);
}

.quest-home-toolbar,
.quest-home-section,
.quest-home-cta {
    padding: 1.35rem 1.45rem;
}

.quest-home-kicker,
.quest-home-stage-kicker,
.quest-home-preview-kicker,
.quest-home-session-label {
    color: var(--quest-home-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.4;
    margin-bottom: 0.3rem;
    text-transform: uppercase;
}

.quest-home-title {
    color: var(--quest-home-text);
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.08;
    margin: 0.35rem 0 0.65rem;
    max-width: 13ch;
}

.quest-home-section-title,
.quest-home-stage-title,
.quest-home-benefit-title {
    color: var(--quest-home-text);
    font-weight: 700;
    line-height: 1.2;
    margin: 0.25rem 0 0.45rem;
}

.quest-home-section-title {
    font-size: 1.9rem;
    max-width: 44rem;
}

.quest-home-stage-title {
    font-size: 1.45rem;
}

.quest-home-benefit-title {
    font-size: 1.05rem;
}

.quest-home-copy,
.quest-home-section-copy,
.quest-home-stage-copy,
.quest-home-benefit-copy,
.quest-home-preview-copy {
    color: var(--quest-home-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 0;
}

.quest-home-copy {
    max-width: 44rem;
}

.quest-home-section-copy {
    max-width: 52rem;
}

.quest-home-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.quest-home-pill {
    align-items: center;
    background: rgba(37, 99, 235, 0.18);
    border: 1px solid rgba(147, 197, 253, 0.26);
    border-radius: 999px;
    color: #dbeafe;
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 0.45rem 0.85rem;
}

.quest-home-pill--soft {
    background: rgba(15, 23, 42, 0.42);
    border-color: rgba(147, 197, 253, 0.22);
    color: #bfdbfe;
}

.quest-home-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.3rem;
}

.quest-home-link,
.quest-home-text-link {
    text-decoration: none;
}

.quest-home-btn {
    align-items: center;
    border-radius: 12px;
    border-width: 1px;
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    min-height: 2.95rem;
    padding: 0.75rem 1.05rem;
}

.quest-home-btn--primary {
    background: #0ea5e9;
    border-color: #38bdf8;
    color: #f8fafc;
}

.quest-home-btn--primary:hover,
.quest-home-btn--primary:focus {
    background: #0284c7;
    border-color: #7dd3fc;
    color: #f8fafc;
}

.quest-home-btn--secondary {
    background: rgba(15, 23, 42, 0.42);
    border-color: rgba(147, 197, 253, 0.28);
    color: #dbeafe;
}

.quest-home-btn--secondary:hover,
.quest-home-btn--secondary:focus {
    background: rgba(37, 99, 235, 0.24);
    border-color: rgba(147, 197, 253, 0.4);
    color: #f8fafc;
}

.quest-home-hero-visual {
    position: relative;
}

.quest-home-hero-image,
.quest-home-card-image {
    background: #f8fafc;
    border: 1px solid rgba(96, 165, 250, 0.18);
    box-shadow: 0 14px 28px rgba(2, 6, 23, 0.3);
    display: block;
    width: 100%;
}

.quest-home-hero-image {
    border-radius: 18px;
}

.quest-home-preview-note {
    background: rgba(15, 23, 42, 0.8);
    border: 1px solid rgba(147, 197, 253, 0.2);
    border-radius: 16px;
    bottom: 1rem;
    left: 1rem;
    max-width: 24rem;
    padding: 0.85rem 1rem;
    position: absolute;
}

.quest-home-preview-copy {
    color: #dbeafe;
    font-size: 0.92rem;
}

.quest-home-benefit-grid,
.quest-home-card-grid {
    margin-top: 1rem;
}

.quest-home-benefit-item {
    align-items: flex-start;
    background: rgba(15, 23, 42, 0.3);
    border: 1px solid rgba(96, 165, 250, 0.14);
    border-left: 4px solid #334155;
    border-radius: 16px;
    display: flex;
    gap: 0.85rem;
    height: 100%;
    padding: 1rem;
}

.quest-home-benefit-icon {
    align-items: center;
    background: rgba(52, 211, 153, 0.14);
    border: 1px solid rgba(52, 211, 153, 0.24);
    border-radius: 999px;
    color: var(--quest-home-success);
    display: inline-flex;
    flex: 0 0 auto;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.quest-home-benefit-copy {
    color: var(--quest-home-soft);
    font-size: 0.94rem;
}

.quest-home-stage-card,
.quest-home-side-card {
    background: linear-gradient(180deg, var(--quest-home-panel-top) 0%, var(--quest-home-panel) 100%);
    border: 1px solid var(--quest-home-border);
    border-radius: 20px;
    box-shadow: 0 14px 30px rgba(2, 6, 23, 0.28);
    height: 100%;
    padding: 1.3rem;
}

.quest-home-side-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.quest-home-card-image-shell {
    margin-top: 1rem;
}

.quest-home-card-image {
    border-radius: 14px;
}

.quest-home-session-actions {
    background: rgba(15, 23, 42, 0.3);
    border: 1px solid rgba(96, 165, 250, 0.14);
    border-radius: 16px;
    padding: 1rem;
}

.quest-home-session-actions .quest-home-link,
.quest-home-session-actions .quest-home-btn {
    width: 100%;
}

.quest-home-text-link {
    color: #7dd3fc;
    display: inline-block;
    font-weight: 700;
    margin-top: 0.85rem;
}

.quest-home-text-link--hero {
    margin-top: 0.9rem;
}

.quest-home-text-link:hover,
.quest-home-text-link:focus {
    color: #bae6fd;
}

.quest-home-session-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.quest-home-session-actions .quest-home-link {
    display: block;
}

.quest-home-session-actions .quest-home-text-link {
    margin-top: 0;
}

@media (max-width: 991.98px) {
    .quest-home-hero,
    .quest-home-toolbar,
    .quest-home-section,
    .quest-home-cta {
        padding: 1.15rem;
    }

    .quest-home-title {
        font-size: 2.35rem;
        max-width: 100%;
    }

    .quest-home-preview-note {
        margin-top: 0.85rem;
        max-width: 100%;
        position: static;
    }
}

@media (max-width: 767.98px) {
    .quest-home-title {
        font-size: 2rem;
    }

    .quest-home-section-title {
        font-size: 1.55rem;
    }

    .quest-home-action-row {
        flex-direction: column;
    }

    .quest-home-link,
    .quest-home-btn {
        width: 100%;
    }
}

.quest-about-shell {
    --quest-about-bg: #161d2b;
    --quest-about-panel: #1c2536;
    --quest-about-panel-top: #243246;
    --quest-about-border: rgba(96, 165, 250, 0.16);
    --quest-about-accent: #7dd3fc;
    --quest-about-text: #f8fafc;
    --quest-about-muted: #cbd5e1;
    --quest-about-soft: #94a3b8;
    --quest-about-shadow: 0 18px 40px rgba(2, 6, 23, 0.32);
    color: var(--quest-about-text);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.quest-about-hero,
.quest-about-toolbar,
.quest-about-section,
.quest-about-cta {
    background: linear-gradient(180deg, var(--quest-about-panel-top) 0%, var(--quest-about-panel) 100%);
    border: 1px solid var(--quest-about-border);
    border-radius: 22px;
    box-shadow: var(--quest-about-shadow);
    padding: 1.35rem 1.45rem;
}

.quest-about-hero {
    background:
        radial-gradient(circle at top right, rgba(96, 165, 250, 0.28), transparent 28%),
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.16), transparent 24%),
        linear-gradient(135deg, #24324a 0%, #1d2738 58%, var(--quest-about-bg) 100%);
    padding: 1.8rem 2rem;
}

.quest-about-kicker,
.quest-about-card-kicker,
.quest-about-profile-kicker {
    color: var(--quest-about-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.4;
    margin-bottom: 0.3rem;
    text-transform: uppercase;
}

.quest-about-title,
.quest-about-section-title,
.quest-about-card-title {
    color: var(--quest-about-text);
    font-weight: 700;
    line-height: 1.12;
}

.quest-about-title {
    font-size: 3rem;
    margin: 0.35rem 0 0.65rem;
    max-width: 15ch;
}

.quest-about-section-title {
    font-size: 1.9rem;
    margin: 0.25rem 0 0.75rem;
    max-width: 48rem;
}

.quest-about-card-title {
    font-size: 1.12rem;
    margin: 0.25rem 0 0.45rem;
}

.quest-about-copy,
.quest-about-section-copy,
.quest-about-card-copy,
.quest-about-profile-copy {
    color: var(--quest-about-muted);
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 0;
}

.quest-about-section-copy + .quest-about-section-copy {
    margin-top: 0.85rem;
}

.quest-about-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.3rem;
}

.quest-about-link {
    text-decoration: none;
}

.quest-about-btn {
    align-items: center;
    border-radius: 12px;
    border-width: 1px;
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    min-height: 2.95rem;
    padding: 0.75rem 1.05rem;
}

.quest-about-btn--primary {
    background: #0ea5e9;
    border-color: #38bdf8;
    color: #f8fafc;
}

.quest-about-btn--primary:hover,
.quest-about-btn--primary:focus {
    background: #0284c7;
    border-color: #7dd3fc;
    color: #f8fafc;
}

.quest-about-btn--secondary {
    background: rgba(15, 23, 42, 0.42);
    border-color: rgba(147, 197, 253, 0.28);
    color: #dbeafe;
}

.quest-about-btn--secondary:hover,
.quest-about-btn--secondary:focus {
    background: rgba(37, 99, 235, 0.24);
    border-color: rgba(147, 197, 253, 0.4);
    color: #f8fafc;
}

.quest-about-profile-card,
.quest-about-image-card {
    position: relative;
}

.quest-about-profile-image,
.quest-about-side-image {
    background: #f8fafc;
    border: 1px solid rgba(96, 165, 250, 0.18);
    border-radius: 18px;
    box-shadow: 0 14px 28px rgba(2, 6, 23, 0.3);
    display: block;
    object-fit: cover;
    width: 100%;
}

.quest-about-profile-image {
    max-height: 520px;
}

.quest-about-side-image {
    max-height: 460px;
}

.quest-about-profile-note {
    background: rgba(15, 23, 42, 0.82);
    border: 1px solid rgba(147, 197, 253, 0.2);
    border-radius: 16px;
    bottom: 1rem;
    left: 1rem;
    max-width: 22rem;
    padding: 0.85rem 1rem;
    position: absolute;
}

.quest-about-profile-copy {
    color: #dbeafe;
    font-size: 0.92rem;
}

.quest-about-card-grid {
    margin-top: 1rem;
}

.quest-about-card {
    background: rgba(15, 23, 42, 0.3);
    border: 1px solid rgba(96, 165, 250, 0.14);
    border-left: 4px solid #334155;
    border-radius: 16px;
    height: 100%;
    padding: 1rem;
}

.quest-about-icon {
    align-items: center;
    background: rgba(14, 165, 233, 0.16);
    border: 1px solid rgba(125, 211, 252, 0.24);
    border-radius: 999px;
    color: var(--quest-about-accent);
    display: inline-flex;
    height: 2.1rem;
    justify-content: center;
    margin-bottom: 0.75rem;
    width: 2.1rem;
}

.quest-about-card-copy {
    color: var(--quest-about-soft);
    font-size: 0.94rem;
}

.quest-about-social-panel {
    background: rgba(15, 23, 42, 0.3);
    border: 1px solid rgba(96, 165, 250, 0.14);
    border-radius: 16px;
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
}

.quest-about-social-panel .quest-about-link,
.quest-about-social-panel .quest-about-btn {
    width: 100%;
}

@media (max-width: 991.98px) {
    .quest-about-hero,
    .quest-about-toolbar,
    .quest-about-section,
    .quest-about-cta {
        padding: 1.15rem;
    }

    .quest-about-title {
        font-size: 2.35rem;
        max-width: 100%;
    }

    .quest-about-profile-note {
        margin-top: 0.85rem;
        max-width: 100%;
        position: static;
    }
}

@media (max-width: 767.98px) {
    .quest-about-title {
        font-size: 2rem;
    }

    .quest-about-section-title {
        font-size: 1.55rem;
    }

    .quest-about-action-row {
        flex-direction: column;
    }

    .quest-about-link,
    .quest-about-btn {
        width: 100%;
    }
}

/* Final cascade guard for the redesigned membership hero. */
.quest-membership-shell {
    gap: 0;
    padding-bottom: 0;
    overflow: hidden;
}

.quest-membership-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    justify-content: normal;
    padding: clamp(3rem, 7vw, 6.5rem) clamp(1.4rem, 5vw, 5rem);
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 87% 8%, rgba(56, 189, 248, .17), transparent 30%),
        linear-gradient(135deg, #1d2a3c 0%, #121927 68%);
    box-shadow: none;
}

.quest-membership-hero-copy {
    max-width: 660px;
    margin: 0 0 1.65rem;
    color: var(--qm-muted);
    font-size: clamp(1.02rem, 1.6vw, 1.25rem);
    line-height: 1.65;
}

@media (max-width: 991.98px) {
    .quest-membership-hero {
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        padding: clamp(3rem, 7vw, 6.5rem) clamp(1.4rem, 5vw, 5rem);
    }
}
