
:root {
    --clr-midnight-navy: #0B0E14;
    --clr-deep-plum: #1A0B2E;
    --clr-electric-teal: #00E5FF;
    --clr-smoky-violet: #4A3B69;
    --clr-warm-graphite: #2A2A2E;
    --clr-soft-silver: #E0E0E5;
    
    --clr-neon-cyan: #00F0FF;
    --clr-magenta-glow: #FF00FF;
    --clr-analog-orange: #FF5A00;
    
    --grad-frequency: linear-gradient(135deg, var(--clr-deep-plum) 0%, var(--clr-smoky-violet) 100%);
    
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
}

body {
    background-color: var(--clr-midnight-navy);
    color: var(--clr-soft-silver);
    font-family: var(--font-body);
    overflow-x: hidden;
}

html, body {
    scroll-behavior: auto !important;
}


h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); color: #fff; text-transform: uppercase; }

.sonic-nav {
    background: rgba(11, 14, 20, 0.9);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255,255,255,0.05);
    padding: 15px 0;
}
.navbar-brand { color: var(--clr-neon-cyan) !important; font-family: var(--font-heading); font-weight: 800; font-size: 1.5rem; letter-spacing: 2px;}
.nav-link { color: var(--clr-soft-silver) !important; text-transform: uppercase; font-size: 0.9rem; font-weight: 500; transition: color 0.3s;}
.nav-link:hover { color: var(--clr-electric-teal) !important; }
.navbar-toggler { border: none; font-size: 1.5rem; color: #fff; }

.dropdown-menu { background: var(--clr-warm-graphite); border: 1px solid rgba(255,255,255,0.1); border-radius: 0; }
.dropdown-item { color: var(--clr-soft-silver); text-transform: uppercase; font-size: 0.85rem; padding: 10px 20px;}
.dropdown-item:hover { background: var(--clr-smoky-violet); color: #fff; }

.hero-section { position: relative; height: 100vh; display: flex; align-items: center; background: var(--grad-frequency); }
.page-hero { position: relative; padding: 150px 0 80px; background: var(--grad-frequency); text-align: center; }

.hero-title {
    font-size: 5rem; font-weight: 900; line-height: 1.1;
    background: -webkit-linear-gradient(var(--clr-neon-cyan), var(--clr-magenta-glow));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 1.5rem;
}

.btn-sonic {
    display: inline-block; background: transparent; border: 1px solid var(--clr-electric-teal);
    color: var(--clr-electric-teal); padding: 12px 30px; border-radius: 50px; text-decoration: none;
    font-family: var(--font-heading); text-transform: uppercase; font-weight: 600; transition: all 0.3s;
}
.btn-sonic:hover { background: var(--clr-electric-teal); color: var(--clr-midnight-navy); box-shadow: 0 0 15px rgba(0,229,255,0.5); }

.btn-sonic-solid {
    display: inline-block; background: var(--clr-magenta-glow); border: none; color: #fff;
    padding: 12px 30px; border-radius: 50px; text-decoration: none; font-family: var(--font-heading);
    text-transform: uppercase; font-weight: 600; transition: all 0.3s;
}
.btn-sonic-solid:hover { background: var(--clr-analog-orange); color: #fff; box-shadow: 0 0 15px rgba(255,90,0,0.5); }

.section-padding { padding: 100px 0; }
.section-title { font-size: 3rem; font-weight: 800; margin-bottom: 1rem; color: #fff; }

.podcast-card {
    background: rgba(42, 42, 46, 0.5); border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 15px; padding: 20px; transition: transform 0.3s; backdrop-filter: blur(10px);
}
.podcast-card:hover { transform: translateY(-10px); border-color: var(--clr-electric-teal); }
.podcast-img-wrap { position: relative; overflow: hidden; border-radius: 10px; margin-bottom: 20px; }
.podcast-image { width: 100%; height: 250px; background: #333; }
.play-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.3s; font-size: 3rem; color: var(--clr-electric-teal);
}
.podcast-img-wrap:hover .play-overlay { opacity: 1; }

.text-silver { color: var(--clr-soft-silver); }
.text-muted { color: rgba(224, 224, 229, 0.7) !important; }

.sonic-input { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: #fff; padding: 15px; border-radius: 10px; }
.sonic-input:focus { background: rgba(255,255,255,0.1); border-color: var(--clr-electric-teal); color: #fff; box-shadow: none; }

.site-footer { background: var(--clr-deep-plum); padding: 80px 0 30px; border-top: 1px solid rgba(255,255,255,0.05); mt-5; }
.footer-brand { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 800; color: var(--clr-neon-cyan); margin-bottom: 20px; }
.social-links a { color: var(--clr-electric-teal); font-size: 1.5rem; margin-right: 15px; transition: color 0.3s; }
.social-links a:hover { color: var(--clr-magenta-glow); }
.footer-links { list-style: none; padding: 0; }
.footer-links a { color: rgba(224, 224, 229, 0.7); text-decoration: none; transition: color 0.3s; }
.footer-links a:hover { color: var(--clr-electric-teal); }
.subscribe-form .form-control { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); color: #fff; border-radius: 50px 0 0 50px; padding: 12px 20px;}
.subscribe-form .form-control::placeholder, .sonic-input::placeholder { color: rgba(224, 224, 229, 0.6); opacity: 1; }
.subscribe-form .btn-sonic-solid { border-radius: 0 50px 50px 0; padding: 12px 20px;}
.footer-bottom { margin-top: 60px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,0.05); text-align: center; color: rgba(224, 224, 229, 0.5); font-size: 0.9rem; }

.placeholder-img { background: var(--clr-warm-graphite); display: flex; align-items: center; justify-content: center; }
.placeholder-img::after { content: 'IMAGE PLACEHOLDER'; color: rgba(255,255,255,0.2); font-family: var(--font-heading); }

/* Custom Video Modal */
.custom-video-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(11, 14, 20, 0.95);
    backdrop-filter: blur(10px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.custom-video-modal.show {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
}

.custom-video-modal-content {
    position: relative;
    width: 90%;
    max-width: 1000px;
    background: #000;
    border-radius: 10px;
    box-shadow: 0 0 30px rgba(0, 229, 255, 0.2);
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.custom-video-modal.show .custom-video-modal-content {
    transform: scale(1);
}

.custom-video-close {
    position: absolute;
    top: -40px;
    right: 0;
    color: var(--clr-soft-silver);
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.custom-video-close:hover {
    color: var(--clr-electric-teal);
}

.video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    border-radius: 10px;
}

.video-container iframe,
.video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* Lenis required CSS */
html.lenis, html.lenis body { height: auto; width: 100vw; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }
