/* ============================================================
   THE MARKET GURUKUL — Optimized & Mobile-First CSS
   Performance: font-display:swap, reduced animations on mobile,
   will-change only where needed, contain:layout for blobs
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700&family=Sora:wght@600;700;800&family=JetBrains+Mono:wght@400;600&family=Noto+Sans+Devanagari:wght@400;600;700;800&display=swap&font-display=swap');

:root {
    /* Backgrounds */
    --bg-primary: rgba(245, 246, 250, 0.55);        /* Clean light grey-blue page bg - made semi-transparent */
    --bg-secondary: rgba(255, 255, 255, 0.75);      /* Pure white for page containers/cards - made semi-transparent */
    --bg-card: rgba(255, 255, 255, 0.85);           /* Card containers - made semi-transparent */
    
    /* Typography */
    --text-main: #1e2538;         /* Deep charcoal for body text readability */
    --text-muted: #4e576f;        /* Medium grey for secondary content */
    --text-light: #475569;        /* Enhanced high-contrast slate for timestamps and helper text */
    
    /* NSE Primary Brand Colors */
    --primary: #3A2D7F;           /* NSE Minsk (Violet Blue) */
    --primary-hover: #271d5b;     /* Darker Minsk for hovers */
    --primary-light: rgba(58, 45, 127, 0.05);     /* 5% Minsk tint for highlights */
    --primary-tint: rgba(58, 45, 127, 0.1);      /* 10% Minsk tint for background details */
    --on-primary: #ffffff;        /* High-contrast text on primary buttons */
    
    /* NSE Accent Colors */
    --accent: #F1B70E;            /* Persian Gold */
    --accent-hover: #d29e0a;      /* Darker Gold */
    --accent-light: rgba(241, 183, 14, 0.12); /* Soft gold tint */
    --accent-hover-light: rgba(241, 183, 14, 0.25);
    
    /* Trading Alerts / Status (High Contrast Accessible Values) */
    --success: #0a8754;           /* Richer NSE Green for WCAG AA text contrast */
    --success-light: rgba(10, 135, 84, 0.08);
    --danger: #cf1124;            /* Darker Red for WCAG AA text contrast */
    --danger-light: rgba(207, 17, 36, 0.08);
    
    /* Borders & Shadows */
    --border: rgba(203, 213, 225, 0.4);            /* Standard borders */
    --border-light: rgba(226, 232, 240, 0.3);      /* Thin divider borders */
    --shadow-xl: 0 12px 40px rgba(58, 45, 127, 0.05); /* Soft blue-purple shadow */
    
    /* Layout Constants */
    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --font-heading: 'Sora', 'Noto Sans Devanagari', sans-serif;
    --font-body: 'Plus Jakarta Sans', 'Noto Sans Devanagari', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
    --max-width: 1280px;
    --transition: all .3s cubic-bezier(.4,0,.2,1);

    /* Magnification effect transition curves */
    --lerp-0: 1;
    --lerp-1: 0.63;
    --lerp-2: 0.32;
    --lerp-3: 0.12;
}

/* ── Reset ── */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background-color:#f5f6fa;overflow-x:hidden}
body{background-color:#f5f6fa;color:var(--text-main);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-main);font-weight:700}
a{color:inherit;text-decoration:none;transition:var(--transition)}
button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;background:none;transition:var(--transition)}
ul{list-style:none}
img{max-width:100%;height:auto;display:block}

/* ── Layout ── */
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1rem}
.section-padding{padding:4rem 0}
.section-header{text-align:center;max-width:700px;margin:0 auto 3rem auto}

/* ── Background Blobs — GPU-contained ── */
.liquid-bg{
    position:fixed;top:0;left:0;width:100vw;height:100vh;
    z-index:-1;overflow:hidden;pointer-events:none;
    background-color:transparent;
    contain:strict;
}
.blob{
    position:absolute;border-radius:50%;
    filter:blur(80px);opacity:.04; /* Very soft pastel glow on light theme */
    will-change:transform;
    animation:float-blob 25s infinite alternate ease-in-out;
}
.blob-1{background:radial-gradient(circle,var(--primary) 0%,transparent 70%);width:45vw;height:45vw;top:-10%;left:-10%}
.blob-2{background:radial-gradient(circle,var(--accent) 0%,transparent 70%);width:50vw;height:50vw;bottom:-15%;right:-10%;animation-delay:-7s;animation-duration:30s}
.blob-3{background:radial-gradient(circle,var(--success) 0%,transparent 70%);width:35vw;height:35vw;top:40%;right:15%;animation-delay:-14s;animation-duration:28s}

@keyframes float-blob{
    0%  {transform:translate(0,0) scale(1)}
    50% {transform:translate(20px,-30px) scale(1.08)}
    100%{transform:translate(-15px,15px) scale(.95)}
}

/* ── Badges & Titles ── */
.section-badge{
    display:inline-block;padding:.35rem 1rem;
    background-color:var(--primary-light);color:var(--primary);
    font-weight:700;font-size:.85rem;text-transform:uppercase;
    letter-spacing:.05em;border-radius:var(--radius-sm);margin-bottom:1rem;
    border: 1px solid var(--primary-tint);
}
.section-title{font-size:clamp(1.6rem,4vw,2.25rem);font-weight:800;margin-bottom:1rem;line-height:1.25;color:var(--primary)}
.section-subtitle{color:var(--text-muted);font-size:1.05rem}

/* ── Page Hero (inner pages) ── */
.page-hero {
    position: relative;
    padding: 8rem 0 7rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
    overflow: visible !important;
    border-bottom: none !important;
}
/* Default hero background is stock chart */
.page-hero {
    background-image: linear-gradient(135deg, rgba(15, 23, 42, 0.65) 0%, rgba(30, 41, 59, 0.65) 100%), url('trading_chart.png');
}
.page-hero.hero-contact {
    background-image: linear-gradient(135deg, rgba(15, 23, 42, 0.65) 0%, rgba(30, 41, 59, 0.65) 100%), url('banner_contact.png');
}
.page-hero.hero-health {
    background-image: url('health.png') !important;
}
.page-hero.hero-life {
    background-image: url('life.png') !important;
}
.page-hero.hero-results {
    background-image: url('res.png') !important;
}
.page-hero.hero-simulator {
    background-image: linear-gradient(135deg, rgba(15, 23, 42, 0.65) 0%, rgba(30, 41, 59, 0.65) 100%), url('banner_simulator.png');
}
.page-hero.hero-services {
    background-image: url('services.png') !important;
    border-bottom: none !important;
}
.page-hero.hero-about {
    background-image: url('about.png') !important;
    border-bottom: none !important;
    overflow: visible !important;
}

.page-hero-title {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 850;
    margin-bottom: 0.85rem;
    color: var(--primary) !important;
}
.page-hero-title span {
    color: var(--text-main);
}
.page-hero-desc {
    font-size: 1.08rem;
    color: var(--text-muted) !important;
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.75rem;font-weight:600;font-size:1rem;border-radius:var(--radius-md);transition:var(--transition);white-space:nowrap}
.btn-primary{background-color:var(--primary);color:var(--on-primary)}
.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px rgba(58, 45, 127, 0.2)}
.btn-secondary{background-color:var(--accent);color:var(--text-main);font-weight:700}
.btn-secondary:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 16px rgba(241, 183, 14, 0.25)}
.btn-outline{border:2px solid var(--border);color:var(--text-main);background-color:transparent}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}

/* ── Header ── */
/* ── Header ── */
header {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0.15) 100%) !important;
    backdrop-filter: blur(28px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
    position: sticky; top: 12px; z-index: 1000;
    margin: 12px 14px 0 14px !important;
    border-radius: 30px !important;
    border: 1.2px solid rgba(255, 255, 255, 0.45) !important;
    border-top: 2.2px solid rgba(255, 255, 255, 0.75) !important;
    box-shadow: 
        inset 0 8px 20px rgba(255, 255, 255, 0.4),
        inset 0 1px 2px rgba(255, 255, 255, 0.6),
        0 24px 48px rgba(15, 23, 42, 0.24),
        0 8px 16px rgba(15, 23, 42, 0.12),
        0 2px 4px rgba(15, 23, 42, 0.06) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
@media(min-width: 768px) {
    header {
        top: 16px;
        margin: 16px 28px 0 28px !important;
        border-radius: 50px !important;
        border: 1.5px solid rgba(255, 255, 255, 0.5) !important;
        border-top: 2.5px solid rgba(255, 255, 255, 0.8) !important;
        box-shadow: 
            inset 0 12px 30px rgba(255, 255, 255, 0.4),
            inset 0 1px 2px rgba(255, 255, 255, 0.65),
            0 32px 64px rgba(15, 23, 42, 0.28),
            0 12px 24px rgba(15, 23, 42, 0.16),
            0 3px 6px rgba(15, 23, 42, 0.08) !important;
    }
}
header.scrolled {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.52) 0%, rgba(255, 255, 255, 0.22) 100%) !important;
    box-shadow: 
        inset 0 8px 20px rgba(255, 255, 255, 0.45),
        inset 0 1px 2px rgba(255, 255, 255, 0.65),
        0 36px 72px rgba(15, 23, 42, 0.32),
        0 14px 28px rgba(15, 23, 42, 0.18),
        0 4px 8px rgba(15, 23, 42, 0.1) !important;
}
.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 6.8rem;
    padding: 0 1.5rem !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    gap: 1.5rem;
}
header.scrolled .nav-container {
    height: 4.8rem;
}
.logo-img {
    height: 96px;
    width: 96px;
    border-radius: 50%;
    object-fit: cover;
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
header.scrolled .logo-img {
    height: 64px;
    width: 64px;
}
.logo {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--primary);
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
}
.logo-icon {
    font-size: 1.5rem;
    animation: pulse 2s infinite;
    color: var(--accent);
}
.logo span {
    display: none;
    color: var(--primary);
    white-space: nowrap;
}

@media(min-width:380px){.logo span{display:inline;font-size:1rem}}
@media(min-width:768px){.logo{font-size:1.4rem}.logo-icon{font-size:1.8rem}}
/* Mobile/Tablet default navigation menu hidden drawer */
.nav-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(16px);
    flex-direction: column;
    padding: 1.5rem;
    gap: 1.25rem !important;
    border-radius: 0 0 24px 24px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: none;
    z-index: 999;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
header.scrolled .nav-menu {
    border-radius: 0 0 24px 24px;
}
.nav-menu.show {
    display: flex;
}

/* Base style for nav link */
.nav-link {
    padding: 0.5rem 1rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: 600;
}

.nav-tile-item {
    font-weight: 700;
    font-size: 0.9rem;
    color: #ffffff !important;
    text-transform: uppercase;
}

/* Wide glossy tile buttons for navigation menu ONLY on desktop */
@media(min-width: 1024px) {
    .nav-menu {
        display: flex;
        position: static;
        background: rgba(15, 23, 42, 0.04);
        padding: 0.35rem 0.5rem !important;
        border-radius: 50px;
        backdrop-filter: none;
        box-shadow: none;
        border: none;
        flex-direction: row;
        gap: 1.55rem !important;
    }
    .nav-link {
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
        transform-origin: 50% 100%;
        transform: translateY(calc(var(--lerp, 0) * -3px)) scale(calc(1 + (var(--lerp, 0) * 0.1)));
        position: relative;
        will-change: transform;
    }

    /* Wide pill button tags matching the request */
    .nav-tile-item {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 90px;
        height: 42px;
        border-radius: 12px;
        font-weight: 800;
        font-size: 0.76rem;
        letter-spacing: 0.04em;
        color: #ffffff !important;
        text-shadow: 0 1.5px 3px rgba(0, 0, 0, 0.45);
        background: var(--bg);
        position: relative;
        box-shadow: 0 6px 15px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.22);
        overflow: hidden;
        transition: var(--transition);
    }
    /* Glass Reflection Gloss Shine */
    .nav-tile-item::after {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0; height: 50%;
        background: linear-gradient(180deg, rgba(255,255,255,0.26) 0%, rgba(255,255,255,0) 100%);
        border-radius: 12px 12px 0 0;
        pointer-events: none;
    }
}

.nav-link.active .nav-tile-item {
    box-shadow: 0 0 15px var(--bg), inset 0 1.5px 0 rgba(255,255,255,0.5);
    transform: scale(1.03);
}

/* Active Page Indicator Dot */
.nav-link.active::after {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--primary);
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 0 8px var(--primary);
}

/* Base lerp initialization */
.nav-link {
    --lerp: 0;
}

/* Only scale the hovered/focused link button on desktop viewports */
@media(min-width: 1024px) {
    .nav-link:is(:hover, :focus-visible) {
        --lerp: var(--lerp-0);
        z-index: 5;
    }
}
.nav-cta {
    display: none;
}

/* Reduced size CTA button in navigation bar header */
#nav-enroll-btn {
    padding: 0.35rem 0.75rem !important;
    font-size: 0.8rem !important;
}

.hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: .25rem;
}
.hamburger span {
    width: 25px;
    height: 3px;
    background-color: var(--primary);
    border-radius: 3px;
    transition: var(--transition);
}

/* ── Ticker ── */
.ticker-wrap{width:100%;background-color:var(--bg-secondary);border-bottom:1px solid var(--border);overflow:hidden;padding:.4rem 0;font-size:.82rem;font-weight:600}
.ticker{display:flex;white-space:nowrap;animation:ticker-anim 30s linear infinite}
.ticker-item{display:inline-flex;align-items:center;gap:.5rem;margin-right:2.5rem}
.ticker-name{color:var(--text-muted)}
.ticker-value{color:var(--text-main)}
.ticker-change{display:inline-flex;align-items:center;gap:.2rem;border-radius:var(--radius-sm);padding:.1rem .3rem}
.ticker-change.up{color:var(--success);background-color:var(--success-light)}
.ticker-change.down{color:var(--danger);background-color:var(--danger-light)}

/* ── Hero Section ── */
.hero-section{position:relative;padding:1.5rem 0 2.5rem;overflow:hidden}
.hero-grid{display:flex;flex-direction:column}
.hero-content{display:flex;flex-direction:column;gap:0;align-items:flex-start}

/* ── Live Market Section (standalone below hero) ── */
.market-section{padding:0 0 3rem;background-color:var(--bg-primary)}
.hero-tag{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.5rem 1rem;background-color:var(--accent-light);
    color:var(--accent-hover);border-radius:30px;font-size:.82rem;
    font-weight:600;margin-bottom:1.25rem;
    border:1px solid rgba(217,119,6,.15);
}
.hero-title{font-size:clamp(2rem,6vw,3.5rem);font-weight:850;line-height:1.15;margin-bottom:1.25rem;letter-spacing:-.02em}
.hero-title span{background:linear-gradient(135deg,var(--primary),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-desc{color:var(--text-muted);font-size:1.05rem;margin-bottom:1.75rem;font-weight:400}
.hero-motto{display:flex;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}
.motto-item{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.88rem;color:var(--primary);background-color:var(--bg-secondary);padding:.45rem 1rem;border-radius:30px;border:1px solid var(--border);transition:var(--transition)}
.motto-item:hover{transform:translateY(-2px);background-color:var(--bg-card);border-color:var(--primary)}
.motto-dot{width:6px;height:6px;border-radius:50%;background-color:var(--primary);flex-shrink:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.hero-actions .btn{flex:1;min-width:140px;justify-content:center}
.hero-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
    width: 100%;
    max-width: 440px;
    margin: 2rem auto 0 auto;
}
.stat-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(245, 246, 250, 0.9) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 1.85rem 1rem;
    border-radius: var(--radius-xl);
    border: 1px solid rgba(255, 255, 255, 0.6);
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 4px 20px rgba(58, 45, 127, 0.03);
}
.stat-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(135deg, var(--primary-light) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
}
.stat-card:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: var(--primary-tint);
    box-shadow: 0 15px 35px rgba(58, 45, 127, 0.08);
}
.stat-card:hover::before {
    opacity: 1;
}
.stat-card * {
    position: relative;
    z-index: 2;
}
.stat-icon-wrap {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    margin: 0 auto 1rem auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    transition: all 0.4s ease;
}
.stat-card:hover .stat-icon-wrap {
    transform: scale(1.15) rotate(5deg);
}
.stat-icon-wrap.violet { background-color: rgba(124, 58, 237, 0.1); color: #7c3aed; box-shadow: 0 0 15px rgba(124, 58, 237, 0.03); }
.stat-icon-wrap.gold { background-color: rgba(241, 183, 14, 0.12); color: #d29e0a; box-shadow: 0 0 15px rgba(241, 183, 14, 0.03); }
.stat-icon-wrap.emerald { background-color: rgba(16, 185, 129, 0.1); color: #10b981; box-shadow: 0 0 15px rgba(16, 185, 129, 0.03); }
.stat-icon-wrap.cyan { background-color: rgba(6, 182, 212, 0.1); color: #0891b2; box-shadow: 0 0 15px rgba(6, 182, 212, 0.03); }

.stat-card:hover .stat-icon-wrap.violet { box-shadow: 0 0 25px rgba(124, 58, 237, 0.25); }
.stat-card:hover .stat-icon-wrap.gold { box-shadow: 0 0 25px rgba(241, 183, 14, 0.25); }
.stat-card:hover .stat-icon-wrap.emerald { box-shadow: 0 0 25px rgba(16, 185, 129, 0.25); }
.stat-card:hover .stat-icon-wrap.cyan { box-shadow: 0 0 25px rgba(6, 182, 212, 0.25); }

.stat-num {
    font-family: var(--font-heading);
    font-size: 1.7rem;
    font-weight: 850;
    color: var(--text-main);
    display: block;
    margin-bottom: 0.35rem;
    transition: color 0.3s ease;
}
.stat-card:hover .stat-num {
    color: var(--primary);
}
.stat-label {
    font-size: 0.74rem;
    font-weight: 800;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: block;
}

/* ── Market Widget ── */
.market-widget{
    background-color:var(--bg-card);
    border-radius:var(--radius-lg);border:1px solid var(--border);
    box-shadow: var(--shadow-xl);
    padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;
    width:100%;position:relative;overflow:hidden;
}
.widget-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.75rem}
.widget-title-area{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.widget-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}
.last-updated-text{font-size:.65rem;color:var(--text-light);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap}
.data-source-badge{display:inline-flex;align-items:center;gap:.3rem;padding:2px 8px;border-radius:3px;font-size:.6rem;font-weight:700;letter-spacing:.12em;font-family:var(--font-mono);transition:all .4s ease}
.data-source-badge::before{content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0}
.data-source-badge.live{background:var(--success-light);color:var(--success);border:1px solid rgba(0,176,80,.3)}
.data-source-badge.live::before{background-color:var(--success);animation:ping-dot 1.5s infinite}
.data-source-badge.simulated{background:var(--accent-light);color:var(--accent-hover);border:1px solid rgba(241,183,14,.3)}
.data-source-badge.simulated::before{background-color:var(--accent)}
.data-source-badge.loading{background:rgba(148,163,184,.1);color:var(--text-light);border:1px solid rgba(148,163,184,.2)}
.data-source-badge.loading::before{background-color:var(--text-light);animation:pulse-dot 1s infinite}
@keyframes ping-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}
@keyframes pulse-dot{0%,100%{opacity:.4}50%{opacity:1}}
.live-indicator{width:8px;height:8px;background-color:var(--success);border-radius:50%;position:relative}
.live-indicator::after{content:'';position:absolute;top:-4px;left:-4px;width:16px;height:16px;border-radius:50%;border:2px solid var(--success);animation:ping 1.5s infinite}
.widget-title{font-size:1.1rem;font-weight:800;color:var(--primary)}
.market-search{position:relative;width:100%;max-width:100%}
.market-search input{width:100%;padding:.5rem 1rem .5rem 2.25rem;border-radius:var(--radius-sm);border:1px solid var(--border);background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-body);font-size:.9rem;transition:var(--transition)}
.market-search input::placeholder{color:var(--text-light);opacity:.6}
.market-search input:focus{outline:none;border-color:var(--primary);background-color:var(--bg-card)}
.market-search i{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--text-light);font-size:.9rem}
.market-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.index-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.index-card{border:1px solid var(--border-light);background-color:var(--bg-primary);border-radius:var(--radius-md);padding:1rem;cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;gap:.4rem}
.index-card:hover,.index-card.active{background-color:var(--primary-light);border-color:var(--primary)}
.index-card-header{display:flex;justify-content:space-between;align-items:flex-start}
.index-name{font-weight:700;font-size:.88rem;color:var(--text-main)}
.index-symbol{font-size:.65rem;color:var(--text-light)}
.index-price{font-size:1.2rem;font-weight:800;letter-spacing:-.02em}
.index-perf{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600}
.active-chart-container{border:1px solid var(--border);background-color:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.75rem}
.active-chart-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.active-asset-info{display:flex;flex-direction:column}
.active-asset-title{font-size:1rem;font-weight:800;color:var(--primary)}
.active-asset-price-row{display:flex;align-items:baseline;gap:.5rem}
.active-asset-price{font-size:1.4rem;font-weight:850;color:var(--text-main)}
.active-asset-change{font-size:.88rem;font-weight:600}
.chart-canvas-wrapper{height:220px;width:100%;position:relative}
.chart-canvas-wrapper canvas{display:block;width:100%;height:100%}
.chart-external-links{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.external-link-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--border);background-color:var(--bg-primary);color:var(--text-muted);font-size:.72rem;font-weight:600;transition:var(--transition)}
.external-link-btn:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}
.chart-disclaimer{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--text-light);border-top:1px solid var(--border-light);padding-top:.6rem}
.chart-disclaimer i{color:var(--primary)}
.market-movers-panel{border-top:1px solid var(--border-light);padding-top:1rem}
.market-movers{display:flex;flex-direction:column;gap:.6rem}
.mover-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-light);font-size:.82rem;font-weight:600;transition:var(--transition);background-color:var(--bg-primary)}
.mover-row:hover{background-color:var(--primary-light);border-color:var(--primary)}
.mover-name{display:flex;flex-direction:column}
.mover-full-name{font-size:.68rem;color:var(--text-light);font-weight:400}
.mover-price-info{text-align:right}
.mover-pct{font-size:.72rem;padding:.15rem .4rem;border-radius:var(--radius-sm);margin-left:.5rem;display:inline-block}

/* ── Calculator Section ── */
.calculator-grid{display:grid;grid-template-columns:1fr;gap:2rem}
.calc-card,.calc-result-card{background-color:var(--bg-card);border:1px solid var(--border);padding:1.5rem;border-radius:var(--radius-lg)}
.calc-inputs-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}
.form-group{display:flex;flex-direction:column;gap:.5rem}
.form-group label{font-size:.82rem;font-weight:600;color:var(--text-muted)}
.form-group input{padding:.7rem;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-mono);font-size:.9rem;width:100%;transition:var(--transition)}
.form-group input:focus{outline:none;border-color:var(--primary)}
.calc-result-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--border-light);padding-bottom:.5rem;font-size:.92rem}
.calc-result-row span:first-child{color:var(--text-muted)}
.calc-result-row span:last-child{font-weight:700;font-family:var(--font-mono)}

/* ── Philosophy Section ── */
.motivation-section{background-color:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;color:#0f172a}
.moti-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
.moti-content{display:flex;flex-direction:column;gap:1.5rem}
.moti-content .section-badge{background-color:rgba(37,99,235,.1);color:#2563eb;align-self:flex-start}
.moti-quote{font-size:clamp(1.2rem,4vw,1.6rem);font-weight:700;line-height:1.5;position:relative;padding-left:1.5rem;border-left:4px solid #2563eb;font-family:var(--font-heading);color:#0f172a}
.moti-quote span{color:#2563eb}
.moti-content p{color:#475569}
.moti-content .btn-outline{border-color:#cbd5e1;color:#0f172a;align-self:flex-start}
.moti-content .btn-outline:hover{border-color:#2563eb;color:#2563eb;background-color:rgba(37,99,235,.05)}
.moti-cards{display:flex;flex-direction:column;gap:1rem}
.moti-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-md);padding:1.25rem;display:flex;gap:1rem;transition:var(--transition)}
.moti-card:hover{transform:translateX(5px);border-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,.08)}
.moti-card-icon{width:42px;height:42px;border-radius:var(--radius-sm);background-color:rgba(37,99,235,.1);color:#2563eb;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.moti-card-title{font-size:1rem;font-weight:700;margin-bottom:.2rem;color:#0f172a}
.moti-card-desc{font-size:.88rem;color:#475569}

/* ── About Page ── */
.about-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
.about-features{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.feature-item{background-color:var(--bg-card);padding:1.25rem;border-radius:var(--radius-md);border:1px solid var(--border);transition:var(--transition)}
.feature-item:hover{border-color:var(--primary-light);transform:translateY(-3px)}
.feature-icon-wrapper{width:44px;height:44px;border-radius:var(--radius-sm);background-color:var(--primary-tint);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:.75rem}
.feature-title{font-size:.95rem;font-weight:700;margin-bottom:.4rem}
.feature-desc{font-size:.82rem;color:var(--text-muted)}
.about-bullets{display:flex;flex-direction:column;gap:1.25rem}
.about-bullet-item{display:flex;gap:.75rem;align-items:flex-start}
.bullet-icon{width:26px;height:26px;border-radius:50%;background-color:var(--accent-light);color:var(--accent-hover);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0;margin-top:.15rem}
.bullet-text h4{font-size:1.05rem;font-weight:700;margin-bottom:.2rem}
.bullet-text p{color:var(--text-muted);font-size:.9rem}

/* ── Syllabus ── */
.syllabus-tabs{display:flex;justify-content:flex-start;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}
.syllabus-tab{padding:.6rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-card);font-weight:600;color:var(--text-muted);font-size:.88rem;transition:var(--transition)}
.syllabus-tab.active,.syllabus-tab:hover{background-color:var(--primary);color:#fff;border-color:var(--primary)}
.syllabus-content{background-color:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem}
.module-details{display:none;animation:fadeIn .5s ease}
.module-details.active{display:flex;flex-direction:column;gap:2rem}
.module-info h3{font-size:1.6rem;font-weight:800;margin-bottom:.4rem}
.module-badge{display:inline-block;padding:.25rem .75rem;background-color:var(--accent-light);color:var(--accent-hover);font-size:.78rem;font-weight:700;border-radius:var(--radius-sm);margin-bottom:.75rem;text-transform:uppercase}
.module-obj{font-size:1rem;font-weight:600;color:var(--text-muted);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px dashed var(--border)}
.syllabus-list{display:grid;grid-template-columns:1fr;gap:.6rem}
.syllabus-item{display:flex;align-items:center;gap:.75rem;background-color:var(--bg-secondary);padding:.65rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border-light);font-size:.9rem;font-weight:500;transition:var(--transition)}
.syllabus-item:hover{background-color:var(--bg-card);border-color:var(--primary-light);transform:translateX(3px)}
.syllabus-num{width:22px;height:22px;border-radius:50%;background-color:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}
.module-visual{position:relative;border-radius:var(--radius-md);overflow:hidden;background-color:var(--bg-secondary);border:1px solid var(--border);padding:1.25rem;display:flex;align-items:center;justify-content:center;min-height:200px}
.candlestick-chart-mock{display:flex;gap:.75rem;align-items:center;height:140px;width:100%;justify-content:center}
.mock-candle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:22px;height:100%;position:relative}
.candle-wick{width:2px;background-color:var(--text-light);position:absolute;top:10%;bottom:10%}
.candle-body{width:14px;border-radius:2px;z-index:2}
.candle-body.up{height:55px;background-color:var(--success)}
.candle-body.down{height:45px;background-color:var(--danger)}
.extra-details-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem}
.extra-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:var(--transition)}
.extra-card:hover{border-color:var(--primary-light)}
.extra-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}
.extra-card-icon{width:44px;height:44px;border-radius:var(--radius-md);background-color:var(--accent-light);color:var(--accent-hover);display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.extra-card h3{font-size:1.3rem;font-weight:800}
.extra-list{display:flex;flex-direction:column;gap:.75rem}
.extra-item{display:flex;align-items:center;gap:.75rem;font-size:.9rem;font-weight:500}
.extra-dot{width:7px;height:7px;border-radius:50%;background-color:var(--primary);flex-shrink:0}

/* ── Results Grid ── */
.results-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.profit-card{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;transition:var(--transition);box-shadow:0 4px 12px rgba(0,0,0,0.02)}
.profit-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(58, 45, 127, 0.08);border-color:var(--primary);background-color:var(--bg-secondary)}
.profit-card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-light);padding-bottom:.5rem;margin-bottom:.75rem}
.profit-card-lbl{font-size:.75rem;font-weight:700;color:var(--text-light)}
.profit-card-time{font-size:.68rem;color:var(--text-light)}
.profit-trades{display:flex;flex-direction:column;gap:.5rem;font-size:.8rem;font-weight:600;margin-bottom:.75rem}
.profit-trade-row{display:flex;justify-content:space-between;align-items:center}
.profit-trade-desc{display:flex;flex-direction:column}
.trade-spec{font-size:.68rem;color:var(--text-light)}
.profit-trade-val.positive{color:var(--success)}
.profit-trade-val.negative{color:var(--danger)}
.profit-card-footer{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--border-light);padding-top:.5rem}
.profit-card-tot-lbl{font-size:.8rem;font-weight:600;color:var(--text-muted)}
.profit-card-tot-val{font-size:1.4rem;font-weight:850;color:var(--success)}
.profit-card-tot-val.minus{color:var(--danger)}
.results-footer{text-align:center;margin-top:2.5rem;font-size:1rem;font-weight:700;letter-spacing:.05em;color:var(--primary-hover)}

/* ── Certificate ── */
.cert-interactive-grid{display:grid;grid-template-columns:1fr;gap:2rem}
.cert-form{display:flex;flex-direction:column;gap:1.25rem}
.cert-visual-wrapper{background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:1rem;border:1px solid var(--border);position:relative}
.certificate-preview{background-color:#fcfcf9;border:10px solid #eae5db;padding:1.5rem;position:relative;text-align:center;color:#2c3e50;font-family:'Times New Roman',serif}
.cert-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}
.cert-logo-title{font-family:var(--font-heading);font-size:.9rem;font-weight:800;color:#002e6a;letter-spacing:.15em}
.cert-badge-ribbon{font-size:.75rem;font-weight:700;color:#b91c1c;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem}
.cert-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;color:#1a2a3a;margin-bottom:.4rem}
.cert-pres{font-style:italic;font-size:.88rem;color:#64748b;margin-bottom:.75rem}
.cert-name{font-size:1.75rem;font-weight:700;color:#002e6a;border-bottom:2px solid #b91c1c;display:inline-block;padding:0 1.5rem .2rem;margin-bottom:1rem;min-width:160px;font-family:'Times New Roman',serif}
.cert-text{font-size:.82rem;color:#475569;max-width:500px;margin:0 auto 1.5rem;line-height:1.5}
.cert-signatures{display:flex;justify-content:space-between;align-items:flex-end;padding:0 1rem}
.cert-sig-block{display:flex;flex-direction:column;align-items:center;font-size:.7rem;color:#475569}
.cert-signature-img{font-family:'Brush Script MT',cursive,sans-serif;font-size:1.4rem;color:#1e293b;margin-bottom:.2rem}
.cert-sig-line{width:100px;height:1px;background-color:#64748b;margin-bottom:.35rem}

/* ── Reviews ── */
.reviews-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.review-card{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;transition:var(--transition);box-shadow:0 4px 12px rgba(0,0,0,0.02)}
.review-card:hover{box-shadow:0 10px 20px rgba(58, 45, 127, 0.08);border-color:var(--primary);background-color:var(--bg-secondary)}
.chat-bubble-style{display:flex;flex-direction:column;gap:.75rem}
.chat-header{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--border-light);padding-bottom:.5rem}
.chat-avatar{width:38px;height:38px;border-radius:50%;background-color:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:750;font-size:1rem;flex-shrink:0}
.chat-user-info{display:flex;flex-direction:column}
.chat-username{font-weight:700;font-size:.9rem}
.chat-user-loc{font-size:.72rem;color:var(--text-light)}
.chat-message{background-color:var(--bg-primary);padding:.9rem;border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);font-size:.88rem;border:1px solid var(--border-light);position:relative;color:var(--text-main)}
.chat-message::before{content:'';position:absolute;top:-1px;left:-10px;border-width:6px 10px 6px 0;border-style:solid;border-color:transparent var(--bg-primary) transparent transparent}
.chat-rating{color:var(--accent);font-size:.82rem;margin-top:.4rem}

/* ── Trust Section ── */
.why-trust-container{margin-top:3.5rem;background-color:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:2rem}
.trust-title{font-size:1.35rem;font-weight:800;text-align:center;margin-bottom:1.75rem}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.trust-item{display:flex;gap:.75rem;align-items:flex-start}
.trust-check{color:var(--primary);font-size:1.1rem;margin-top:.1rem}
.trust-text h5{font-size:.95rem;font-weight:700;margin-bottom:.2rem}
.trust-text p{font-size:.78rem;color:var(--text-muted)}

/* ── Director Profile ── */
.director-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
.director-img-wrapper{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:4px solid var(--border);aspect-ratio:4/5;background-color:var(--bg-secondary);max-width:260px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.director-photo{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.director-img-wrapper:hover .director-photo{transform:scale(1.04)}
.director-badge{position:absolute;bottom:1rem;left:1rem;right:1rem;background-color:rgba(255,255,255,0.9);backdrop-filter:blur(8px);padding:.65rem .9rem;border-radius:var(--radius-md);text-align:center;border:1px solid var(--border-light);box-shadow:0 4px 12px rgba(0,0,0,0.05)}
.director-badge-name{font-size:1rem;font-weight:800;color:var(--text-main)}
.director-badge-title{font-size:.7rem;font-weight:600;color:var(--primary);text-transform:uppercase}
.director-content h3{font-size:clamp(1.6rem,4vw,2.25rem);font-weight:850;margin-bottom:.2rem}
.director-tag{color:var(--primary);font-weight:700;font-size:1.05rem;margin-bottom:1.25rem;display:block}
.director-bio{color:var(--text-muted);font-size:1rem;margin-bottom:1.75rem;display:flex;flex-direction:column;gap:.75rem}
.director-credentials{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cred-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem;display:flex;gap:.75rem}
.cred-icon{font-size:1.4rem;color:var(--accent)}
.cred-info h5{font-size:.9rem;font-weight:700;margin-bottom:.1rem}
.cred-info p{font-size:.78rem;color:var(--text-muted)}

/* ── Disclaimer ── */
.disclaimer-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.25rem}
.disclaimer-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:var(--accent-hover);border-bottom:1px solid var(--border-light);padding-bottom:.5rem}
.disclaimer-card-icon{font-size:1.1rem}
.disclaimer-card h4{font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.disclaimer-text{font-size:.88rem;color:var(--text-muted);line-height:1.6}
.disclaimer-lead-alert{background-color:var(--danger-light);border-left:4px solid var(--danger);padding:1.25rem;border-radius:0 var(--radius-md) var(--radius-md) 0;margin-bottom:2rem;color:var(--danger);font-weight:600}

/* ── Enrollment / Contact ── */
.enroll-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
.enroll-info-panel{background-color:var(--primary);color:#ffffff !important;border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1.5rem;position:relative;overflow:hidden}
.enroll-info-panel::before{content:'';position:absolute;bottom:-50px;right:-50px;width:200px;height:200px;background-color:rgba(255,255,255,0.03);border-radius:50%}
.enroll-info-panel h3{color:#ffffff !important;font-size:1.75rem;font-weight:800}
.enroll-info-panel p{color:rgba(255,255,255,0.85) !important;font-size:1rem}
.enroll-price-card{background-color:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:var(--radius-md);padding:1.25rem}
.enroll-price-lbl{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,0.75) !important}
.enroll-price-val{font-size:2.25rem;font-weight:900;font-family:var(--font-heading);color:var(--accent) !important}
.enroll-price-sub{font-size:.78rem;color:rgba(255,255,255,0.65) !important}
.enroll-contact-list{display:flex;flex-direction:column;gap:1rem}
.enroll-contact-item{display:flex;align-items:center;gap:.75rem;font-weight:600;color:#ffffff !important}
.enroll-contact-icon{width:36px;height:36px;border-radius:50%;background-color:rgba(255,255,255,0.15);color:#ffffff !important;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.enroll-form-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}
.enroll-form{display:flex;flex-direction:column;gap:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.enroll-form input,.enroll-form select,.enroll-form textarea{width:100%;padding:.7rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-body);font-size:.92rem;transition:var(--transition)}
.enroll-form input:focus,.enroll-form select:focus,.enroll-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(77,142,255,.15)}
.enroll-form textarea{resize:vertical;height:90px}
.enroll-success-msg{display:none;background-color:var(--success-light);color:var(--success);border:1px solid var(--success);padding:1rem;border-radius:var(--radius-md);font-weight:600;text-align:center}

/* ── FAQ ── */
.faq-container{display:flex;flex-direction:column;gap:.75rem;max-width:850px;margin:0 auto}
.faq-item{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition)}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;width:100%;text-align:left;font-weight:700;font-size:.98rem;color:var(--text-main);background:none}
.faq-question:hover{background-color:var(--primary-tint);color:var(--primary-hover)}
.faq-answer{padding:0 1.25rem;max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(0,1,0,1),padding .3s ease;color:var(--text-muted);font-size:.9rem}
.faq-item.active{border-color:var(--primary)}
.faq-item.active .faq-answer{max-height:1000px;padding:.9rem 1.25rem 1.25rem;border-top:1px solid var(--border-light);transition:max-height .3s cubic-bezier(1,0,1,0),padding .3s ease}
.faq-icon{font-size:.88rem;transition:var(--transition)}
.faq-item.active .faq-icon{transform:rotate(180deg)}

/* ── Simulator ── */
.trading-simulator{border-top:1px solid var(--border);padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sim-balance{display:flex;flex-direction:column}
.sim-balance-lbl{font-size:.72rem;color:var(--text-light);font-weight:600}
.sim-balance-val{font-size:1.1rem;font-weight:800;color:var(--primary)}
.sim-actions{display:flex;gap:.5rem}
.btn-sim-buy{background-color:var(--success-light);color:var(--success);border:1px solid var(--success);font-size:.82rem;padding:.4rem .9rem;border-radius:var(--radius-sm);font-weight:700}
.btn-sim-buy:hover{background-color:var(--success);color:#fff}
.btn-sim-sell{background-color:var(--danger-light);color:var(--danger);border:1px solid var(--danger);font-size:.82rem;padding:.4rem .9rem;border-radius:var(--radius-sm);font-weight:700}
.btn-sim-sell:hover{background-color:var(--danger);color:#fff}

/* ── Footer ── */
footer{background-color:#181145;color:#dae2fd;padding:3.5rem 0 1.5rem;border-top:1px solid rgba(255,255,255,0.1)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}
.footer-col-about h4{color:#fff;font-size:1.1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.footer-about-text{color:#cbd5e1;font-size:.88rem;margin-bottom:1.25rem}
.footer-social-link{background-color:rgba(255,255,255,0.08)!important;color:#dae2fd!important;transition:var(--transition)}
.footer-social-link:hover{background-color:var(--accent)!important;color:#1e2538!important}
.footer-col h4{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}
.footer-links{display:flex;flex-direction:column;gap:.6rem}
.footer-links a{color:#cbd5e1;font-size:.88rem}
.footer-links a:hover{color:var(--accent);padding-left:4px}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;font-size:.78rem;color:#9ca3af;text-align:center}
.footer-legal-links{display:flex;gap:1.25rem;flex-wrap:wrap;justify-content:center}
.footer-legal-links a{color:#cbd5e1}
.footer-legal-links a:hover{color:var(--accent)}

/* ── WhatsApp Float ── */
.btn-whatsapp{background-color:#25d366;color:#fff!important;border:none}
.btn-whatsapp:hover{background-color:#128c7e;transform:translateY(-2px)}
.whatsapp-float{position:fixed;width:52px;height:52px;bottom:20px;right:16px;background-color:#25d366;color:#fff!important;border-radius:50%;text-align:center;font-size:28px;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:1000;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.whatsapp-float:hover{transform:scale(1.1) rotate(8deg);background-color:#128c7e}

/* ── Preloader ── */
.preloader{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#271d5b;z-index:99999;display:flex;justify-content:center;align-items:center;transition:opacity .5s ease,visibility .5s ease}
.preloader.fade-out{opacity:0;visibility:hidden;pointer-events:none}
.loader-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.stock-anim{display:flex;align-items:center;gap:.6rem;height:70px}
.loader-candle{width:10px;height:100%;position:relative;display:flex;align-items:center;justify-content:center}
.loader-candle::before{content:'';position:absolute;width:2px;height:100%;background-color:rgba(255,255,255,0.3);opacity:.3}
.loader-candle::after{content:'';position:absolute;width:10px;border-radius:2px;animation:pulse-height 1.8s infinite ease-in-out}
.loader-candle.green::after{background-color:var(--success);height:35px}
.loader-candle.red::after{background-color:var(--danger);height:25px}
#candle-1::after{animation-delay:0s}
#candle-2::after{animation-delay:.3s}
#candle-3::after{animation-delay:.6s}
#candle-4::after{animation-delay:.9s}
@keyframes pulse-height{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.8)}}
.loader-text{font-family:var(--font-heading);font-size:1.15rem;font-weight:800;letter-spacing:.1em;color:#ffffff;display:flex;align-items:center;gap:.5rem}
.loader-text i{animation:bounce-arrow 1.2s infinite ease-in-out alternate}
.loader-text i.fa-arrow-trend-up{color:var(--success)}
.loader-text i.fa-arrow-trend-down{color:var(--danger);animation-delay:.6s}
@keyframes bounce-arrow{0%{transform:translateY(0)}100%{transform:translateY(-6px)}}

/* ── Light Section ── */
.light-section{background-color:#fff;color:var(--text-main);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.light-section h1,.light-section h2,.light-section h3,.light-section h4,.light-section h5,.light-section h6{color:var(--text-main)}
.light-section p{color:var(--text-muted)}
.light-section .section-badge{background-color:var(--primary-light);color:var(--primary)}
.light-section .feature-item,.light-section .moti-card,.light-section .faq-item,.light-section .profit-card,.light-section .review-card,.light-section .disclaimer-card{background-color:var(--bg-primary);border:1px solid var(--border-light);color:var(--text-main);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.light-section .feature-item:hover,.light-section .moti-card:hover,.light-section .faq-item:hover,.light-section .profit-card:hover,.light-section .review-card:hover,.light-section .disclaimer-card:hover{background-color:#fff;border-color:var(--primary);box-shadow:var(--shadow-xl)}
.light-section .feature-icon-wrapper,.light-section .moti-card-icon,.light-section .bullet-icon{background-color:var(--primary-light);color:var(--primary)}
.light-section .btn-outline{border-color:var(--border);color:var(--text-main)}
.light-section .btn-outline:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}
.light-section .syllabus-tab{background-color:#fff;border-color:var(--border);color:var(--text-muted)}
.light-section .syllabus-tab.active,.light-section .syllabus-tab:hover{background-color:var(--primary);color:#fff;border-color:var(--primary)}
.light-section .syllabus-content{background-color:#fff;border-color:var(--border-light)}
.light-section .syllabus-item{background-color:var(--bg-primary);border-color:var(--border-light);color:var(--text-main)}
.light-section .syllabus-item:hover{background-color:#fff;border-color:var(--primary)}
.light-section .module-visual{background-color:var(--bg-primary);border-color:var(--border-light)}
.light-section .extra-card{background-color:#fff;border-color:var(--border-light)}
.light-section .extra-card h3{color:var(--text-main)}
.light-section .extra-item{color:var(--text-muted)}
.light-section input,.light-section select,.light-section textarea{background-color:#fff;border-color:var(--border);color:var(--text-main)}
.light-section input:focus,.light-section select:focus,.light-section textarea:focus{border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 3px rgba(58, 45, 127, 0.15)}
.light-section label{color:var(--text-muted)}
.light-section .enroll-price-val{color:var(--primary)}
.light-section .enroll-form-card{background-color:#fff;border:1px solid var(--border-light);color:var(--text-main);box-shadow:var(--shadow-xl)}
.light-section .profit-trade-val.positive{color:var(--success)}
.light-section .profit-trade-val.negative{color:var(--danger)}
.light-section .profit-card-tot-val{color:var(--success)}
.light-section .module-badge{background-color:var(--danger-light)!important;color:var(--danger)!important}
.light-section .disclaimer-lead-alert{background-color:var(--danger-light);border-color:rgba(233, 31, 43, 0.2);color:var(--danger)}

/* ── Comparison Table ── */
.comp-row{transition:var(--transition)}
.comp-row:hover{background-color:rgba(58, 45, 127, 0.04)!important}
.active-buy{border-color:var(--success)!important;background-color:var(--success-light)!important;color:var(--success)!important}
.active-sell{border-color:var(--danger)!important;background-color:var(--danger-light)!important;color:var(--danger)!important}
.text-success{color:var(--success)!important}
.text-danger{color:var(--danger)!important}
.bg-success-light{background-color:var(--success-light)!important}
.bg-danger-light{background-color:var(--danger-light)!important}

/* ── Sync Button ── */
.btn-sync-live{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);font-size:.82rem;padding:0;margin-left:.5rem}
.btn-sync-live:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-tint)}
.btn-sync-live i{transition:transform .6s ease}
.btn-sync-live.syncing i{animation:spin-refresh 1s linear infinite}
@keyframes spin-refresh{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* ── Animations ── */
@keyframes ticker-anim{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}
@keyframes ping{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.2);opacity:0}}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ════════════════════════════════════════════
   RESPONSIVE — Tablet 640px+
   ════════════════════════════════════════════ */
@media(min-width:640px){
    .container{padding:0 1.5rem}
    .hero-section{padding:2rem 0 2.5rem}
    .hero-actions .btn{flex:none}
    .market-section{padding:0 0 3.5rem}
    .results-grid{grid-template-columns:repeat(2,1fr)}
    .reviews-grid{grid-template-columns:repeat(2,1fr)}
    .extra-details-grid{grid-template-columns:repeat(2,1fr)}
    .cert-interactive-grid{grid-template-columns:.9fr 1.1fr}
    .footer-grid{grid-template-columns:repeat(2,1fr)}
    .footer-bottom{flex-direction:row;justify-content:space-between;text-align:left}
    .module-details.active{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
    .moti-grid{grid-template-columns:1.1fr .9fr;gap:3rem}
    .trust-grid{grid-template-columns:repeat(4,1fr)}
    .market-grid{grid-template-columns:.9fr 1.1fr}
    .market-search{max-width:260px}
}

@media(min-width:768px){
    .calculator-grid{grid-template-columns:1.1fr .9fr}
    .about-grid{grid-template-columns:1.1fr .9fr;gap:3.5rem}
    .director-grid{grid-template-columns:.75fr 1.25fr;gap:3.5rem}
    .director-img-wrapper{max-width:300px}
    .enroll-grid{grid-template-columns:.9fr 1.1fr}
    .results-grid{grid-template-columns:repeat(3,1fr)}
    .reviews-grid{grid-template-columns:repeat(3,1fr)}
    .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
    .cert-signatures{padding:0 1.5rem}
    .hero-section{padding:2.2rem 0 2.5rem}
    .hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:3.5rem}
    .hero-stats{margin:0 0 0 auto}
    .chart-canvas-wrapper{height:260px}
    .whatsapp-float{width:58px;height:58px;bottom:28px;right:28px;font-size:30px}
}

/* ════════════════════════════════════════════
   RESPONSIVE — Large Desktop 1024px+
   ════════════════════════════════════════════ */
@media(min-width:1024px){
    .nav-menu {
        display: flex;
        position: static;
        background: transparent;
        flex-direction: row;
        align-items: center;
        padding: 0;
        gap: 1.5rem;
        border: none;
        box-shadow: none;
        margin: 0;
        flex-shrink: 0;
    }
    .hamburger { display: none !important; }
    .nav-cta { display: flex; align-items: center; gap: .75rem; flex-shrink: 0; }
    .logo span { display: inline; }
    .results-grid{grid-template-columns:repeat(4,1fr)}
    .hero-grid{gap:4rem}
    .hero-stats{max-width:440px}
    .chart-canvas-wrapper{height:280px}
}

/* ════════════════════════════════════════════
   REDUCE MOTION — Respect user preferences
   ════════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
    .blob{animation:none!important}
    .ticker{animation:none!important}
    *{transition:none!important;animation:none!important}
    .preloader.fade-out{opacity:0;visibility:hidden}
}

/* Bypass all scroll animations on mobile for instant rendering */
@media(max-width: 1023px) {
    .reveal, .reveal-left, .reveal-right, .reveal-scale {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .reveal-on-scroll {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .delay-100, .delay-200, .delay-300, .reveal-delay-1, .reveal-delay-2, .reveal-delay-3, .reveal-delay-4 {
        transition-delay: 0s !important;
    }
}

/* ── Calculator result rows ── */
.calc-result-card{display:flex;flex-direction:column;justify-content:space-between}
.calc-result-item{display:flex;justify-content:space-between;border-bottom:1px solid var(--border-light);padding-bottom:.5rem;font-size:.9rem}
.calc-result-item span:first-child{color:var(--text-muted)}
.calc-result-item span:last-child{font-weight:700;font-family:var(--font-mono)}

/* ── Feature teasers platform pillars ── */
@media(max-width:639px){
    .calc-inputs-row{grid-template-columns:1fr!important}
    .form-row{grid-template-columns:1fr!important}
    .director-credentials{grid-template-columns:1fr!important}
    .about-features{grid-template-columns:1fr!important}
    .index-grid{grid-template-columns:repeat(2,1fr)!important}
    .market-grid{grid-template-columns:1fr!important}
    .cert-interactive-grid{grid-template-columns:1fr!important}
    .cert-signatures{flex-direction:column;align-items:center;gap:1.25rem}
    .moti-grid{grid-template-columns:1fr!important}
    .hero-grid{flex-direction:column!important}
    .enroll-grid{grid-template-columns:1fr!important}
}

/* ── Global Inline Style Override Remapper ── */
[style*="color: #2563eb"], [style*="color:#2563eb"] { color: var(--primary) !important; }
[style*="color: #10b981"], [style*="color:#10b981"] { color: var(--success) !important; }
[style*="color: #ef4444"], [style*="color:#ef4444"] { color: var(--danger) !important; }
[style*="color: #ea580c"], [style*="color:#ea580c"] { color: var(--accent-hover) !important; }
[style*="color: #f59e0b"], [style*="color:#f59e0b"] { color: var(--accent) !important; }
[style*="border-left: 4px solid #2563eb"] { border-left-color: var(--primary) !important; }
[style*="border-left: 4px solid #10b981"] { border-left-color: var(--success) !important; }
[style*="border-left: 4px solid #f59e0b"] { border-left-color: var(--accent) !important; }
[style*="background-color: rgba(37, 99, 235, 0.05)"] { background-color: var(--primary-light) !important; border-color: var(--primary-tint) !important; color: var(--primary) !important; }
[style*="background-color: rgba(16, 185, 129, 0.1)"] { background-color: var(--success-light) !important; border-color: var(--success) !important; color: var(--success) !important; }
[style*="color: #0f172a"] { color: var(--text-main) !important; }
[style*="color: #475569"] { color: var(--text-muted) !important; }
[style*="color: #64748b"] { color: var(--text-light) !important; }
[style*="border: 1px solid #cbd5e1"] { border-color: var(--border) !important; }
[style*="border: 1px solid #e2e8f0"] { border-color: var(--border-light) !important; }
[style*="border-bottom: 1px solid #cbd5e1"] { border-color: var(--border) !important; }
[style*="border-bottom: 1px solid #e2e8f0"] { border-color: var(--border-light) !important; }
[style*="border-bottom: 2px solid #cbd5e1"] { border-color: var(--border) !important; }
[style*="border-bottom: 2px solid #e2e8f0"] { border-color: var(--border-light) !important; }
svg path[stroke="#2563eb"] { stroke: var(--primary) !important; }
svg circle[fill="#b91c1c"] { fill: var(--danger) !important; }
svg text[fill="#475569"] { fill: var(--text-muted) !important; }

/* ── Scroll Reveal Animations ── */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
    will-change: transform, opacity;
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.08s; }
.reveal-delay-2 { transition-delay: 0.16s; }
.reveal-delay-3 { transition-delay: 0.24s; }
.reveal-delay-4 { transition-delay: 0.32s; }

/* ── Gamified Interactive Syllabus Board Styles ── */
.course-node-card {
    position: relative;
    border: 2px solid var(--border-light);
    background-color: #ffffff;
    box-shadow: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.course-node-card:hover {
    transform: translateX(4px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.03);
}

.course-node-card.active-node {
    transform: translateX(6px);
}

.course-node-card.active-node .node-indicator-circle {
    transform: scale(1.06);
}

.course-node-card.active-node .fa-circle-play {
    transform: scale(1.15) rotate(90deg);
}

#terminal-console-panel {
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.console-syllabus-item {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.console-syllabus-item:hover {
    transform: translateX(4px) !important;
    border-color: var(--primary-tint) !important;
    background-color: #ffffff !important;
}

@media(min-width:992px) {
    .syllabus-console-grid {
        grid-template-columns: 1.1fr 1.25fr !important;
    }
}

/* ── Services alternating showcase ── */
.services-showcase-section {
    padding: 5rem 0;
    background-color: var(--bg-primary);
}
.showcase-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3.5rem;
    align-items: center;
    margin-bottom: 5rem;
}
.showcase-row:last-child {
    margin-bottom: 0;
}
.showcase-image-card {
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
    height: 380px;
    box-shadow: var(--shadow-xl);
}
.showcase-image-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}
.showcase-image-card:hover img {
    transform: scale(1.03);
}
.showcase-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.3) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2.5rem;
    color: #ffffff;
}
.showcase-icon-badge {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-md);
    background-color: rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    margin-bottom: 1rem;
    backdrop-filter: blur(4px);
    color: var(--accent);
}
.showcase-overlay h3 {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 0.5rem;
    color: #ffffff !important;
}
.showcase-overlay p {
    font-size: 0.95rem;
    color: #cbd5e1;
    margin-bottom: 1.25rem;
}
.showcase-link {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--accent) !important;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.showcase-link:hover {
    color: #ffffff !important;
}
.showcase-text-col {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.showcase-text-col h2 {
    font-size: 1.85rem;
    font-weight: 850;
    color: var(--text-main);
    line-height: 1.25;
}
.showcase-bullets {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}
.showcase-bullet-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.98rem;
    color: var(--text-muted);
    font-weight: 600;
}
.showcase-bullet-icon {
    color: var(--success);
    font-size: 1.1rem;
    margin-top: 0.15rem;
}
.showcase-btn-dark {
    background-color: #0f172a !important;
    color: #ffffff !important;
    align-self: flex-start;
    padding: 0.7rem 1.5rem;
    font-size: 0.9rem;
    border-radius: var(--radius-md);
    font-weight: 700;
    border: none;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
}
.showcase-btn-dark:hover {
    background-color: var(--primary) !important;
    transform: translateY(-2px);
}

@media(min-width: 768px) {
    .showcase-row {
        grid-template-columns: 1.12fr 1fr;
        gap: 5rem;
    }
    .showcase-row.alt-row {
        grid-template-columns: 1fr 1.12fr;
    }
    .showcase-row.alt-row .showcase-image-card {
        order: 2;
    }
    .showcase-row.alt-row .showcase-text-col {
        order: 1;
    }
}

/* ── Upgraded About Page Mockup Style ── */
.about-mockup-hero {
    position: relative;
    padding: 8rem 0 7rem;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.95) 0%, rgba(30, 41, 59, 0.95) 100%), url('trading_chart.png');
    background-size: cover;
    background-position: center;
    background-blend-mode: multiply;
    text-align: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.about-mockup-hero::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0; height: 100px;
    background: linear-gradient(to top, var(--bg-primary), transparent);
    pointer-events: none;
}
.hero-wave-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    pointer-events: none;
    opacity: 0.18;
    background-image: radial-gradient(circle at 100% 50%, transparent 60%, var(--accent) 62%, transparent 63%),
                      radial-gradient(circle at 100% 50%, transparent 64%, var(--success) 66%, transparent 67%);
    background-size: 200px 200px;
    background-repeat: repeat-y;
    background-position: right top;
}
.about-mockup-hero h1 {
    font-size: clamp(2.2rem, 6vw, 3.8rem);
    font-weight: 850;
    letter-spacing: -0.02em;
    color: var(--primary) !important;
    margin-bottom: 1.25rem;
    text-transform: uppercase;
}
.about-mockup-hero h1 span {
    color: var(--text-main);
}
.about-mockup-hero p {
    font-size: 1.15rem;
    color: var(--text-muted) !important;
    max-width: 800px;
    margin: 0 auto 2.5rem;
    line-height: 1.6;
}

.about-mockup-firm {
    padding: 3.5rem 0;
    background-color: var(--bg-primary);
}
.firm-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-xl);
    max-width: 980px; /* Reduced max-width to decrease size */
    margin: 0 auto;
}
.firm-left-card {
    background-color: #0f172a;
    padding: 2.5rem; /* Reduced padding for compact look */
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.25rem;
}
.firm-left-card h3 {
    font-size: 1.95rem; /* Slightly smaller heading */
    font-weight: 800;
    color: #ffffff !important;
}
.firm-left-card p {
    font-size: 0.98rem; /* Slightly smaller text */
    color: #cbd5e1;
    line-height: 1.65;
}
.firm-right-photo {
    height: 380px; /* Reduced height from 480px */
    overflow: hidden;
    position: relative;
    background-color: #1e293b;
}
.firm-right-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: var(--transition);
}
.firm-right-photo:hover img {
    filter: grayscale(0%);
    transform: scale(1.02);
}

.about-mockup-services {
    padding: 3.5rem 0;
    background-color: #fcfcfc;
    border-top: 1px solid var(--border-light);
    border-bottom: 1px solid var(--border-light);
}
.mock-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}
.mock-service-card {
    position: relative;
    height: 360px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(0,0,0,0.04);
}
.mock-service-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}
.mock-service-card:hover img {
    transform: scale(1.05);
}
.mock-service-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.4) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
    color: #ffffff;
    text-align: center;
}
.mock-service-overlay h4 {
    font-size: 1.28rem;
    font-weight: 800;
    color: #ffffff !important;
    margin-bottom: 0.5rem;
    letter-spacing: 0.02em;
}
.mock-service-overlay p {
    font-size: 0.88rem;
    color: #cbd5e1;
    margin-bottom: 1.25rem;
}

.about-mockup-performance {
    padding: 3.5rem 0;
    background-color: var(--bg-primary);
}
.perf-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-xl);
    max-width: 980px; /* Reduced max-width to decrease size */
    margin: 0 auto;
}
.perf-left-photo {
    height: 380px; /* Reduced height from 480px */
    overflow: hidden;
    background-color: #1e293b;
}
.perf-left-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}
.perf-right-card {
    background-color: #0f172a;
    padding: 2.5rem; /* Reduced padding for compact look */
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.25rem;
}
.perf-right-card h3 {
    font-size: 1.95rem; /* Slightly smaller heading */
    font-weight: 800;
    color: #ffffff !important;
}
.perf-right-card p {
    font-size: 0.98rem; /* Slightly smaller text */
    color: #cbd5e1;
    line-height: 1.65;
}

.about-mockup-cta {
    background: linear-gradient(135deg, #b8860b 0%, #8b6508 100%);
    padding: 2.5rem 0;
    color: #ffffff;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.cta-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
}
.cta-flex h3 {
    font-size: 1.5rem;
    font-weight: 750;
    color: #ffffff !important;
    margin-bottom: 0.25rem;
}
.cta-flex p {
    color: rgba(255,255,255,0.9);
    font-size: 0.98rem;
}
.cta-btn-white {
    background-color: #ffffff !important;
    color: #8b6508 !important;
    font-weight: 700;
    padding: 0.7rem 1.85rem;
    border-radius: var(--radius-md);
    transition: var(--transition);
    border: 1.5px solid #ffffff;
}
.cta-btn-white:hover {
    background-color: transparent !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

@media(min-width: 768px) {
    .firm-grid {
        grid-template-columns: 1.25fr 1fr;
    }
    .perf-grid {
        grid-template-columns: 1fr 1.25fr;
    }
    .firm-right-photo {
        height: auto;
    }
    .perf-left-photo {
        height: auto;
    }
}



/* ── Premium Academy Courses Styling ── */
.academy-courses-section {
    background: radial-gradient(circle at 50% 30%, #2a334b 0%, #0f1319 100%), url('trading_chart.png') repeat;
    background-blend-mode: multiply;
    color: #ffffff;
    padding: 6rem 0;
    position: relative;
    overflow: hidden;
    perspective: 1000px; /* Enable 3D scene depth */
}
.academy-courses-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at 50% 50%, rgba(241, 183, 14, 0.08) 0%, transparent 60%);
    pointer-events: none;
}
.academy-header-bubble {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, rgba(241, 183, 14, 0.15) 100%);
    border: 2px solid rgba(241, 183, 14, 0.4);
    box-shadow: 0 0 40px rgba(241, 183, 14, 0.2), inset 0 0 20px rgba(255,255,255,0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto 2.5rem;
    color: #ffffff;
    text-align: center;
    position: relative;
}
.academy-header-bubble .gold-logo-icon {
    font-size: 2.2rem;
    color: var(--accent);
    margin-bottom: 0.5rem;
    text-shadow: 0 0 10px rgba(241, 183, 14, 0.5);
}
.academy-header-bubble h4 {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #ffffff !important;
    text-transform: uppercase;
}
.academy-title-capsule {
    background: linear-gradient(90deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.05) 100%);
    border-top: 1px solid rgba(255,255,255,0.2);
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding: 1rem 2rem;
    display: inline-block;
    border-radius: 40px;
    backdrop-filter: blur(10px);
    margin-bottom: 1.5rem;
}
.academy-title-capsule h2 {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #ffffff !important;
    text-shadow: 0 0 15px rgba(255,255,255,0.3);
    margin: 0;
}
.academy-badge-strip {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 4rem;
    flex-wrap: wrap;
}
.academy-badge-capsule {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255,255,255,0.15);
    padding: 0.5rem 1.25rem;
    border-radius: 30px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #cbd5e1;
    backdrop-filter: blur(8px);
}
.academy-flex-showcase {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    position: relative;
}
/* Glowing paths linking blocks (concept) */
.academy-flex-showcase::before {
    content: '';
    position: absolute;
    top: 50px; bottom: 50px; left: 50%;
    width: 2px;
    background: linear-gradient(to bottom, transparent, rgba(241, 183, 14, 0.3), var(--primary), transparent);
    z-index: 1;
    display: none;
}
@media(min-width: 992px) {
    .academy-flex-showcase::before {
        display: block;
    }
}
.academy-card-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: center;
    position: relative;
    z-index: 2;
}
@media(min-width: 992px) {
    .academy-card-row {
        grid-template-columns: 1fr 1fr;
    }
    .academy-card-row.row-reverse {
        direction: rtl;
    }
    .academy-card-row.row-reverse .academy-text-card {
        direction: ltr; /* Reset text direction */
    }
    .academy-card-row.row-reverse .academy-visual-stage {
        direction: ltr;
    }
}
/* 3D Platform look for visual assets */
.academy-visual-stage {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    perspective: 1200px;
}
.stage-platform {
    position: relative;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, rgba(15, 23, 42, 0.85) 70%);
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55), inset 0 0 30px rgba(241, 183, 14, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    transform: rotateX(25deg); /* Tilt platform in 3D space */
    transform-style: preserve-3d;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.6s ease;
    will-change: transform;
}
.stage-platform:hover {
    transform: rotateX(15deg) translateY(-8px) rotateY(5deg);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.65), inset 0 0 40px rgba(241, 183, 14, 0.3);
    border-color: rgba(241, 183, 14, 0.45);
}
.stage-platform::after {
    content: '';
    position: absolute;
    bottom: -15px; width: 90%; height: 25px;
    background: rgba(0,0,0,0.55);
    filter: blur(12px);
    border-radius: 50%;
    z-index: -1;
    transform: translateZ(-30px);
}
.stage-image {
    width: 220px;
    height: 220px;
    object-fit: contain;
    z-index: 2;
    filter: drop-shadow(0 15px 25px rgba(0,0,0,0.6));
    transform: translateZ(50px); /* Lift image above the tilted platform */
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: transform;
}
.stage-platform:hover .stage-image {
    transform: translateZ(80px) scale(1.08) translateY(-10px);
}
/* Glowing ring lines */
.stage-ring {
    position: absolute;
    border-radius: 50%;
    border: 1.5px dashed rgba(241, 183, 14, 0.25);
    animation: rotate-ring 22s linear infinite;
    pointer-events: none;
    transform: rotateX(25deg);
    will-change: transform;
}
.stage-ring-1 { width: 360px; height: 360px; }
.stage-ring-2 { width: 400px; height: 400px; animation-duration: 28s; animation-direction: reverse; border-color: rgba(58, 45, 127, 0.35); }


@keyframes rotate-ring {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Glassmorphism details side cards */
.academy-text-card {
    background: transparent;
    border: none;
    backdrop-filter: none;
    padding: 1.5rem;
    border-radius: 0;
    box-shadow: none;
    position: relative;
    overflow: visible;
}
.academy-text-card::before {
    display: none;
}
.academy-text-card h3 {
    font-size: 2.1rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.academy-text-card .price-row {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
.academy-text-card .price-val {
    font-family: var(--font-mono);
    font-size: 1.6rem;
    font-weight: 800;
    color: #ffffff;
}
.academy-text-card .price-old {
    font-family: var(--font-mono);
    font-size: 1rem;
    color: #64748b;
    text-decoration: line-through;
}
.academy-feature-bullet {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 0.85rem;
    font-size: 0.98rem;
    color: #cbd5e1;
    font-weight: 600;
    text-align: left;
}
.academy-feature-bullet i {
    color: #10b981; /* Green checkmark matching image layout */
    font-size: 1.1rem;
    margin-top: 0.2rem;
}
.academy-text-card .btn {
    margin-top: 1rem;
    width: auto;
    padding: 0.6rem 1.5rem;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.academy-text-card .btn-primary {
    background-color: transparent !important;
    border: 1px solid rgba(255,255,255,0.4);
    color: #ffffff !important;
}
.academy-text-card .btn-primary:hover {
    background-color: rgba(255,255,255,0.1) !important;
    border-color: #ffffff;
    transform: translateY(-2px);
}
.academy-text-card .btn-outline {
    border-color: rgba(255,255,255,0.2);
    color: #ffffff;
}
.academy-text-card .btn-outline:hover {
    background-color: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.4);
}

/* ── High Performance Scroll Reveal Animations ── */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(50px) scale(0.96) rotateX(10deg);
    transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), 
                transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: transform, opacity;
}
.reveal-on-scroll.revealed {
    opacity: 1;
    transform: translateY(0) scale(1) rotateX(0deg);
}

/* Delay modifiers for stagger effects */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* ── Coachly Mockup Course Cards Layout ── */
.coachly-courses-section {
    padding: 5rem 0;
    background-color: #fcfcfc;
}
.coachly-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2.5rem;
    margin-top: 3rem;
}
.coachly-card {
    background: #ffffff;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 4px 25px rgba(0,0,0,0.03);
    border: 1.5px solid #eaeaea;
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    height: auto !important;
}
.coachly-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.08);
    border-color: #b19ffc;
}
.coachly-img-wrap {
    height: 220px;
    width: 100%;
    overflow: hidden;
    position: relative;
    background-color: #f1f5f9;
}
.coachly-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}
.coachly-card:hover .coachly-img-wrap img {
    transform: scale(1.04);
}
.coachly-content {
    padding: 1.85rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: visible;
    height: auto;
}
.coachly-category {
    background-color: #f2eefa;
    color: #8a6ef5;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.3rem 0.8rem;
    border-radius: 4px;
    align-self: flex-start;
    margin-bottom: 0.95rem;
}
.coachly-title {
    font-size: 1.15rem;
    font-weight: 800;
    color: #1e2538;
    line-height: 1.35;
    margin-bottom: 0.85rem;
    height: auto;
    overflow: visible;
}
.coachly-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.8rem;
    color: #64748b;
    margin-bottom: 1rem;
    border-bottom: 1.5px solid #f1f5f9;
    padding-bottom: 0.95rem;
    flex-wrap: wrap;
}
.coachly-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 600;
}
.coachly-meta i {
    color: #8a6ef5;
}
.coachly-rating-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}
.coachly-stars {
    color: #eab308;
    font-size: 0.8rem;
}
.coachly-reviews {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 700;
}
.coachly-footer-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1.5px solid #f1f5f9;
}
.coachly-btn-join {
    background-color: #8a6ef5 !important;
    color: #ffffff !important;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 0.8rem;
    padding: 0.6rem 1.25rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    box-shadow: 0 4px 10px rgba(138, 110, 245, 0.2);
}
.coachly-btn-join:hover {
    background-color: #7252f3 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(138, 110, 245, 0.3);
}
.coachly-price {
    font-family: var(--font-mono);
    font-size: 1.25rem;
    font-weight: 850;
    color: #1e2538;
}

/* ── Modern Coachly Modal window for Course Descriptions ── */
.coachly-modal {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 2000;
    background-color: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    padding: 1.5rem;
}
.coachly-modal.active {
    opacity: 1;
    pointer-events: auto;
}
.coachly-modal-content {
    background-color: #ffffff;
    border-radius: var(--radius-xl);
    width: 100%;
    max-width: 650px;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 25px 50px rgba(0,0,0,0.25);
    border: 1.5px solid rgba(255,255,255,0.1);
    position: relative;
    transform: scale(0.92);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.coachly-modal.active .coachly-modal-content {
    transform: scale(1);
}
.coachly-modal-header {
    padding: 2rem 2rem 1.25rem;
    border-bottom: 1.5px solid #f1f5f9;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
}
.coachly-modal-title {
    font-size: 1.4rem;
    font-weight: 850;
    color: #1e2538;
    margin: 0;
}
.coachly-modal-close {
    background: #f1f5f9;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 1rem;
    cursor: pointer;
    transition: var(--transition);
}
.coachly-modal-close:hover {
    background-color: #ef4444;
    color: #ffffff;
}
.coachly-modal-body {
    padding: 2rem;
}
.coachly-readmore-link {
    color: #8a6ef5 !important;
    font-weight: 700;
    font-size: 0.82rem;
    cursor: pointer;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}}

.coachly-readmore-link:hover {
    color: #5b3ce2 !important;
    text-decoration: underline;
}

/* ── Announcement Modal & Floating Button ── */
.announcement-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(9, 6, 28, 0.82);
    backdrop-filter: blur(10px);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.announcement-modal-overlay.show {
    opacity: 1;
}
.announcement-modal-container {
    background: linear-gradient(135deg, #1f1754 0%, #0e092b 100%);
    border-radius: 24px;
    width: 100%;
    max-width: 520px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45), 0 0 40px rgba(58, 45, 127, 0.2);
    overflow: hidden;
    position: relative;
    border: 1.5px solid rgba(241, 183, 14, 0.25);
    transform: scale(0.9);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.announcement-modal-overlay.show .announcement-modal-container {
    transform: scale(1);
}
.announcement-modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #cbd5e1;
    font-size: 1.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
}
.announcement-modal-close:hover {
    background: #ef4444;
    color: #ffffff;
    border-color: #ef4444;
    transform: scale(1.08);
}
.announcement-modal-header {
    background: rgba(255, 255, 255, 0.02);
    border-bottom: 1.5px solid rgba(255, 255, 255, 0.06);
    padding: 2.5rem 2rem 1.75rem;
    color: #ffffff;
    text-align: left;
    position: relative;
}
.announcement-badge {
    background: var(--accent);
    color: #000000;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.35rem 0.85rem;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display: inline-block;
    margin-bottom: 0.75rem;
    box-shadow: 0 4px 12px rgba(241, 183, 14, 0.2);
}
.announcement-title {
    font-size: clamp(1.4rem, 4vw, 1.8rem);
    font-weight: 850;
    line-height: 1.25;
    margin: 0;
    color: #ffffff !important;
}
.announcement-modal-body {
    padding: 2rem;
}
.announcement-desc {
    color: #dae2fd;
    font-size: 1.02rem;
    line-height: 1.6;
    margin-bottom: 1.85rem;
    font-weight: 500;
}
.announcement-buttons {
    display: flex;
    gap: 1rem;
    align-items: center;
}
.announcement-btn-primary {
    flex: 1.2;
    background: var(--accent);
    color: #000000 !important;
    text-align: center;
    padding: 0.85rem 1.25rem;
    border-radius: 50px;
    font-weight: 750;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 6px 18px rgba(241, 183, 14, 0.25);
    transition: all 0.2s ease;
    border: none;
    text-decoration: none;
}
.announcement-btn-primary:hover {
    background: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(241, 183, 14, 0.4);
}
.announcement-btn-secondary {
    flex: 0.8;
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff !important;
    text-align: center;
    padding: 0.85rem 1.25rem;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
    border: 1px solid rgba(255, 255, 255, 0.15);
    text-decoration: none;
}
.announcement-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-2px);
}
.announcement-float-btn {
    position: fixed;
    width: 52px;
    height: 52px;
    bottom: 82px;
    right: 16px;
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
    color: #000000 !important;
    border-radius: 50%;
    text-align: center;
    font-size: 20px;
    box-shadow: 0 4px 15px rgba(241, 183, 14, 0.4);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    outline: none;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.announcement-float-btn:hover {
    transform: scale(1.1) rotate(-8deg);
    box-shadow: 0 6px 20px rgba(241, 183, 14, 0.6);
}
.announcement-pulse {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 12px;
    height: 12px;
    background-color: #ef4444;
    border-radius: 50%;
    border: 1.5px solid #ffffff;
    z-index: 10;
}
.announcement-pulse::after {
    content: '';
    position: absolute;
    top: -1.5px;
    left: -1.5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1.5px solid #ef4444;
    animation: pulse-wave 1.6s infinite ease-out;
}
@keyframes pulse-wave {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(2.8);
        opacity: 0;
    }
}

.pop-in {
    animation: popIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
@keyframes popIn {
    from {
        transform: scale(0) rotate(-45deg);
        opacity: 0;
    }
    to {
        transform: scale(1) rotate(0);
        opacity: 1;
    }
}

/* ── Three.js 3D Background Canvas ── */
#bg-canvas {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0.85; /* Increased opacity for clear visibility of financial theme elements */
}

/* ── Custom Cursor (Light Mode Style) ── */
body {
    cursor: none;
}
a, button, input, select, textarea, .faq-question, .announcement-float-btn, .hamburger, .nav-cta, .nav-link, .btn {
    cursor: none !important;
}
.cursor-dot {
    width: 8px;
    height: 8px;
    background: var(--primary); /* Minsk Violet */
    border-radius: 50%;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 99999;
    transform: translate(-50%, -50%);
    transition: transform 0.1s, background 0.2s;
    box-shadow: 0 0 10px rgba(58, 45, 127, 0.4);
}
.cursor-ring {
    width: 36px;
    height: 36px;
    border: 1.5px solid rgba(58, 45, 127, 0.45);
    border-radius: 50%;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 99998;
    transform: translate(-50%, -50%);
    transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), width 0.3s, height 0.3s, border-color 0.2s;
}
.cursor-ring.hovered {
    width: 52px;
    height: 52px;
    border-color: var(--accent); /* Persian Gold */
    background: rgba(241, 183, 14, 0.05);
}

/* Exclude custom cursor on mobile viewports for clean UX */
@media (max-width: 1024px) {
    body, a, button, input, select, textarea, .faq-question, .announcement-float-btn, .hamburger, .nav-cta, .nav-link, .btn {
        cursor: auto !important;
    }
    .cursor-dot, .cursor-ring {
        display: none !important;
    }
}

/* ── Card 3D Layout Styles ── */
.feature-item, .review-card, .moti-card, .faq-item, .syllabus-item, .profit-card, .disclaimer-card, .enroll-form-card, .cred-card, .announcement-modal-container {
    transform-style: preserve-3d;
    will-change: transform;
    perspective: 1000px;
}

/* ── Scroll Reveal Animations ── */
.reveal {
    opacity: 0;
    transform: translateY(40px) rotateX(4deg);
    transform-origin: center bottom;
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0) rotateX(0);
}
.reveal-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal-left.visible {
    opacity: 1;
    transform: translateX(0);
}
.reveal-right {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal-right.visible {
    opacity: 1;
    transform: translateX(0);
}
.reveal-scale {
    opacity: 0;
    transform: scale(0.93);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal-scale.visible {
    opacity: 1;
    transform: scale(1);
}

.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }

section:not(.page-hero):not(.about-mockup-hero), 
.section, 
.market-section, 
.hero-section, 
.about-section, 
.service-section, 
.result-section, 
.contact-section, 
.simulator-section, 
.legal-section, 
.section-padding, 
.light-section, 
main {
    background-color: transparent !important;
    background: transparent !important;
}

/* Translucent Page Hero for text legibility + background visibility */
.page-hero, 
.about-mockup-hero {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* ── Liquid Glass Crystals Card Styling ── */
/* Light Glass Crystals (Main Content Cards) */
.feature-item, 
.review-card, 
.moti-card, 
.faq-item, 
.syllabus-item, 
.profit-card, 
.disclaimer-card, 
.enroll-form-card, 
.cred-card, 
.service-card, 
.stat-card,
.about-card,
.insurance-card,
.contact-card,
.mock-service-card {
    background: rgba(255, 255, 255, 0.42) !important;
    backdrop-filter: blur(18px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 8px 32px 0 rgba(58, 45, 127, 0.04), 
                inset 0 1px 1px 0 rgba(255, 255, 255, 0.6) !important;
}

/* Dark Glass Crystals (Sections with Dark Themes & Hero Overlay cards) */
.firm-left-card, 
.perf-right-card,
.insurance-banner-block,
.announcement-modal-container {
    background: rgba(9, 15, 28, 0.88) !important;
    backdrop-filter: blur(22px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(140%) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.22), 
                inset 0 1px 1px 0 rgba(255, 255, 255, 0.12) !important;
}

/* First-word blue highlight for page titles */
.highlight-blue {
    background: transparent !important;
    background-color: transparent !important;
    color: #2563eb !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: inline !important;
    margin-right: 0.15rem;
}
.hero-results .highlight-blue,
.hero-contact .highlight-blue,
.hero-disclaimer .highlight-blue {
    color: #2563eb !important;
}

/* Specific styling for insurance banner block to be responsive */
.insurance-banner-block {
    padding: 2rem;
}
@media (max-width: 640px) {
    .insurance-banner-block {
        padding: 1.25rem;
    }
    .btn {
        white-space: normal !important;
        flex-wrap: wrap;
        text-align: center;
    }
}

/* Responsive padding adjustments for About Us page mockup sections */
/* ============================================
   DESKTOP HEADER — Original values locked
   (min-width: 769px) — never changes
   ============================================ */
@media (min-width: 769px) {
    .nav-container {
        height: 6.8rem !important;
        padding: 0 1.5rem !important;
        gap: 1.5rem !important;
    }
    header.scrolled .nav-container {
        height: 4.8rem !important;
    }
    .logo-img {
        height: 96px !important;
        width: 96px !important;
    }
    header.scrolled .logo-img {
        height: 64px !important;
        width: 64px !important;
    }
}

/* ============================================
   MOBILE HEADER — Compact view
   (max-width: 768px) — never touches desktop
   ============================================ */
@media (max-width: 768px) {
    .about-mockup-firm,
    .about-mockup-services,
    .about-mockup-performance {
        padding: 2.2rem 0;
    }

    .nav-container {
        height: 4.2rem !important;
        padding: 0 1rem !important;
        gap: 0.5rem !important;
    }
    header.scrolled .nav-container {
        height: 3.8rem !important;
    }
    .logo-img {
        height: 48px !important;
        width: 48px !important;
    }
    header.scrolled .logo-img {
        height: 40px !important;
        width: 40px !important;
    }
    .logo span {
        font-size: 0.95rem !important;
    }
}

/* Extra small phones */
@media (max-width: 400px) {
    .logo-img {
        height: 40px !important;
        width: 40px !important;
    }
    .logo span {
        font-size: 0.82rem !important;
    }
}





/* Cloudy Wave Shape Divider at bottom of About page hero */
.cloudy-divider {
    position: absolute;
    bottom: -3px; /* Extended to overlap next section and hide gaps */
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    z-index: 5; /* Ensure it renders above borders, overlays, and content boundaries */
}
.cloudy-divider svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 72px; /* Slightly increased to prevent sub-pixel gaps */
}






