﻿/* =========================================================
   FINVILLAHUB 2.0 — GLOBAL UI PRIMITIVES
   Luxury Financial Intelligence System
   ========================================================= */

.fv-ui {
    color: var(--fv-text);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.fv-display {
    color: var(--fv-text);
    font-size: clamp(2rem, 5vw, 4.5rem);
    font-weight: 700;
    letter-spacing: -0.045em;
    line-height: 1.02;
}

.fv-heading {
    color: var(--fv-text);
    font-size: clamp(1.5rem, 3vw, 2.5rem);
    font-weight: 650;
    letter-spacing: -0.025em;
    line-height: 1.12;
}

.fv-section-title {
    color: var(--fv-text);
    font-size: 1.15rem;
    font-weight: 650;
    letter-spacing: -0.01em;
}

.fv-body {
    color: var(--fv-text-soft);
    font-size: 0.98rem;
    line-height: 1.7;
}

.fv-muted {
    color: var(--fv-muted);
}

.fv-micro {
    color: var(--fv-muted);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

/* ---------- Market Numbers ---------- */

.fv-market-number {
    color: var(--fv-text);
    font-variant-numeric: tabular-nums;
    font-size: clamp(1.8rem, 4vw, 3.2rem);
    font-weight: 700;
    letter-spacing: -0.035em;
}

.fv-level-number {
    color: var(--fv-text);
    font-variant-numeric: tabular-nums;
    font-weight: 650;
}

/* ---------- Luxury Surfaces ---------- */

.fv-surface {
    background: var(--fv-surface);
    border: 1px solid var(--fv-border);
    border-radius: var(--fv-radius-lg);
    box-shadow: var(--fv-shadow-soft);
}

.fv-surface-elevated {
    background: var(--fv-surface-2);
    border: 1px solid var(--fv-border-strong);
    border-radius: var(--fv-radius-lg);
    box-shadow: var(--fv-shadow-deep);
}

.fv-glass {
    background: var(--fv-surface-glass);
    border: 1px solid var(--fv-border);
    border-radius: var(--fv-radius-lg);
    box-shadow: var(--fv-shadow-soft);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* ---------- Premium Surface ---------- */

.fv-premium-surface {
    background:
        linear-gradient(
            145deg,
            rgba(231, 201, 106, 0.075),
            rgba(10, 23, 30, 0.96) 42%
        );
    border: 1px solid var(--fv-border-gold);
    border-radius: var(--fv-radius-xl);
    box-shadow: var(--fv-shadow-deep);
}

/* ---------- Buttons ---------- */

.fv-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 12px;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 650;
    gap: 8px;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    text-decoration: none;
    transition:
        transform var(--fv-transition-fast),
        border-color var(--fv-transition-fast),
        background var(--fv-transition-fast),
        box-shadow var(--fv-transition-fast);
}

.fv-button:hover {
    transform: translateY(-1px);
}

.fv-button:focus-visible {
    outline: 2px solid var(--fv-focus);
    outline-offset: 3px;
}

.fv-button-primary {
    background: var(--fv-emerald);
    color: #03100a;
    box-shadow: 0 8px 28px rgba(53, 243, 154, 0.16);
}

.fv-button-primary:hover {
    box-shadow: 0 10px 34px rgba(53, 243, 154, 0.22);
}

.fv-button-secondary {
    background: rgba(255, 255, 255, 0.035);
    border-color: var(--fv-border-strong);
    color: var(--fv-text);
}

.fv-button-premium {
    background: transparent;
    border-color: var(--fv-border-gold);
    color: var(--fv-gold-soft);
}

.fv-button-premium:hover {
    background: rgba(231, 201, 106, 0.07);
}

/* ---------- Semantic Badges ---------- */

.fv-badge {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.7rem;
    font-weight: 700;
    gap: 6px;
    letter-spacing: 0.08em;
    padding: 6px 10px;
    text-transform: uppercase;
}

.fv-badge-positive {
    background: rgba(53, 243, 154, 0.08);
    border-color: rgba(53, 243, 154, 0.2);
    color: var(--fv-positive);
}

.fv-badge-negative {
    background: rgba(255, 82, 100, 0.08);
    border-color: rgba(255, 82, 100, 0.2);
    color: var(--fv-negative);
}

.fv-badge-caution {
    background: rgba(244, 201, 93, 0.08);
    border-color: rgba(244, 201, 93, 0.2);
    color: var(--fv-caution);
}

.fv-badge-neutral {
    background: rgba(154, 170, 179, 0.08);
    border-color: rgba(154, 170, 179, 0.18);
    color: var(--fv-neutral);
}

/* ---------- Intelligence ---------- */

.fv-intelligence {
    border-left: 2px solid var(--fv-cyan);
    padding-left: 14px;
}

.fv-premium-accent {
    border-left: 2px solid var(--fv-champagne);
    padding-left: 14px;
}

/* ---------- Calm / Focus ---------- */

.fv-focus-panel {
    background: rgba(71, 216, 208, 0.045);
    border: 1px solid rgba(71, 216, 208, 0.16);
    border-radius: var(--fv-radius-lg);
}

.fv-calm-panel {
    background: rgba(111, 168, 199, 0.045);
    border: 1px solid rgba(111, 168, 199, 0.14);
    border-radius: var(--fv-radius-lg);
}

/* ---------- Responsive ---------- */

@media (max-width: 640px) {
    .fv-button {
        min-height: 46px;
        padding: 0 15px;
    }

    .fv-market-number {
        font-size: 2rem;
    }
}
/* =========================================================
   FINVILLAHUB 2.0 — GLOBAL PAGE FOUNDATION
   P2.4
   ========================================================= */

.fv-page {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(
            circle at 50% -10%,
            rgba(71, 216, 208, 0.045),
            transparent 38%
        ),
        var(--fv-bg);
    color: var(--fv-text);
}

.fv-shell {
    width: 100%;
    min-height: 100vh;
}

.fv-container {
    width: min(100% - 40px, 1440px);
    margin-inline: auto;
}

.fv-section {
    padding-block: var(--fv-space-10);
}

.fv-stack {
    display: flex;
    flex-direction: column;
    gap: var(--fv-space-6);
}

.fv-divider {
    width: 100%;
    height: 1px;
    background: var(--fv-border);
    border: 0;
}

.fv-page :focus-visible {
    outline: 2px solid var(--fv-focus);
    outline-offset: 3px;
}

.fv-page ::selection {
    background: rgba(71, 216, 208, 0.22);
    color: var(--fv-text);
}

/* ---------- Mobile Foundation ---------- */

@media (max-width: 640px) {
    .fv-container {
        width: min(100% - 28px, 1440px);
    }

    .fv-section {
        padding-block: var(--fv-space-8);
    }

    .fv-stack {
        gap: var(--fv-space-4);
    }
}
/* =========================================================
   FINVILLAHUB 2.0 — SHARED NAVIGATION + FOOTER
   P3.4
   ========================================================= */

/* ---------- GLOBAL NAVIGATION ---------- */

.fv-global-nav {
    position: relative;
    width: 100%;
    border-bottom: 1px solid var(--fv-border);
    background: rgba(3, 7, 10, 0.92);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.fv-global-nav-inner {
    width: min(100% - 40px, 1440px);
    min-height: 76px;
    margin-inline: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fv-space-6);
}

.fv-brand {
    display: inline-flex;
    flex-direction: column;
    gap: 3px;

    color: var(--fv-text);
    text-decoration: none;
    flex-shrink: 0;
}

.fv-brand-name {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1;
}

.fv-brand-tagline {
    color: var(--fv-muted);
    font-size: 10px;
    letter-spacing: 0.08em;
    line-height: 1.2;
}

.fv-global-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.fv-global-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 14px;

    color: var(--fv-muted);
    text-decoration: none;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;

    border-radius: var(--fv-radius-sm);
    transition:
        color var(--fv-transition-fast),
        background var(--fv-transition-fast);
}

.fv-global-link:hover {
    color: var(--fv-text);
    background: rgba(255, 255, 255, 0.035);
}

.fv-global-link:focus-visible,
.fv-brand:focus-visible {
    outline: 2px solid var(--fv-focus);
    outline-offset: 3px;
}

.fv-global-link-premium {
    color: var(--fv-gold-soft);
}

.fv-global-actions {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}


/* ---------- GLOBAL FOOTER ---------- */

.fv-global-footer {
    width: 100%;
    margin-top: var(--fv-space-10);
    border-top: 1px solid var(--fv-border);

    background:
        linear-gradient(
            180deg,
            rgba(8, 18, 24, 0.72),
            rgba(2, 4, 6, 0.98)
        );
}

.fv-global-footer-inner {
    width: min(100% - 40px, 1440px);
    margin-inline: auto;
    padding-block: var(--fv-space-10);

    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) minmax(320px, 1fr);
    gap: var(--fv-space-10);
}

.fv-footer-brand-name {
    color: var(--fv-text);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.18em;
}

.fv-footer-tagline {
    margin-top: 6px;
    color: var(--fv-muted);
    font-size: 11px;
    letter-spacing: 0.06em;
}

.fv-footer-disclaimer {
    max-width: 440px;
    margin: var(--fv-space-5) 0 0;

    color: var(--fv-muted);
    font-size: 11px;
    line-height: 1.7;
}

.fv-footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: var(--fv-space-8);
}

.fv-footer-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
}

.fv-footer-title {
    margin-bottom: 4px;

    color: var(--fv-text);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.fv-footer-link {
    color: var(--fv-muted);
    text-decoration: none;

    font-size: 11px;
    line-height: 1.5;

    transition: color var(--fv-transition-fast);
}

.fv-footer-link:hover {
    color: var(--fv-text);
}

.fv-footer-link:focus-visible {
    outline: 2px solid var(--fv-focus);
    outline-offset: 3px;
    border-radius: 2px;
}

.fv-footer-bottom {
    width: min(100% - 40px, 1440px);
    margin-inline: auto;

    padding-block: var(--fv-space-5);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fv-space-5);

    border-top: 1px solid var(--fv-border);

    color: var(--fv-muted);
    font-size: 10px;
    line-height: 1.5;
}


/* ---------- MOBILE ---------- */

@media (max-width: 900px) {

    .fv-global-nav-inner {
        min-height: 70px;
        gap: var(--fv-space-4);
    }

    .fv-global-links {
        gap: 2px;
    }

    .fv-global-link {
        padding-inline: 9px;
        font-size: 11px;
    }

    .fv-global-actions {
        display: none;
    }

    .fv-global-footer-inner {
        grid-template-columns: 1fr;
        gap: var(--fv-space-8);
    }

}

@media (max-width: 640px) {

    .fv-global-nav-inner {
        width: min(100% - 28px, 1440px);
        min-height: 64px;
    }

    .fv-brand-tagline {
        display: none;
    }

    .fv-brand-name {
        font-size: 13px;
    }

    .fv-global-links {
        overflow-x: auto;
        justify-content: flex-start;
        max-width: 58vw;
        scrollbar-width: none;
    }

    .fv-global-links::-webkit-scrollbar {
        display: none;
    }

    .fv-global-link {
        min-height: 38px;
        padding-inline: 8px;
        white-space: nowrap;
        font-size: 10px;
    }

    .fv-global-footer-inner,
    .fv-footer-bottom {
        width: min(100% - 28px, 1440px);
    }

    .fv-footer-links {
        grid-template-columns: 1fr 1fr;
        gap: var(--fv-space-5);
    }

    .fv-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

}

/* ============================================================
   FinVillaHub 2.0 — P4 Homepage Intelligence Components
   ============================================================ */

.fv-display {
    margin: 0;
    font-size: clamp(2.8rem, 7vw, 5.8rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
    font-weight: 700;
    color: var(--fv-text);
    max-width: 980px;
}

.fv-display-small {
    margin: 0;
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1.02;
    letter-spacing: -0.035em;
    font-weight: 700;
    color: var(--fv-text);
    max-width: 850px;
}

.fv-lead {
    margin: 0;
    max-width: 760px;
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    line-height: 1.7;
    color: var(--fv-muted);
}

.fv-section-kicker {
    margin-bottom: var(--fv-space-3);
    font-size: 0.72rem;
    line-height: 1.2;
    letter-spacing: 0.16em;
    font-weight: 700;
    color: var(--fv-cyan);
    text-transform: uppercase;
}

.fv-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fv-space-3);
    align-items: center;
}

.fv-trust-line {
    margin-top: var(--fv-space-5);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    color: var(--fv-muted);
    text-transform: uppercase;
}

.fv-section-heading {
    margin-bottom: var(--fv-space-6);
    max-width: 820px;
}

.fv-heading {
    margin: 0;
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
    font-weight: 650;
    color: var(--fv-text);
}

.fv-market-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--fv-space-4);
}

.fv-market-card {
    min-width: 0;
    padding: var(--fv-space-5);
    border: 1px solid var(--fv-border);
    border-radius: var(--fv-radius-lg);
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.035),
        rgba(255, 255, 255, 0.012)
    );
    box-shadow: var(--fv-shadow-sm);
    transition:
        transform var(--fv-transition),
        border-color var(--fv-transition),
        background var(--fv-transition);
}

.fv-market-card:hover {
    transform: translateY(-2px);
    border-color: var(--fv-border-strong);
}

.fv-market-card-vix {
    border-color: rgba(71, 216, 208, 0.22);
}

.fv-market-label {
    margin-bottom: var(--fv-space-3);
    font-size: 0.72rem;
    line-height: 1.2;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: var(--fv-muted);
}

.fv-market-value {
    overflow-wrap: anywhere;
    font-size: clamp(1.45rem, 3vw, 2.25rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    font-weight: 650;
    color: var(--fv-text);
    font-variant-numeric: tabular-nums;
}

.fv-market-meta {
    margin-top: var(--fv-space-2);
    font-size: 0.68rem;
    line-height: 1.3;
    letter-spacing: 0.08em;
    color: var(--fv-muted-2);
}

.fv-intelligence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--fv-space-4);
}

.fv-data-panel {
    min-width: 0;
    padding: var(--fv-space-5);
    border: 1px solid var(--fv-border);
    border-radius: var(--fv-radius-lg);
    background: var(--fv-surface);
}

.fv-data-panel-wide {
    grid-column: 1 / -1;
}

.fv-data-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--fv-space-3);
    margin-bottom: var(--fv-space-4);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--fv-muted);
}

.fv-level-list {
    display: flex;
    flex-direction: column;
}

.fv-level-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--fv-space-4);
    padding-block: var(--fv-space-3);
    border-bottom: 1px solid var(--fv-border);
}

.fv-level-row:first-child {
    padding-top: 0;
}

.fv-level-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.fv-level-row span {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    color: var(--fv-muted);
}

.fv-level-row strong {
    font-size: 1.05rem;
    font-weight: 650;
    color: var(--fv-text);
    font-variant-numeric: tabular-nums;
}

.fv-structure-copy {
    max-width: 760px;
}

.fv-structure-copy p {
    margin: 0 0 var(--fv-space-3);
    line-height: 1.65;
    color: var(--fv-text);
}

.fv-inline-link {
    display: inline-flex;
    margin-top: var(--fv-space-2);
    color: var(--fv-cyan);
    text-decoration: none;
    font-weight: 600;
}

.fv-inline-link:hover {
    text-decoration: underline;
}

.fv-calm-panel {
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid rgba(71, 216, 208, 0.16);
    border-radius: var(--fv-radius-xl);
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(71, 216, 208, 0.06),
            transparent 40%
        ),
        var(--fv-surface);
}

.fv-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fv-space-5);
    margin-top: var(--fv-space-7);
}

.fv-feature-item {
    display: flex;
    gap: var(--fv-space-4);
    min-width: 0;
}

.fv-feature-item strong {
    display: block;
    margin-bottom: var(--fv-space-2);
    color: var(--fv-text);
}

.fv-feature-item p {
    margin: 0;
    line-height: 1.55;
    color: var(--fv-muted);
    font-size: 0.92rem;
}

.fv-feature-index {
    flex: 0 0 auto;
    font-size: 0.7rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
    color: var(--fv-cyan);
    font-weight: 700;
}

.fv-scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--fv-space-4);
}

.fv-scenario-card {
    min-width: 0;
    padding: var(--fv-space-5);
    border: 1px solid var(--fv-border);
    border-radius: var(--fv-radius-lg);
    background: var(--fv-surface);
}

.fv-scenario-card h3 {
    margin: var(--fv-space-3) 0 var(--fv-space-2);
    font-size: 1.2rem;
    color: var(--fv-text);
}

.fv-scenario-card p {
    margin: 0;
    line-height: 1.6;
    color: var(--fv-muted);
}

.fv-scenario-label {
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--fv-cyan);
}

.fv-premium-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--fv-space-6);
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid rgba(231, 201, 106, 0.24);
    border-radius: var(--fv-radius-xl);
    background:
        linear-gradient(
            135deg,
            rgba(231, 201, 106, 0.055),
            rgba(255, 255, 255, 0.012)
        ),
        var(--fv-surface);
}

.fv-final-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--fv-space-5);
    padding: clamp(1.75rem, 5vw, 4rem);
    border: 1px solid var(--fv-border);
    border-radius: var(--fv-radius-xl);
    background: var(--fv-surface);
}

.fv-status-negative,
.fv-status-positive,
.fv-status-neutral {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    min-height: 24px;
    padding-inline: 7px;
    border-radius: var(--fv-radius-sm);
    font-size: 0.64rem;
    letter-spacing: 0.06em;
}

.fv-status-negative {
    color: var(--fv-negative);
    background: rgba(255, 91, 91, 0.08);
}

.fv-status-positive {
    color: var(--fv-positive);
    background: rgba(53, 243, 154, 0.08);
}

.fv-status-neutral {
    color: var(--fv-muted);
    background: rgba(220, 228, 232, 0.06);
}

@media (max-width: 960px) {
    .fv-market-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fv-feature-grid,
    .fv-scenario-grid {
        grid-template-columns: 1fr;
    }

    .fv-premium-panel {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .fv-market-grid,
    .fv-intelligence-grid {
        grid-template-columns: 1fr;
    }

    .fv-data-panel-wide {
        grid-column: auto;
    }

    .fv-market-card,
    .fv-data-panel,
    .fv-scenario-card {
        padding: var(--fv-space-4);
    }

    .fv-action-row {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .fv-action-row .fv-button {
        width: 100%;
        justify-content: center;
    }
}


/* =========================================================
   FINVILLAHUB 2.0 — P17 ULTRA-LUXURY VISUAL LAYER
   Frontend-only presentation enhancement
   ========================================================= */

.fv-ui {
    position: relative;
    isolation: isolate;
    color: var(--fv-text);
    font-variant-numeric: tabular-nums lining-nums;
    text-rendering: optimizeLegibility;
}

.fv-ui::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 8%, rgba(71, 216, 208, 0.075), transparent 30%),
        radial-gradient(circle at 88% 12%, rgba(231, 201, 106, 0.065), transparent 28%),
        radial-gradient(circle at 52% 92%, rgba(77, 141, 255, 0.055), transparent 32%);
}

.fv-ui::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0.16;
    background-image:
        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom, black, transparent 78%);
}

/* ---------- Intelligent hierarchy ---------- */

.fv-market-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(14px, 1.6vw, 24px);
    align-items: stretch;
}

.fv-market-card {
    grid-column: span 4;
    min-height: 190px;
    position: relative;
    overflow: hidden;
}

.fv-market-card-vix {
    grid-column: span 4;
}

.fv-market-card,
.fv-data-panel,
.fv-intelligence-panel,
.fv-feature-item,
.fv-scenario-card,
.fv-premium-panel,
.fv-final-panel,
.fv-calm-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--fv-border);
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.045),
            rgba(255,255,255,0.012) 42%,
            rgba(10,23,30,0.82)
        );
    box-shadow:
        0 18px 55px rgba(0,0,0,0.25),
        inset 0 1px 0 rgba(255,255,255,0.045);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.fv-market-card::before,
.fv-data-panel::before,
.fv-intelligence-panel::before,
.fv-premium-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(220,228,232,0.26),
        transparent
    );
    pointer-events: none;
}

.fv-market-card::after,
.fv-data-panel::after,
.fv-intelligence-panel::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -90px;
    top: -90px;
    border-radius: 50%;
    background: rgba(71,216,208,0.045);
    filter: blur(24px);
    pointer-events: none;
}

/* ---------- Market numbers ---------- */

.fv-market-value,
.fv-display,
.fv-display-small,
.fv-level-number,
.fv-bank-value,
.fv-bank-level-value,
.fv-sx-value,
.fv-sx-level-value,
.fv-sx-trap-value {
    font-variant-numeric: tabular-nums lining-nums;
    letter-spacing: -0.025em;
    font-feature-settings: "tnum" 1, "lnum" 1;
}

.fv-market-value {
    font-size: clamp(2rem, 3.2vw, 3.15rem);
    line-height: 0.98;
    font-weight: 760;
    color: var(--fv-platinum);
    text-shadow: 0 0 28px rgba(220,228,232,0.08);
}

.fv-display {
    font-size: clamp(2.5rem, 5vw, 4.8rem);
    line-height: 0.94;
    font-weight: 800;
    color: var(--fv-platinum);
}

.fv-display-small {
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 760;
}

/* ---------- Label hierarchy ---------- */

.fv-market-label,
.fv-section-kicker,
.fv-section-tag,
.fv-sx-kicker,
.fv-bank-eyebrow {
    color: var(--fv-champagne);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
}

.fv-muted,
.fv-market-meta,
.fv-bank-meta {
    color: var(--fv-muted);
}

.fv-heading,
.fv-section-heading,
.fv-sx-title,
.fv-bank-title {
    color: var(--fv-platinum);
    letter-spacing: -0.02em;
}

/* ---------- Semantic state polish ---------- */

.fv-status-positive,
.fv-text-emerald,
.fv-sx-chip-positive {
    color: var(--fv-positive);
    text-shadow: 0 0 18px rgba(53,243,154,0.12);
}

.fv-status-negative {
    color: var(--fv-negative);
}

.fv-status-neutral {
    color: var(--fv-neutral);
}

.fv-sx-trap-value,
.fv-bank-trap {
    color: var(--fv-caution);
}

/* ---------- Premium treatment ---------- */

.fv-button-premium,
.fv-premium-panel {
    border-color: var(--fv-border-gold);
}

.fv-button-premium {
    position: relative;
    overflow: hidden;
    box-shadow:
        0 10px 30px rgba(231,201,106,0.10),
        inset 0 1px 0 rgba(255,255,255,0.10);
}

.fv-button-premium::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -45%;
    width: 24%;
    transform: skewX(-20deg);
    background: rgba(255,255,255,0.13);
    transition: left 700ms ease;
    pointer-events: none;
}

.fv-button-premium:hover::after {
    left: 125%;
}

.fv-premium-panel {
    background:
        radial-gradient(circle at 100% 0%, rgba(231,201,106,0.10), transparent 35%),
        linear-gradient(145deg, rgba(231,201,106,0.045), rgba(10,23,30,0.88));
}

/* ---------- Luxury interaction ---------- */

.fv-market-card,
.fv-data-panel,
.fv-intelligence-panel,
.fv-feature-item,
.fv-scenario-card {
    transition:
        transform var(--fv-transition-normal),
        border-color var(--fv-transition-normal),
        box-shadow var(--fv-transition-normal);
}

.fv-market-card:hover,
.fv-data-panel:hover,
.fv-intelligence-panel:hover,
.fv-feature-item:hover,
.fv-scenario-card:hover {
    transform: translateY(-3px);
    border-color: var(--fv-border-strong);
    box-shadow:
        0 24px 65px rgba(0,0,0,0.32),
        inset 0 1px 0 rgba(255,255,255,0.06);
}

/* ---------- Data alignment ---------- */

.fv-level-row,
.fv-bank-row,
.fv-sx-level {
    font-variant-numeric: tabular-nums lining-nums;
}

.fv-level-number,
.fv-bank-level-value,
.fv-sx-level-value {
    text-align: right;
    white-space: nowrap;
}

/* ---------- Intelligence panels ---------- */

.fv-intelligence-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(14px, 1.6vw, 24px);
}

.fv-intelligence-grid > * {
    grid-column: span 4;
}

.fv-data-panel-wide {
    grid-column: span 8;
}

/* ---------- Focus panel ---------- */

.fv-focus-panel {
    border-color: rgba(71,216,208,0.22);
    box-shadow:
        0 20px 65px rgba(71,216,208,0.055),
        inset 0 1px 0 rgba(255,255,255,0.055);
}

/* ---------- Responsive allocation ---------- */

@media (max-width: 900px) {
    .fv-market-card,
    .fv-market-card-vix,
    .fv-intelligence-grid > *,
    .fv-data-panel-wide {
        grid-column: span 6;
    }

    .fv-display {
        font-size: clamp(2.35rem, 8vw, 4rem);
    }
}

@media (max-width: 620px) {
    .fv-market-grid,
    .fv-intelligence-grid {
        grid-template-columns: 1fr;
    }

    .fv-market-card,
    .fv-market-card-vix,
    .fv-intelligence-grid > *,
    .fv-data-panel-wide {
        grid-column: auto;
    }

    .fv-market-card {
        min-height: 165px;
    }

    .fv-market-value {
        font-size: 2.15rem;
    }

    .fv-display {
        font-size: 2.7rem;
    }

    .fv-ui::after {
        background-size: 36px 36px;
        opacity: 0.10;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fv-market-card,
    .fv-data-panel,
    .fv-intelligence-panel,
    .fv-feature-item,
    .fv-scenario-card,
    .fv-button-premium::after {
        transition: none !important;
    }

    .fv-market-card:hover,
    .fv-data-panel:hover,
    .fv-intelligence-panel:hover,
    .fv-feature-item:hover,
    .fv-scenario-card:hover {
        transform: none;
    }
}

/* =========================================================
   END P17 ULTRA-LUXURY VISUAL LAYER
   ========================================================= */
/* =========================================================
   FINVILLAHUB 2.0 — P17 BN/SX LUXURY VISUAL PARITY
   PRESENTATION ONLY — NO BACKEND LOGIC
   ========================================================= */

.fv-bank-hero,
.fv-bank-card,
.fv-bank-premium,
.fv-bank-trap,
.fv-bank-intelligence,
.fv-bank-two,
.fv-bank-map,
.fv-sx-hero,
.fv-sx-panel,
.fv-sx-matrix-card,
.fv-sx-state-card,
.fv-sx-tech-card,
.fv-sx-previous-card,
.fv-sx-confirm-card,
.fv-sx-premium,
.fv-sx-command,
.fv-sx-decision {
    position: relative;
    overflow: hidden;
}

.fv-bank-hero::before,
.fv-bank-card::before,
.fv-bank-premium::before,
.fv-bank-trap::before,
.fv-sx-hero::before,
.fv-sx-panel::before,
.fv-sx-matrix-card::before,
.fv-sx-state-card::before,
.fv-sx-tech-card::before,
.fv-sx-previous-card::before,
.fv-sx-confirm-card::before,
.fv-sx-premium::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 88% 12%, rgba(77,141,255,.065), transparent 35%),
        linear-gradient(135deg, rgba(255,255,255,.032), transparent 40%);
}

.fv-bank-title,
.fv-sx-title {
    letter-spacing: -.04em;
    line-height: 1.02;
}

.fv-bank-subtitle,
.fv-sx-subtitle {
    color: var(--fv-text-soft);
    line-height: 1.55;
}

.fv-bank-value,
.fv-sx-value {
    font-variant-numeric: tabular-nums lining-nums;
    letter-spacing: -.045em;
    line-height: .98;
    text-shadow: 0 0 28px rgba(71,216,208,.10);
}

.fv-bank-label,
.fv-bank-eyebrow,
.fv-sx-label,
.fv-sx-kicker,
.fv-sx-section-tag {
    color: var(--fv-champagne);
    letter-spacing: .075em;
}

.fv-bank-card,
.fv-bank-premium,
.fv-bank-trap,
.fv-sx-panel,
.fv-sx-matrix-card,
.fv-sx-state-card,
.fv-sx-tech-card,
.fv-sx-previous-card,
.fv-sx-confirm-card {
    border-color: var(--fv-border);
    box-shadow: var(--fv-shadow-soft);
    backdrop-filter: blur(14px);
}

.fv-bank-premium,
.fv-sx-premium {
    border-color: var(--fv-border-gold);
    box-shadow:
        0 18px 55px rgba(0,0,0,.28),
        0 0 35px rgba(231,201,106,.055);
}

.fv-bank-trap {
    border-color: rgba(244,201,93,.20);
}

.fv-bank-level,
.fv-sx-level {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(110px,auto);
    align-items: center;
    gap: 20px;
}

.fv-bank-level-name,
.fv-sx-level-name {
    color: var(--fv-text-soft);
}

.fv-bank-level-value,
.fv-sx-level-value {
    min-width: 110px;
    text-align: right;
    color: var(--fv-platinum);
    font-variant-numeric: tabular-nums lining-nums;
    letter-spacing: -.025em;
}

.fv-bank-median .fv-bank-level-value,
.fv-sx-median .fv-sx-level-value {
    color: var(--fv-cyan);
}

.fv-bank-resistance .fv-bank-level-value,
.fv-sx-resistance .fv-sx-level-value {
    color: var(--fv-champagne);
}

.fv-sx-support .fv-sx-level-value {
    color: var(--fv-emerald);
}

.fv-bank-score,
.fv-sx-confirm-score,
.fv-sx-trap-value {
    font-variant-numeric: tabular-nums lining-nums;
}

.fv-sx-confirm-score {
    color: var(--fv-cyan);
    letter-spacing: -.03em;
}

.fv-sx-trap-value {
    color: var(--fv-caution);
}

@media (max-width:760px) {
    .fv-bank-level,
    .fv-sx-level {
        grid-template-columns: minmax(0,1fr) auto;
        gap: 12px;
    }

    .fv-bank-level-value,
    .fv-sx-level-value {
        min-width: 92px;
    }
}

@media (max-width:520px) {
    .fv-bank-level,
    .fv-sx-level {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .fv-bank-level-value,
    .fv-sx-level-value {
        min-width: 0;
        text-align: left;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .fv-bank-card,
    .fv-bank-premium,
    .fv-bank-trap,
    .fv-sx-panel,
    .fv-sx-matrix-card,
    .fv-sx-state-card,
    .fv-sx-tech-card,
    .fv-sx-previous-card,
    .fv-sx-confirm-card {
        transition:
            transform var(--fv-transition-normal),
            border-color var(--fv-transition-normal),
            box-shadow var(--fv-transition-normal);
    }

    .fv-bank-card:hover,
    .fv-bank-premium:hover,
    .fv-bank-trap:hover,
    .fv-sx-panel:hover,
    .fv-sx-matrix-card:hover,
    .fv-sx-state-card:hover,
    .fv-sx-tech-card:hover,
    .fv-sx-previous-card:hover,
    .fv-sx-confirm-card:hover {
        transform: translateY(-2px);
        box-shadow: var(--fv-shadow-deep);
    }
}


/* ============================================================
   FINVILLAHUB 2.0 — P17 WHOLE-PRODUCT LUXURY UI
   Frontend presentation layer only.
   No business logic / formulas / API / database changes.
   ============================================================ */

:root {
    --fv-p17-obsidian: #03070a;
    --fv-p17-platinum: #dce4e8;
    --fv-p17-silver: #aebbc2;
    --fv-p17-teal: #47d8d0;
    --fv-p17-emerald: #35f39a;
    --fv-p17-champagne: #e7c96a;
    --fv-p17-amber: #f4c95d;
    --fv-p17-ruby: #ff5264;
    --fv-p17-blue: #4d8dff;
}

/* ---------- Global presentation discipline ---------- */

.fv-page,
.daily-hub,
.analysis-page,
.fv-ui {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.fv-page *,
.daily-hub *,
.fv-ui * {
    box-sizing: border-box;
}

.fv-page h1,
.fv-page h2,
.fv-page h3,
.daily-hub h2,
.daily-hub h3 {
    letter-spacing: -0.025em;
}

.fv-page p,
.daily-hub p {
    color: var(--fv-text-soft);
}

.fv-page strong,
.daily-hub strong {
    color: var(--fv-p17-platinum);
}

.fv-page .fv-muted,
.daily-hub .fv-muted {
    color: var(--fv-muted);
}

/* ---------- Homepage: command-center hierarchy ---------- */

.fv-intelligence-panel {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 390px;
    padding: clamp(32px, 5vw, 64px);
    border: 1px solid rgba(71,216,208,.18);
    border-radius: 30px;
    background:
        radial-gradient(circle at 82% 18%, rgba(71,216,208,.10), transparent 30%),
        radial-gradient(circle at 15% 85%, rgba(53,243,154,.07), transparent 32%),
        linear-gradient(135deg, rgba(12,25,32,.96), rgba(3,8,12,.98));
    box-shadow:
        0 30px 90px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.07);
}

.fv-intelligence-panel::after {
    content: "";
    position: absolute;
    inset: auto 8% 0;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(71,216,208,.42),
        rgba(231,201,106,.45),
        transparent
    );
    pointer-events: none;
}

.fv-intelligence-panel .fv-section-kicker {
    color: var(--fv-p17-champagne);
    letter-spacing: .20em;
    font-weight: 700;
}

.fv-intelligence-panel .fv-display {
    max-width: 900px;
    margin: 16px 0;
    color: var(--fv-text);
    font-size: clamp(42px, 6vw, 76px);
    line-height: .98;
    font-weight: 800;
}

.fv-intelligence-panel .fv-lead {
    max-width: 720px;
    font-size: clamp(16px, 1.6vw, 20px);
    line-height: 1.75;
    color: var(--fv-p17-platinum);
}

/* ---------- Market intelligence cards ---------- */

.fv-market-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}

.fv-market-card {
    grid-column: span 4;
    min-height: 205px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding: 26px;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(14,29,37,.94), rgba(5,12,17,.97));
    box-shadow:
        0 18px 50px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.045);
    transition:
        transform var(--fv-transition-normal),
        border-color var(--fv-transition-normal),
        box-shadow var(--fv-transition-normal);
}

.fv-market-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(71,216,208,.55),
        transparent
    );
    opacity: .8;
}

.fv-market-card:hover {
    transform: translateY(-4px);
    border-color: rgba(71,216,208,.22);
    box-shadow:
        0 25px 65px rgba(0,0,0,.38),
        0 0 35px rgba(71,216,208,.055);
}

.fv-market-label {
    color: var(--fv-p17-champagne);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .15em;
}

.fv-market-value,
.fv-display,
.fv-level-number,
.fv-market-number {
    font-variant-numeric: tabular-nums lining-nums;
    font-feature-settings: "tnum" 1, "lnum" 1;
}

.fv-market-value {
    margin: 10px 0 8px;
    color: var(--fv-p17-platinum);
    font-size: clamp(30px, 3.5vw, 46px);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.035em;
}

.fv-market-meta {
    color: var(--fv-p17-silver);
    font-size: 11px;
    letter-spacing: .12em;
}

/* VIX gets a distinct analytical identity */

.fv-market-card-vix {
    border-color: rgba(244,201,93,.16);
}

.fv-market-card-vix::before {
    background: linear-gradient(
        90deg,
        transparent,
        rgba(244,201,93,.60),
        transparent
    );
}

/* ---------- Intelligence data panels ---------- */

.fv-intelligence-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}

.fv-data-panel {
    grid-column: span 4;
    min-height: 220px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.075);
    background:
        linear-gradient(145deg, rgba(10,23,30,.90), rgba(4,10,14,.96));
    box-shadow:
        0 18px 48px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.fv-data-panel-header {
    padding: 18px 20px 12px;
    color: var(--fv-p17-champagne);
    letter-spacing: .13em;
    font-size: 12px;
    font-weight: 750;
}

.fv-level-list {
    padding: 0 20px 20px;
}

.fv-level-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 18px;
    align-items: center;
    min-height: 48px;
    border-bottom: 1px solid rgba(255,255,255,.055);
}

.fv-level-row:last-child {
    border-bottom: 0;
}

.fv-level-number {
    text-align: right;
    color: var(--fv-p17-platinum);
    font-size: 20px;
    font-weight: 750;
}

/* ---------- Semantic market states ---------- */

.fv-status-positive {
    color: var(--fv-p17-emerald) !important;
}

.fv-status-negative {
    color: var(--fv-p17-ruby) !important;
}

.fv-status-neutral {
    color: var(--fv-p17-silver) !important;
}

/* ---------- Feature / philosophy area ---------- */

.fv-feature-grid,
.fv-scenario-grid {
    gap: 16px;
}

.fv-feature-item,
.fv-scenario-card {
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(10,22,29,.82), rgba(4,10,14,.92));
    box-shadow: 0 16px 42px rgba(0,0,0,.23);
}

.fv-feature-item {
    min-height: 145px;
    padding: 22px;
}

.fv-feature-index {
    color: var(--fv-p17-teal);
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.fv-scenario-card {
    min-height: 175px;
    padding: 24px;
}

.fv-scenario-label {
    color: var(--fv-p17-champagne);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
}

/* ---------- Growth language using existing homepage components ---------- */

.fv-final-panel {
    position: relative;
    overflow: hidden;
    border-color: rgba(53,243,154,.14);
}

.fv-final-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(53,243,154,.09), transparent 28%),
        radial-gradient(circle at 10% 90%, rgba(71,216,208,.07), transparent 30%);
    pointer-events: none;
}

.fv-final-panel .fv-display-small {
    position: relative;
    color: var(--fv-p17-platinum);
}

/* ---------- Daily Hub ---------- */

.daily-hub {
    max-width: 1240px;
    margin: 0 auto;
    padding: clamp(28px, 5vw, 60px) 20px;
}

.daily-hub > h2 {
    color: var(--fv-p17-platinum);
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 800;
    letter-spacing: -.035em;
}

.daily-hub > p {
    max-width: 700px;
    color: var(--fv-p17-silver);
    line-height: 1.7;
}

.daily-hub-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0,1fr));
    gap: 16px;
    margin-top: 30px;
}

.daily-hub-grid .market-card {
    grid-column: span 4;
    min-height: 170px;
    padding: 24px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 20px;
    background:
        linear-gradient(145deg, rgba(12,25,32,.92), rgba(4,10,14,.97));
    box-shadow:
        0 18px 48px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.04);
    transition: transform var(--fv-transition-normal),
                border-color var(--fv-transition-normal);
}

.daily-hub-grid .market-card:hover {
    transform: translateY(-3px);
    border-color: rgba(71,216,208,.20);
}

.daily-hub-grid .market-card h3 {
    margin: 0 0 10px;
    color: var(--fv-p17-platinum);
    font-size: 18px;
}

.daily-hub-grid .market-card p {
    color: var(--fv-p17-silver);
    line-height: 1.65;
}

#contribution-opportunities {
    border-color: rgba(231,201,106,.18);
    background:
        radial-gradient(circle at 90% 10%, rgba(231,201,106,.07), transparent 30%),
        linear-gradient(145deg, rgba(18,27,28,.94), rgba(5,11,15,.97));
}

#contribution-opportunities h3 {
    color: var(--fv-p17-champagne);
}

/* ---------- Simple Analysis page ---------- */

.market-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 20px;
    background:
        linear-gradient(145deg, rgba(11,24,31,.93), rgba(4,10,14,.97));
    box-shadow:
        0 18px 48px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.market-card h3 {
    color: var(--fv-p17-platinum);
}

.market-card strong {
    color: var(--fv-p17-champagne);
}

/* ---------- Premium page legacy-system harmonisation ---------- */

body:has(.hero) {
    background:
        radial-gradient(circle at 10% 10%, rgba(71,216,208,.055), transparent 28%),
        radial-gradient(circle at 90% 20%, rgba(231,201,106,.045), transparent 28%),
        var(--fv-p17-obsidian);
}

.hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(71,216,208,.10);
    background:
        radial-gradient(circle at 80% 20%, rgba(71,216,208,.09), transparent 30%),
        linear-gradient(135deg, rgba(10,23,30,.96), rgba(3,8,12,.99));
}

.hero::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(71,216,208,.35),
        rgba(231,201,106,.35),
        transparent
    );
}

.hero .eyebrow,
.section .head small,
.eyebrow {
    color: var(--fv-p17-champagne);
    letter-spacing: .18em;
    font-weight: 800;
}

.hero h1,
.section .head h2 {
    color: var(--fv-p17-platinum);
}

.hero h1 {
    font-size: clamp(38px, 5vw, 68px);
    letter-spacing: -.04em;
}

.hero h1 span {
    color: var(--fv-p17-teal);
}

.hero p,
.section .head p {
    color: var(--fv-p17-silver);
    line-height: 1.75;
}

.tag {
    border-color: rgba(231,201,106,.22) !important;
    color: var(--fv-p17-champagne) !important;
    background: rgba(231,201,106,.055) !important;
}

.grid {
    gap: 18px;
}

.plan,
.module,
.community .card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.075) !important;
    border-radius: 22px !important;
    background:
        linear-gradient(145deg, rgba(12,25,32,.94), rgba(4,10,14,.98)) !important;
    box-shadow:
        0 20px 55px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.045);
    transition:
        transform var(--fv-transition-normal),
        border-color var(--fv-transition-normal),
        box-shadow var(--fv-transition-normal);
}

.plan:hover,
.module:hover,
.community .card:hover {
    transform: translateY(-4px);
    border-color: rgba(71,216,208,.20) !important;
    box-shadow:
        0 28px 70px rgba(0,0,0,.36),
        0 0 30px rgba(71,216,208,.04);
}

.plan h3,
.module h3,
.community .card h3 {
    color: var(--fv-p17-platinum);
}

.plan .type,
.module .pill,
.pill {
    color: var(--fv-p17-teal) !important;
}

.plan .price {
    color: var(--fv-p17-champagne) !important;
    font-variant-numeric: tabular-nums lining-nums;
    font-feature-settings: "tnum" 1, "lnum" 1;
}

.plan.elite {
    border-color: rgba(231,201,106,.25) !important;
    background:
        radial-gradient(circle at 90% 0%, rgba(231,201,106,.08), transparent 32%),
        linear-gradient(145deg, rgba(19,27,29,.96), rgba(5,11,15,.98)) !important;
}

.badge {
    color: var(--fv-p17-champagne) !important;
    border-color: rgba(231,201,106,.25) !important;
    background: rgba(231,201,106,.07) !important;
}

.btn.green {
    box-shadow: 0 0 22px rgba(53,243,154,.08);
}

.btn.outline {
    border-color: rgba(71,216,208,.24) !important;
    color: var(--fv-p17-teal) !important;
}

.modules {
    gap: 18px;
}

.module {
    min-height: 150px;
}

.community {
    gap: 18px;
}

.policy {
    border-color: rgba(255,255,255,.07) !important;
    border-radius: 20px !important;
    background: rgba(7,16,22,.78) !important;
    color: var(--fv-p17-silver);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

/* ---------- Navigation and footer ---------- */

.fv-global-nav {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    background: rgba(3,7,10,.82);
    border-bottom-color: rgba(71,216,208,.10);
}

.fv-brand-name {
    color: var(--fv-p17-platinum);
    letter-spacing: .14em;
}

.fv-brand-tagline {
    color: var(--fv-p17-teal);
}

.fv-global-link {
    color: var(--fv-p17-silver);
}

.fv-global-link:hover,
.fv-global-link-premium {
    color: var(--fv-p17-champagne);
}

/* ---------- Responsive allocation ---------- */

@media (max-width: 900px) {
    .fv-market-card,
    .fv-data-panel,
    .daily-hub-grid .market-card {
        grid-column: span 6;
    }

    .fv-intelligence-panel {
        min-height: 330px;
    }

    .fv-intelligence-panel .fv-display {
        font-size: clamp(38px, 8vw, 58px);
    }
}

@media (max-width: 620px) {
    .fv-market-card,
    .fv-data-panel,
    .daily-hub-grid .market-card {
        grid-column: 1 / -1;
    }

    .fv-market-card {
        min-height: 160px;
    }

    .fv-market-value {
        font-size: 34px;
    }

    .fv-intelligence-panel {
        padding: 28px 22px;
        border-radius: 24px;
    }

    .fv-intelligence-panel .fv-display {
        font-size: 38px;
    }

    .daily-hub {
        padding-left: 14px;
        padding-right: 14px;
    }
}

/* ---------- Accessibility ---------- */

@media (prefers-reduced-motion: reduce) {
    .fv-market-card,
    .daily-hub-grid .market-card,
    .plan,
    .module,
    .community .card {
        transition: none !important;
    }

    .fv-market-card:hover,
    .daily-hub-grid .market-card:hover,
    .plan:hover,
    .module:hover,
    .community .card:hover {
        transform: none !important;
    }
}

/* ============================================================
   END P17 WHOLE-PRODUCT LUXURY UI
   ============================================================ */


/* ============================================================
   FINVILLAHUB 2.0 — P17 FINAL PRESENTATION CORRECTIONS
   Frontend-only: typography, spacing, semantic color, legacy harmonisation.
   No formulas, API, database, entitlement or calculation changes.
   ============================================================ */
.fv-text-platinum { color: var(--fv-p17-platinum); }
.fv-status-caution { color: var(--fv-p17-amber) !important; }

/* Legacy base pages inherit the same luxury shell without changing routes or data. */
body {
    background: var(--fv-p17-obsidian, #03070a);
    color: var(--fv-p17-platinum, #dce4e8);
}
body > .header,
body .header {
    position: sticky; top: 0; z-index: 50;
    background: rgba(3,7,10,.88);
    border-bottom: 1px solid rgba(71,216,208,.12);
    backdrop-filter: blur(16px);
}
body > .header h1,
body .header h1 {
    color: var(--fv-p17-platinum, #dce4e8);
    letter-spacing: .04em;
}
body .nav a {
    color: var(--fv-p17-silver, #b8c6ca);
    transition: color 180ms ease, background 180ms ease;
}
body .nav a:hover { color: var(--fv-p17-teal, #47d8d0); }
body > main > .container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto; padding: 40px 0 56px;
}
body > footer {
    border-top: 1px solid rgba(255,255,255,.08);
    color: var(--fv-p17-silver, #b8c6ca);
    background: rgba(2,6,8,.92);
}

/* Community growth emphasis: restrained premium highlighting, not aggressive CTA styling. */
.community .card:nth-child(1),
.community .card:nth-child(2) {
    border-color: rgba(231,201,106,.26);
    box-shadow: 0 18px 50px rgba(0,0,0,.28), inset 0 1px 0 rgba(231,201,106,.06);
}
.community .card:nth-child(1) h3 { color: var(--fv-p17-champagne); }
.community .card:nth-child(2) h3 { color: var(--fv-p17-teal); }
.community-icon {
    width: 46px; height: 46px; display: grid; place-items: center;
    margin-bottom: 14px; border-radius: 14px;
    border: 1px solid rgba(231,201,106,.22);
    background: linear-gradient(145deg, rgba(231,201,106,.10), rgba(71,216,208,.045));
    font-size: 24px;
}
.footer-brand-name { color: var(--fv-p17-platinum); }
.footer-brand-tagline { margin-top: 5px; font-size: 11px; color: var(--fv-p17-champagne); }

/* SENSEX signal presentation */
.fv-sx-signal-wrap { margin-top: 12px; }
.fv-sx-signal-value {
    margin-top: 9px; font-size: 21px; font-weight: 850;
    color: var(--fv-gold, var(--fv-p17-champagne));
}
.fv-sx-spacer { height: 8px; }

@media (max-width: 620px) {
    body > main > .container { width: min(100% - 28px, 1180px); padding-top: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    body .nav a { transition: none; }
}
/* END P17 FINAL PRESENTATION CORRECTIONS */

.daily-hub-disclaimer { margin-top: 12px; font-size: 12px; line-height: 1.7; color: var(--fv-p17-silver, #b8c6ca); }

/* ============================================================
   P17 FINAL LUXURY COMMAND CENTER — VISUAL ACCEPTANCE BUILD
   Frontend-only. Existing backend values/routes remain untouched.
   ============================================================ */
:root{
  --fv-cmd-bg:#05090d;--fv-cmd-panel:#081219;--fv-cmd-panel2:#0b151c;
  --fv-cmd-line:rgba(214,228,232,.11);--fv-cmd-line2:rgba(71,216,208,.20);
  --fv-cmd-gold:#e8c66a;--fv-cmd-gold2:#f2db96;--fv-cmd-platinum:#e3eaed;
  --fv-cmd-muted:#91a0a7;--fv-cmd-teal:#45d9d0;--fv-cmd-green:#35e99a;
  --fv-cmd-red:#ff5b69;--fv-cmd-amber:#f2c85e;--fv-sidebar:220px;
}
html{background:var(--fv-cmd-bg);scroll-behavior:smooth}
body.fv-page{background:radial-gradient(circle at 70% 0%,rgba(22,70,75,.12),transparent 32%),linear-gradient(180deg,#04080c 0%,#050a0e 100%);color:var(--fv-cmd-platinum);font-size:14px}
body.fv-page::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(71,216,208,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(71,216,208,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 72%);z-index:0}
.fv-global-nav{position:fixed!important;left:0;top:0;bottom:0;width:var(--fv-sidebar);z-index:100;display:flex;flex-direction:column;padding:18px 12px 14px;background:linear-gradient(180deg,rgba(4,12,17,.98),rgba(3,8,12,.98));border-right:1px solid rgba(71,216,208,.14);box-shadow:16px 0 50px rgba(0,0,0,.30);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.fv-sidebar-brand{padding:6px 7px 16px;border-bottom:1px solid var(--fv-cmd-line)}
.fv-brand{display:grid;grid-template-columns:38px 1fr;column-gap:9px;align-items:center;text-decoration:none}
.fv-brand-mark{grid-row:span 2;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(232,198,106,.48);border-radius:10px;color:var(--fv-cmd-gold2);font:700 12px/1 system-ui;letter-spacing:.08em;background:linear-gradient(145deg,rgba(232,198,106,.13),rgba(71,216,208,.03));box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.25)}
.fv-brand-name{font-family:Georgia,serif;font-size:21px;line-height:1;color:var(--fv-cmd-platinum);letter-spacing:-.02em}.fv-brand-name::first-letter{color:var(--fv-cmd-gold2)}
.fv-brand-tagline{font-size:8px;line-height:1.3;color:var(--fv-cmd-gold);letter-spacing:.14em;margin-top:3px}
.fv-global-links{display:flex;flex-direction:column;gap:2px;padding:14px 0;overflow:auto;scrollbar-width:none}.fv-global-links::-webkit-scrollbar{display:none}
.fv-nav-group-label{padding:10px 10px 5px;font-size:8px;letter-spacing:.17em;color:#66777f}.fv-global-link{display:flex;align-items:center;gap:9px;min-height:34px;padding:7px 10px;border-radius:7px;color:#b7c4c9;text-decoration:none;font-size:13px;letter-spacing:.01em;border:1px solid transparent;transition:all 160ms ease}.fv-global-link:hover{color:#eef3f4;background:rgba(71,216,208,.055);border-color:rgba(71,216,208,.10)}.fv-global-link-active{color:#fff;background:linear-gradient(90deg,rgba(232,198,106,.17),rgba(71,216,208,.035));border-color:rgba(232,198,106,.26);box-shadow:inset 2px 0 var(--fv-cmd-gold)}.fv-global-link-premium{color:var(--fv-cmd-gold2)}.fv-nav-dot{width:5px;height:5px;border-radius:50%;border:1px solid currentColor;opacity:.72}.fv-sidebar-motto{margin-top:auto;border:1px solid rgba(232,198,106,.26);border-radius:10px;padding:12px;background:radial-gradient(circle at 85% 100%,rgba(232,198,106,.15),transparent 48%),linear-gradient(145deg,rgba(232,198,106,.05),rgba(71,216,208,.02));font-size:9px;line-height:1.7;letter-spacing:.14em;color:#bfc9cc}.fv-sidebar-motto strong{display:block;color:var(--fv-cmd-gold2);font-size:11px;margin-top:2px}
.fv-shell{position:relative;z-index:1;margin-left:var(--fv-sidebar);min-height:calc(100vh - 1px)}.fv-command-container{width:min(1420px,calc(100% - 34px));margin:0 auto;padding:18px 0 30px}
.fv-command-hero{position:relative;min-height:320px;display:grid;grid-template-columns:minmax(360px,1fr) minmax(340px,1.1fr) 220px;gap:18px;align-items:stretch;padding:26px 26px 22px;border:1px solid var(--fv-cmd-line);border-radius:14px;background:radial-gradient(circle at 70% 35%,rgba(232,198,106,.13),transparent 24%),linear-gradient(110deg,rgba(9,18,24,.98),rgba(7,18,25,.88));box-shadow:0 22px 60px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.05);overflow:hidden}.fv-command-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,198,106,.65),rgba(71,216,208,.65),transparent)}
.fv-hero-copy{position:relative;z-index:2;padding-top:4px}.fv-command-kicker{font-size:9px;letter-spacing:.20em;color:var(--fv-cmd-gold);font-weight:700}.fv-learning-rail{display:flex;gap:7px;align-items:center;margin:12px 0 16px;color:#aebcc1;font-size:8px;letter-spacing:.12em}.fv-learning-rail i{font-style:normal;color:#5d6b71}.fv-hero-copy h1{margin:0;font:400 clamp(38px,4.2vw,58px)/.94 Georgia,serif;letter-spacing:-.035em;color:#e7ecee}.fv-hero-copy h1 em{font-style:normal;color:var(--fv-cmd-gold2)}.fv-hero-copy p{margin:13px 0 20px;color:#aab8bd;font-size:14px;line-height:1.55;max-width:430px}.fv-command-actions{display:flex;gap:10px}.fv-command-actions .fv-button{font-size:12px;padding:10px 14px;border-radius:7px}.fv-command-actions .fv-button span{margin-left:12px}.fv-growth-visual{position:relative;overflow:hidden;border-left:1px solid rgba(255,255,255,.06);min-height:270px;background:linear-gradient(180deg,rgba(12,24,30,.12),rgba(3,9,13,.42))}.fv-growth-sun{position:absolute;right:25%;top:15%;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(255,223,149,.55) 0,rgba(232,198,106,.16) 35%,transparent 70%);filter:blur(1px)}.fv-growth-mountain{position:absolute;inset:auto 0 0;height:70%;background:linear-gradient(135deg,transparent 20%,rgba(28,56,65,.7) 20%,rgba(8,18,24,.92) 48%,rgba(28,53,61,.62) 48%,transparent 68%);clip-path:polygon(0 78%,19% 49%,30% 64%,48% 23%,63% 56%,77% 36%,100% 68%,100% 100%,0 100%)}.fv-growth-path{position:absolute;left:18%;right:10%;bottom:28px;height:150px}.fv-growth-path::before{content:"";position:absolute;left:8%;bottom:6px;width:82%;height:92%;border-left:2px solid rgba(232,198,106,.75);border-top:2px solid rgba(232,198,106,.75);border-radius:50% 0 0 0;transform:skewY(-12deg);filter:drop-shadow(0 0 8px rgba(232,198,106,.25))}.fv-growth-path .step{position:absolute;padding:7px 10px;border:1px solid rgba(232,198,106,.34);background:rgba(4,11,15,.85);border-radius:6px;color:#f2d98f;font-size:9px;letter-spacing:.10em;box-shadow:0 8px 18px rgba(0,0,0,.28)}.step-learn{left:3%;bottom:4px}.step-skill{left:30%;bottom:43px}.step-develop{left:55%;bottom:82px}.step-grow{right:0;bottom:122px}.fv-growth-caption{position:absolute;right:14px;bottom:8px;font-size:8px;line-height:1.6;letter-spacing:.12em;color:#9ca9ad;text-align:right}.fv-growth-caption strong{color:var(--fv-cmd-gold)}.fv-hero-quote{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:22px;border-left:1px solid rgba(255,255,255,.06);color:#cbd4d7;font:400 19px/1.35 Georgia,serif}.fv-hero-quote::first-letter{color:var(--fv-cmd-gold2)}.fv-hero-quote small{display:block;margin-top:16px;color:#74848a;font:10px/1.5 system-ui;letter-spacing:.08em}
.fv-command-section{margin-top:16px}.fv-section-bar{display:flex;justify-content:space-between;align-items:flex-end;margin:0 2px 9px}.fv-section-bar h2{margin:3px 0 0;font-size:20px;line-height:1.2;font-weight:650;letter-spacing:-.01em;color:#dfe6e8}.fv-section-link{font-size:11px;color:var(--fv-cmd-teal);text-decoration:none}.fv-live-badge{font-size:9px;color:#7d8d92;letter-spacing:.12em}.fv-live-badge i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--fv-cmd-green);box-shadow:0 0 9px rgba(53,233,154,.65)}
.fv-command-market-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.fv-command-market-card{position:relative;min-height:128px;padding:14px 15px;border:1px solid var(--fv-cmd-line);border-radius:10px;background:linear-gradient(145deg,rgba(9,21,28,.95),rgba(6,14,19,.98));box-shadow:inset 0 1px rgba(255,255,255,.035),0 12px 28px rgba(0,0,0,.20);overflow:hidden}.fv-command-market-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.55}.market-nifty{color:var(--fv-cmd-green)}.market-bank{color:var(--fv-cmd-teal)}.market-sensex{color:var(--fv-cmd-gold)}.market-vix{color:#6db7e8}.fv-market-top{display:flex;justify-content:space-between;align-items:center}.fv-market-label{color:#d2dbde;font-size:12px;font-weight:700;letter-spacing:.04em}.fv-market-symbol{width:27px;height:27px;display:grid;place-items:center;border:1px solid currentColor;border-radius:7px;color:currentColor;font-size:11px;font-weight:800;background:rgba(255,255,255,.02)}.fv-command-market-card strong{display:block;margin-top:18px;color:#edf2f3;font:650 28px/1.05 system-ui;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.fv-command-market-card small{display:block;margin-top:7px;color:#718087;font-size:9px;letter-spacing:.10em}
.fv-structure-frame{display:grid;grid-template-columns:1fr .95fr 1fr .9fr;gap:9px}.fv-structure-column,.fv-structure-center,.fv-trap-panel{min-height:174px;border:1px solid var(--fv-cmd-line);border-radius:10px;background:linear-gradient(145deg,rgba(8,19,25,.96),rgba(5,12,17,.96));padding:12px}.fv-structure-column header,.fv-structure-center header,.fv-trap-panel header{font-size:9px;letter-spacing:.14em;font-weight:800}.fv-resistance{color:var(--fv-cmd-red)}.fv-support{color:var(--fv-cmd-green)}.fv-structure-column>div{display:flex;justify-content:space-between;align-items:center;padding:10px 3px;border-bottom:1px solid rgba(255,255,255,.055)}.fv-structure-column>div:last-child{border-bottom:0}.fv-structure-column span{font-size:12px}.fv-structure-column strong{color:#e2e9eb;font-size:16px;font-variant-numeric:tabular-nums}.fv-structure-center{color:var(--fv-cmd-teal);text-align:center;display:flex;flex-direction:column;justify-content:center}.fv-structure-center strong{margin:12px 0 5px;color:#e9eeef;font-size:18px}.fv-structure-center small{color:#718086;font-size:10px;line-height:1.45}.fv-structure-center a,.fv-trap-panel a{margin-top:15px;color:var(--fv-cmd-teal);font-size:10px;text-decoration:none}.fv-trap-panel{color:var(--fv-cmd-amber);background:radial-gradient(circle at 85% 15%,rgba(242,200,94,.10),transparent 40%),linear-gradient(145deg,rgba(15,18,17,.96),rgba(8,12,14,.96))}.fv-trap-panel p{margin:16px 0 0;color:#aab4b7;font-size:11px;line-height:1.55}.fv-section-note{margin:7px 2px 0;color:#66757b;font-size:10px}
.fv-growth-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.fv-growth-grid article{position:relative;min-height:142px;padding:15px;border:1px solid var(--fv-cmd-line);border-radius:10px;background:linear-gradient(145deg,rgba(8,19,25,.96),rgba(5,12,17,.98));overflow:hidden}.fv-growth-grid article:nth-child(1){border-color:rgba(232,198,106,.28)}.fv-growth-grid article:nth-child(2){border-color:rgba(71,216,208,.22)}.fv-growth-grid article:nth-child(3){border-color:rgba(109,183,232,.20)}.fv-growth-grid article:nth-child(4){border-color:rgba(53,233,154,.22)}.fv-growth-index{position:absolute;right:13px;top:12px;color:#526168;font-size:9px;letter-spacing:.12em}.fv-growth-icon{display:inline-block;padding:5px 7px;border:1px solid rgba(255,255,255,.10);border-radius:5px;color:var(--fv-cmd-gold2);font-size:8px;letter-spacing:.12em}.fv-growth-grid h3{margin:18px 0 6px;font-size:15px;color:#e4eaec}.fv-growth-grid p{margin:0;color:#849298;font-size:11px;line-height:1.55;max-width:250px}
.fv-scenario-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.fv-scenario-strip article{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--fv-cmd-line);border-radius:9px;background:#081218}.fv-scenario-strip article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;font-size:18px}.scenario-up{border-color:rgba(53,233,154,.20)!important}.scenario-up>span{background:rgba(53,233,154,.10);color:var(--fv-cmd-green)}.scenario-mid{border-color:rgba(242,200,94,.20)!important}.scenario-mid>span{background:rgba(242,200,94,.10);color:var(--fv-cmd-amber)}.scenario-down{border-color:rgba(255,91,105,.20)!important}.scenario-down>span{background:rgba(255,91,105,.10);color:var(--fv-cmd-red)}.fv-scenario-strip strong{display:block;font-size:11px;color:#dce4e6}.fv-scenario-strip small{display:block;margin-top:3px;color:#75848a;font-size:10px;line-height:1.35}
.fv-premium-command{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:17px 19px;border:1px solid rgba(232,198,106,.25);border-radius:10px;background:radial-gradient(circle at 85% 50%,rgba(232,198,106,.10),transparent 34%),linear-gradient(105deg,rgba(10,20,25,.98),rgba(14,17,18,.98));box-shadow:inset 0 1px rgba(255,255,255,.04)}.fv-premium-command h2{margin:4px 0 4px;font-size:20px;color:#eceff0}.fv-premium-command p{margin:0;color:#839197;font-size:11px}.fv-premium-command .fv-button{font-size:12px;padding:10px 15px;white-space:nowrap}
.fv-global-footer{position:relative;z-index:1;margin-left:var(--fv-sidebar);background:#04090d!important;border-top:1px solid rgba(71,216,208,.10)!important}.fv-global-footer-inner{max-width:1420px;margin:0 auto}.fv-footer-bottom{font-size:10px!important;color:#748187!important}
@media(max-width:1000px){:root{--fv-sidebar:0px}.fv-global-nav{position:relative!important;width:100%;height:auto;min-height:0;display:block;padding:10px 12px;border-right:0;border-bottom:1px solid rgba(71,216,208,.14)}.fv-sidebar-brand{border:0;padding:0}.fv-global-links{flex-direction:row;overflow:auto;padding:8px 0 0;gap:4px}.fv-nav-group-label,.fv-sidebar-motto{display:none}.fv-global-link{white-space:nowrap}.fv-shell,.fv-global-footer{margin-left:0}.fv-command-hero{grid-template-columns:1fr 1fr}.fv-hero-quote{display:none}.fv-command-market-grid{grid-template-columns:repeat(2,1fr)}.fv-structure-frame{grid-template-columns:1fr 1fr}.fv-growth-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.fv-command-container{width:min(100% - 20px,1420px)}.fv-command-hero{grid-template-columns:1fr;padding:20px}.fv-growth-visual{min-height:210px;border-left:0;border-top:1px solid rgba(255,255,255,.06)}.fv-hero-copy h1{font-size:38px}.fv-command-market-grid,.fv-structure-frame,.fv-growth-grid,.fv-scenario-strip{grid-template-columns:1fr}.fv-command-market-card{min-height:112px}.fv-command-market-card strong{font-size:26px}.fv-structure-column,.fv-structure-center,.fv-trap-panel{min-height:145px}.fv-premium-command{align-items:flex-start;flex-direction:column}.fv-global-links{padding-bottom:3px}.fv-global-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fv-global-link{transition:none}}
/* END P17 FINAL LUXURY COMMAND CENTER */
