        /* ===== CSS RESET & BASE ===== */
        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        /* ===== SPACING SCALE (8px grid) ===== */
        :root {
            --space-xs: 0.5rem;    /* 8px */
            --space-sm: 1rem;      /* 16px */
            --space-md: 1.5rem;    /* 24px */
            --space-lg: 2rem;      /* 32px */
            --space-xl: 3rem;      /* 48px */
            --space-2xl: 4rem;     /* 64px */
            --space-3xl: 6rem;     /* 96px */
        }

        /* ===== Z-INDEX SCALE ===== */
        :root {
            --z-background: 0;
            --z-particles: 1;
            --z-content: 2;
            --z-header: 100;
            --z-mobile-nav: 500;
            --z-modal: 1000;
            --z-cookie: 1500;
            --z-overlay: 2000;
            --z-cursor: 9999;
        }

        /* ===== SELECTION COLOR ===== */
        ::selection {
            background: rgba(181, 131, 47, 0.3);
            color: var(--text-primary);
        }

        ::-moz-selection {
            background: rgba(181, 131, 47, 0.3);
            color: var(--text-primary);
        }

        /* ===== FOCUS STATES (Accessibility) ===== */
        :focus {
            outline: none;
        }

        :focus-visible {
            outline: 2px solid var(--gold-main);
            outline-offset: 2px;
            border-radius: var(--radius-sm);
        }

        /* ===== REDUCED MOTION ===== */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
            }
            .cursor, .cursor-dot, .cursor-glow, .particles, .mesh-blob {
                display: none !important;
            }
        }

        /* Light Mode (Default) */
        :root {
            --bg-dark: #faf8f5;
            --bg-surface: #f5f2ed;
            --bg-card: #ffffff;
            --bg-card-hover: #fdfcfa;
            --header-bg: rgba(250, 248, 245, 0.9);
            --header-bg-scrolled: rgba(250, 248, 245, 0.98);
            --purple-deep: #4a2c6a;
            --purple-mid: #5d3d7a;
            --purple-light: #7a5a9a;
            --gold-dark: #8B6914;
            --gold-main: #B5832F;
            --gold-bright: #d4a84b;
            --gold-glow: rgba(181, 131, 47, 0.15);
            --text-primary: #2a2438;
            --text-secondary: #5a5268;
            --text-muted: #7a7288;
            --border-subtle: rgba(74, 44, 106, 0.12);
            --border-gold: rgba(181, 131, 47, 0.35);
            --cta-bg: #A3C4A3;
            --map-filter: none;
            --mesh-opacity: 0.08;
            --particle-color: #B5832F;
            --cursor-color: #B5832F;
            --radius-sm: 8px;
            --radius-md: 12px;
            --radius-lg: 20px;
            --radius-xl: 32px;
            --transition-fast: 0.15s ease;
            --transition-med: 0.3s ease;
            --transition-slow: 0.5s ease;
        }

        /* Dark Mode */
        [data-theme="dark"] {
            --bg-dark: #0a0a0f;
            --bg-surface: #12121a;
            --bg-card: #1a1a24;
            --bg-card-hover: #222230;
            --header-bg: rgba(10, 10, 15, 0.8);
            --header-bg-scrolled: rgba(10, 10, 15, 0.95);
            --purple-deep: #280D55;
            --purple-mid: #47287F;
            --purple-light: #6b4a9e;
            --gold-dark: #8B6914;
            --gold-main: #B5832F;
            --gold-bright: #F2D177;
            --gold-glow: rgba(242, 209, 119, 0.3);
            --text-primary: #f5f5f7;
            --text-secondary: #a1a1a6;
            --text-muted: #6e6e73;
            --border-subtle: rgba(255, 255, 255, 0.08);
            --border-gold: rgba(181, 131, 47, 0.3);
            --cta-bg: linear-gradient(135deg, var(--purple-deep), var(--purple-mid));
            --map-filter: grayscale(100%) invert(92%) contrast(83%);
            --mesh-opacity: 0.5;
            --particle-color: #F2D177;
            --cursor-color: #F2D177;
            --radius-sm: 8px;
            --radius-md: 12px;
            --radius-lg: 20px;
            --radius-xl: 32px;
            --transition-fast: 0.15s ease;
            --transition-med: 0.3s ease;
            --transition-slow: 0.5s ease;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Crimson Text', Georgia, serif;
            background: var(--bg-dark);
            color: var(--text-primary);
            line-height: 1.7;
            overflow-x: hidden;
            font-size: 18px;
            cursor: none;
        }

        /* Headings use Cinzel */
        h1, h2, h3, h4, h5, h6,
        .logo-text,
        .section-label,
        .hero-badge,
        .btn,
        .pricing-badge,
        .quest-number {
            font-family: 'Cinzel', serif;
        }

        /* ===== CUSTOM CURSOR ===== */
        .cursor {
            width: 20px;
            height: 20px;
            border: 2px solid var(--gold-bright);
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: var(--z-cursor);
            transition: transform 0.1s ease, width 0.2s, height 0.2s, border-color 0.2s;
            transform: translate(-50%, -50%);
            will-change: transform;
        }

        .cursor-dot {
            width: 6px;
            height: 6px;
            background: var(--gold-bright);
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: var(--z-cursor);
            transform: translate(-50%, -50%);
            will-change: transform;
        }

        .cursor.hover {
            width: 50px;
            height: 50px;
            border-color: var(--gold-main);
            background: var(--gold-glow);
        }

        .cursor-glow {
            position: fixed;
            width: 300px;
            height: 300px;
            background: radial-gradient(circle, var(--gold-glow) 0%, transparent 70%);
            border-radius: 50%;
            pointer-events: none;
            z-index: var(--z-particles);
            transform: translate(-50%, -50%);
            transition: opacity 0.3s;
            will-change: transform;
        }

        /* ===== GRADIENT MESH BACKGROUND ===== */
        .gradient-mesh {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            overflow: hidden;
            pointer-events: none;
        }

        .mesh-blob {
            position: absolute;
            border-radius: 50%;
            filter: blur(80px);
            opacity: var(--mesh-opacity);
            animation: float 20s ease-in-out infinite;
            transition: opacity 0.5s ease;
            will-change: transform;
            contain: strict;
        }

        .mesh-blob:nth-child(1) {
            width: 600px;
            height: 600px;
            background: var(--purple-deep);
            top: -200px;
            left: -100px;
            animation-delay: 0s;
        }

        .mesh-blob:nth-child(2) {
            width: 500px;
            height: 500px;
            background: var(--purple-mid);
            top: 50%;
            right: -150px;
            animation-delay: -5s;
            animation-duration: 25s;
        }

        .mesh-blob:nth-child(3) {
            width: 400px;
            height: 400px;
            background: rgba(181, 131, 47, 0.3);
            bottom: -100px;
            left: 30%;
            animation-delay: -10s;
            animation-duration: 30s;
        }

        @keyframes float {
            0%, 100% { transform: translate(0, 0) scale(1); }
            25% { transform: translate(50px, -30px) scale(1.05); }
            50% { transform: translate(-30px, 50px) scale(0.95); }
            75% { transform: translate(-50px, -20px) scale(1.02); }
        }

        /* ===== FLOATING PARTICLES ===== */
        .particles {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
            pointer-events: none;
            overflow: hidden;
        }

        .particle {
            position: absolute;
            width: 4px;
            height: 4px;
            background: var(--gold-bright);
            border-radius: 50%;
            opacity: 0.3;
            animation: rise 15s linear infinite;
            will-change: transform, opacity;
        }

        @keyframes rise {
            0% { transform: translateY(100vh) scale(0); opacity: 0; }
            10% { opacity: 0.3; }
            90% { opacity: 0.3; }
            100% { transform: translateY(-100px) scale(1); opacity: 0; }
        }

        /* Hide cursor on mobile */
        @media (max-width: 768px) {
            .cursor, .cursor-dot, .cursor-glow { display: none; }
            body { cursor: auto; font-size: 16px; }
            a, button, .who-card, .quest-card, .cta-card, .pricing-card, .team-card, .faq-question { cursor: pointer; }
        }
        
        /* ===== COOKIE BANNER ===== */
        .cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(135deg, var(--bg-surface), var(--bg-card));
            border-top: 1px solid var(--border-gold);
            padding: 1.5rem 2rem;
            z-index: var(--z-cookie);
            transform: translateY(100%);
            transition: transform 0.4s ease;
            box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.5);
        }
        
        .cookie-banner.show {
            transform: translateY(0);
        }
        
        .cookie-inner {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
            flex-wrap: wrap;
        }
        
        .cookie-content {
            flex: 1;
            min-width: 300px;
        }
        
        .cookie-title {
            font-family: 'Cinzel', serif;
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--gold-bright);
            margin-bottom: 0.5rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            letter-spacing: 0.03em;
        }

        .cookie-title::before {
            content: '🍪';
        }
        
        .cookie-text {
            font-size: 0.9rem;
            color: var(--text-secondary);
            line-height: 1.6;
        }
        
        .cookie-text a {
            color: var(--gold-main);
            text-decoration: underline;
        }
        
        .cookie-buttons {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
        }
        
        .cookie-btn {
            font-family: 'Cinzel', serif;
            padding: 0.75rem 1.5rem;
            border-radius: var(--radius-md);
            font-size: 0.85rem;
            font-weight: 600;
            cursor: none;
            transition: var(--transition-fast);
            border: none;
            letter-spacing: 0.03em;
        }
        
        .cookie-btn-accept {
            background: linear-gradient(135deg, var(--gold-main), var(--gold-dark));
            color: #fff;
        }
        
        .cookie-btn-accept:hover {
            background: linear-gradient(135deg, var(--gold-bright), var(--gold-main));
            transform: translateY(-2px);
        }
        
        .cookie-btn-decline {
            background: transparent;
            color: var(--text-secondary);
            border: 1px solid var(--border-subtle);
        }
        
        .cookie-btn-decline:hover {
            border-color: var(--text-secondary);
            color: var(--text-primary);
        }
        
        @media (max-width: 768px) {
            .cookie-inner {
                flex-direction: column;
                text-align: center;
            }
            .cookie-buttons {
                width: 100%;
                justify-content: center;
            }
        }
        
        /* ===== SCROLL PROGRESS BAR ===== */
        .scroll-progress {
            position: fixed;
            top: 0;
            left: 0;
            height: 3px;
            background: linear-gradient(90deg, var(--gold-main), var(--gold-bright));
            z-index: 9999;
            transition: width 0.1s linear;
        }
        
        /* ===== HEADER ===== */
        .header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: var(--z-header);
            padding: 1rem 2rem;
            background: var(--header-bg);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--border-subtle);
            transition: var(--transition-med);
        }
        
        .header.scrolled {
            padding: 0.75rem 2rem;
            background: var(--header-bg-scrolled);
        }
        
        .header-inner {
            display: flex;
            max-width: 1200px;
            margin: 0 auto;
            align-items: center;
            justify-content: space-between;
        }
        
        .logo {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            text-decoration: none;
            color: var(--text-primary);
        }
        
        .logo img {
            height: 40px;
            width: 40px;
            object-fit: contain;
        }
        
        .logo-text {
            font-size: 1.25rem;
            font-weight: 600;
            letter-spacing: -0.02em;
        }
        
        .nav {
            display: flex;
            align-items: center;
            gap: 2rem;
        }
        
        .nav-link {
            color: var(--text-primary);
            text-decoration: none;
            font-size: 0.95rem;
            font-weight: 600;
            transition: var(--transition-fast);
            cursor: none;
            letter-spacing: 0.02em;
        }

        .nav-link:hover {
            color: var(--gold-bright);
        }
        
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0.85rem 1.75rem;
            border-radius: var(--radius-md);
            font-size: 0.95rem;
            font-weight: 600;
            text-decoration: none;
            transition: var(--transition-med);
            cursor: none;
            border: none;
            letter-spacing: 0.03em;
        }
        
        .btn-ghost {
            background: transparent;
            color: var(--text-primary);
            border: 1px solid var(--border-subtle);
            position: relative;
            z-index: 10;
            pointer-events: auto;
        }
        
        .btn-ghost:hover {
            background: rgba(255, 255, 255, 0.05);
            border-color: var(--gold-main);
        }
        
        .btn-gold {
            background: linear-gradient(135deg, var(--gold-bright), var(--gold-main), var(--gold-dark));
            background-size: 200% 200%;
            color: #1a1520;
            box-shadow: 0 4px 20px var(--gold-glow), inset 0 1px 0 rgba(255,255,255,0.3);
            animation: btnShimmer 4s ease infinite;
        }

        @keyframes btnShimmer {
            0%, 100% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
        }

        .btn-gold:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 40px var(--gold-glow), 0 0 60px rgba(255, 180, 80, 0.15), inset 0 1px 0 rgba(255,255,255,0.3);
        }

        .btn-gold:active {
            transform: translateY(0) scale(0.98);
            box-shadow: 0 2px 10px var(--gold-glow);
        }

        [data-theme="dark"] .btn-gold {
            color: #1a1520;
        }

        .btn-outline,
        .btn-ghost {
            background: transparent;
            color: var(--gold-bright);
            border: 1px solid var(--gold-main);
        }

        .btn-outline:hover,
        .btn-ghost:hover {
            background: rgba(181, 131, 47, 0.1);
            transform: translateY(-2px);
        }

        .btn-outline:active,
        .btn-ghost:active {
            transform: translateY(0) scale(0.98);
        }

        .btn-large {
            padding: 1rem 2rem;
            font-size: 1rem;
        }

        /* Disabled button state */
        .btn:disabled,
        .btn[disabled],
        .btn-disabled {
            opacity: 0.6;
            cursor: not-allowed;
            pointer-events: none;
        }

        /* Disabled CTA card */
        .cta-card-disabled {
            opacity: 0.7;
        }

        .cta-card-disabled .cta-card-icon {
            filter: grayscale(50%);
        }
        
        /* ===== THEME TOGGLE ===== */
        .theme-toggle {
            background: var(--bg-card);
            border: 1px solid var(--border-subtle);
            border-radius: 50%;
            width: 40px;
            height: 40px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            transition: var(--transition-med);
            margin-left: 0.5rem;
        }
        
        .theme-toggle:hover {
            background: var(--bg-card-hover);
            transform: scale(1.1);
        }
        
        .theme-icon-light {
            display: inline;
        }
        
        .theme-icon-dark {
            display: none;
        }
        
        [data-theme="dark"] .theme-icon-light {
            display: none;
        }
        
        [data-theme="dark"] .theme-icon-dark {
            display: inline;
        }
        
        /* ===== MOBILE NAV ===== */
        .mobile-toggle {
            display: none;
            background: none;
            border: none;
            color: var(--text-primary);
            font-size: 1.5rem;
            cursor: pointer;
            padding: 0.5rem;
            z-index: 1001;
        }
        
        .mobile-nav {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: var(--bg-dark);
            backdrop-filter: blur(20px);
            z-index: var(--z-mobile-nav);
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2rem;
            opacity: 0;
            visibility: hidden;
            transition: var(--transition-med);
        }
        
        .mobile-nav.active {
            display: flex !important;
            opacity: 1;
            visibility: visible;
        }
        
        .mobile-nav a {
            color: var(--text-primary);
            text-decoration: none;
            font-size: 1.5rem;
            font-weight: 500;
            transition: var(--transition-fast);
        }
        
        .mobile-nav a:hover {
            color: var(--gold-bright);
        }
        
        @media (max-width: 768px) {
            .nav {
                display: none;
            }
            
            .header-ctas {
                display: none;
            }
            
            .mobile-toggle {
                display: block;
            }
            
            .hero {
                padding: 6rem 1.5rem 3rem;
                min-height: auto;
            }
            
            .hero h1 {
                font-size: 2rem;
                line-height: 1.2;
            }
            
            .hero-subtitle {
                font-size: 1rem;
                padding: 0 0.5rem;
            }
            
            .hero-ctas {
                flex-direction: column;
                gap: 1rem;
                width: 100%;
                padding: 0 1rem;
            }
            
            .hero-ctas .btn {
                width: 100%;
                text-align: center;
            }
            
            section {
                padding: 3rem 1.5rem;
                margin-bottom: 2rem;
            }

            .section-title {
                font-size: 1.75rem;
            }
            
            .who-grid {
                grid-template-columns: 1fr;
                gap: 1rem;
            }
            
            .pillars {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }
            
            .stats-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 1rem;
            }
            
            .pricing-grid {
                display: flex;
                flex-direction: column;
                gap: 1rem;
            }
            
            .pricing-card {
                padding: 1.5rem;
            }
            
            .pricing-card.featured {
                /* Keep natural HTML order on mobile */
            }
            
            .pricing-header h3 {
                font-size: 1.25rem;
            }
            
            .pricing-amount .price {
                font-size: 2rem;
            }
            
            .pricing-card .btn {
                width: 100%;
                padding: 0.875rem 1.5rem;
            }
            
            .early-bird-banner {
                font-size: 0.95rem;
                padding: 0.75rem 1rem;
            }
            
            .extended-care {
                padding: 1.5rem;
            }
            
            .care-options {
                flex-direction: column;
                gap: 1rem;
            }
            
            .location-card {
                flex-direction: column;
            }
            
            .location-map {
                height: 250px;
            }
            
            .cta-buttons {
                flex-direction: column;
                gap: 1rem;
            }
            
            .cta-buttons .btn {
                width: 100%;
            }
            
            .footer-inner {
                flex-direction: column;
                gap: 1.5rem;
                text-align: center;
            }
            
            .footer-links {
                flex-wrap: wrap;
                justify-content: center;
            }
        }
        
        /* ===== HERO SECTION ===== */
        .hero {
            display: flex;
            min-height: 100vh;
            align-items: center;
            justify-content: center;
            padding: 8rem 2rem 4rem;
            position: relative;
            overflow: hidden;
            z-index: 2;
        }
        
        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: 
                radial-gradient(ellipse at 50% 0%, rgba(71, 40, 127, 0.15) 0%, transparent 60%),
                radial-gradient(ellipse at 80% 50%, rgba(181, 131, 47, 0.08) 0%, transparent 40%);
            pointer-events: none;
        }
        
        .hero-content {
            max-width: 900px;
            text-align: center;
            position: relative;
            z-index: 1;
        }
        
        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 1rem;
            background: rgba(181, 131, 47, 0.1);
            border: 1px solid var(--border-gold);
            border-radius: 100px;
            font-size: 0.85rem;
            color: var(--gold-bright);
            margin-bottom: 2rem;
            animation: fadeInUp 0.6s ease;
        }
        
        .hero h1 {
            font-size: clamp(2.5rem, 6vw, 4.5rem);
            font-weight: 700;
            line-height: 1.1;
            letter-spacing: -0.03em;
            margin-bottom: 1.5rem;
            animation: fadeInUp 0.6s ease 0.1s both;
        }
        
        .hero h1 .highlight {
            background: linear-gradient(135deg, var(--gold-bright), var(--gold-main));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        .hero-subtitle {
            font-size: 1.25rem;
            color: var(--text-secondary);
            max-width: 700px;
            margin: 0 auto 2.5rem;
            animation: fadeInUp 0.6s ease 0.2s both;
        }
        
        .hero-ctas {
            display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;
            animation: fadeInUp 0.6s ease 0.3s both;
        }
        
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        /* ===== SECTIONS ===== */
        section {
            padding: 4rem 2rem;
            position: relative;
            z-index: 2;
        }
        
        .section-inner {
            max-width: 1200px;
            margin: 0 auto;
        }
        
        .section-header {
            text-align: center;
            margin-bottom: 4rem;
        }
        
        .section-label {
            display: inline-block;
            font-size: 0.8rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--gold-main);
            margin-bottom: 1rem;
        }
        
        .section-title {
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 700;
            letter-spacing: -0.02em;
            margin-bottom: 1rem;
        }
        
        .section-subtitle {
            font-size: 1.1rem;
            color: var(--text-secondary);
            max-width: 600px;
            margin: 0 auto;
        }
        
        /* ===== WHO IT'S FOR ===== */
        .who-section {
            background: var(--bg-surface);
        }
        
        .traits-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 1.5rem;
        }
        
        .trait-card {
            background: var(--bg-card);
            border: 1px solid var(--border-subtle);
            border-radius: var(--radius-lg);
            padding: 2rem;
            transition: var(--transition-med);
            position: relative;
            overflow: hidden;
        }
        
        .trait-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, var(--gold-main), var(--gold-bright));
            opacity: 0;
            transition: var(--transition-med);
        }
        
        .trait-card:hover {
            transform: translateY(-4px);
            border-color: var(--border-gold);
            background: var(--bg-card-hover);
        }
        
        .trait-card:hover::before {
            opacity: 1;
        }
        
        .trait-icon {
            font-size: 2.5rem;
            margin-bottom: 1rem;
        }
        
        .trait-card h3 {
            font-size: 1.25rem;
            margin-bottom: 0.75rem;
        }
        
        .trait-card p {
            color: var(--text-secondary);
            font-size: 0.95rem;
        }
        
        /* ===== QUEST PILLARS ===== */
        .quest-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
        }
        
        .quest-pillar {
            text-align: center;
            padding: 2.5rem;
            background: var(--bg-card);
            border-radius: var(--radius-xl);
            border: 1px solid var(--border-subtle);
            transition: var(--transition-med);
        }
        
        .quest-pillar:hover {
            border-color: var(--border-gold);
            transform: translateY(-4px);
        }
        
        .pillar-icon {
            display: flex;
            width: 80px;
            height: 80px;
            margin: 0 auto 1.5rem;
            background: linear-gradient(135deg, var(--purple-mid), var(--purple-deep));
            border-radius: 50%;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            border: 2px solid var(--gold-main);
        }
        
        .quest-pillar h3 {
            font-size: 1.5rem;
            margin-bottom: 0.75rem;
            color: var(--gold-bright);
        }
        
        .quest-pillar p {
            color: var(--text-secondary);
        }
        
        /* ===== STATS GRID ===== */
        .stats-section {
            background: var(--bg-surface);
        }
        
        .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 1.5rem;
        }
        
        .stat-card {
            text-align: center;
            padding: 1.5rem;
            background: var(--bg-card);
            border-radius: var(--radius-lg);
            border: 1px solid var(--border-subtle);
            transition: var(--transition-med);
        }
        
        .stat-card:hover {
            border-color: var(--gold-main);
            transform: scale(1.05);
        }
        
        .stat-icon {
            font-size: 2rem;
            margin-bottom: 0.75rem;
        }
        
        .stat-card h4 {
            font-size: 1rem;
            color: var(--gold-bright);
            margin-bottom: 0.25rem;
        }
        
        .stat-card p {
            font-size: 0.8rem;
            color: var(--text-muted);
        }
        
        /* ===== TEAM ===== */
        #team {
            background: var(--bg-surface);
            padding: 5rem 2rem;
        }
        
        .team-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 3rem;
            max-width: 1100px;
            margin: 0 auto;
        }
        
        .team-card {
            background: var(--bg-card);
            border-radius: var(--radius-lg);
            overflow: hidden;
            border: 1px solid var(--border-subtle);
            transition: transform var(--transition-med), box-shadow var(--transition-med);
        }
        
        .team-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
        }
        
        .team-photo {
            width: 100%;
            height: 420px;
            overflow: hidden;
            background: var(--bg-secondary);
        }
        
        .team-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center 15%;
            transition: transform var(--transition-med);
        }
        
        .team-card:hover .team-photo img {
            transform: scale(1.05);
        }
        
        .team-info {
            padding: 1.5rem 2rem 2rem;
        }
        
        .team-info h3 {
            font-size: 1.5rem;
            color: var(--text-primary);
            margin-bottom: 0.5rem;
        }
        
        .team-role {
            color: var(--gold-main);
            font-size: 0.9rem;
            font-weight: 600;
            margin-bottom: 0.75rem;
        }
        
        .team-bio-preview {
            color: var(--text-secondary);
            font-size: 0.95rem;
            line-height: 1.6;
            margin-bottom: 0.75rem;
        }
        
        .team-bio-full {
            color: var(--text-secondary);
            font-size: 0.95rem;
            line-height: 1.6;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease, opacity 0.3s ease;
            opacity: 0;
        }
        
        .team-bio-full.expanded {
            max-height: 500px;
            opacity: 1;
            margin-top: 0.75rem;
        }
        
        .read-more-btn {
            background: none;
            border: none;
            color: var(--gold-main);
            font-size: 0.9rem;
            font-weight: 600;
            cursor: pointer;
            padding: 0;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            transition: color var(--transition-fast);
        }
        
        .read-more-btn:hover {
            color: var(--gold-bright);
        }
        
        .read-more-btn .arrow {
            transition: transform 0.3s ease;
            font-size: 0.8rem;
        }
        
        .read-more-btn.expanded .arrow {
            transform: rotate(180deg);
        }
        
        .team-bio {
            color: var(--text-secondary);
            font-size: 0.95rem;
            line-height: 1.7;
            margin-bottom: 1rem;
        }
        
        .team-bio:last-child {
            margin-bottom: 0;
        }
        
        /* ===== ACTIVITIES GALLERY ===== */
        #activities {
            background: var(--bg-dark);
            padding: 5rem 2rem;
        }
        
        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
            max-width: 1200px;
            margin: 0 auto;
        }
        
        .gallery-item {
            position: relative;
            border-radius: var(--radius-md);
            overflow: hidden;
            aspect-ratio: 1;
            cursor: pointer;
        }
        
        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform var(--transition-med);
        }
        
        .gallery-item:hover img {
            transform: scale(1.1);
        }
        
        .gallery-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
            padding: 2rem 1rem 1rem;
            opacity: 0;
            transition: opacity var(--transition-med);
        }
        
        .gallery-item:hover .gallery-overlay {
            opacity: 1;
        }
        
        .gallery-overlay span {
            color: #fff;
            font-weight: 600;
            font-size: 0.9rem;
        }
        
        /* ===== TIMETABLE ===== */
        .timetable-container {
            max-width: 900px;
            margin: 0 auto;
        }
        
        .timetable-intro {
            text-align: center;
            color: var(--text-secondary);
            font-size: 1rem;
            margin-bottom: 2rem;
            font-style: italic;
        }
        
        .timetable {
            display: flex;
            flex-direction: column;
            gap: 0;
        }
        
        .timetable-item {
            display: grid;
            grid-template-columns: 120px 1fr;
            gap: 1.5rem;
            padding: 1.5rem 0;
            border-bottom: 1px solid var(--border-subtle);
            align-items: start;
        }
        
        .timetable-item:last-child {
            border-bottom: none;
        }
        
        .timetable-time {
            font-family: var(--font-heading);
            font-size: 1rem;
            font-weight: 700;
            color: var(--gold-bright);
            white-space: nowrap;
        }
        
        .timetable-content h4 {
            font-size: 1.1rem;
            color: var(--text-primary);
            margin-bottom: 0.5rem;
            font-weight: 600;
        }
        
        .timetable-content p {
            color: var(--text-secondary);
            font-size: 0.95rem;
            line-height: 1.6;
            margin-bottom: 0.75rem;
        }
        
        .timetable-content p:last-child {
            margin-bottom: 0;
        }
        
        .timetable-details {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            margin-top: 0.5rem;
        }
        
        .timetable-tag {
            background: var(--bg-secondary);
            color: var(--text-secondary);
            padding: 0.25rem 0.75rem;
            border-radius: var(--radius-sm);
            font-size: 0.8rem;
        }
        
        .timetable-highlight {
            background: linear-gradient(135deg, var(--purple-deep), var(--purple-mid));
            border-radius: var(--radius-md);
            padding: 1.5rem;
            margin-top: 2rem;
        }
        
        .timetable-highlight h4 {
            color: var(--gold-bright);
            margin-bottom: 0.75rem;
        }
        
        .timetable-highlight p {
            color: rgba(255,255,255,0.9);
            font-size: 0.9rem;
        }
        
        .timetable-formats {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1rem;
            margin-top: 1rem;
        }
        
        .format-item {
            text-align: center;
            padding: 1rem;
            background: rgba(255,255,255,0.1);
            border-radius: var(--radius-sm);
        }
        
        .format-item .format-icon {
            font-size: 1.5rem;
            margin-bottom: 0.5rem;
        }
        
        .format-item span {
            display: block;
            color: rgba(255,255,255,0.9);
            font-size: 0.85rem;
        }
        
        /* ===== PRICING ===== */
        .early-bird-banner {
            background: linear-gradient(135deg, var(--purple-deep), var(--purple-mid));
            color: var(--gold-bright);
            padding: 1rem 2rem;
            border-radius: var(--radius-md);
            text-align: center;
            margin-bottom: 2rem;
            font-size: 1.1rem;
        }
        
        .early-bird-banner span {
            margin-right: 0.5rem;
        }
        
        .pricing-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.5rem;
            margin-bottom: 2rem;
        }
        
        .pricing-card {
            background: var(--bg-card);
            border-radius: var(--radius-lg);
            padding: 2rem;
            border: 1px solid var(--border-subtle);
            text-align: center;
            position: relative;
            transition: var(--transition-med);
        }
        
        .pricing-card:hover {
            transform: translateY(-4px);
            border-color: var(--border-gold);
        }
        
        .pricing-card.featured {
            border: 2px solid var(--gold-main);
            background: linear-gradient(180deg, rgba(181, 131, 47, 0.1) 0%, var(--bg-card) 100%);
        }
        
        .pricing-badge {
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%);
            background: var(--gold-main);
            color: var(--bg-dark);
            padding: 0.25rem 1rem;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
        }
        
        .pricing-badge.value {
            background: var(--purple-mid);
            color: var(--text-primary);
        }
        
        .pricing-header h3 {
            font-size: 1.5rem;
            color: var(--text-primary);
            margin-bottom: 0.25rem;
        }
        
        .pricing-tagline {
            color: var(--text-secondary);
            font-size: 0.9rem;
            margin-bottom: 1rem;
        }
        
        .pricing-amount {
            margin-bottom: 0.5rem;
        }
        
        .pricing-amount .price {
            font-size: 2.5rem;
            font-weight: 700;
            color: var(--gold-bright);
        }
        
        .pricing-amount .period {
            font-size: 1rem;
            color: var(--text-muted);
        }
        
        .pricing-original {
            margin-bottom: 1.5rem;
            font-size: 0.9rem;
        }
        
        .pricing-original .strikethrough {
            text-decoration: line-through;
            color: var(--text-muted);
            margin-right: 0.5rem;
        }
        
        .pricing-original .per-day {
            color: var(--text-secondary);
        }
        
        .pricing-features {
            list-style: none;
            margin-bottom: 1.5rem;
            text-align: left;
        }
        
        .pricing-features li {
            padding: 0.5rem 0;
            color: var(--text-secondary);
            border-bottom: 1px solid var(--border-subtle);
        }
        
        .pricing-features li:last-child {
            border-bottom: none;
        }
        
        .pricing-features li::before {
            content: '✓';
            color: var(--gold-main);
            margin-right: 0.5rem;
        }
        
        .pricing-features li strong {
            color: var(--gold-bright);
        }
        
        .extended-care {
            background: var(--bg-card);
            border-radius: var(--radius-lg);
            padding: 2rem;
            text-align: center;
            border: 1px solid var(--border-subtle);
        }
        
        .extended-care h4 {
            color: var(--text-primary);
            margin-bottom: 1.5rem;
            font-size: 1.25rem;
        }
        
        .care-options {
            display: flex;
            justify-content: center;
            gap: 2rem;
            margin-bottom: 1.5rem;
            flex-wrap: wrap;
        }
        
        .care-option {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
        }
        
        .care-option.highlight {
            color: var(--gold-bright);
        }
        
        .care-label {
            font-size: 0.9rem;
            color: var(--text-secondary);
        }
        
        .care-option.highlight .care-label {
            color: var(--gold-bright);
        }
        
        .care-price {
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--text-primary);
        }
        
        .care-option.highlight .care-price {
            color: var(--gold-bright);
        }
        
        .care-price small {
            font-size: 0.8rem;
            color: var(--gold-main);
        }
        
        .enrollment-note {
            color: var(--text-secondary);
            font-size: 0.95rem;
        }
        
        .enrollment-note strong {
            color: var(--text-primary);
        }
        
        .care-subtitle {
            color: var(--text-secondary);
            font-size: 0.9rem;
            margin-bottom: 1rem;
            font-style: italic;
        }
        
        .afterschool-note {
            margin-top: 1.5rem;
            padding: 1rem;
            background: var(--bg-surface);
            border-radius: var(--radius-sm);
            border-left: 3px solid var(--gold-main);
        }
        
        .afterschool-note p {
            color: var(--text-secondary);
            font-size: 0.9rem;
            margin: 0;
        }
        
        .afterschool-note p:first-child {
            margin-bottom: 0.5rem;
        }
        
        .afterschool-note strong {
            color: var(--text-primary);
        }
        
        .afterschool-note small {
            color: var(--text-muted);
        }
        
        /* ===== LOCATION ===== */
        .location-card {
            display: flex;
            gap: 0;
            background: var(--bg-card);
            border-radius: var(--radius-xl);
            overflow: hidden;
            border: 1px solid var(--border-subtle);
        }
        
        .location-info {
            flex: 1;
            padding: 2.5rem;
        }
        
        .location-info h3 {
            font-size: 1.75rem;
            margin-bottom: 0.5rem;
            color: var(--gold-bright);
        }
        
        .location-name {
            color: var(--text-secondary);
            margin-bottom: 1rem;
        }
        
        .location-details {
            color: var(--text-primary);
            margin-bottom: 1.5rem;
            line-height: 1.8;
        }
        
        .location-hours {
            padding-top: 1rem;
            border-top: 1px solid var(--border-subtle);
        }
        
        .location-hours p {
            margin-bottom: 0.5rem;
            color: var(--text-secondary);
            font-size: 0.9rem;
        }
        
        .location-hours strong {
            color: var(--text-primary);
        }
        
        .location-map {
            flex: 1;
            min-height: 350px;
            border-radius: 0;
            position: relative;
        }
        
        .location-map iframe {
            width: 100%;
            height: 100%;
            border: none;
            filter: var(--map-filter);
        }
        
        /* ===== FAQ ===== */
        .faq-list {
            max-width: 800px;
            margin: 0 auto;
        }
        
        .faq-item {
            border-bottom: 1px solid var(--border-subtle);
        }
        
        .faq-question {
            width: 100%;
            padding: 1.5rem 0;
            background: none;
            border: none;
            color: var(--text-primary);
            font-size: 1.1rem;
            font-weight: 500;
            text-align: left;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: var(--transition-fast);
        }
        
        .faq-question:hover {
            color: var(--gold-bright);
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
        }
        
        .faq-item.active .faq-answer {
            max-height: 500px;
        }
        
        .faq-answer p {
            padding-bottom: 1.5rem;
            color: var(--text-secondary);
            line-height: 1.7;
        }
        
        /* ===== CTA SECTION ===== */
        .cta-section {
            background: var(--cta-bg);
            text-align: center;
            padding: 4rem 2rem;
            position: relative;
        }
        
        .cta-section h2 {
            font-size: clamp(2rem, 4vw, 3rem);
            margin-bottom: 1rem;
            color: #2D5A2D;
        }
        
        .cta-section p {
            color: #3D6B3D;
            font-size: 1.1rem;
            margin-bottom: 2rem;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }
        
        .cta-buttons {
            display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;
        }
        
        .cta-section .btn-gold {
            background: #2D5A2D;
            color: #ffffff;
            box-shadow: 0 4px 15px rgba(45, 90, 45, 0.3);
        }
        
        .cta-section .btn-gold:hover {
            background: #1E4A1E;
            transform: translateY(-2px);
        }
        
        .cta-section .btn-outline {
            background: transparent;
            color: #2D5A2D;
            border: 2px solid #2D5A2D;
        }
        
        .cta-section .btn-outline:hover {
            background: rgba(45, 90, 45, 0.1);
        }
        
        .cta-section .btn-ghost {
            background: transparent;
            color: #2D5A2D;
            border: 1px solid #4A7A4A;
        }
        
        .cta-section .btn-ghost:hover {
            background: rgba(45, 90, 45, 0.1);
        }
        
        /* Dark mode CTA - restore original purple/gold */
        [data-theme="dark"] .cta-section h2 {
            color: #ffffff;
        }
        
        [data-theme="dark"] .cta-section p {
            color: rgba(255, 255, 255, 0.9);
        }
        
        [data-theme="dark"] .cta-section .btn-gold {
            background: linear-gradient(135deg, var(--gold-main), var(--gold-dark));
            color: #000;
            box-shadow: 0 4px 20px var(--gold-glow);
        }
        
        [data-theme="dark"] .cta-section .btn-gold:hover {
            background: linear-gradient(135deg, var(--gold-bright), var(--gold-main));
        }
        
        [data-theme="dark"] .cta-section .btn-outline {
            background: transparent;
            color: var(--gold-bright);
            border: 1px solid var(--gold-main);
        }
        
        [data-theme="dark"] .cta-section .btn-outline:hover {
            background: rgba(181, 131, 47, 0.1);
        }
        
        [data-theme="dark"] .cta-section .btn-ghost {
            background: transparent;
            color: var(--text-primary);
            border: 1px solid var(--border-subtle);
        }
        
        [data-theme="dark"] .cta-section .btn-ghost:hover {
            background: rgba(255, 255, 255, 0.05);
        }
        
        /* ===== FOOTER ===== */
        .footer {
            background: var(--bg-surface);
            padding: 3rem 2rem;
            text-align: center;
            position: relative;
            z-index: 2;
        }
        
        .footer-inner {
            display: flex;
            max-width: 1200px;
            margin: 0 auto;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 2rem;
            margin-bottom: 2rem;
        }
        
        .footer-brand {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }
        
        .footer-brand img {
            height: 32px;
            width: 32px;
        }
        
        .footer-brand span {
            font-weight: 600;
        }
        
        .footer-links {
            display: flex;
            gap: 2rem;
            flex-wrap: wrap;
        }
        
        .footer-links a {
            color: var(--text-secondary);
            text-decoration: none;
            font-size: 0.9rem;
            transition: var(--transition-fast);
        }
        
        .footer-links a:hover {
            color: var(--gold-bright);
        }
        
        .footer-copy {
            color: var(--text-muted);
            font-size: 0.85rem;
            line-height: 1.8;
        }
        
        .footer-copy a {
            color: var(--gold-main);
            text-decoration: none;
        }
        
        /* ===== REVEAL ANIMATION ===== */
        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.6s ease, transform 0.6s ease;
        }
        
        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }
        
        /* ===== REDUCED MOTION ===== */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                transition-duration: 0.01ms !important;
            }
            
            html {
                scroll-behavior: auto;
            }
        }
        
        /* ===== MOBILE RESPONSIVE - MUST BE LAST ===== */
        @media (max-width: 768px) {
            /* Pricing - Force vertical stack */
            .pricing-grid {
                display: flex !important;
                flex-direction: column !important;
                gap: 1.5rem !important;
            }
            
            .pricing-card {
                width: 100% !important;
                padding: 2rem 1.5rem !important;
            }
            
            .pricing-card.featured {
                transform: none;
                border-width: 2px;
            }
            
            .pricing-badge {
                position: static;
                display: inline-block;
                margin-bottom: 1rem;
            }
            
            .pricing-amount .price {
                font-size: 2.5rem;
            }
            
            .pricing-card .btn {
                width: 100%;
                padding: 1rem 2rem;
                font-size: 1rem;
            }
            
            .early-bird-banner {
                padding: 1rem;
                font-size: 0.9rem;
                text-align: center;
            }
            
            .extended-care {
                padding: 1.5rem;
            }
            
            .care-options {
                display: flex !important;
                flex-direction: column !important;
                gap: 1rem;
            }
            
            .care-option {
                width: 100%;
            }
            
            /* Team - Mobile */
            .team-grid {
                grid-template-columns: 1fr !important;
                gap: 2rem;
            }
            
            .team-photo {
                height: 320px;
            }
            
            .team-info {
                padding: 1.25rem 1.5rem 1.5rem;
            }
            
            .team-info h3 {
                font-size: 1.3rem;
            }
            
            .team-bio-preview,
            .team-bio-full p {
                font-size: 0.9rem;
            }
            
            .read-more-btn {
                font-size: 0.85rem;
                margin-top: 0.25rem;
            }
            
            /* Gallery - Mobile */
            .gallery-grid {
                grid-template-columns: repeat(2, 1fr) !important;
                gap: 0.75rem;
            }
            
            .gallery-item {
                border-radius: var(--radius-md);
            }
            
            .gallery-overlay {
                opacity: 1;
                padding: 0.75rem 0.5rem 0.5rem;
                background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
            }
            
            .gallery-overlay span {
                font-size: 0.7rem;
            }
            
            /* Timetable - Mobile */
            .timetable-item {
                grid-template-columns: 1fr !important;
                gap: 0.5rem;
                padding: 1.25rem 0;
            }
            
            .timetable-time {
                font-size: 0.9rem;
                color: var(--gold-bright);
            }
            
            .timetable-content h4 {
                font-size: 1rem;
            }
            
            .timetable-content p {
                font-size: 0.9rem;
            }
            
            .timetable-details {
                gap: 0.4rem;
            }
            
            .timetable-tag {
                font-size: 0.7rem;
                padding: 0.2rem 0.5rem;
            }
            
            .timetable-highlight {
                padding: 1.25rem;
            }
            
            .timetable-formats {
                grid-template-columns: 1fr !important;
                gap: 0.75rem;
            }
            
            .format-item {
                padding: 0.75rem;
                display: flex;
                align-items: center;
                gap: 0.75rem;
                text-align: left;
            }
            
            .format-item .format-icon {
                font-size: 1.25rem;
                margin-bottom: 0;
            }
            
            .format-item span {
                display: inline;
            }
            
            .format-item span:last-child {
                opacity: 0.7;
                margin-left: 0.25rem;
            }
            
            /* Section headers - Mobile */
            .section-header {
                padding: 0 1rem;
            }
            
            .section-title {
                font-size: 1.75rem !important;
                line-height: 1.2;
            }
            
            .section-subtitle {
                font-size: 0.95rem;
            }
            
            .section-label {
                font-size: 0.75rem;
            }
            
            /* Hero section - Mobile */
            .hero-content h1 {
                font-size: 2rem !important;
                line-height: 1.15;
            }
            
            .hero-content p {
                font-size: 1rem;
                padding: 0 0.5rem;
            }
            
            .hero-buttons {
                flex-direction: column;
                gap: 0.75rem;
                width: 100%;
                padding: 0 1rem;
            }
            
            .hero-buttons .btn {
                width: 100%;
                justify-content: center;
            }
            
            /* Cards - Mobile */
            .feature-card,
            .approach-card,
            .stat-card {
                padding: 1.25rem;
            }
            
            .feature-icon,
            .approach-icon {
                font-size: 2rem;
            }
            
            /* Location - Mobile */
            .location-card {
                flex-direction: column;
            }
            
            .location-map {
                height: 250px;
                order: -1;
            }
            
            .location-info {
                padding: 1.5rem;
            }
            
            /* CTA - Mobile */
            .cta-section {
                padding: 3rem 1.5rem;
            }
            
            .cta-section h2 {
                font-size: 1.5rem;
            }
            
            .cta-buttons {
                flex-direction: column;
                gap: 0.75rem;
            }
            
            .cta-buttons .btn {
                width: 100%;
            }
            
            /* FAQ - Mobile */
            .faq-question {
                padding: 1rem;
                font-size: 0.95rem;
            }
            
            .faq-answer {
                padding: 0 1rem 1rem;
                font-size: 0.9rem;
            }
            
            /* Footer - Mobile */
            .footer-grid {
                grid-template-columns: 1fr !important;
                gap: 2rem;
                text-align: center;
            }
            
            .footer-bottom {
                flex-direction: column;
                gap: 1rem;
                text-align: center;
            }
            
            /* Afterschool note - Mobile */
            .afterschool-note {
                padding: 1rem;
            }
            
            .afterschool-note p {
                font-size: 0.9rem;
            }
            
            /* Smooth scrolling touch optimization */
            html {
                -webkit-overflow-scrolling: touch;
            }
            
            /* Better tap targets */
            .btn,
            .nav-link,
            .mobile-nav-link {
                min-height: 44px;
                display: flex;
                align-items: center;
            }
        }
        
        /* Extra small screens */
        @media (max-width: 480px) {
            .section-inner {
                padding: 0 1rem;
            }
            
            .hero-content h1 {
                font-size: 1.75rem !important;
            }
            
            .section-title {
                font-size: 1.5rem !important;
            }
            
            .gallery-grid {
                grid-template-columns: repeat(2, 1fr) !important;
                gap: 0.5rem;
            }
            
            .team-photo {
                height: 220px;
            }
            
            .pricing-card {
                padding: 1.5rem 1rem !important;
            }
            
            .pricing-amount .price {
                font-size: 2rem;
            }
        }
    </style>


/* ===== PAGE HERO (for sub-pages) ===== */
.page-hero {
    padding: 140px 2rem 60px;
    text-align: center;
    background: radial-gradient(circle at 20% 50%, rgba(139, 92, 246, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 80%, rgba(181, 131, 47, 0.1) 0%, transparent 50%),
                var(--bg-primary);
    position: relative;
}

.page-hero-content {
    padding-top: 40px;
    max-width: 800px;
    margin: 0 auto;
}

.page-hero h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--text-primary);
}

.page-hero p {
    font-size: 1.25rem;
    color: var(--text-secondary);
    max-width: 600px;
    margin: 0 auto;
}

/* Hero Stats Row */
.hero-stats {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin: 2.5rem 0;
    flex-wrap: wrap;
}

.hero-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.25rem 2rem;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    min-width: 140px;
    transition: var(--transition-med);
}

.hero-stat:hover {
    border-color: var(--gold-main);
    transform: translateY(-2px);
}

.hero-stat__number {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--gold-main);
    line-height: 1;
}

.hero-stat__label {
    font-size: 0.85rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0.5rem;
}

/* Hero Description */
.hero-description {
    font-size: 1.1rem !important;
    line-height: 1.7;
    max-width: 700px !important;
    margin: 0 auto 2rem !important;
}

/* Hero CTA Buttons */
.hero-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

/* Mobile adjustments for hero stats */
@media (max-width: 600px) {
    .hero-stats {
        gap: 1rem;
    }

    .hero-stat {
        padding: 1rem 1.5rem;
        min-width: 100px;
    }

    .hero-stat__number {
        font-size: 1.5rem;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }
}

/* Active nav state */
.nav-link.active,
.mobile-nav-link.active {
    color: var(--gold-main);
    font-weight: 600;
}

/* Extended Care Styles */
.extended-care-section {
    padding: 80px 2rem;
    background: var(--bg-surface);
}

/* New single-card extended care layout */
.extended-care-single {
    max-width: 900px;
    margin: 0 auto;
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: 2rem;
    border: 1px solid var(--border-subtle);
}

.extended-options-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.extended-option-card {
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    padding: 1.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
}

.extended-option-card .option-time {
    font-family: 'Cinzel', serif;
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--text-primary);
}

.extended-option-card .option-hours {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.extended-option-card .option-price {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--gold-main);
    margin: 0.5rem 0;
}

.extended-option-card .option-price small {
    font-size: 0.9rem;
    font-weight: 400;
}

.extended-option-card .option-savings {
    background: var(--gold-main);
    color: #000;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
}

.extended-option-card .option-desc {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-top: 0.5rem;
}

.extended-option-card.highlight {
    background: linear-gradient(135deg, rgba(181, 131, 47, 0.15), rgba(181, 131, 47, 0.05));
    border: 1px solid var(--gold-main);
}

.extended-care-single .extended-note {
    text-align: center;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin: 0;
    padding-top: 1rem;
    border-top: 1px solid var(--border-subtle);
}

.extended-care-single .extended-note a {
    color: var(--gold-main);
}

@media (max-width: 768px) {
    .extended-options-row {
        grid-template-columns: 1fr;
    }
}

/* Legacy grid styles (keep for backwards compat) */
.extended-care-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    max-width: 900px;
    margin: 0 auto;
}

.extended-card {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: 2rem;
    border: 1px solid var(--border-subtle);
}

.extended-card h4 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
    color: var(--text-primary);
}

.extended-note {
    font-size: 0.95rem;
    color: var(--text-secondary);
    margin-bottom: 1rem;
}

.extended-note a {
    color: var(--gold-main);
}

.extended-options {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.extended-option {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    background: var(--bg-surface);
    border-radius: var(--radius-sm);
}

.extended-option .option-label,
.extended-option .option-price {
    display: block;
}

.extended-option .option-desc {
    margin-top: 0.25rem;
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.extended-option.highlight {
    background: linear-gradient(135deg, var(--gold-main), var(--gold-bright));
    color: #000;
}

.option-label {
    font-weight: 500;
}

.option-price {
    font-weight: 600;
}

.option-price small {
    font-weight: 400;
    opacity: 0.8;
}

.enrollment-info {
    text-align: center;
    margin-top: 3rem;
    padding: 2rem;
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.enrollment-info h4 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.enrollment-note {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-top: 0.5rem;
}

/* Location Styles */
.location-grid {
    display: grid;
    grid-template-columns: 1.3fr 1.2fr;
    gap: 3rem;
    align-items: start;
}

.location-info {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.location-card {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    border: 1px solid var(--border-subtle);
}

.location-icon {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.location-card h3 {
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
    color: var(--text-primary);
}

.location-card p {
    color: var(--text-secondary);
    margin-bottom: 0.25rem;
}

.location-card a {
    color: var(--gold-main);
}

.hours-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.hours-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.95rem;
}

.hours-row span:first-child {
    color: var(--text-secondary);
}

.hours-row span:last-child {
    font-weight: 500;
    color: var(--text-primary);
}

.location-map {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.location-map iframe {
    filter: var(--map-filter);
}

/* Quest Formats */
.quest-formats {
    margin-top: 3rem;
    padding: 2rem;
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    text-align: center;
    border: 1px solid var(--border-gold);
}

.quest-formats h3 {
    margin-bottom: 1.5rem;
    color: var(--gold-main);
}

.format-grid {
    display: flex;
    justify-content: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.format-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.format-icon {
    font-size: 2rem;
}

.format-label {
    font-weight: 600;
    color: var(--text-primary);
}

.format-freq {
    font-size: 0.85rem;
    color: var(--text-muted);
}

/* Mobile Responsive for new pages */
@media (max-width: 768px) {
    .page-hero {
        padding: 120px 1.5rem 60px;
    }
    
    .location-grid {
        grid-template-columns: 1fr;
    }
    
    .location-map {
        order: -1;
    }
    
    .extended-care-grid {
        grid-template-columns: 1fr;
    }
    
    .format-grid {
        gap: 2rem;
    }
}


/* ===== SPACING & POLISH FIXES ===== */

/* CTA Section - Tighter spacing */
.cta-section {
    padding: 4rem 2rem !important;
}

.cta-inner {
    max-width: 1000px;
    margin: 0 auto;
}

.cta-content {
    margin-bottom: 2rem;
}

/* CTA Cards */
.cta-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: 800px;
    margin: 0 auto;
}

.cta-card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(4px);
    border-radius: var(--radius-lg);
    padding: 2rem;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: var(--transition-med);
}

.cta-card:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.12);
}

.cta-card-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.cta-card h3 {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    color: #2D5A2D;
}

.cta-card p {
    color: #3D6B3D;
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
}

[data-theme="dark"] .cta-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid var(--border-gold);
}

[data-theme="dark"] .cta-card:hover {
    background: rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .cta-card h3 {
    color: var(--gold-bright);
}

[data-theme="dark"] .cta-card p {
    color: var(--text-secondary);
}

/* Footer Columns */
.footer-col {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.footer-col h4 {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.footer-col a {
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.9rem;
    transition: var(--transition-fast);
}

.footer-col a:hover {
    color: var(--gold-bright);
}

/* Footer Bottom */
.footer-bottom {
    border-top: 1px solid var(--border-subtle);
    padding-top: 1.5rem;
    margin-top: 1rem;
}

.footer-bottom p {
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* Footer Brand */
.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
}

.footer-logo {
    font-size: 2rem;
    margin-bottom: 0.25rem;
}

.footer-brand p {
    font-weight: 600;
    font-size: 1.1rem;
    margin: 0;
}

.footer-tagline {
    font-size: 0.85rem;
    color: var(--text-muted);
}

/* Stat Bars */
.stat-bar {
    height: 6px;
    background: var(--bg-surface);
    border-radius: 3px;
    margin-top: 1rem;
    overflow: hidden;
}

.stat-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--gold-main), var(--gold-bright));
    border-radius: 3px;
    transition: width 1s ease;
}

.stat-card h3 {
    font-size: 1.1rem;
    color: var(--gold-bright);
    margin-bottom: 0.5rem;
}

/* Timetable Tags */
.timetable-tag {
    background: var(--bg-surface);
    color: var(--text-secondary);
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
    display: inline-block;
}

/* Section Spacing - Tighter */
section {
    padding: 4rem 2rem;
}

.section-header {
    margin-bottom: 3rem;
}

/* Gallery Grid Variants */
.gallery-grid-6 {
    grid-template-columns: repeat(3, 1fr);
}

.gallery-grid-2 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 800px;
    margin: 0 auto;
}

/* Program Gallery Section */
.program-gallery-section {
    padding: 3rem 2rem;
    background: var(--bg-surface);
}

/* Quest Formats - Polished */
.quest-formats {
    margin-top: 3rem;
    padding: 2.5rem;
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    text-align: center;
    border: 1px solid var(--border-gold);
}

.quest-formats h3 {
    margin-bottom: 0.5rem;
    color: var(--gold-main);
    font-size: 1.5rem;
}

.quest-formats-subtitle {
    color: var(--text-secondary);
    font-size: 0.95rem;
    margin-bottom: 2rem;
}

.format-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.format-card {
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    padding: 1.5rem;
    text-align: center;
    border: 1px solid var(--border-subtle);
    transition: var(--transition-med);
}

.format-card:hover {
    border-color: var(--border-gold);
    transform: translateY(-2px);
}

.format-card .format-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    display: block;
}

.format-card .format-info {
    margin-bottom: 0.75rem;
}

.format-card .format-label {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 1.1rem;
    margin-bottom: 0.25rem;
}

.format-card .format-freq {
    display: block;
    font-size: 0.85rem;
    color: var(--gold-main);
    font-weight: 500;
}

.format-card .format-desc {
    color: var(--text-secondary);
    font-size: 0.85rem;
    line-height: 1.5;
    margin: 0;
}

/* Who Section Cards */
.who-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.who-card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    padding: 2rem;
    text-align: center;
    transition: var(--transition-med);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.who-card:hover {
    transform: translateY(-4px);
    border-color: var(--border-gold);
}

.who-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: var(--gold-main);
}

.who-icon svg {
    stroke: var(--gold-main);
}

.who-card h3 {
    font-size: 1.15rem;
    margin-bottom: 0.75rem;
    color: var(--text-primary);
    min-height: 2.5em;
    display: flex;
    align-items: center;
}

.who-card p {
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
    flex-grow: 1;
}

/* Quest Cards */
.quest-card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    padding: 2rem;
    transition: var(--transition-med);
    position: relative;
}

.quest-card:hover {
    transform: translateY(-4px);
    border-color: var(--border-gold);
}

.quest-number {
    font-size: 3rem;
    font-weight: 700;
    color: var(--gold-main);
    opacity: 0.3;
    position: absolute;
    top: 1rem;
    right: 1.5rem;
}

.quest-card h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: var(--gold-bright);
}

.quest-card p {
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.quest-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.quest-tag {
    background: var(--bg-surface);
    color: var(--text-secondary);
    padding: 0.35rem 0.75rem;
    border-radius: var(--radius-sm);
    font-size: 0.8rem;
}

/* ===== MOBILE RESPONSIVE FIXES ===== */
@media (max-width: 768px) {
    /* CTA Cards Mobile */
    .cta-cards {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .cta-card {
        padding: 1.5rem;
    }
    
    .cta-card-icon {
        font-size: 2rem;
    }
    
    /* Footer Mobile */
    .footer {
        padding: 2rem 1rem 1.5rem;
    }
    
    .footer-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.5rem;
    }
    
    .footer-brand {
        align-items: center;
        margin-bottom: 0.5rem;
    }
    
    .footer-links {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem 2rem;
        width: 100%;
        max-width: 400px;
    }
    
    .footer-col {
        align-items: center;
        text-align: center;
    }
    
    .footer-col h4 {
        font-size: 0.85rem;
        margin-bottom: 0.5rem;
    }
    
    .footer-col a {
        font-size: 0.85rem;
    }
    
    .footer-bottom {
        text-align: center;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        align-items: center;
    }
    
    .footer-bottom p {
        font-size: 0.8rem;
    }
    
    .powered-by {
        font-size: 0.8rem;
    }
    
    /* Gallery Mobile */
    .gallery-grid-6 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .gallery-grid-2 {
        grid-template-columns: 1fr;
        max-width: 400px;
    }
    
    /* Quest Formats Mobile */
    .format-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .format-card {
        padding: 1.25rem;
    }
    
    .quest-formats {
        padding: 1.5rem;
    }
    
    /* Section Spacing Mobile */
    section {
        padding: 3rem 1.5rem;
    }
    
    .section-header {
        margin-bottom: 2rem;
    }
    
    /* Who Grid Mobile */
    .who-grid {
        gap: 1rem;
    }
    
    .who-card {
        padding: 1.5rem;
    }
    
    /* Quest Grid Mobile */
    .quest-grid {
        gap: 1rem;
    }
    
    .quest-card {
        padding: 1.5rem;
    }
    
    .quest-number {
        font-size: 2rem;
        top: 0.75rem;
        right: 1rem;
    }
    
    /* CTA Section Mobile */
    .cta-section {
        padding: 3rem 1.5rem !important;
    }
}

@media (max-width: 480px) {
    .footer-links {
        flex-direction: column;
        gap: 1.5rem;
    }
    
    .gallery-grid-6 {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }
}


/* ===== FAQ IMPROVEMENTS ===== */
.faq-container {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    margin-bottom: 1rem;
    overflow: hidden;
    transition: var(--transition-med);
}

.faq-item:hover {
    border-color: var(--border-gold);
}

.faq-item.active {
    border-color: var(--gold-main);
    box-shadow: 0 4px 20px rgba(184, 134, 11, 0.15);
}

.faq-question {
    width: 100%;
    padding: 1.25rem 1.5rem;
    background: none;
    border: none;
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    transition: var(--transition-fast);
}

.faq-question:hover {
    color: var(--gold-bright);
}

.faq-icon {
    font-size: 1.5rem;
    color: var(--gold-main);
    font-weight: 300;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.3s ease;
}

.faq-item.active .faq-answer {
    max-height: 500px;
}

.faq-answer p {
    padding: 0 1.5rem 1.5rem;
    color: var(--text-secondary);
    line-height: 1.7;
    margin: 0;
}

/* ===== LOCATION SECTION - REBUILT ===== */

/* Main Layout: Two columns - cards left, map right */
.loc-layout {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 2.5rem;
    align-items: start;
}

/* Left column: Stack of cards */
.loc-cards {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Individual card styling */
.loc-card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    padding: 1.5rem;
    transition: border-color 0.2s ease;
}

.loc-card:hover {
    border-color: var(--gold-main);
}

/* Card header: icon + title inline */
.loc-card__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border-subtle);
}

.loc-card__icon {
    width: 24px;
    height: 24px;
    color: var(--gold-main);
    flex-shrink: 0;
}

.loc-card__title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Card body */
.loc-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

/* Address card specifics */
.loc-card__venue {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--gold-main);
    margin: 0 0 0.5rem 0;
}

.loc-card__text {
    font-size: 1rem;
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.5;
}

.loc-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    color: var(--gold-main);
    font-weight: 500;
    font-size: 0.9rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.loc-card__link:hover {
    color: var(--gold-bright);
}

.loc-card__link svg {
    transition: transform 0.2s ease;
}

.loc-card__link:hover svg {
    transform: translate(2px, -2px);
}

/* Hours card: definition list layout */
.loc-hours {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.loc-hours__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.625rem 0;
    border-bottom: 1px solid var(--border-subtle);
}

.loc-hours__row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.loc-hours dt {
    font-size: 0.95rem;
    color: var(--text-secondary);
    margin: 0;
}

.loc-hours dd {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

/* Contact card: stacked links */
.loc-contact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border-subtle);
    text-decoration: none;
    transition: background 0.2s ease;
}

.loc-contact:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.loc-contact:hover {
    background: var(--bg-surface);
    margin: 0 -0.75rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    border-radius: 6px;
}

.loc-contact__label {
    font-size: 0.875rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.loc-contact__value {
    font-size: 1rem;
    color: var(--gold-main);
    font-weight: 500;
}

/* Map container */
.loc-map {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    position: sticky;
    top: 100px;
}

.loc-map iframe {
    display: block;
    width: 100%;
    height: 500px;
    border: none;
    filter: var(--map-filter, none);
}

/* Tablet */
@media (max-width: 1024px) {
    .loc-layout {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .loc-map iframe {
        height: 100%;
        min-height: 400px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .loc-layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .loc-map {
        order: -1;
        position: static;
    }

    .loc-map iframe {
        height: 280px;
    }

    .loc-card {
        padding: 1.25rem;
    }
}

/* ===== MOBILE FIXES FOR FAQ ===== */
@media (max-width: 768px) {
    .faq-container {
        padding: 0;
    }

    .faq-question {
        padding: 1rem 1.25rem;
        font-size: 0.95rem;
    }

    .faq-answer p {
        padding: 0 1.25rem 1.25rem;
        font-size: 0.9rem;
    }

    .faq-icon {
        font-size: 1.25rem;
    }
}


/* ===== LOGIN PAGE STYLES ===== */
.login-section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6rem 2rem 2rem;
    background: var(--bg-main);
}

.login-container {
    width: 100%;
    max-width: 420px;
}

.login-header {
    text-align: center;
    margin-bottom: 2rem;
}

.login-logo {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.login-header h1 {
    font-size: 2rem;
    color: var(--gold-bright);
    margin-bottom: 0.5rem;
}

.login-header p {
    color: var(--text-secondary);
}

.login-box {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-xl);
    padding: 2rem;
}

.login-form .form-group {
    margin-bottom: 1.25rem;
}

.login-form label {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.login-form input[type="text"],
.login-form input[type="password"],
.login-form input[type="email"] {
    width: 100%;
    padding: 0.875rem 1rem;
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-size: 1rem;
    transition: var(--transition-fast);
}

.login-form input:focus {
    outline: none;
    border-color: var(--gold-main);
    box-shadow: 0 0 0 3px rgba(184, 134, 11, 0.1);
}

.form-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    color: var(--text-secondary);
}

.checkbox-label input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    accent-color: var(--gold-main);
}

.forgot-link {
    color: var(--gold-main);
    text-decoration: none;
    transition: var(--transition-fast);
}

.forgot-link:hover {
    color: var(--gold-bright);
}

.btn-full {
    width: 100%;
}

.login-divider {
    display: flex;
    align-items: center;
    margin: 1.5rem 0;
    color: var(--text-muted);
    font-size: 0.85rem;
}

.login-divider::before,
.login-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--border-subtle);
}

.login-divider span {
    padding: 0 1rem;
}

.login-portals {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.portal-btn {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: var(--transition-med);
}

.portal-btn:hover {
    border-color: var(--border-gold);
    transform: translateY(-2px);
}

.portal-icon {
    font-size: 1.5rem;
}

.portal-text {
    display: flex;
    flex-direction: column;
}

.portal-text strong {
    color: var(--text-primary);
    font-size: 0.95rem;
}

.portal-text small {
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.login-footer {
    text-align: center;
    margin-top: 1.5rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.login-footer a {
    color: var(--gold-main);
    text-decoration: none;
}

.login-footer a:hover {
    color: var(--gold-bright);
}

.powered-by-login {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.powered-by-login a {
    color: var(--gold-main);
    font-weight: 500;
}

.powered-by-login img {
    height: 20px;
    opacity: 0.7;
}

/* ===== APPLICATION FORM STYLES ===== */
.apply-section {
    min-height: 100vh;
    padding: 6rem 2rem 3rem;
    background: var(--bg-main);
}

.apply-container {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}

.apply-header {
    text-align: center;
    margin-bottom: 2rem;
}

.apply-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.apply-header h1 {
    font-size: 2rem;
    color: var(--gold-bright);
    margin-bottom: 0.5rem;
}

.apply-header p {
    color: var(--text-secondary);
}

.apply-box {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-xl);
    padding: 2rem;
}

.guide-intro {
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.guide-intro h3 {
    color: var(--gold-main);
    margin-bottom: 0.75rem;
    font-size: 1.1rem;
}

.guide-intro p {
    color: var(--text-secondary);
    line-height: 1.6;
    font-size: 0.95rem;
}

.apply-form .form-section {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--border-subtle);
}

.apply-form .form-section:last-of-type {
    border-bottom: none;
    margin-bottom: 1.5rem;
    padding-bottom: 0;
}

.apply-form .form-section h3 {
    font-size: 1.1rem;
    color: var(--text-primary);
    margin-bottom: 1.25rem;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.apply-form .form-group {
    margin-bottom: 1rem;
}

.apply-form label {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.apply-form input[type="text"],
.apply-form input[type="email"],
.apply-form input[type="tel"],
.apply-form input[type="file"],
.apply-form select,
.apply-form textarea {
    width: 100%;
    padding: 0.875rem 1rem;
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-size: 1rem;
    font-family: inherit;
    transition: var(--transition-fast);
}

.apply-form input:focus,
.apply-form select:focus,
.apply-form textarea:focus {
    outline: none;
    border-color: var(--gold-main);
    box-shadow: 0 0 0 3px rgba(184, 134, 11, 0.1);
}

.apply-form select {
    cursor: pointer;
}

.apply-form textarea {
    resize: vertical;
    min-height: 80px;
}

.checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.checkbox-group .checkbox-label {
    flex: 0 0 auto;
}

.requirements-list {
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    padding: 1rem;
    margin-bottom: 1rem;
}

.requirement-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.requirement-icon {
    color: var(--gold-main);
    font-weight: bold;
}

.form-actions {
    text-align: center;
}

.form-note {
    margin-top: 1rem;
    font-size: 0.85rem;
    color: var(--text-muted);
}

.apply-footer {
    text-align: center;
    margin-top: 1.5rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.apply-footer a {
    color: var(--gold-main);
    text-decoration: none;
}

.form-success {
    text-align: center;
    padding: 2rem;
}

.form-success .success-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.form-success h3 {
    color: var(--gold-bright);
    margin-bottom: 1rem;
}

.form-success p {
    color: var(--text-secondary);
    margin-bottom: 1rem;
    line-height: 1.6;
}

/* ===== FOOTER POWERED BY ===== */
.powered-by {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.powered-by a {
    color: var(--gold-main);
    text-decoration: none;
    font-weight: 500;
}

.powered-by a:hover {
    color: var(--gold-bright);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.footer-minimal {
    padding: 1.5rem 2rem;
}

/* ===== NAV LOGIN LINK ===== */
.nav-login {
    position: relative;
}

.nav-login::before {
    content: '';
    position: absolute;
    left: -0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 1.25rem;
    background: var(--border-subtle);
}

/* ===== MOBILE RESPONSIVE FOR LOGIN/APPLY ===== */
@media (max-width: 768px) {
    .login-section,
    .apply-section {
        padding: 5rem 1rem 2rem;
    }
    
    .login-box,
    .apply-box {
        padding: 1.5rem;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .checkbox-group {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .form-options {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    
    .nav-login::before {
        display: none;
    }
}


/* Apply Options Page */
.apply-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin: 3rem 0;
}

.apply-option-card {
    background: var(--card-bg);
    border: 2px solid var(--border-color);
    border-radius: 16px;
    padding: 2.5rem;
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.apply-option-card:hover {
    border-color: var(--gold);
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.apply-option-icon {
    font-size: 4rem;
    margin-bottom: 1.5rem;
}

.apply-option-card h2 {
    font-family: var(--font-display);
    font-size: 1.75rem;
    color: var(--text-primary);
    margin-bottom: 0.75rem;
}

.apply-option-card p {
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.apply-option-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
    text-align: left;
    width: 100%;
}

.apply-option-list li {
    padding: 0.5rem 0;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-color);
}

.apply-option-list li:last-child {
    border-bottom: none;
}

.apply-footer-info {
    background: var(--card-bg);
    border-radius: 16px;
    padding: 2.5rem;
    margin-top: 3rem;
}

.apply-footer-info h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 2rem;
    color: var(--text-primary);
}

.apply-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.apply-step {
    text-align: center;
}

.apply-step-number {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--gold), var(--gold-dark));
    color: var(--dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.25rem;
    margin: 0 auto 1rem;
}

.apply-step-content strong {
    display: block;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.apply-step-content p {
    color: var(--text-secondary);
    font-size: 0.875rem;
    line-height: 1.5;
}

.apply-contact {
    text-align: center;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border-color);
}

.apply-contact a {
    color: var(--gold);
    text-decoration: none;
}

.apply-contact a:hover {
    text-decoration: underline;
}

.btn-outline {
    background: transparent;
    border: 2px solid var(--gold);
    color: var(--gold);
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-outline:hover {
    background: var(--gold);
    color: var(--dark);
}

@media (max-width: 768px) {
    .apply-options {
        grid-template-columns: 1fr;
    }
    
    .apply-steps {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .apply-steps {
        grid-template-columns: 1fr;
    }
}

/* ===== EXTENDED CARE BLOCKS (Program Page) ===== */
.extended-care-block {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: 1.25rem 1.5rem;
    border: 2px dashed var(--border-gold);
    margin-bottom: 1rem;
}

.extended-care-block.before-care {
    background: linear-gradient(135deg, rgba(181, 131, 47, 0.08), transparent);
    border-color: var(--gold-main);
}

.extended-care-block.after-care {
    background: linear-gradient(135deg, rgba(90, 45, 130, 0.08), transparent);
    border-color: var(--purple-mid);
    margin-top: 1rem;
    margin-bottom: 0;
}

.care-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.care-label {
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--gold-main);
}

.extended-care-block.after-care .care-label {
    color: var(--purple-mid);
}

.care-time {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-secondary);
    background: var(--bg-surface);
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-sm);
}

.extended-care-block p {
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.5;
}

/* ===== HIGHLIGHTED ENROLLMENT BOX ===== */
.highlighted-box {
    background: linear-gradient(135deg, rgba(181, 131, 47, 0.1), rgba(181, 131, 47, 0.05)) !important;
    border: 2px solid var(--gold-main) !important;
    box-shadow: 0 4px 20px rgba(181, 131, 47, 0.15);
}

.enrollment-info.highlighted-box {
    text-align: center;
    padding: 2rem;
}

.enrollment-amount {
    font-size: 3rem;
    font-weight: 700;
    color: var(--gold-bright);
    margin: 0.5rem 0;
}

/* ===== EXTENDED OPTION DESCRIPTIONS ===== */
.extended-option .option-desc {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-top: 0.35rem;
    margin-bottom: 0;
    line-height: 1.4;
}

.extended-option {
    padding: 1rem;
    background: var(--bg-surface);
    border-radius: var(--radius-md);
    margin-bottom: 0.75rem;
}

.extended-option:last-child {
    margin-bottom: 0;
}

/* Dark mode adjustments */
[data-theme="dark"] .extended-care-block.before-care {
    background: linear-gradient(135deg, rgba(181, 131, 47, 0.12), transparent);
}

[data-theme="dark"] .extended-care-block.after-care {
    background: linear-gradient(135deg, rgba(107, 74, 158, 0.12), transparent);
}

[data-theme="dark"] .highlighted-box {
    background: linear-gradient(135deg, rgba(181, 131, 47, 0.15), rgba(181, 131, 47, 0.08)) !important;
}

/* Mobile responsive for extended care blocks */
@media (max-width: 768px) {
    .extended-care-block {
        padding: 1rem;
    }

    .care-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .enrollment-amount {
        font-size: 2.5rem;
    }
}


/* ===== CONTACT FORM ===== */
#contact-form-section {
    padding: 4rem 2rem;
}

.contact-form-container {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 4rem;
    align-items: start;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-group label {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.95rem;
}

.form-input,
.form-textarea {
    width: 100%;
    padding: 1rem 1.25rem;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-size: 1rem;
    font-family: "Crimson Text", serif;
    transition: var(--transition-med);
}

.form-input:focus,
.form-textarea:focus {
    outline: none;
    border-color: var(--gold-main);
    box-shadow: 0 0 20px rgba(181, 131, 47, 0.2);
}

.form-textarea {
    resize: vertical;
    min-height: 150px;
    line-height: 1.6;
}

.form-error,
.form-success {
    display: none;
    padding: 1rem;
    border-radius: var(--radius-md);
    font-size: 0.95rem;
    text-align: center;
}

.form-error {
    background: rgba(255, 107, 107, 0.1);
    color: #ff6b6b;
    border: 1px solid rgba(255, 107, 107, 0.3);
}

.form-success {
    background: rgba(76, 175, 80, 0.1);
    color: #4caf50;
    border: 1px solid rgba(76, 175, 80, 0.3);
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 1rem;
}

.contact-info-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.contact-info-icon {
    font-size: 1.75rem;
    flex-shrink: 0;
}

.contact-info-item h4 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.contact-info-item p {
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
}

.contact-info-item a {
    color: var(--gold-main);
    text-decoration: none;
    transition: var(--transition-fast);
}

.contact-info-item a:hover {
    color: var(--gold-bright);
}

/* ===== ENROLLMENT FORM ENHANCEMENTS (2027 Style) ===== */
.enrollment-form {
    gap: 0;
    position: relative;
}

.form-section {
    background: linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: var(--radius-lg);
    padding: 2rem;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(255,255,255,0.08);
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.form-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--gold-main), var(--gold-bright), var(--gold-main));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.form-section:focus-within::before {
    opacity: 1;
}

.form-section:focus-within {
    border-color: rgba(181, 131, 47, 0.3);
    box-shadow: 0 8px 32px rgba(181, 131, 47, 0.1);
}

.form-section-title {
    font-family: 'Cinzel', serif;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--gold-main);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.form-section-title::before {
    content: '';
    width: 8px;
    height: 8px;
    background: var(--gold-main);
    border-radius: 50%;
    box-shadow: 0 0 10px var(--gold-main);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

.enrollment-form .form-group {
    margin-bottom: 1.25rem;
}

.enrollment-form .form-group:last-child {
    margin-bottom: 0;
}

.enrollment-form label {
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    margin-bottom: 0.5rem;
}

.enrollment-form .form-input,
.enrollment-form .form-select,
.enrollment-form .form-textarea {
    background: rgba(0,0,0,0.2);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius-md);
    padding: 1rem 1.25rem;
    font-size: 1rem;
    color: var(--text-primary);
    transition: all 0.3s ease;
}

.enrollment-form .form-input:hover,
.enrollment-form .form-select:hover,
.enrollment-form .form-textarea:hover {
    border-color: rgba(255,255,255,0.2);
    background: rgba(0,0,0,0.25);
}

.enrollment-form .form-input:focus,
.enrollment-form .form-select:focus,
.enrollment-form .form-textarea:focus {
    outline: none;
    border-color: var(--gold-main);
    background: rgba(0,0,0,0.3);
    box-shadow: 0 0 0 3px rgba(181, 131, 47, 0.15);
}

.enrollment-form .form-input::placeholder,
.enrollment-form .form-textarea::placeholder {
    color: var(--text-muted);
    opacity: 0.6;
}

.form-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23B5832F' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.25rem center;
    padding-right: 3rem;
}

.form-select option {
    background: var(--bg-card);
    color: var(--text-primary);
    padding: 0.5rem;
}

.form-optional {
    font-weight: 400;
    color: var(--text-muted);
    font-size: 0.8rem;
    opacity: 0.7;
}

.btn-full {
    width: 100%;
    padding: 1.25rem 2rem;
    font-size: 1.1rem;
    margin-top: 0.5rem;
    position: relative;
    overflow: hidden;
}

.btn-full::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.btn-full:hover::after {
    width: 300px;
    height: 300px;
}

.form-note {
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-top: 1.25rem;
    padding: 1rem;
    background: rgba(181, 131, 47, 0.08);
    border-radius: var(--radius-md);
    border: 1px dashed rgba(181, 131, 47, 0.3);
}

/* Contact info sidebar enhancement */
.contact-info {
    position: sticky;
    top: 120px;
}

.contact-info-header {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--border-subtle);
}

.contact-info-header h3 {
    font-family: 'Cinzel', serif;
    font-size: 1.5rem;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.contact-info-header p {
    color: var(--text-secondary);
    font-size: 0.95rem;
}

.contact-info-item {
    padding: 1.25rem;
    background: rgba(255,255,255,0.02);
    border-radius: var(--radius-md);
    margin-bottom: 1rem;
    border: 1px solid transparent;
    transition: all 0.3s ease;
}

.contact-info-item:hover {
    background: rgba(255,255,255,0.05);
    border-color: rgba(181, 131, 47, 0.2);
    transform: translateX(5px);
}

/* Light mode adjustments */
[data-theme="light"] .form-section {
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,255,255,0.7));
    border-color: rgba(0,0,0,0.08);
}

[data-theme="light"] .enrollment-form .form-input,
[data-theme="light"] .enrollment-form .form-select,
[data-theme="light"] .enrollment-form .form-textarea {
    background: rgba(255,255,255,0.8);
    border-color: rgba(0,0,0,0.12);
}

[data-theme="light"] .enrollment-form .form-input:focus,
[data-theme="light"] .enrollment-form .form-select:focus,
[data-theme="light"] .enrollment-form .form-textarea:focus {
    background: #fff;
}

[data-theme="light"] .contact-info-item {
    background: rgba(0,0,0,0.02);
}

[data-theme="light"] .contact-info-item:hover {
    background: rgba(0,0,0,0.04);
}

/* Mobile responsive for contact form */
@media (max-width: 768px) {
    .contact-form-container {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .contact-info {
        order: -1;
        position: static;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .form-section {
        padding: 1.25rem;
    }
}

/* ===== ENHANCED FAQ MOBILE FIXES ===== */
@media (max-width: 768px) {
    .faq-container {
        padding: 0 0.5rem;
    }

    .faq-item {
        margin-bottom: 0.75rem;
        border-radius: 12px;
    }

    .faq-question {
        padding: 1rem;
        font-size: 0.9rem;
        gap: 0.75rem;
        line-height: 1.4;
    }

    .faq-question span:first-child {
        flex: 1;
    }

    .faq-answer {
        max-height: 0;
    }

    .faq-item.active .faq-answer {
        max-height: 800px;
    }

    .faq-answer p {
        padding: 0 1rem 1rem;
        font-size: 0.875rem;
        line-height: 1.6;
    }

    .faq-icon {
        font-size: 1.25rem;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }
}

@media (max-width: 480px) {
    .faq-question {
        padding: 0.875rem;
        font-size: 0.85rem;
    }

    .faq-answer p {
        padding: 0 0.875rem 0.875rem;
        font-size: 0.8rem;
    }

    .faq-icon {
        font-size: 1.1rem;
    }
}

/* ===== 2030-READY MOBILE ENHANCEMENTS ===== */
@media (max-width: 768px) {
    /* Smooth touch interactions */
    * {
        -webkit-tap-highlight-color: transparent;
    }

    /* Better touch targets */
    .btn, button, a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Improved spacing */
    .section-inner {
        padding: 0 1rem;
    }

    .page-hero-content {
        padding: 0 1rem;
    }

    /* Modern card styling on mobile */
    .pricing-card,
    .who-card,
    .quest-card,
    .team-card {
        border-radius: 16px;
        padding: 1.5rem;
    }

    /* Better header on mobile */
    .header-inner {
        padding: 0.75rem 1rem;
    }

    .logo img {
        height: 36px;
    }

    .logo-text {
        font-size: 1.1rem;
    }

    /* Mobile nav improvements */
    .mobile-nav {
        padding: 1.5rem;
        gap: 0.5rem;
    }

    .mobile-nav-link {
        padding: 1rem;
        border-radius: 12px;
        font-size: 1rem;
    }

    /* Better footer on mobile */
    .footer-inner {
        padding: 2rem 1rem;
    }

    .footer-links {
        gap: 2rem;
    }

    .footer-col {
        min-width: unset;
    }

    .footer-col h4 {
        margin-bottom: 0.75rem;
    }

    .footer-col a {
        padding: 0.5rem 0;
        display: block;
    }

    /* Pricing cards on mobile */
    .pricing-grid {
        gap: 1rem;
    }

    .pricing-card {
        padding: 1.5rem;
    }

    .pricing-amount .price {
        font-size: 2rem;
    }

    /* Hero section mobile */
    .hero-content h1 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .hero-subtitle {
        font-size: 1rem;
    }

    .hero-ctas {
        flex-direction: column;
        gap: 0.75rem;
    }

    .hero-ctas .btn {
        width: 100%;
    }

    /* Section headers mobile */
    .section-title {
        font-size: 1.75rem;
    }

    .section-subtitle {
        font-size: 0.95rem;
    }

    /* CTA section mobile */
    .cta-content h2 {
        font-size: 1.5rem;
    }
}

/* ===== FORM INPUT STANDARDIZATION ===== */
/* Prevent iOS zoom on focus (requires 16px minimum) */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select {
    font-size: 16px; /* Critical for iOS - prevents zoom */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Enhanced focus states for forms */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid var(--gold-main);
    outline-offset: 2px;
    border-color: var(--gold-main);
}

/* ===== PREMIUM PRICING ENHANCEMENTS ===== */
.pricing-icon {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 0.75rem;
    filter: drop-shadow(0 2px 4px rgba(184, 134, 11, 0.3));
}

.pricing-badge-value {
    background: linear-gradient(135deg, var(--gold-main), var(--gold-bright));
    color: var(--bg-dark);
}

.enrollment-limit {
    text-align: center;
    color: var(--text-secondary);
    font-size: 0.9rem;
    font-style: italic;
    margin-top: 1.5rem;
    opacity: 0.8;
}

/* Premium icon styling for Unicode symbols */
.stat-icon,
.format-icon,
.who-icon,
.cta-card-icon {
    font-family: "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
    text-shadow: 0 2px 8px rgba(184, 134, 11, 0.4);
}

/* Contact icons premium style */
.contact-info-icon {
    font-size: 1.5rem;
    color: var(--gold-main);
    text-shadow: 0 1px 3px rgba(184, 134, 11, 0.3);
}

/* Instagram Link with Coming Soon Badge */
.instagram-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
}

.coming-soon-badge {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: rgba(181, 131, 47, 0.2);
    color: var(--gold-main);
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    border: 1px solid rgba(181, 131, 47, 0.3);
    white-space: nowrap;
    flex-shrink: 0;
}

/* Skip Link (Accessibility) */
.skip-link {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--gold-main);
    color: var(--bg-dark);
    padding: 0.75rem 1.5rem;
    border-radius: var(--radius-md);
    font-weight: 600;
    text-decoration: none;
    z-index: 10000;
    transition: top 0.3s ease;
}

.skip-link:focus {
    top: 1rem;
    outline: 2px solid var(--gold-bright);
    outline-offset: 2px;
}

/* Legal Pages (Privacy, Terms) */
.legal-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
}

.legal-content h2 {
    font-size: 1.5rem;
    color: var(--gold-main);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-subtle);
}

.legal-content h2:first-of-type {
    margin-top: 1.5rem;
}

.legal-content h3 {
    font-size: 1.15rem;
    color: var(--text-primary);
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.legal-content p {
    color: var(--text-secondary);
    line-height: 1.8;
    margin-bottom: 1rem;
}

.legal-content ul {
    color: var(--text-secondary);
    line-height: 1.8;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
}

.legal-content li {
    margin-bottom: 0.5rem;
}

.legal-content a {
    color: var(--gold-main);
    text-decoration: underline;
}

.legal-content a:hover {
    color: var(--gold-bright);
}

.legal-updated {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-bottom: 2rem;
}
