/* THAT MARCH - Two Worlds Collide - Main Styles */

/* Font Face Declarations */
@font-face {
    font-family: 'GothamSSm';
    src: url('../fonts/GothamSSm/gothamssm_light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GothamSSm';
    src: url('../fonts/GothamSSm/gothamssm_lightitalic.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'GothamSSm';
    src: url('../fonts/GothamSSm/gothamssm_medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GothamSSm';
    src: url('../fonts/GothamSSm/gothamssm_mediumitalic.otf') format('opentype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'GothamSSm';
    src: url('../fonts/GothamSSm/gothamssm_bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GothamSSm';
    src: url('../fonts/GothamSSm/gothamssm_bolditalic.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'GothamSSm';
    src: url('../fonts/GothamSSm/gothamssm_black.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GothamSSm';
    src: url('../fonts/GothamSSm/gothamssm_blackitalic.otf') format('opentype');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* CSS Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}

body {
    font-family: 'GothamSSm', sans-serif;
    overflow-x: hidden;
    background: #000;
    width: 100%;
    max-width: 100vw;
}

/* Loading Screen */
.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0a0a0a;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    animation: fadeOut 1s ease-out 3s forwards;
}

.loader {
    width: 100px;
    height: 100px;
    border: 3px solid transparent;
    border-top-color: #E6D8A8;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    position: relative;
}

.loader::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border: 3px solid transparent;
    border-top-color: #B11212;
    border-radius: 50%;
    animation: spin 2s linear infinite reverse;
}

.loading-text {
    margin-top: 30px;
    font-family: 'GothamSSm', sans-serif;
    font-size: 14px;
    letter-spacing: 4px;
    color: #E6D8A8;
    animation: pulse 1.5s ease-in-out infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes fadeOut {
    to {
        opacity: 0;
        pointer-events: none;
    }
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

/* Particles Canvas */
#particles {
    position: fixed;
    top: 0;
    left: 0;
    width: auto;
    height: 100vw;
    z-index: 0;
    pointer-events: none;
    filter: blur(0.5px);
}


/* Split Container */
.split-container {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
}

.side {
    position: fixed;
    top: 0;
    width: 50%;
    height: 100vh;
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.left-side {
    left: 0;
    background: linear-gradient(180deg, #CFC2A0 0%, #E6D8A8 40%, #1A1A1A 100%);
    clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
    opacity: 0.8;
}

.right-side {
    right: 0;
    background: linear-gradient(180deg, #1A1A1A 0%, #0E0E0E 50%, #4A0000 100%);
    clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
    opacity: 0.7;
}

.split-line {
    position: fixed;
    left: 50%;
    top: 0;
    width: 6px;
    height: 100vh;
    background: linear-gradient(180deg,
            transparent 0%,
            rgba(177, 18, 18, 0.8) 20%,
            #E6D8A8 50%,
            rgba(177, 18, 18, 0.8) 80%,
            transparent 100%);
    transform: translateX(-50%);
    z-index: 100;
    box-shadow: 0 0 30px rgba(177, 18, 18, 0.6);
    animation: linePulse 3s ease-in-out infinite;
}

@keyframes linePulse {

    0%,
    100% {
        opacity: 1;
        box-shadow: 0 0 30px rgba(177, 18, 18, 0.6);
    }

    50% {
        opacity: 0.6;
        box-shadow: 0 0 60px rgba(230, 216, 168, 0.8);
    }
}

/* Content Layout */
.content-wrapper {
    position: relative;
    padding-top: 100px;
    padding-bottom: 100px;
    display: flex;
}

.left-content,
.right-content {
    width: 50%;
    padding: 80px 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 10;
}

.left-content {
    align-items: flex-end;
    text-align: right;
    padding-right: 100px;
}

.right-content {
    align-items: flex-start;
    padding-left: 100px;
}

/* Character Image Styles */
.character-image-container {
    width: 100%;
    max-width: 350px;
    margin-bottom: 30px;
}

.character-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: top center;
    margin-bottom: -35px;
}



/* Tablet styles */
@media (max-width: 1024px) {
    .character-image-container {
        max-width: 300px;
        margin: 0 auto 30px auto;
    }
}

/* Mobile styles */
@media (max-width: 768px) {
    .character-image-container {
        max-width: 250px;
        margin-bottom: 25px;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .character-image-container {
        max-width: 200px;
        margin-bottom: 20px;
    }
}

/* Decorative Elements */
.decorative-circle {
    position: absolute;
    border-radius: 50%;
    opacity: 0.15;
}

.left-side .decorative-circle {
    top: 15%;
    right: 10%;
    width: 250px;
    height: 250px;
    border: 2px solid #8B0000;
    opacity: 0.25;
    animation: float 8s ease-in-out infinite;
}

.right-side .decorative-circle {
    bottom: 20%;
    left: 10%;
    width: 200px;
    height: 200px;
    border: 2px solid #B11212;
    opacity: 0.3;
    animation: float 6s ease-in-out infinite reverse;
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-30px) rotate(180deg);
    }
}

/* Typography */
.section-label {
    font-size: 26px;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 20px;
    opacity: 0.7;
    animation: fadeInDown 1s ease-out;
}

.left-content .section-label {
    color: #8B0000;
}

.right-content .section-label {
    color: #B11212;
    font-family: 'GothamSSm', sans-serif;
}

.main-title {
    font-size: 72px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 30px;
    animation: fadeInUp 1.2s ease-out;
}

.left-content .main-title {
    color: #4A0000;
    font-family: 'GothamSSm', sans-serif;
    letter-spacing: -2px;
}

.right-content .main-title {
    color: #E6D8A8;
    font-family: 'GothamSSm', sans-serif;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.description {
    font-size: 24px;
    line-height: 1.8;
    margin-bottom: 40px;
    max-width: 450px;
    animation: fadeIn 1.5s ease-out;
}

.left-content .description {
    color: #4A0000;
    font-style: italic;
}

.right-content .description {
    color: #E6D8A8;
    font-family: 'GothamSSm', sans-serif;
    font-size: 24px;
    letter-spacing: 0.5px;
}

/* Quote Box */
.quote-box {
    padding: 30px;
    margin-top: 20px;
    border-left: 4px solid;
    position: relative;
    animation: slideIn 1.8s ease-out;
}

.left-content .quote-box {
    background: rgba(207, 194, 160, 0.6);
    border-left-color: #8B0000;
    text-align: left;
}

.right-content .quote-box {
    background: rgba(74, 0, 0, 0.3);
    border-left-color: #B11212;
    box-shadow: 0 0 20px rgba(177, 18, 18, 0.2);
}

.quote-box p {
    font-size: 22px;
    margin: 0;
    font-style: italic;
}

.left-content .quote-box p {
    color: #4A0000;
}

.right-content .quote-box p {
    color: #E6D8A8;
}

/* Grid Overlay */
.grid-overlay {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(177, 18, 18, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(177, 18, 18, 0.08) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
    opacity: 0;
    animation: gridFadeIn 2s ease-out 1s forwards;
}

/* Trailer Section */
.trailer-section {
    background: transparent;
    padding: 120px 0 0;
    text-align: center;
    overflow: hidden;
}

.trailer-section-wrapper {
    overflow: hidden;
    width: 100%;
}
.trailer-section-wrapper .trailer-title {
    padding-top: 100px;
    padding-left: 50px;
    padding-right: 50px;
    position: relative;
    z-index: 2000;
}

.trailer-title {
    font-size: 48px;
    color: #E6D8A8;
    margin-bottom: 60px;
    letter-spacing: 3px;
    font-family: 'GothamSSm', sans-serif;
    position: relative;
}

.trailer-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, #1A1A1A 0%, #0E0E0E 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    z-index: 200;
}

/* Carousel Styles */
.carousel-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  width: max-content;
  height: 100%;
  animation: blendScroll 60s linear infinite;
}

.carousel-slide {
  width: 100%;
  height: 100%;
  position: relative;
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@keyframes blendScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.carousel-container.fade-edges.full-bleed {
  width: 100%;
  left: 0;
  right: 0;
  overflow: hidden;
}



.play-button {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    border: none;
    outline: none;
    will-change: transform;
}

/* Play button hover game (desktop only) */
.play-button.button-catchable {
    animation: catchablePulse 1s ease-in-out infinite;
}

@keyframes catchablePulse {
    0%, 100% {
        transform: translate(0, 0) scale(1);
        box-shadow: 0 0 20px rgba(230, 216, 168, 0.4);
    }
    50% {
        transform: translate(0, 0) scale(1.05);
        box-shadow: 0 0 40px rgba(230, 216, 168, 0.8);
    }
}

/* Ensure quantum animations continue during movement */
.play-button .atom-orbit,
.play-button .electron {
    position: absolute;
}

/* ANABEL: Surveillance Eye - Opens to reveal play */
#anabel-section .trailer-section {
 
}
.play-button.eye {
    background: radial-gradient(circle at 30% 30%, #1a0a0a, #0a0a0a);
    box-shadow: 
        inset 0 0 40px rgba(177, 18, 18, 0.3),
        0 0 60px rgba(177, 18, 18, 0.4),
        0 0 100px rgba(230, 216, 168, 0.2);
}

.eye-container {
    position: relative;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.eye-outer {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2a1a1a, #1a0a0a);
    border: 3px solid #8B0000;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.8);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.eye-iris {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #B11212, #4A0000);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: 
        inset 0 0 15px rgba(0, 0, 0, 0.6),
        0 0 20px rgba(177, 18, 18, 0.6);
    animation: irisPulse 3s ease-in-out infinite;
}

@keyframes irisPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.eye-pupil {
    width: 20px;
    height: 20px;
    background: #0a0a0a;
    border-radius: 50%;
    position: relative;
    transition: all 0.4s ease;
}

.eye-pupil::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: rgba(230, 216, 168, 0.8);
    border-radius: 50%;
    top: 3px;
    left: 3px;
    transition: all 0.4s ease;
}

.eye-highlight {
    position: absolute;
    width: 12px;
    height: 8px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    top: 8px;
    right: 12px;
    filter: blur(2px);
}

.eye-lid {
    position: absolute;
    width: 90px;
    height: 45px;
    background: linear-gradient(180deg, #1a0a0a, transparent);
    top: -5px;
    border-radius: 50% 50% 0 0;
    transition: all 0.5s ease;
}

.scan-line {
    position: absolute;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(177, 18, 18, 0.8), transparent);
    top: 50%;
    left: 0;
    animation: scan 2s linear infinite;
    opacity: 0;
}

@keyframes scan {
    0% { transform: translateY(-40px); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translateY(40px); opacity: 0; }
}

.play-button.eye:hover .eye-outer,
.play-button.eye:focus-visible .eye-outer {
    transform: scale(1.1);
    box-shadow: 
        inset 0 0 30px rgba(177, 18, 18, 0.5),
        0 0 80px rgba(177, 18, 18, 0.6);
}

.play-button.eye:hover .eye-pupil,
.play-button.eye:focus-visible .eye-pupil {
    transform: scale(0.6);
    background: transparent;
}

.play-button.eye:hover .eye-pupil::after,
.play-button.eye:focus-visible .eye-pupil::after {
    content: '';
    width: 0;
    height: 0;
    background: transparent;
    border-left: 18px solid #E6D8A8;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-radius: 0;
    position: absolute;
    left: -2px;
    top: -12px;
    animation: none;
}

.play-button.eye:hover .scan-line,
.play-button.eye:focus-visible .scan-line {
    animation: scan 1s linear infinite;
}

.play-button.eye:hover .eye-lid,
.play-button.eye:focus-visible .eye-lid {
    opacity: 0;
}

/* DENIS: Quantum Atom - Orbiting electrons with play nucleus */
.play-button.quantum {
    background: radial-gradient(circle at center, rgba(230, 216, 168, 0.1), transparent 70%);
    box-shadow: 
        0 0 60px rgba(230, 216, 168, 0.3),
        inset 0 0 40px rgba(230, 216, 168, 0.1);
}

.atom-container {
    position: relative;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.atom-nucleus {
    width: 24px;
    height: 24px;
    background: radial-gradient(circle at 30% 30%, #E6D8A8, #CFC2A0);
    border-radius: 50%;
    position: relative;
    z-index: 10;
    box-shadow: 
        0 0 20px rgba(230, 216, 168, 0.8),
        0 0 40px rgba(230, 216, 168, 0.4);
    transition: all 0.4s ease;
}

.atom-orbit {
    position: absolute;
    width: 90px;
    height: 90px;
    border: 1px solid rgba(230, 216, 168, 0.3);
    border-radius: 50%;
    animation: orbitRotate 4s linear infinite;
}

.atom-orbit-1 { animation-duration: 3s; transform: rotate(0deg); }
.atom-orbit-2 { animation-duration: 4.5s; transform: rotate(60deg); }
.atom-orbit-3 { animation-duration: 5.5s; transform: rotate(120deg); }

@keyframes orbitRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.electron {
    position: absolute;
    width: 10px;
    height: 10px;
    background: radial-gradient(circle at 30% 30%, #00e6ff, #6a5cff);
    border-radius: 50%;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 0 15px rgba(0, 230, 255, 0.8);
}

.play-triangle {
    position: absolute;
    width: 0;
    height: 0;
    border-left: 20px solid #B11212;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    opacity: 0;
    transform: scale(0);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 15;
}

.play-button.quantum:hover .atom-nucleus,
.play-button.quantum:focus-visible .atom-nucleus {
    transform: scale(1.5);
    background: radial-gradient(circle at 30% 30%, #E6D8A8, #CFC2A0);
}

.play-button.quantum:hover .atom-orbit,
.play-button.quantum:focus-visible .atom-orbit {
    border-color: rgba(230, 216, 168, 0.6);
    animation-duration: 1s;
}

.play-button.quantum:hover .play-triangle,
.play-button.quantum:focus-visible .play-triangle {
    opacity: 1;
    transform: scale(1);
}

.play-button.quantum:hover .electron,
.play-button.quantum:focus-visible .electron {
    box-shadow: 0 0 25px rgba(0, 230, 255, 1);
}

/* IVAN: Crosshair Scope - Military targeting system */
.play-button.crosshair {
    background: radial-gradient(circle at center, rgba(0, 0, 0, 0.8), transparent 70%);
    box-shadow: 
        0 0 80px rgba(0, 0, 0, 0.8),
        inset 0 0 60px rgba(0, 0, 0, 0.5);
}

.scope-container {
    position: relative;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.scope-ring {
    position: absolute;
    width: 90px;
    height: 90px;
    border: 3px solid rgba(177, 18, 18, 0.7);
    border-radius: 50%;
    box-shadow: 
        0 0 20px rgba(177, 18, 18, 0.5),
        inset 0 0 20px rgba(177, 18, 18, 0.3);
    animation: scopePulse 2s ease-in-out infinite;
}

@keyframes scopePulse {
    0%, 100% { 
        transform: scale(1);
        opacity: 1;
    }
    50% { 
        transform: scale(1.05);
        opacity: 0.8;
    }
}

.scope-ticks {
    position: absolute;
    width: 100%;
    height: 100%;
}

.scope-ticks span {
    position: absolute;
    width: 3px;
    height: 12px;
    background: rgba(230, 216, 168, 0.8);
    left: 50%;
    top: -6px;
    transform-origin: center 48px;
    box-shadow: 0 0 5px rgba(230, 216, 168, 0.5);
}

.scope-ticks span:nth-child(1) { transform: rotate(0deg); }
.scope-ticks span:nth-child(2) { transform: rotate(30deg); }
.scope-ticks span:nth-child(3) { transform: rotate(60deg); }
.scope-ticks span:nth-child(4) { transform: rotate(90deg); }
.scope-ticks span:nth-child(5) { transform: rotate(120deg); }
.scope-ticks span:nth-child(6) { transform: rotate(150deg); }
.scope-ticks span:nth-child(7) { transform: rotate(180deg); }
.scope-ticks span:nth-child(8) { transform: rotate(210deg); }
.scope-ticks span:nth-child(9) { transform: rotate(240deg); }
.scope-ticks span:nth-child(10) { transform: rotate(270deg); }
.scope-ticks span:nth-child(11) { transform: rotate(300deg); }
.scope-ticks span:nth-child(12) { transform: rotate(330deg); }

.scope-center {
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.reticle-h {
    position: absolute;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(177, 18, 18, 0.9), transparent);
}

.reticle-v {
    position: absolute;
    width: 2px;
    height: 60px;
    background: linear-gradient(180deg, transparent, rgba(177, 18, 18, 0.9), transparent);
}

.play-diamond {
    width: 0;
    height: 0;
    border-left: 16px solid #E6D8A8;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    opacity: 0;
    transform: scale(0) rotate(-90deg);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    filter: drop-shadow(0 0 10px rgba(230, 216, 168, 0.8));
}

.scope-glow {
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, transparent 40%, rgba(177, 18, 18, 0.1) 70%);
    pointer-events: none;
    animation: glowRotate 8s linear infinite;
}

@keyframes glowRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.play-button.crosshair:hover .scope-ring,
.play-button.crosshair:focus-visible .scope-ring {
    animation: scopePulse 0.5s ease-in-out infinite;
    border-color: rgba(230, 216, 168, 0.9);
    box-shadow: 
        0 0 30px rgba(177, 18, 18, 0.8),
        inset 0 0 30px rgba(177, 18, 18, 0.5);
}

.play-button.crosshair:hover .play-diamond,
.play-button.crosshair:focus-visible .play-diamond {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}

.play-button.crosshair:hover .reticle-h,
.play-button.crosshair:focus-visible .reticle-h,
.play-button.crosshair:hover .reticle-v,
.play-button.crosshair:focus-visible .reticle-v {
    opacity: 0;
}

.play-button.crosshair:hover .scope-glow,
.play-button.crosshair:focus-visible .scope-glow {
    animation: glowRotate 2s linear infinite;
}

/* Release Section */
.release-section {
    background: linear-gradient(180deg, #0E0E0E 0%, #1A1A1A 100%);
    padding: 120px 40px;
    text-align: center;
}

.release-date {
    font-size: 96px;
    font-weight: 900;
    color: #E6D8A8;
    margin-bottom: 20px;
    font-family: 'GothamSSm', sans-serif;
    letter-spacing: 8px;
    text-shadow: 0 0 40px rgba(230, 216, 168, 0.5);
}

.release-label {
    font-size: 20px;
    color: #CFC2A0;
    letter-spacing: 4px;
    text-transform: uppercase;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-40px);
    }

    to {
        opacity: 0.7;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes titleShimmer {

    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@keyframes gridFadeIn {
    to {
        opacity: 1;
    }
}

/* Cork Board Background */
.cork-board {
    position: fixed;
    inset: 0;
    background: #0a0a0a;
    z-index: -1;
}

.cork-board::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(45deg,
            transparent,
            transparent 100px,
            rgba(255, 0, 0, 0.1) 100px,
            rgba(255, 0, 0, 0.1) 101px,
            transparent 101px,
            transparent 200px);
}

/* Hero Section - Conspiracy Board */
.hero-section {
    min-height: 100vh;
    padding: 120px 40px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    background: transparent;
    overflow: hidden;

    z-index: 200;
    background-color: black;
    background: linear-gradient(135deg, #1a1612 0%, #2a2218 100%);
    background-image: linear-gradient(135deg, rgb(26, 22, 18) 0%, rgb(42, 34, 24) 100%);
    background-size: auto;
    background-image: linear-gradient(135deg, rgb(26, 22, 18) 0%, rgb(42, 34, 24) 100%);
    background-size: auto;
    background-image: radial-gradient(circle at 20% 30%, rgba(42, 34, 24, 0.3) 1px, transparent 1px), radial-gradient(circle at 60% 70%, rgba(42, 34, 24, 0.3) 1px, transparent 1px), radial-gradient(circle at 80% 10%, rgba(42, 34, 24, 0.3) 1px, transparent 1px);
    background-size: 25px 25px, 30px 30px, 20px 20px;
}

.hero-section:before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(45deg, transparent, transparent 100px, rgba(255, 0, 0, 0.02) 100px, rgba(255, 0, 0, 0.02) 200px);
    z-index: 1000;
    width: 100%;
    height: 100%;
    left: 0;
    display: block;
    top: 0;
    background-color: black;
}

.hero-section .hs-bg {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url(../images/Landing\ ENG.jpg);
    z-index: 2000;
    width: 100%;
    height: 100%;
    left: 0;
    display: block;
    top: 0;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% auto;
    pointer-events: none;
}

.hero-section .hs-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: left top;
    z-index: 2001;
    opacity: 0;
    transition: opacity 1.5s ease;
    pointer-events: none;
}

.title-container {
    text-align: center;
    margin-bottom: 80px;
    animation: fadeInDown 1s ease-out;
    z-index: 5000;
}

.movie-title {
    font-family: 'GothamSSm', sans-serif;
    font-size: 96px;
    font-weight: 900;
    font-style: italic;
    color: #E6D8A8;
    margin-bottom: 30px;
    letter-spacing: 4px;
    text-transform: none;
    background: linear-gradient(135deg, #E6D8A8 0%, #CFC2A0 30%, #E6D8A8 60%, #CFC2A0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    background-size: 200% auto;
    text-shadow:
        0 4px 20px rgba(230, 216, 168, 0.3),
        0 0 40px rgba(207, 194, 160, 0.2);
    filter: drop-shadow(0 8px 25px rgba(230, 216, 168, 0.4));
    animation: movieTitleShimmer 4s ease-in-out infinite, movieTitleFloat 3s ease-in-out infinite;
    position: relative;
}

.movie-title::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #B11212 50%, transparent 100%);
    box-shadow: 0 0 15px rgba(177, 18, 18, 0.5);
}

@keyframes movieTitleShimmer {

    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@keyframes movieTitleFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-8px);
    }
}

.hero-section .main-title {
    font-family: 'GothamSSm', sans-serif;
    font-size: 72px;
    color: #B11212;
    margin-bottom: 20px;
    letter-spacing: 6px;
    text-transform: uppercase;
    text-shadow:
        0 0 20px rgba(177, 18, 18, 0.6),
        0 0 40px rgba(177, 18, 18, 0.4);
    animation: titleGlow 3s ease-in-out infinite;
}

@keyframes titleGlow {

    0%,
    100% {
        text-shadow:
            0 0 20px rgba(177, 18, 18, 0.6),
            0 0 40px rgba(177, 18, 18, 0.4);
    }

    50% {
        text-shadow:
            0 0 30px rgba(177, 18, 18, 0.8),
            0 0 60px rgba(177, 18, 18, 0.6);
    }
}

.hero-section .subtitle {
    font-size: 18px;
    color: #CFC2A0;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 30px;
}

/* Countdown Timer */
.countdown-timer {
    font-family: 'GothamSSm', sans-serif;
    font-size: 36px;
    color: #B11212;
    letter-spacing: 4px;
    margin-top: 20px;
    text-shadow: 0 0 15px rgba(177, 18, 18, 0.5);
}

/* Investigation Board */
.investigation-board {
    position: relative;
    width: 100%;
    max-width: 1400px;
    height: 700px;
    margin: 0 auto;
    z-index: 5000;
}

/* Connection Lines SVG */
.connections-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.connection-line {
    stroke: #B11212;
    stroke-width: 2;
    stroke-dasharray: 8, 4;
    opacity: 0;
    animation: lineAppear 0.8s ease-out forwards;
}

.connection-line:nth-child(1) {
    animation-delay: 1.2s;
}

.connection-line:nth-child(2) {
    animation-delay: 1.4s;
}

.connection-line:nth-child(3) {
    animation-delay: 1.6s;
}

.connection-line:nth-child(4) {
    animation-delay: 1.8s;
}

.connection-line:nth-child(5) {
    animation-delay: 2s;
}

.connection-line:nth-child(6) {
    animation-delay: 2.2s;
}

@keyframes lineAppear {
    from {
        opacity: 0;
        stroke-dashoffset: 100;
    }

    to {
        opacity: 0.6;
        stroke-dashoffset: 0;
    }
}

/* Evidence Cards */
.evidence-card {
    position: absolute;
    background: rgba(230, 216, 168, 0.98);
    border: 3px solid #4A0000;
    padding: 25px;
    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.7),
        inset 0 0 0 1px rgba(74, 0, 0, 0.1);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2;
    opacity: 0;
    animation: cardAppear 0.6s ease-out forwards;
    text-decoration: none;
}

@keyframes cardAppear {
    from {
        opacity: 0;
        transform: scale(0.8) rotate(-10deg);
    }

    to {
        opacity: 1;
        transform: scale(1) rotate(var(--rotation));
    }
}

.evidence-card:hover {
    transform: scale(1.05) rotate(0deg) translateY(-10px) !important;
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.9),
        0 0 0 3px #B11212;
    z-index: 100;
}

/* Pin on cards */
.evidence-card::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background: radial-gradient(circle, #8B0000 40%, #B11212 100%);
    border-radius: 50%;
    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.5),
        inset 0 1px 2px rgba(177, 18, 18, 0.3);
}

.card-label {
    font-size: 14px;
    color: #4A0000;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 8px;
    font-weight: 700;
}

.card-title {
    font-family: 'GothamSSm', sans-serif;
    font-size: 22px;
    color: #1A1A1A;
    margin-bottom: 12px;
    font-weight: 700;
}

.card-description {
    font-size: 16px;
    color: #4A0000;
    line-height: 1.6;
}

/* Card Positioning */
.card-anabel {
    top: 8%;
    left: 8%;
    width: 280px;
    --rotation: -3deg;
    animation-delay: 0.5s;
}

.card-scientist {
    top: 35%;
    left: 35%;
    width: 280px;
    --rotation: 2deg;
    animation-delay: 0.7s;
}

.card-ivan {
    top: -6%;
    right: 2%;
    width: 280px;
    --rotation: 1deg;
    animation-delay: 0.9s;
}

.card-ruana {
    bottom: 8%;
    left: 50%;
    transform: translateX(-50%) rotate(var(--rotation));
    width: 280px;
    --rotation: 1deg;
    animation-delay: 1.1s;
}

/* Smooth Scroll */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

/* Character Chat Modal - Cinematic Premiere Style */
.character-modal {
    width: 100%;
    height: 100%;
    background-color: #4A0000;
    animation: fadeIn 0.4s ease-out;
    position: relative;
    z-index: 2000;
    overflow: hidden;
}

.character-modal::before,
.character-modal::after {
    display: none;
}

.modal-side-logo {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 120px;
    opacity: 0.85;
    pointer-events: none;
    z-index: 1;
}

.modal-side-logo-left  { left: 40px; }
.modal-side-logo-right { right: 40px; }

.character-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal-content {
    background: rgba(4, 2, 1, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(230, 216, 168, 0.08);
    border-radius: 4px;
    width: 100%;
    max-width: 1200px;
    height: 80vh;
    max-height: 80vh;
    overflow: hidden;
    position: relative;
    animation: curtainOpen 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    z-index: 1;
    box-shadow:
        0 0 60px rgba(177, 18, 18, 0.12),
        0 30px 80px rgba(0, 0, 0, 0.9),
        0 -30px 80px rgba(230, 210, 140, 0.06);
}



@keyframes curtainOpen {
    0% {
        opacity: 0;
        transform: scale(0.8) translateY(50px);
        clip-path: polygon(0 50%, 50% 50%, 50% 50%, 100% 50%, 100% 50%, 50% 50%, 50% 50%, 0 50%);
    }
    40% {
        opacity: 1;
        transform: scale(0.95) translateY(10px);
        clip-path: polygon(0 0, 50% 0, 50% 100%, 100% 100%, 100% 0, 50% 0, 50% 100%, 0 100%);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
        clip-path: polygon(0 0, 100% 0, 100% 0, 100% 100%, 100% 100%, 100% 100%, 0 100%, 0 100%);
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-close {
    position: absolute;
    right: 20px;
    top: 20px;
    background: transparent;
    border: none;
    color: #E6D8A8;
    font-size: 32px;
    font-weight: 300;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
    opacity: 0.7;
    display: none;
}

.modal-close:hover {
    opacity: 1;
    transform: scale(1.1);
    color: #F0E4B8;
}

.modal-header {
    padding: 30px 40px 15px;
    text-align: center;
    flex-shrink: 0;
    position: relative;
}

.modal-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 260px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #B11212 25%, #E6D8A8 50%, #B11212 75%, transparent 100%);
    box-shadow: 0 0 12px rgba(177, 18, 18, 0.35);
}

.character-modal-name {
    display: none;
}

/* Scenarist Identity Header */
.modal-identity-badge {
    font-family: 'GothamSSm', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 5px;
    color: #B11212;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.modal-identity-badge::before,
.modal-identity-badge::after {
    content: '';
    width: 40px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #B11212);
}

.modal-identity-badge::after {
    background: linear-gradient(90deg, #B11212, transparent);
}

.modal-scenarist-title {
    font-family: 'GothamSSm', sans-serif;
    font-size: 38px;
    font-weight: 900;
    letter-spacing: 10px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #E6D8A8 0%, #F0E4B8 50%, #E6D8A8 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: goldShimmer 3s ease-in-out infinite;
    margin-bottom: 10px;
    filter: drop-shadow(0 0 20px rgba(230, 216, 168, 0.3));
}

.modal-scenarist-sub {
    font-family: 'GothamSSm', sans-serif;
    font-size: 11px;
    font-weight: 300;
    font-style: italic;
    color: rgba(230, 216, 168, 0.4);
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 24px;
}

@keyframes goldShimmer {
    0%, 100% {
        background-position: 0% center;
    }
    50% {
        background-position: 100% center;
    }
}

.character-modal-role {
    display: none;
}

/* Accordion Toggle Tabs */
.modal-tabs {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 25px;
      margin-bottom: 25px;
    position: relative;
}

.modal-tab {
    background: linear-gradient(135deg, rgba(230, 216, 168, 0.05) 0%, rgba(177, 18, 18, 0.05) 100%);
    border: 2px solid rgba(230, 216, 168, 0.3);
    border-radius: 4px;
    padding: 12px 20px;
    color: #B8A888;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    font-family: 'GothamSSm', sans-serif;
    font-size: 14px;
    letter-spacing: 1.5px;
    position: relative;
    overflow: hidden;
}

.modal-tab::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(230, 216, 168, 0.1) 50%, transparent 100%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
}

.modal-tab svg {
    width: 20px;
    height: 20px;
    opacity: 0.5;
    transition: all 0.4s ease;
    filter: drop-shadow(0 0 5px rgba(230, 216, 168, 0.3));
}

.modal-tab:hover {
    background: linear-gradient(135deg, rgba(230, 216, 168, 0.15) 0%, rgba(177, 18, 18, 0.1) 100%);
    border-color: rgba(230, 216, 168, 0.6);
    color: #E6D8A8;
    transform: translateY(-2px);
    box-shadow: 0 5px 20px rgba(230, 216, 168, 0.2);
}

.modal-tab:hover::before {
    transform: translateX(0);
}

.modal-tab:hover svg {
    opacity: 0.8;
    transform: scale(1.1);
}

.modal-tab.active {
    background: linear-gradient(135deg, rgba(230, 216, 168, 0.2) 0%, rgba(177, 18, 18, 0.15) 100%);
    border-color: #E6D8A8;
    color: #E6D8A8;
    box-shadow:
        0 0 30px rgba(230, 216, 168, 0.4),
        inset 0 0 20px rgba(230, 216, 168, 0.1);
    transform: translateY(-2px);
}

.modal-tab.active::before {
    transform: translateX(100%);
    animation: shimmerPass 2s ease-in-out infinite;
}

@keyframes shimmerPass {
    0%, 100% {
        transform: translateX(-100%);
    }
    50% {
        transform: translateX(100%);
    }
}

.modal-tab.active svg {
    opacity: 1;
    filter: drop-shadow(0 0 10px rgba(230, 216, 168, 0.6));
}

.modal-tab:focus-visible {
    outline: 2px solid #E6D8A8;
    outline-offset: 3px;
    box-shadow: 0 0 20px rgba(230, 216, 168, 0.5);
}

/* Accordion Panels */
.accordion-panel {
    display: none;
    flex-direction: column;
    opacity: 0;
    transition: opacity 0.3s ease;
    flex: 1 1 auto;
    min-height: 0;
    max-height: calc(90vh - 200px);
    overflow: hidden;
}

.accordion-panel.active {
    display: flex;
    opacity: 1;
}

/* Chat Section */
.chat-section {
    padding: 20px 40px;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.chat-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    overflow-y: auto;
    padding-right: 10px;
    flex: 1;
    min-height: 0;
}

/* Scrollbar styling for chat */
.chat-container::-webkit-scrollbar {
    width: 8px;
}

.chat-container::-webkit-scrollbar-track {
    background: rgba(230, 216, 168, 0.05);
    border-radius: 4px;
    border: 1px solid rgba(230, 216, 168, 0.1);
}

.chat-container::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(230, 216, 168, 0.3) 0%, rgba(177, 18, 18, 0.2) 100%);
    border-radius: 4px;
    border: 1px solid rgba(230, 216, 168, 0.2);
}

.chat-container::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(230, 216, 168, 0.5) 0%, rgba(177, 18, 18, 0.3) 100%);
    box-shadow: 0 0 10px rgba(230, 216, 168, 0.3);
}

/* Modal content scrollbar */
.modal-content::-webkit-scrollbar {
    width: 10px;
}

.modal-content::-webkit-scrollbar-track {
    background: rgba(230, 216, 168, 0.05);
    border-left: 1px solid rgba(230, 216, 168, 0.1);
}

.modal-content::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(230, 216, 168, 0.4) 0%, rgba(177, 18, 18, 0.3) 100%);
    border-radius: 5px;
    border: 1px solid rgba(230, 216, 168, 0.3);
}

.modal-content::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(230, 216, 168, 0.6) 0%, rgba(177, 18, 18, 0.4) 100%);
    box-shadow: 0 0 15px rgba(230, 216, 168, 0.4);
}

.chat-message {
    display: flex;
    flex-direction: column;
    gap: 5px;
    max-width: 80%;
    animation: messageSlideIn 0.3s ease-out;
}

.character-msg {
    align-self: flex-start;
}

.user-msg {
    align-self: flex-end;
    align-items: flex-end;
}

@keyframes messageSlideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.message-bubble {
    padding: 15px 20px;
    border-radius: 18px;
    font-size: 15px;
    line-height: 1.6;
}

.character-msg .message-bubble {
    background: #080808;
    color: #E6D8A8;
    border: 1px solid rgba(177, 18, 18, 0.35);
    border-bottom-left-radius: 4px;
}

.user-msg .message-bubble {
    background: linear-gradient(135deg, rgba(230, 216, 168, 0.2) 0%, rgba(177, 18, 18, 0.15) 100%);
    color: #E6D8A8;
    border-bottom-right-radius: 4px;
}

.message-time {
    font-size: 11px;
    color: #666;
    padding: 0 4px;
    margin-top: 2px;
}

/* Markdown content inside chat bubbles */
.md-content p { margin: 0 0 8px; }
.md-content p:last-child { margin-bottom: 0; }
.md-content strong { color: #f0e6c0; }
.md-content em { font-style: italic; }
.md-content h2, .md-content h3, .md-content h4 { margin: 8px 0 4px; font-size: 1em; color: #f0e6c0; }
.md-content ul { margin: 4px 0; padding-left: 18px; }
.md-content li { margin-bottom: 2px; }
.md-content code { background: rgba(230, 216, 168, 0.1); padding: 1px 5px; border-radius: 3px; font-size: 0.9em; }
.md-content pre { background: rgba(0,0,0,0.4); padding: 10px; border-radius: 6px; overflow-x: auto; margin: 6px 0; }
.md-content pre code { background: none; padding: 0; }
.md-content a { color: #E6D8A8; text-decoration: underline; }

/* Video Section */
.video-section {
    padding: 20px 40px 30px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.video-header {
    text-align: center;
    margin-bottom: 15px;
    margin-top: 15px;
}

.video-header h3 {
    font-family: 'GothamSSm', sans-serif;
    font-size: 22px;
    color: #E6D8A8;
    margin-bottom: 8px;
    letter-spacing: 2px;
    text-shadow: 0 0 15px rgba(230, 216, 168, 0.3);
}

.video-header p {
    font-size: 13px;
    color: #B8A888;
    text-shadow: 0 0 10px rgba(230, 216, 168, 0.2);
}

.tavus-video-container {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    aspect-ratio: 16/9;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.video-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.start-conversation-btn {
    background: transparent;
    border: none;
    padding: 20px 40px;
    margin: 10px;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
}

.start-conversation-btn:hover {
    background: rgba(230, 216, 168, 0.05);
    border-color: #E6D8A8;
    box-shadow: 0 0 20px rgba(230, 216, 168, 0.2);
}

.start-conversation-btn svg {
    transition: all 0.3s ease;
}

.start-conversation-btn:hover svg {
    transform: translateX(3px);
}

.start-conversation-btn svg circle {
    stroke: #E6D8A8;
}

.start-conversation-btn svg path {
    fill: #E6D8A8;
}

.start-conversation-btn span {
    color: #E6D8A8;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-family: 'GothamSSm', sans-serif;
}

/* Chat Input Section */
.chat-input-section {
    padding: 20px 40px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.98) 100%);
    border-top: 1px solid rgba(177, 18, 18, 0.3);
    flex-shrink: 0;
    box-shadow: 0 -5px 20px rgba(177, 18, 18, 0.08);
}

.chat-input-container {
    display: flex;
    gap: 15px;
    align-items: center;
}

.chat-input {
    flex: 1;
    background: rgba(230, 216, 168, 0.03);
    border: 2px solid rgba(230, 216, 168, 0.3);
    border-radius: 25px;
    padding: 15px 25px;
    color: #E6D8A8;
    font-size: 15px;
    font-family: 'GothamSSm', sans-serif;
    outline: none;
    transition: all 0.4s ease;
    box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.3);
}

.chat-input:focus {
    border-color: #E6D8A8;
    background: rgba(230, 216, 168, 0.08);
    box-shadow:
        0 0 25px rgba(230, 216, 168, 0.3),
        inset 0 2px 8px rgba(0, 0, 0, 0.3);
}

.chat-input::placeholder {
    color: rgba(230, 216, 168, 0.4);
}

.chat-send-btn {
    background: linear-gradient(135deg, rgba(230, 216, 168, 0.2) 0%, rgba(177, 18, 18, 0.15) 100%);
    border: 2px solid #E6D8A8;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    min-width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 0 15px rgba(230, 216, 168, 0.2);
    flex-shrink: 0;
}

.chat-send-btn:hover {
    transform: scale(1.1);
    background: linear-gradient(135deg, rgba(230, 216, 168, 0.3) 0%, rgba(177, 18, 18, 0.2) 100%);
    box-shadow: 0 0 25px rgba(230, 216, 168, 0.4);
}

.chat-send-btn:disabled {
    background: #333;
    cursor: not-allowed;
    box-shadow: none;
}

.chat-send-btn svg {
    width: 24px;
    height: 24px;
    fill: #E6D8A8;
}

/* Video Player Section (initially hidden) */
.video-player-section {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out;
    border-top: 0px solid #333;
}

.video-player-section.expanded {
max-height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  height: auto;
}

.video-player-container {
    width: 100%;
    aspect-ratio: 16/9;
    background: #000;
    border-radius: 8px;
    overflow: hidden;
}

.video-player-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Responsive Design */
@media (min-width: 969px) {
.title-container .hero-buttons {
  justify-content: end;
}    
.title-container {
  width: 100%;
}

}
@media (max-width: 968px) {
    .hero-section .hs-bg {
        background-image: url('../images/mobile-banner-eng.jpg');
        background-position: center top;
        background-size: cover;
        background-size: 100% auto;
    }

    .side {
        position: relative;
        width: 100%;
        height: auto;
        min-height: 100vh;
    }

    .left-side,
    .right-side {
        clip-path: none;
    }

    .split-line {
        display: none;
    }

    .content-wrapper {
        flex-direction: column;
    }

    .left-content,
    .right-content {
        width: 100%;
        padding: 60px 40px;
        align-items: center;
        text-align: center;
    }

  

    .movie-title {
        font-size: 56px;
        margin-bottom: 20px;
    }

    .hero-section .main-title {
        font-size: 48px;
    }

    .investigation-board {
        height: 900px;
        margin-top: 50vw;
    }

    .evidence-card {
        width: 240px !important;
    }

    .countdown-timer {
        font-size: 24px;
    }

    .chat-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .user-messages {
        align-items: flex-start;
    }

    .modal-content {
        height: 90vh;
        max-height: 90vh;
    }

    .modal-scenarist-title {
        font-size: 26px;
        letter-spacing: 6px;
    }

    .modal-scenarist-sub {
        font-size: 10px;
    }

    .modal-header {
        padding: 20px 20px 10px;
    }

    .modal-tabs {
        flex-direction: column;
        gap: 8px;
    }

    .modal-tab {
        padding: 10px 15px;
        font-size: 13px;
    }

    .chat-section,
    .video-section {
        padding: 15px 20px;
    }

    .video-header h3 {
        font-size: 18px;
    }

    .video-header p {
        font-size: 12px;
    }

    .chat-input-section {
        padding: 15px 20px;
    }

    .chat-input-container {
        gap: 10px;
    }

    .chat-input {
        padding: 12px 18px;
        font-size: 14px;
        min-width: 0;
    }

    .chat-send-btn {
        width: 45px;
        height: 45px;
        min-width: 45px;
        flex-shrink: 0;
    }

    .chat-send-btn svg {
        width: 20px;
        height: 20px;
    }

    /* Reduce modal ornaments on mobile */
    .modal-content::before,
    .modal-content::after {
        width: 40px;
        height: 40px;
    }

    .modal-close {
        width: 36px;
        height: 36px;
        font-size: 28px;
        right: 15px;
        top: 15px;
    }

    .start-conversation-btn {
        padding: 15px 25px;
        flex-direction: column;
        gap: 10px;
    }

    .start-conversation-btn svg {
        width: 40px;
        height: 40px;
    }

    .start-conversation-btn span {
        font-size: 13px;
    }

    /* Movie button responsive sizes */
    .play-button {
        width: 100px;
        height: 100px;
    }
    
    .eye-container,
    .atom-container,
    .scope-container {
        transform: scale(0.8);
    }
}

/* Footer refinements */
.site-footer {
  background: linear-gradient(180deg, #0f0f0f 0%, #0a0a0a 100%);
  color: #E6D8A8;
  padding: 5px 15px;
  text-align: center;
  border-top: 1px solid rgba(230, 216, 168, 0.25);
  position: relative;
  z-index: 2000;
}
.footer-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
.footer-copyright {
  margin: 0;
  font-family: 'GothamSSm', sans-serif;
  font-size: 18px;
  letter-spacing: 2px;
}
.footer-logo {
  height: 60px;
  width: auto;
  display: block;
  margin: 0;
  opacity: 0.95;
}
@media (max-width: 768px) {
  .site-footer { padding: 10px; }
  .footer-logo { height: 32px; }
  .footer-copyright { font-size: 12px; }
}
    #particles {display: block;}

/* Footer responsive - centered on mobile, split on desktop */
.footer-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
@media (max-width: 968px) {
  .footer-content {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    text-align: center;
  }
  .audio-controls {
    margin-right: 6px;
  }
  .footer-copyright {
    margin-bottom: 0;
  }
  .footer-logo {
    margin: 0 auto;
    flex-basis: 100%;
  }
}

/* Footer background color band */
body::before {
  content: '';
  display: block;
  width: 100%;
  height: 80px;
  background: linear-gradient(180deg, #0e0e0e 0%, #0a0a0a 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.site-footer {
  background: transparent;
}

/* Footer background band */
.site-footer {
  background: linear-gradient(180deg, #1A1A1A 0%, #0E0E0E 50%, #0A0A0A 100%);
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  opacity: 0.85;
  z-index: 9000;
}

/* Audio toggle button */
.audio-toggle {
  background: none;
  border: 1px solid rgba(230, 216, 168, 0.3);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #E6D8A8;
  opacity: 0.8;
  transition: opacity 0.2s, border-color 0.2s;
  padding: 0;
}
.audio-toggle svg {
  width: 14px;
  height: 14px;
}
.audio-toggle:hover {
  opacity: 1;
  border-color: #E6D8A8;
}

/* Audio controls wrapper */
.audio-controls {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Equalizer bars */
.eq-bars {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 16px;
}
.eq-bars.paused .eq-bar {
  animation-play-state: paused;
  height: 3px !important;
}
.eq-bar {
  width: 2px;
  background: #E6D8A8;
  border-radius: 1px;
  opacity: 0.25;
  animation: eqBounce 1s ease-in-out infinite alternate;
}
.eq-bar:nth-child(1) { animation-duration: 0.45s; animation-delay: 0s; }
.eq-bar:nth-child(2) { animation-duration: 0.35s; animation-delay: 0.1s; }
.eq-bar:nth-child(3) { animation-duration: 0.5s; animation-delay: 0.05s; }
.eq-bar:nth-child(4) { animation-duration: 0.4s; animation-delay: 0.15s; }
@keyframes eqBounce {
  0%   { height: 2px; }
  50%  { height: 14px; }
  100% { height: 4px; }
}

/* ============================================
   HERO LOGO & BUTTONS
   ============================================ */

.hero-logo {
  max-width: 800px;
  width: 80%;
  height: auto;
  margin-bottom: 20px;
  filter: drop-shadow(0 0 30px rgba(230, 216, 168, 0.3));
  animation: logoGlow 3s ease-in-out infinite alternate;
}

@keyframes logoGlow {
  0% {
    filter: drop-shadow(0 0 20px rgba(230, 216, 168, 0.2));
  }
  100% {
    filter: drop-shadow(0 0 40px rgba(230, 216, 168, 0.5));
  }
}

.hero-buttons {
  display: flex;
  gap: 20px;
  margin-top: 13vw;
  margin-bottom: 60px;
  justify-content: center;
  flex-wrap: wrap;
}

.hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  font-family: 'GothamSSm', sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-decoration: none;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 1;
}

.hero-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px;
  background: linear-gradient(135deg, #E6D8A8, #B11212, #E6D8A8);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

.hero-btn::after {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: 48px;
  background: linear-gradient(135deg, rgba(26, 22, 18, 0.95), rgba(42, 34, 24, 0.9));
  backdrop-filter: blur(10px);
  z-index: -1;
}

.hero-btn .btn-icon {
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease;
}

/* Trailer Button - Red accent */
.trailer-btn {
  color: #E6D8A8;
  box-shadow: 0 4px 20px rgba(177, 18, 18, 0.3);
}

.trailer-btn:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 8px 30px rgba(177, 18, 18, 0.5), 0 0 50px rgba(177, 18, 18, 0.2);
}

.trailer-btn:hover::before {
  opacity: 1;
  background: linear-gradient(135deg, #B11212, #E6D8A8, #B11212);
}

.trailer-btn:hover .btn-icon {
  transform: scale(1.2);
}

/* Tickets Button - Gold accent */
.tickets-btn {
  color: #E6D8A8;
  box-shadow: 0 4px 20px rgba(230, 216, 168, 0.2);
}

.tickets-btn:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 8px 30px rgba(230, 216, 168, 0.4), 0 0 50px rgba(230, 216, 168, 0.15);
}

.tickets-btn:hover::before {
  opacity: 1;
  background: linear-gradient(135deg, #E6D8A8, #B11212, #E6D8A8);
}

.tickets-btn:hover .btn-icon {
  transform: scale(1.2);
}

@media (max-width: 768px) {
  .hero-logo {
    max-width: 280px;
  }
  .hero-buttons {
    flex-direction: column;
    gap: 15px;
    align-items: center;
    margin-bottom: 50px;
  }
  .hero-btn {
    padding: 14px 28px;
    font-size: 14px;
    width: 220px;
    justify-content: center;
  }
}

/* ============================================
   CINEMA PARTNERS SECTION
   ============================================ */

.cinema-partners-section {
  position: relative;
  padding: 250px 20px 100px 20px;
  overflow: hidden;
  z-index: 2000;
}

.partners-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(177, 18, 18, 0.15) 0%, transparent 70%);
  pointer-events: none;
  animation: glowPulse 4s ease-in-out infinite;
}

@keyframes glowPulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.5;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.8;
  }
}

.partners-container {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.partners-title {
  font-family: 'GothamSSm', sans-serif;
  font-size: 80px;
  font-weight: 700;
  color: #E6D8A8;
  text-align: center;
  margin-bottom: 100px;
  text-transform: uppercase;
  letter-spacing: 4px;
  text-shadow: 0 0 30px rgba(177, 18, 18, 0.5);
}

.partners-subtitle {
  font-family: 'GothamSSm', sans-serif;
  font-size: 18px;
  color: #CFC2A0;
  text-align: center;
  margin-bottom: 60px;
  opacity: 0.8;
}

.partners-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  max-width: 600px;
  margin: 0 auto;
}

.partner-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.partner-card.animate-in {
  opacity: 1;
  transform: translateY(0);
}

.partner-card-inner {
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(110, 88, 55, 0.55), rgba(80, 65, 42, 0.65));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  overflow: hidden;
}

.partner-card-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  padding: 2px;
  background: linear-gradient(135deg, rgba(230, 216, 168, 0.3), rgba(177, 18, 18, 0.3), rgba(230, 216, 168, 0.3));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  transition: all 0.4s ease;
}

.partner-card-inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.05) 0%, transparent 50%);
  border-radius: 20px;
}

.partner-card:hover .partner-card-inner {
  transform: translateY(-10px) scale(1.05);
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.4),
    0 0 60px rgba(177, 18, 18, 0.2),
    0 0 100px rgba(230, 216, 168, 0.1);
}

.partner-card:hover .partner-card-inner::before {
  background: linear-gradient(135deg, rgba(230, 216, 168, 0.6), rgba(177, 18, 18, 0.6), rgba(230, 216, 168, 0.6));
}

.partner-logo-placeholder {
  font-family: 'GothamSSm', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #E6D8A8;
  text-align: center;
  padding: 10px;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.partner-card:hover .partner-logo-placeholder {
  opacity: 1;
}

.partner-card img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
  filter: grayscale(100%) brightness(1.2);
  transition: filter 0.4s ease;
}

.partner-card:hover img {
  filter: grayscale(0%) brightness(1);
}

.partner-name {
  margin-top: 15px;
  font-family: 'GothamSSm', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #CFC2A0;
  text-align: center;
  transition: color 0.3s ease;
}

.partner-card:hover .partner-name {
  color: #E6D8A8;
}

@media (max-width: 768px) {
  .cinema-partners-section {
    padding: 60px 20px;
  }
  .partners-title {
    font-size: 32px;
    letter-spacing: 2px;
  }
  .partners-subtitle {
    font-size: 16px;
    margin-bottom: 40px;
  }
  .partners-grid {
    gap: 20px;
  }
  .partner-card-inner {
    width: 120px;
    height: 120px;
  }
}

/* ============================================
   SPOTLIGHT REVEAL VARIANT
   ============================================ */

.cinema-partners-section.variant-spotlight {
  overflow: hidden;
}

.variant-spotlight .partners-glow {
  display: none;
}

.variant-spotlight .partners-container::before {
  content: '';
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: 300px;
  height: 600px;
  background: conic-gradient(from 180deg, transparent 0deg, rgba(230, 216, 168, 0.1) 30deg, transparent 60deg);
  animation: spotlightSweep 8s ease-in-out infinite;
  pointer-events: none;
}

@keyframes spotlightSweep {
  0%, 100% { transform: translateX(-50%) rotate(-30deg); }
  50% { transform: translateX(-50%) rotate(30deg); }
}

.variant-spotlight .partner-card-inner {
  background: rgba(28, 24, 20, 0.82);
  border: 1px solid rgba(230, 216, 168, 0.1);
  box-shadow: none;
  transition: all 0.5s ease;
}

.variant-spotlight .partner-card-inner::before {
  opacity: 0;
  background: linear-gradient(135deg, #E6D8A8, #B11212);
}

.variant-spotlight .partner-card img {
  filter: brightness(0.7);
  transition: all 0.5s ease;
}

.variant-spotlight .partner-card:hover .partner-card-inner {
  background: rgba(40, 35, 30, 0.95);
  box-shadow:
    0 0 100px rgba(230, 216, 168, 0.3),
    0 0 200px rgba(230, 216, 168, 0.1);
  transform: scale(1.1);
}

.variant-spotlight .partner-card:hover .partner-card-inner::before {
  opacity: 1;
}

.variant-spotlight .partner-card:hover img {
  filter: brightness(1.2) contrast(1.1);
}


/* ============================================
   TRAILER MODAL
   ============================================ */

.trailer-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  align-items: center;
  justify-content: center;
}

.trailer-modal.active {
  display: flex;
}

.trailer-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.trailer-modal.active .trailer-modal-backdrop {
  opacity: 1;
}

.trailer-modal-content {
  position: relative;
  width: 90%;
  max-width: 900px;
  transform: scale(0.8);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.trailer-modal.active .trailer-modal-content {
  transform: scale(1);
  opacity: 1;
}

.trailer-modal-content video,
.trailer-modal-content iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  box-shadow:
    0 0 60px rgba(177, 18, 18, 0.3),
    0 20px 60px rgba(0, 0, 0, 0.5);
}

.trailer-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  background: rgba(42, 34, 24, 0.8);
  border: 2px solid rgba(230, 216, 168, 0.3);
  border-radius: 50%;
  color: #E6D8A8;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.trailer-modal-close:hover {
  background: rgba(177, 18, 18, 0.8);
  border-color: #B11212;
  transform: rotate(90deg);
}

@media (max-width: 768px) {
  .trailer-modal-content {
    width: 95%;
  }
  .trailer-modal-close {
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    font-size: 24px;
    z-index: 10;
    background: rgba(0, 0, 0, 0.7);
  }
}

.ib-dsk {
    display: none;
}

@media (min-width: 1800px) {
    .partners-container .partners-title {
        font-size: 80px;
        padding: 0 80px;
    }
.char-quote-wrapper {
    position: relative;
    width: 100%;
}
.left-content .quote-box {
   
}
.character-image-container {
    position: absolute;
    top: auto;
    bottom: 0;
    left: -60px;
    max-width: 420px;
}
.right-content .character-image-container {
    left: auto;
   right: -60px;
}
.partners-grid {
  max-width: 900px;
}
}
.modal-side-logo  {
    display: none;
}
@media (min-width: 1200px) {
    .hero-section {
padding-top: 33vw;
    padding-bottom: 50px;
    }
    .partners-title {
        padding: 0 350px;
        font-size: 50px;
        }
  .modal-side-logo {
    display: block;
    left: 0;
    right: auto;
    margin: 0 auto;
    width: calc((100vw - 1200px) / 2);
  }
  .modal-side-logo.modal-side-logo-right {
    left: auto;
  right: 0;
  }


.hero-section .investigation-board {
    display: none;
}
.ib-dsk {
    display: block;
    position: relative;
}
.ib-dsk .investigation-board {
  width: 600px;
  position: absolute;
  right: 0;
  top: -110px;
}
}

/* ============================================
   SPONSORS SECTION
   ============================================ */

.sponsors-section {
    position: relative;
    padding: 100px 0 150px;
    background: linear-gradient(180deg, #0a0a0a 0%, #0f0a08 50%, #0a0a0a 100%);
    overflow: hidden;
    z-index: 2000;
}

.sponsors-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 60%;
    background: radial-gradient(ellipse, rgba(177, 18, 18, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.sponsors-container {
    position: relative;
    z-index: 1;
}

.sponsors-title {
    font-family: 'GothamSSm', sans-serif;
    font-size: 42px;
    font-weight: 700;
    color: #E6D8A8;
    text-align: center;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 4px;
}

.sponsors-subtitle {
    font-family: 'GothamSSm', sans-serif;
    font-size: 16px;
    color: #CFC2A0;
    text-align: center;
    margin-bottom: 50px;
    opacity: 0.7;
}

.sponsors-marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 15px 0;
}

/* Fade edges */
.sponsors-marquee::before,
.sponsors-marquee::after {
    content: '';
    position: absolute;
    top: 0;
    width: 150px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.sponsors-marquee::before {
    left: 0;
    background: linear-gradient(90deg, #0a0a0a 0%, transparent 100%);
}

.sponsors-marquee::after {
    right: 0;
    background: linear-gradient(-90deg, #0a0a0a 0%, transparent 100%);
}

.sponsors-track {
    display: flex;
    gap: 30px;
    width: max-content;
}

/* Row 1 - scrolls left */
.sponsors-track-1 {
    animation: marqueeLeft 40s linear infinite;
}

/* Row 2 - scrolls right */
.sponsors-track-2 {
    animation: marqueeRight 45s linear infinite;
}

/* Row 3 - scrolls left slower */
.sponsors-track-3 {
    animation: marqueeLeft 50s linear infinite;
}

/* Row 4 - scrolls right slower */
.sponsors-track-4 {
    animation: marqueeRight 55s linear infinite;
}

@keyframes marqueeLeft {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@keyframes marqueeRight {
    0% {
        transform: translateX(-50%);
    }
    100% {
        transform: translateX(0);
    }
}

/* Pause on hover */
.sponsors-marquee:hover .sponsors-track {
    animation-play-state: paused;
}

.sponsor-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 320px;
    height: 200px;
    text-decoration: none;
    position: relative;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(30, 25, 20, 0.6), rgba(20, 18, 15, 0.8));
    border: 1px solid rgba(230, 216, 168, 0.1);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    overflow: hidden;
}

.sponsor-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(230, 216, 168, 0.05), transparent 50%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.sponsor-item:hover {
    transform: translateY(-5px) scale(1.05);
    border-color: rgba(230, 216, 168, 0.3);
    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.4),
        0 0 30px rgba(177, 18, 18, 0.15),
        0 0 60px rgba(230, 216, 168, 0.1);
}

.sponsor-item:hover::before {
    opacity: 1;
}

.sponsor-logo {
    font-family: 'GothamSSm', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #CFC2A0;
    text-align: center;
    padding: 10px;
    transition: color 0.3s ease;
}

.sponsor-item:hover .sponsor-logo {
    color: #E6D8A8;
}

/* For actual logo images */
.sponsor-item img {
    max-width: 60%;
    max-height: 60%;
    object-fit: contain;
    filter: grayscale(100%) brightness(0.8) opacity(0.7);
    transition: filter 0.4s ease;
}

.sponsor-item:hover img {
    filter: grayscale(0%) brightness(1) opacity(1);
}

/* Responsive */
@media (max-width: 1024px) {
    .sponsors-section {
        padding: 80px 0 150px;
    }

    .sponsors-title {
        font-size: 36px;
    }

    .sponsors-marquee::before,
    .sponsors-marquee::after {
        width: 80px;
    }

    .sponsor-item {
        width: 280px;
        height: 140px;
    }
}

@media (max-width: 768px) {
    .sponsors-section {
        padding: 60px 0 150px;
    }

    .sponsors-title {
        font-size: 28px;
        letter-spacing: 2px;
    }

    .sponsors-subtitle {
        font-size: 14px;
        margin-bottom: 40px;
    }

    .sponsors-marquee {
        padding: 10px 0;
    }

    .sponsors-marquee::before,
    .sponsors-marquee::after {
        width: 50px;
    }

    .sponsors-track {
        gap: 20px;
    }

    .sponsor-item {
        width: 240px;
        height: 120px;
    }

    .sponsor-logo {
        font-size: 10px;
    }
}

@media (max-width: 480px) {
    .sponsors-title {
        font-size: 24px;
    }

    .sponsors-marquee::before,
    .sponsors-marquee::after {
        width: 30px;
    }

    .sponsors-track {
        gap: 15px;
    }

    .sponsor-item {
        width: 100px;
        height: 50px;
        border-radius: 8px;
    }

    .sponsor-logo {
        font-size: 9px;
    }
}

/* ============================================
   BACK TO TOP - RADAR EXTRACTION BUTTON
   ============================================ */

.back-to-top {
    position: fixed;
    bottom: 100px;
    right: 40px;
    width: 70px;
    height: 70px;
    background: radial-gradient(circle at center, rgba(10, 10, 10, 0.95), rgba(0, 0, 0, 0.98));
    border: 2px solid rgba(177, 18, 18, 0.6);
    border-radius: 50%;
    cursor: pointer;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow:
        0 0 30px rgba(177, 18, 18, 0.3),
        inset 0 0 20px rgba(0, 0, 0, 0.8);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover {
    border-color: rgba(230, 216, 168, 0.8);
    box-shadow:
        0 0 50px rgba(177, 18, 18, 0.6),
        0 0 80px rgba(230, 216, 168, 0.3),
        inset 0 0 30px rgba(177, 18, 18, 0.2);
    transform: translateY(-5px);
}

/* Radar Container */
.radar-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Radar Ping Circles - 3 concentric circles that pulse outward */
.radar-ping {
    position: absolute;
    width: 60px;
    height: 60px;
    border: 2px solid rgba(177, 18, 18, 0.6);
    border-radius: 50%;
    animation: radarPulse 3s ease-out infinite;
}

.radar-ping:nth-child(2) {
    animation-delay: 1s;
    border-color: rgba(177, 18, 18, 0.4);
}

.radar-ping:nth-child(3) {
    animation-delay: 2s;
    border-color: rgba(177, 18, 18, 0.2);
}

@keyframes radarPulse {
    0% {
        transform: scale(0.5);
        opacity: 1;
    }
    50% {
        opacity: 0.6;
    }
    100% {
        transform: scale(2);
        opacity: 0;
    }
}

/* Hover state - faster pings */
.back-to-top:hover .radar-ping {
    animation-duration: 1.5s;
}

/* Center extraction icon container */
.extraction-icon {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

/* Upward chevrons - stacked for extraction symbol */
.chevron-up {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 8px solid #E6D8A8;
    filter: drop-shadow(0 0 8px rgba(230, 216, 168, 0.6));
    transition: all 0.3s ease;
}

.chevron-up:nth-child(2) {
    margin-top: -6px;
    opacity: 0.7;
}

.back-to-top:hover .chevron-up {
    border-bottom-color: #B11212;
    filter: drop-shadow(0 0 15px rgba(177, 18, 18, 0.9));
    animation: chevronBounce 0.6s ease-in-out infinite;
}

@keyframes chevronBounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}

/* Extract label */
.extract-label {
    position: absolute;
    bottom: -24px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 9px;
    letter-spacing: 2px;
    color: #E6D8A8;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
    transition: all 0.3s ease;
    text-shadow: 0 0 10px rgba(230, 216, 168, 0.8);
}

.back-to-top:hover .extract-label {
    opacity: 1;
    bottom: -28px;
}

/* Rotating radar sweep line */
.radar-sweep {
    position: absolute;
    width: 1px;
    height: 30px;
    background: linear-gradient(to bottom, rgba(177, 18, 18, 0.9), transparent);
    top: 50%;
    left: 50%;
    transform-origin: bottom center;
    animation: radarSweep 4s linear infinite;
    filter: drop-shadow(0 0 3px rgba(177, 18, 18, 0.8));
}

@keyframes radarSweep {
    from {
        transform: translate(-50%, -100%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -100%) rotate(360deg);
    }
}

.back-to-top:hover .radar-sweep {
    animation-duration: 2s;
    background: linear-gradient(to bottom, rgba(230, 216, 168, 0.9), transparent);
}

/* Corner ticks for targeting system feel */
.corner-tick {
    position: absolute;
    width: 8px;
    height: 8px;
}

.corner-tick::before,
.corner-tick::after {
    content: '';
    position: absolute;
    background: rgba(230, 216, 168, 0.4);
    transition: all 0.3s ease;
}

.corner-tick::before {
    width: 8px;
    height: 2px;
}

.corner-tick::after {
    width: 2px;
    height: 8px;
}

.corner-tick.top-left {
    top: 8px;
    left: 8px;
}

.corner-tick.top-right {
    top: 8px;
    right: 8px;
}

.corner-tick.top-right::before {
    right: 0;
}

.corner-tick.top-right::after {
    right: 0;
}

.corner-tick.bottom-left {
    bottom: 8px;
    left: 8px;
}

.corner-tick.bottom-left::before {
    bottom: 0;
}

.corner-tick.bottom-left::after {
    bottom: 0;
}

.corner-tick.bottom-right {
    bottom: 8px;
    right: 8px;
}

.corner-tick.bottom-right::before {
    bottom: 0;
    right: 0;
}

.corner-tick.bottom-right::after {
    bottom: 0;
    right: 0;
}

.back-to-top:hover .corner-tick::before,
.back-to-top:hover .corner-tick::after {
    background: rgba(177, 18, 18, 0.8);
    box-shadow: 0 0 5px rgba(177, 18, 18, 0.6);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .back-to-top {
        width: 60px;
        height: 60px;
        bottom: 80px;
        right: 20px;
    }

    .radar-ping {
        width: 50px;
        height: 50px;
    }

    .chevron-up {
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-bottom: 6px solid #E6D8A8;
    }

    .extract-label {
        font-size: 8px;
        letter-spacing: 1px;
    }
}

@media (min-width: 2000px) {
  .character-image-container {
    max-width: 520px;
  }
}
.modal-content {
  min-height: 760px;
}
.accordion-panel.active {
  min-height: 500px;
}

/* ============================================
   SYSTEM MESSAGES (chat)
   ============================================ */

.system-msg {
    display: flex;
    justify-content: center;
    margin: 12px 0;
}

.system-bubble {
    text-align: center;
    font-family: 'GothamSSm', sans-serif;
    font-size: 12px;
    font-weight: 300;
    color: #a09880;
    border: 1px dashed rgba(230, 216, 168, 0.25);
    border-radius: 8px;
    padding: 10px 16px;
    max-width: 85%;
    background: rgba(230, 216, 168, 0.04);
}

.system-bubble.error {
    color: #d4a0a0;
    border-color: rgba(177, 18, 18, 0.35);
    background: rgba(177, 18, 18, 0.06);
}

.system-bubble.limit {
    color: #c4b080;
    border-color: rgba(230, 216, 168, 0.3);
    background: rgba(230, 216, 168, 0.06);
}

.system-action-btn {
    display: block;
    margin: 8px auto 0;
    padding: 6px 16px;
    font-family: 'GothamSSm', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #1a1a1a;
    background: #E6D8A8;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
}

.system-action-btn:hover {
    background: #f0e8c0;
    transform: scale(1.03);
}

.system-bubble.error .system-action-btn {
    background: #b11212;
    color: #fff;
}

.system-bubble.error .system-action-btn:hover {
    background: #cc2020;
}

/* ============================================
   TYPING INDICATOR
   ============================================ */

.typing-indicator .message-bubble {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 12px 18px;
    min-height: auto;
}

.typing-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #a09880;
    animation: typingBounce 1.2s infinite ease-in-out;
}

.typing-dot:nth-child(2) {
    animation-delay: 0.15s;
}

.typing-dot:nth-child(3) {
    animation-delay: 0.3s;
}

@keyframes typingBounce {
    0%, 60%, 100% {
        transform: translateY(0);
        opacity: 0.4;
    }
    30% {
        transform: translateY(-6px);
        opacity: 1;
    }
}

/* ============================================
   VIDEO STATUS OVERLAY (Tavus container)
   ============================================ */

.video-status-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(10, 10, 10, 0.88);
    z-index: 10;
    padding: 24px;
    text-align: center;
}

.video-status-overlay p {
    font-family: 'GothamSSm', sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: #E6D8A8;
    line-height: 1.6;
    max-width: 320px;
    margin: 0 0 16px;
}

.video-status-action-btn {
    padding: 10px 24px;
    font-family: 'GothamSSm', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #1a1a1a;
    background: #E6D8A8;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
}

.video-status-action-btn:hover {
    background: #f0e8c0;
    transform: scale(1.03);
}