//* Импорт шрифтов */
@import url(https://fonts.googleapis.com/css?family=Share+Tech+Mono);

@font-face {
    font-family: 'Play';
    src: url('fonts/Play-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Play';
    src: url('fonts/Play-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

*{
    margin: 0;
    padding: 0;
    max-width: 100%;
    box-sizing: border-box;
}

body{
    height: 100vh;
    align-items: center;
    display: flex;
    justify-content: center;
    background-color: #ffffff;
    color: #000000;
    font-family: 'Share Tech Mono', monospace;
    background-image: 
        url("data:image/svg+xml,%3Csvg width='300' height='300' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='binary' patternUnits='userSpaceOnUse' width='20' height='20'%3E%3Cg opacity='0.03'%3E%3Ctext x='2' y='15' font-family='Courier New, monospace' font-size='8' fill='%23999999'%3E1010%3C/text%3E%3Ctext x='2' y='5' font-family='Courier New, monospace' font-size='8' fill='%23999999'%3E0101%3C/text%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23binary)'/%3E%3C/svg%3E"),
        url("data:image/svg+xml,%3Csvg width='500' height='500' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='cyberIcons' patternUnits='userSpaceOnUse' width='100' height='100'%3E%3Cg opacity='0.02'%3E%3C!-- Замок --%3E%3Cpath d='M25,40 L25,60 Q25,70 35,70 L65,70 Q75,70 75,60 L75,40 Q75,30 65,30 L35,30 Q25,30 25,40 Z' stroke='%23777777' stroke-width='0.8' fill='none'/%3E%3Crect x='45' y='50' width='10' height='15' fill='%23777777'/%3E%3C!-- Щит --%3E%3Cpath d='M50,15 Q70,20 85,35 Q90,50 85,65 Q70,80 50,85 Q30,80 15,65 Q10,50 15,35 Q30,20 50,15 Z' stroke='%23777777' stroke-width='0.8' fill='none'/%3E%3C!-- Ключ --%3E%3Cpath d='M10,90 L30,90' stroke='%23777777' stroke-width='2'/%3E%3Ccircle cx='30' cy='90' r='5' stroke='%23777777' stroke-width='0.8' fill='none'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23cyberIcons)'/%3E%3C/svg%3E"),
        radial-gradient(circle at 25px 25px, rgba(200, 200, 200, 0.15) 1px, transparent 2px);
    
    background-size: 
        300px 300px,
        500px 500px,
        50px 50px;
    
    background-position: 
        0 0,
        0 0,
        0 0;
        overflow: hidden;
    overflow-x: hidden;
    width: 100%;
}

.cont{
    max-width: 1005px;
    width: 90%;
    padding: 40px;
    text-align: center;
    position: relative;
    z-index: 1;
}

/* ===== HERO ГЛИТЧ-ЭФФЕКТ ===== */
.hero-container{
    position: relative;
    padding: 100px 0;
    margin-bottom: 40px;
    text-align: center;
    opacity: 0; /* Изначально прозрачный */
    transform: translateY(20px); /* Изначально смещен вниз */
    transition: opacity 0.8s ease, transform 0.8s ease; /* Анимация появления */
}

.hero{
    font-size: clamp(40px, 8vw, 40px);
    line-height: 1.2;
    display: inline-block;
    color: #000000;
    z-index: 2;
    letter-spacing: 8px;
    text-transform: uppercase;
    font-family: 'Share Tech Mono', monospace;
    font-weight: 700;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
}

.environment{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.1;
    z-index: 1;
}

.layers{
    position: relative;
    z-index: 2;
}

.layers::before,
.layers::after{
    content: attr(data-text);
    position: absolute;
    width: 110%;
    z-index: -1;
    font-family: 'Share Tech Mono', monospace;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 8px;
}

.layers::before{
    top: 10px;
    left: 15px;
    color: #ff0066;
}

.layers::after{
    top: 5px;
    left: -10px;
    color: #00ccff;
}

.glitch span{
    animation: paths 5s step-end infinite;
}

.glitch::before{
    animation: paths 5s step-end infinite, opacity 5s step-end infinite,
        font 8s step-end infinite, movement 10s step-end infinite;
}

.glitch::after{
    animation: paths 5s step-end infinite, opacity 5s step-end infinite,
        font 7s step-end infinite, movement 8s step-end infinite;
}

/* Анимации hero эффекта */
@keyframes paths {
    0% {
        clip-path: polygon(
            0% 43%,
            83% 43%,
            83% 22%,
            23% 22%,
            23% 24%,
            91% 24%,
            91% 26%,
            18% 26%,
            18% 83%,
            29% 83%,
            29% 17%,
            41% 17%,
            41% 39%,
            18% 39%,
            18% 82%,
            54% 82%,
            54% 88%,
            19% 88%,
            19% 4%,
            39% 4%,
            39% 14%,
            76% 14%,
            76% 52%,
            23% 52%,
            23% 35%,
            19% 35%,
            19% 8%,
            36% 8%,
            36% 31%,
            73% 31%,
            73% 16%,
            1% 16%,
            1% 56%,
            50% 56%,
            50% 8%
        );
    }
    5% {
        clip-path: polygon(
            0% 29%,
            44% 29%,
            44% 83%,
            94% 83%,
            94% 56%,
            11% 56%,
            11% 64%,
            94% 64%,
            94% 70%,
            88% 70%,
            88% 32%,
            18% 32%,
            18% 96%,
            10% 96%,
            10% 62%,
            9% 62%,
            9% 84%,
            68% 84%,
            68% 50%,
            52% 50%,
            52% 55%,
            35% 55%,
            35% 87%,
            25% 87%,
            25% 39%,
            15% 39%,
            15% 88%,
            52% 88%
        );
    }
    30% {
        clip-path: polygon(
            0% 53%,
            93% 53%,
            93% 62%,
            68% 62%,
            68% 37%,
            97% 37%,
            97% 89%,
            13% 89%,
            13% 45%,
            51% 45%,
            51% 88%,
            17% 88%,
            17% 54%,
            81% 54%,
            81% 75%,
            79% 75%,
            79% 76%,
            38% 76%,
            38% 28%,
            61% 28%,
            61% 12%,
            55% 12%,
            55% 62%,
            68% 62%,
            68% 51%,
            0% 51%,
            0% 92%,
            63% 92%,
            63% 4%,
            65% 4%
        );
    }
    45% {
        clip-path: polygon(
            0% 33%,
            2% 33%,
            2% 69%,
            58% 69%,
            58% 94%,
            55% 94%,
            55% 25%,
            33% 25%,
            33% 85%,
            16% 85%,
            16% 19%,
            5% 19%,
            5% 20%,
            79% 20%,
            79% 96%,
            93% 96%,
            93% 50%,
            5% 50%,
            5% 74%,
            55% 74%,
            55% 57%,
            96% 57%,
            96% 59%,
            87% 59%,
            87% 65%,
            82% 65%,
            82% 39%,
            63% 39%,
            63% 92%,
            4% 92%,
            4% 36%,
            24% 36%,
            24% 70%,
            1% 70%,
            1% 43%,
            15% 43%,
            15% 28%,
            23% 28%,
            23% 71%,
            90% 71%,
            90% 86%,
            97% 86%,
            97% 1%,
            60% 1%,
            60% 67%,
            71% 67%,
            71% 91%,
            17% 91%,
            17% 14%,
            39% 14%,
            39% 30%,
            58% 30%,
            58% 11%,
            52% 11%,
            52% 83%,
            68% 83%
        );
    }
    76% {
        clip-path: polygon(
            0% 26%,
            15% 26%,
            15% 73%,
            72% 73%,
            72% 70%,
            77% 70%,
            77% 75%,
            8% 75%,
            8% 42%,
            4% 42%,
            4% 61%,
            17% 61%,
            17% 12%,
            26% 12%,
            26% 63%,
            73% 63%,
            73% 43%,
            90% 43%,
            90% 67%,
            50% 67%,
            50% 41%,
            42% 41%,
            42% 46%,
            50% 46%,
            50% 84%,
            96% 84%,
            96% 78%,
            49% 78%,
            49% 25%,
            63% 25%,
            63% 14%
        );
    }
    90% {
        clip-path: polygon(
            0% 41%,
            13% 41%,
            13% 6%,
            87% 6%,
            87% 93%,
            10% 93%,
            10% 13%,
            89% 13%,
            89% 6%,
            3% 6%,
            3% 8%,
            16% 8%,
            16% 79%,
            0% 79%,
            0% 99%,
            92% 99%,
            92% 90%,
            5% 90%,
            5% 60%,
            0% 60%,
            0% 48%,
            89% 48%,
            89% 13%,
            80% 13%,
            80% 43%,
            95% 43%,
            95% 19%,
            80% 19%,
            80% 85%,
            38% 85%,
            38% 62%
        );
    }
    1%, 7%, 33%, 47%, 78%, 93% {
        clip-path: none;
    }
}

@keyframes movement {
    0% {
        top: 0px;
        left: -20px;
    }
    15% {
        top: 10px;
        left: 10px;
    }
    60% {
        top: 5px;
        left: -10px;
    }
    75% {
        top: -5px;
        left: 20px;
    }
    100% {
        top: 10px;
        left: 5px;
    }
}

@keyframes opacity {
    0% {
        opacity: 0.1;
    }
    5% {
        opacity: 0.7;
    }
    30% {
        opacity: 0.4;
    }
    45% {
        opacity: 0.6;
    }
    76% {
        opacity: 0.4;
    }
    90% {
        opacity: 0.8;
    }
    1%, 7%, 33%, 47%, 78%, 93% {
        opacity: 0;
    }
}

@keyframes font {
    0% {
        font-weight: 100;
        color: #ff0066;
        filter: blur(3px);
    }
    20% {
        font-weight: 500;
        color: #000000;
        filter: blur(0);
    }
    50% {
        font-weight: 300;
        color: #00ccff;
        filter: blur(2px);
    }
    60% {
        font-weight: 700;
        color: #000000;
        filter: blur(0);
    }
    90% {
        font-weight: 500;
        color: #ff0066;
        filter: blur(6px);
    }
}

/* ===== ДЕКОДИРОВАННЫЙ ТЕКСТ ===== */
.decode-text{
    width: 100%;
    font-size: 80px;
    line-height: 1.5;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin-bottom: 60px;
    animation: fadeInUp 0.8s ease 1.5s forwards;
    z-index: 20000;
}

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

.text-animation{
    display: inline-block;
    position: relative;
    color: transparent;
    text-transform: uppercase;
    font-family: "Share Tech Mono", monospace;
    font-weight: bold;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.space{
    display: inline-block;
    width: 12px;
    height: 1em;
}

.text-animation:before{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: linear-gradient(45deg, #0e182d, #1a2b4d);
    width: 0;
    height: 1.4em;
    transform: translate(-50%, -55%);
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 2px;
}

.text-animation.state-1:before{
    width: 2px;
}

.text-animation.state-2:before{
    width: 1em;
}

.text-animation.state-3{
    color: #0e182d;
    transform: translateY(0);
    text-shadow: 0 0 10px rgba(14, 24, 45, 0.2);
}

.text-animation.state-3:before{
    width: 0;
}

.text-animation.reverse{
    color: transparent;
    transition: color 0.4s ease, transform 0.4s ease;
}

.text-animation.reverse:before{
    width: 0;
    transition: width 0.4s ease;
}

/* ===== ВАЖНО: ФИКС ДЛЯ ИСЧЕЗНОВЕНИЯ ===== */
/* Стили для анимации исчезновения */
.hero-container.fade-out,
.decode-text.fade-out,
.container.fade-out{
    opacity: 0 !important;
    transform: translateY(-30px) !important;
    transition: opacity 0.8s ease, transform 0.8s ease !important;
    pointer-events: none !important;
}

/* Анимация исчезновения текста */
.text-fade-out{
    animation: textFadeOut 1s forwards !important;
}

@keyframes textFadeOut {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(-20px);
    }
}

/* Анимация исчезновения глитч-текста */
.glitch-fade-out{
    animation: glitchFadeOut 1s forwards !important;
}

@keyframes glitchFadeOut {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(-30px);
    }
}

/* Анимация исчезновения всего контейнера */
.container-fade-out{
    animation: containerFadeOut 1.2s forwards !important;
}

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

/* Углы как рамка */
.corner{
    position: fixed;
    width: 60px;
    height: 60px;
    border: 4px solid #0e182d;
    background-color: transparent;
    z-index: 10;
    transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
}

.top-right{
    top: 80px;
    right: 80px;
    border-left: none;
    border-bottom: none;
}

.bottom-left{
    bottom: 80px;
    left: 80px;
    border-right: none;
    border-top: none;
}

.top-left{
    top: 80px;
    left: 80px;
    border-right: none;
    border-bottom: none;
}

.bottom-right{
    bottom: 80px;
    right: 80px;
    border-left: none;
    border-top: none;
}

/* Эффект приближения углов при наведении на кнопку */
body.button-hover .corner{
    width: 25px;
    height: 25px;
    border-width: 3px;
}

body.button-hover .top-right{
    top: calc(50% - 40px);
    right: calc(50% - 185px);
}

body.button-hover .bottom-left{
    bottom: calc(50% - 40px);
    left: calc(50% - 185px);
}

body.button-hover .top-left{
    top: calc(50% - 40px);
    left: calc(50% - 185px);
}

body.button-hover .bottom-right{
    bottom: calc(50% - 40px);
    right: calc(50% - 185px);
}

/* Кнопка "начать путешествие" */
.journey-button{
    position: fixed;
    top: 47.75%;
    left: 50%;
    transform: translateX(-50%) translateY(30px) scale(0.9);
    padding: 16px 40px;
    font-size: 20px;
    font-family: "Share Tech Mono", monospace;
    background: linear-gradient(135deg, #0e182d, #1a2b4d);
    color: white;
    border: none;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 10000;
    text-transform: lowercase;
    letter-spacing: 2px;
    box-shadow: 
        0 10px 30px rgba(14, 24, 45, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    overflow: hidden;
}

.journey-button.visible{
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0) scale(1);
}

.journey-button:hover{
    background: linear-gradient(135deg, #1a2b4d, #0e182d);
    transform: translateX(-50%) translateY(-5px) scale(1.05);
    box-shadow: 
        0 15px 40px rgba(14, 24, 45, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    letter-spacing: 3px;
}

/* Контейнер для гифки и голограммы */
.cyberhands-container{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.8s ease;
}

.cyberhands-container.visible{
    opacity: 1;
}

/* Стили для видео */
#cyberhands-video{
    max-width: 115%;
    max-height: 125vh;
    height: 105%;
    object-fit: cover;
    pointer-events: auto; /* разрешаем взаимодействие с видео */
}

/* Чтобы video вел себя как img */
.cyber-hands video{
    display: block;
    width: 100%;
    height: 100%;
    bottom: 0;
}

/* Контейнер для видео с фоном */
.video-container{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

/* Фоновый паттерн */
.video-background{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: 
        url("data:image/svg+xml,%3Csvg width='300' height='300' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='binary' patternUnits='userSpaceOnUse' width='20' height='20'%3E%3Cg opacity='0.03'%3E%3Ctext x='2' y='15' font-family='Courier New, monospace' font-size='8' fill='%23999999'%3E1010%3C/text%3E%3Ctext x='2' y='5' font-family='Courier New, monospace' font-size='8' fill='%23999999'%3E0101%3C/text%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23binary)'/%3E%3C/svg%3E"),
        url("data:image/svg+xml,%3Csvg width='500' height='500' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='cyberIcons' patternUnits='userSpaceOnUse' width='100' height='100'%3E%3Cg opacity='0.02'%3E%3C!-- Замок --%3E%3Cpath d='M25,40 L25,60 Q25,70 35,70 L65,70 Q75,70 75,60 L75,40 Q75,30 65,30 L35,30 Q25,30 25,40 Z' stroke='%23777777' stroke-width='0.8' fill='none'/%3E%3Crect x='45' y='50' width='10' height='15' fill='%23777777'/%3E%3C!-- Щит --%3E%3Cpath d='M50,15 Q70,20 85,35 Q90,50 85,65 Q70,80 50,85 Q30,80 15,65 Q10,50 15,35 Q30,20 50,15 Z' stroke='%23777777' stroke-width='0.8' fill='none'/%3E%3C!-- Ключ --%3E%3Cpath d='M10,90 L30,90' stroke='%23777777' stroke-width='2'/%3E%3Ccircle cx='30' cy='90' r='5' stroke='%23777777' stroke-width='0.8' fill='none'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23cyberIcons)'/%3E%3C/svg%3E"),
        radial-gradient(circle at 25px 25px, rgba(200, 200, 200, 0.15) 1px, transparent 2px);
    
    background-size: 
        300px 300px,
        500px 500px,
        50px 50px;
    
    background-position: 
        0 0,
        0 0,
        0 0;
    
    /* Добавляем затемнение для лучшей видимости видео */
    background-color: rgba(255, 255, 255, 0.95);
}

/* Контейнер для гифки */
.cyber-hands{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    pointer-events: none; /* если нужно, чтобы клики проходили сквозь */
    z-index: 1000;
}

.cyberhands-container.visible .hologram-overlay{
    opacity: 1;
    pointer-events: all;
}

#main-text{
    position: absolute;
    font-family: 'Minicomputer';
}

@font-face {
    font-family: 'Minicomputer';
    src: url('fonts/MinicomputerUl-Regular.woff2') format('woff2');
    font-weight: 250;
    font-style: normal;
    font-display: swap;
}

/* Анимированные GIF заменены на более лёгкие WebM. */
.gif-image1,
.planet-gif{
    display: block;
    max-width: 100%;
    object-fit: contain;
}

        /* === ТЕКСТ СНИЗУ === */
        #main-text{
            position: absolute;
            top: 0;
            left: 53%;
            transform: translateX(-50%) translateY(30px);
            z-index: 10;
            text-align: center;
            opacity: 1;
            transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
            transition-delay: 0.6s;
            pointer-events: none;
        }

        #main-text.show{
            opacity: 1;
            transform: translateX(-50%) translateY(0);
            filter: blur(0);
            pointer-events: all;
        }

        #main-text h1{
            color: rgb(255, 255, 255);
            font-size: 150px;
            font-weight: 700;
            letter-spacing: 70px;
            text-transform: uppercase;

            background-size: 200% auto;
            -webkit-background-clip: text;
            animation: textShine 4s linear infinite;
        }

        @keyframes textShine {
            0% { background-position: -200% center; }
            100% { background-position: 200% center; }
        }

        /* === АДАПТИВ === */
        @media (max-width: 1024px){
            .robot-image{ max-width: 70%; max-height: 65vh; }
            .hand-image img{ width: 160px; }
            .hand-image .label{ font-size: 15px; letter-spacing: 3px; }
            #hand-left{ top: 25%; left: 10%; }
            #hand-right{ top: 25%; right: 10%; }
            #main-text h1{ font-size: 36px; letter-spacing: 8px; }
        }

        @media (max-width: 768px){
            .robot-image{ max-width: 85%; max-height: 55vh; }
            .hand-image img{ width: 120px; }
            .hand-image .label{ font-size: 12px; letter-spacing: 2px; margin-top: 6px; }
            #hand-left{ top: 28%; left: 5%; }
            #hand-right{ top: 28%; right: 5%; }
            #main-text h1{ font-size: 24px; letter-spacing: 5px; }
            #start-btn{ padding: 16px 40px; font-size: 22px; }
        }

        @media (max-width: 480px){
            .robot-image{ max-width: 95%; max-height: 50vh; }
            .hand-image img{ width: 80px; border-radius: 8px; }
            .hand-image .label{ font-size: 9px; letter-spacing: 1px; margin-top: 4px; }
            #hand-left{ top: 32%; left: 3%; }
            #hand-right{ top: 32%; right: 3%; }
            #main-text h1{ font-size: 16px; letter-spacing: 3px; }
            #start-btn{ padding: 12px 24px; font-size: 16px; }
        }

/* Контейнер голограмм - скрыт по умолчанию */
.hologram-container{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    pointer-events: none;
    z-index: 1001;
    padding: 0 5%;
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.6s ease;
}

.hologram-container.active{
    opacity: 1;
}

/* Позиционирование левой голограммы */
#hologram-left{
    top: 35%; /* Над левой рукой */
    left: 3%;   /* Ближе к левому краю */
}

/* Позиционирование правой голограммы */
#hologram-right{
    top: 35%; /* Над правой рукой */
    right: 3%;  /* Ближе к правому краю */
}

/* Отдельные голограммы - скрыты */
.hologram-overlay{
   position: fixed;
    width: 500px;
    height: 500px;
    opacity: 0;
    pointer-events: none;
    z-index: 1001;
    cursor: pointer;
    border-radius: 16px;
    overflow: hidden;
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.hologram-overlay.show{
    opacity: 1;
    pointer-events: auto;
}

/* Видео внутри - скрыты до появления голограммы */
.hologram-video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0 !important; /* Скрыто */
    visibility: hidden !important; /* Полностью скрыто */
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.hologram-overlay.show .hologram-video{
    opacity: 1 !important;
    visibility: visible !important;
}


/* Стили для картинок внутри голограмм */
.hologram-frame{
    width: 100%;
    height: 38%;
    object-fit: cover;
    display: block;
    opacity: 0;                    /* Скрыты по умолчанию */
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Показываем картинки, когда голограмма активна */
.hologram-overlay.show .hologram-frame{
    opacity: 1;                    /* Становятся видимыми */
}

/* Если у вас есть видео - оно тоже должно показываться */
.hologram-overlay.show .hologram-video{
    opacity: 1 !important;
    visibility: visible !important;
}



/* Адаптивность */
@media (max-width: 768px){
    .hologram-overlay{
        width: 180px;
        height: 110px;
        margin-bottom: 30px;
    }
    
    .hologram-content{
        font-size: 18px;
    }
    
    #hologram-left{
        margin-left: 5%;
    }
    
    #hologram-right{
        margin-right: 5%;
    }
}

@media (max-width: 480px){
    .hologram-overlay{
        width: 140px;
        height: 85px;
        margin-bottom: 20px;
    }
    
    .hologram-content{
        font-size: 14px;
        letter-spacing: 1px;
    }
    
    .hologram-container{
        padding: 0 2%;
    }
}

/* Адаптивность */
@media (max-width: 1024px){
    .hero{
        font-size: clamp(30px, 6vw, 60px);
        letter-spacing: 5px;
    }
    
    .decode-text{
        font-size: 24px;
    }
}

@media (max-width: 768px){
    .hero{
        font-size: clamp(24px, 5vw, 40px);
        letter-spacing: 3px;
    }
    
    .hero-container{
        padding: 60px 0;
        margin-bottom: 30px;
    }
    
    .decode-text{
        font-size: 18px;
        gap: 3px;
    }
    
    .container{
        max-width: 95%;
        padding: 20px;
    }
    
    .corner{
        width: 40px;
        height: 40px;
        border-width: 3px;
    }
    
    body.button-hover .corner{
        width: 30px;
        height: 30px;
    }
    
    body.button-hover .top-right{
        top: calc(50% - 120px);
        right: calc(50% - 120px);
    }
    
    body.button-hover .bottom-left{
        bottom: calc(50% - 120px);
        left: calc(50% - 120px);
    }
    
    body.button-hover .top-left{
        top: calc(50% - 120px);
        left: calc(50% - 120px);
    }
    
    body.button-hover .bottom-right{
        bottom: calc(50% - 120px);
        right: calc(50% - 120px);
    }
}

@media (max-width: 480px){
    .hero{
        font-size: clamp(20px, 4vw, 30px);
        letter-spacing: 2px;
    }
    
    .hero-container{
        padding: 40px 0;
        margin-bottom: 20px;
    }
    
    .decode-text{
        font-size: 16px;
    }
    
    .journey-button{
        padding: 14px 35px;
        font-size: 16px;
    }
    
    .corner{
        width: 30px;
        height: 30px;
        border-width: 2px;
    }
    
}

.hero-container.visible{
    opacity: 1;
    transform: translateY(0);
}

/* Если нет, добавьте в конец CSS */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#glitch-container{
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

/* Стили для одновременного исчезновения */
.text-fade-out,
.fade-out{
    opacity: 0 !important;
    pointer-events: none !important;
    transition: all 0.8s ease !important;
}

.text-fade-out{
    transform: translateY(-20px) !important;
}

.fade-out{
    transform: translateY(-30px) !important;
}

/* Точное позиционирование над руками */
/* #hologram-left.precise-position {
    position: absolute;
    bottom: 35%;
    left: 25%;
    transform: translateX(-50%) translateY(20px);
}

#hologram-right.precise-position {
    position: absolute;
    bottom: 35%;
    right: 25%;
    transform: translateX(50%) translateY(20px);
}

#hologram-left.precise-position.show {
    transform: translateX(-50%) translateY(0);
}

#hologram-right.precise-position.show {
    transform: translateX(50%) translateY(0);
} */










/* ===== БЛОК НАГРАД ===== */
.prizes-screen{
    position: relative;
    width: 100%; /* Изменил на 100% */
    min-height: 55vh;
    z-index: 9998;
    display: flex;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
}

.prizes-screen.active{
    opacity: 1;
    pointer-events: all;
}

/* Добавляем контейнер для центрирования содержимого */
.prizes-content-wrapper{
  width: 100%;
    max-width: 1400px;
}

.prizes-container{
    width: 100%;
    padding: 40px;
    position: relative;
    min-height: auto; /* Убрал min-height */
}

.block-header{
    margin-bottom: 40px; /* Уменьшил отступ */
    position: relative;
}

.block-title{
    font-size: 42px;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    position: relative;
    font-family: 'Share Tech Mono', monospace;
}

.block-title::after{
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 3px;
    background: #ffffff;
}

.prizes-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px; /* Уменьшил отступ */
}

.prize-card{
    padding: 30px;
    border: 2px solid #0e182d;
    border-radius: 10px;
    background: #ffffff;
    position: relative;
    transition: all 0.3s ease;
        transform: translate(-4px, -4px);
    box-shadow: 8px 8px 0 #ffffff;
}

.prize-rank{
    font-size: 14px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    font-weight: 700;
    font-family: 'Share Tech Mono', monospace;
}

.prize-name{
    font-size: 24px;
    font-weight: 700;
    color: #0e182d;
    margin-bottom: 20px;
    line-height: 1.3;
    font-family: 'Share Tech Mono', monospace;
}

.prize-amount{
    font-size: 48px;
    font-weight: 900;
    color: #0e182d;
    margin: 25px 0;
    line-height: 1;
    letter-spacing: -1px;
    font-family: 'Share Tech Mono', monospace;
}

.prize-description{
    color: #666;
    font-size: 15px;
    line-height: 1.6;
}

.section-title{
    font-size: 28px;
    font-weight: 700;
    color: #0e182d;
    margin-bottom: 30px; /* Уменьшил отступ */
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Share Tech Mono', monospace;
}

.total-summary{
    margin-top: 40px; /* Уменьшил отступ */
    padding: 30px; /* Уменьшил отступ */
    background: #ffffff;
    color: rgb(0, 0, 0);
    text-align: center;
    border-radius: 10px;
    border: 2px solid #0e182d;
    position: relative;
    overflow: hidden;
    transform: translate(-4px, -4px);
    box-shadow: 8px 8px 0 #ffffff;
    height: 36vh;
}

.total-summary::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #ffffff, transparent);
    animation: scan 3s linear infinite;
}

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

.total-label{
    font-size: 19px;
    color: rgba(0, 0, 0, 0.8);
    text-transform: uppercase;
    letter-spacing: 10px;
    margin-top: 70px; /* Уменьшил отступ */
    font-family: 'Share Tech Mono', monospace;
    font-weight:700;
}

.total-amount{
    font-size: 110px;
    font-weight: 900;
    color: rgb(0, 0, 0);
    letter-spacing: 2px;
    font-family: 'Share Tech Mono', monospace;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.1;
}

.total-amount .amount-line{
    display: block;
}

.total-amount .amount-line:first-child{
    font-size: 200px;
}

.total-amount .amount-line:last-child{
    font-size: 65px;
    color: rgba(0, 0, 0, 0.5);
    letter-spacing: 6px;
    margin-top: 2px;
}

.info-note{
    margin-top: 60px; /* Уменьшил отступ */
    padding: 15px; /* Уменьшил отступ */
    background: #ffffff;
    border: 1px solid rgba(14, 24, 45, 0.1);
    border-radius: 10px;
    font-size: 14px;
    color: #000000;
    line-height: 1.6;
    text-align: center;
    font-family: 'Share Tech Mono', monospace;
}

/* Адаптивность */
@media (max-width: 1200px){
    .prizes-grid{
        grid-template-columns: repeat(2, 1fr);
    }
    
    .block-title{
        font-size: 36px;
    }
    
    .prize-amount{
        font-size: 40px;
    }
    
    .total-amount{
        font-size: 52px;
    }
}

@media (max-width: 1024px){
    .prizes-screen{
        padding: 40px 20px;
    }
    
    .prizes-container{
        padding: 30px;
    }
}

@media (max-width: 768px){
    .prizes-screen{
        top: 130vh; /* Немного увеличил отступ для мобильных */
        padding: 30px 15px;
    }
    
    .prizes-container{
        padding: 25px;
    }
    
    .prizes-grid{
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    
    .block-title{
        font-size: 32px;
    }
    
    .prize-name{
        font-size: 22px;
    }
    
    .prize-amount{
        font-size: 36px;
    }
    
    .total-amount{
        font-size: 44px;
    }
    
    .section-title{
        font-size: 24px;
    }
    
    .prize-card{
        padding: 25px;
    }
}

@media (max-width: 480px){
    .prizes-screen{
        top: 140vh; /* Еще немного увеличил для маленьких экранов */
        padding: 20px 10px;
    }
    
    .prizes-container{
        padding: 20px;
    }
    
    .block-title{
        font-size: 28px;
    }
    
    .prize-amount{
        font-size: 32px;
    }
    
    .total-amount{
        font-size: 36px;
    }
    
    .total-summary{
        padding: 20px;
    }
}

/* ===== ПЛАНШЕТ С КАРТОЙ (1600px) ===== */
.tablet{
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

/* ЛЕВАЯ КОЛОНКА - 80% / ПРАВАЯ - 20% */
.two-columns{
    display: grid;
}

/* ===== ЛЕВАЯ КОЛОНКА ===== */
.left-col{
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.map-container{
    background: #2d4f4c;
    border-radius: 35px;
    padding: 20px;
    box-shadow: inset 0 -5px 0 #0b1f2b, 0 15px 40px rgba(0, 0, 0, 0.6);
    overflow: hidden;
}

.map-iframe{
    width: 100%;
    height: 500px;
    border: none;
    border-radius: 25px;
    display: block;
    background: #1a4055;
    box-shadow: inset 0 0 0 1px #6f9bb3;
}

/* Местоположение */
.location-block{
    background: #2d4f4c;
    border-radius: 28px;
    padding: 18px 26px;
    box-shadow: inset 0 -4px 0 #0b1f2b, 0 10px 25px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.location-label{
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #ffffff;
    opacity: 0.7;
    display: flex;
    align-items: center;
    gap: 8px;
}

.location-label i{
    font-size: 1rem;
}

.location-value{
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: #ffffff;
    font-size: 1.1rem;
    background: #1E1E1C;
    padding: 6px 20px 6px 14px;
    border-radius: 40px;
    border: 1px solid #ffffff;
}

.location-value i{
    color: #7bb8d9;
    font-size: 1.1rem;
}

.location-coords{
    font-size: 0.8rem;
    background: #1E1E1C;
    padding: 5px 16px;
    border-radius: 40px;
    color: #ffffff;
    border: 1px solid #2f6580;
}

/* ===== ПРАВАЯ КОЛОНКА (20%) ===== */
.right-col{
    display: flex;
    flex-direction: column;
    gap: 22px;
}

/* Блок с планетой */
.planet-block{
    border-radius: 28px;
    padding: 20px 16px 18px;
    border: 1px solid #000000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    background: #000000;
}

.planet-label{
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #9dc6db;
    opacity: 0.5;
    margin-bottom: 10px;
}

.planet-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Гифка-планета */
.planet-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 12px;
    width: 240px;
    height: 240px;
    overflow: hidden;
}

.planet-gif{
    width: 180%;
    height: 180%;
    object-fit: cover;
    border-radius: 50%;
}


/* ===== АДАПТИВ ===== */
@media (max-width: 1200px){
    .tablet{
        max-width: 95%;
        padding: 30px;
        border-radius: 48px;
    }
    .two-columns{
        grid-template-columns: 75% 25%;
        gap: 25px;
    }
    .map-iframe{
        height: 420px;
    }
    .planet-icon{
        width: 100px;
        height: 100px;
    }
    .planet-block{
        min-height: 220px;
    }
}

@media (max-width: 1024px){
    .two-columns{
        grid-template-columns: 70% 30%;
        gap: 22px;
    }
    .planet-icon{
        width: 90px;
        height: 90px;
        padding: 10px;
    }
    .planet-block{
        min-height: 200px;
        padding: 16px 12px;
    }
    .map-iframe{
        height: 380px;
    }
}

@media (max-width: 850px){
    .two-columns{
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .tablet{
        padding: 24px;
        border-radius: 40px;
    }
    .planet-block{
        min-height: 180px;
        padding: 20px;
    }
    .planet-icon{
        width: 100px;
        height: 100px;
    }
    .map-iframe{
        height: 350px;
    }
    .location-block{
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        padding: 16px 20px;
    }
    .location-value{
        font-size: 1rem;
        padding: 6px 18px;
    }
}

@media (max-width: 480px){
    .tablet{
        padding: 16px;
        border-radius: 30px;
    }
    .planet-icon{
        width: 76px;
        height: 76px;
        padding: 10px;
    }
    .planet-block{
        min-height: 140px;
        padding: 14px;
        border-radius: 22px;
    }
    .deco-btn{
        padding: 7px 14px;
        font-size: 0.7rem;
        gap: 6px;
    }
    .deco-btn i{
        font-size: 0.8rem;
    }
    .deco-btn.small{
        padding: 5px 10px;
        font-size: 0.6rem;
    }
    .location-value{
        font-size: 0.85rem;
        padding: 4px 12px;
    }
    .map-iframe{
        height: 240px;
    }
    .map-container{
        padding: 12px;
        border-radius: 24px;
    }
    .location-block{
        padding: 12px 14px;
        border-radius: 22px;
        gap: 10px;
    }
    .location-label{
        font-size: 0.65rem;
    }
    .location-coords{
        font-size: 0.65rem;
        padding: 4px 12px;
    }
    .planet-label{
        font-size: 0.65rem;
    }
    .planet-rotate-hint{
        font-size: 0.55rem;
    }
}

/* Кастомные маркеры для карты */
.cyber-marker{
    width: 40px;
    height: 40px;
    background: #ffffff;
    border: 3px solid #0e182d;
    transform: rotate(45deg);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 15px rgba(0, 204, 255, 0.5);
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    animation: marker-pulse 2s infinite;
}

.cyber-marker::before{
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    border: 1px solid #00ccff;
    animation: marker-rotate 4s linear infinite;
}

.cyber-marker::after{
    content: '⚡';
    transform: rotate(-45deg);
    font-size: 20px;
    color: #ff0066;
}

.cyber-marker:hover{
    transform: rotate(45deg) scale(1.2);
    border-color: #ff0066;
    box-shadow: 0 0 20px rgba(255, 0, 102, 0.7);
}

@keyframes marker-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

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

/* Информационное окно маркера */
.cyber-popup{
    background: #ffffff;
    border: 3px solid #0e182d;
    padding: 15px;
    font-family: 'Share Tech Mono', monospace;
    position: relative;
    min-width: 200px;
}

.cyber-popup::before{
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border: 1px solid rgba(0, 204, 255, 0.3);
    pointer-events: none;
}

.cyber-popup h3{
    color: #0e182d;
    font-size: 16px;
    margin: 0 0 10px 0;
    text-transform: uppercase;
    border-bottom: 1px solid #0e182d;
    padding-bottom: 5px;
}

.cyber-popup p{
    color: #666;
    font-size: 12px;
    margin: 5px 0;
}

.cyber-popup .popup-status{
    display: inline-block;
    padding: 3px 8px;
    background: #0e182d;
    color: white;
    font-size: 10px;
    text-transform: uppercase;
    margin-top: 8px;
}

/* Адаптивность */
@media (max-width: 1024px){
    .map-label{
        font-size: 60px;
        left: -70px;
    }
    
}

@media (max-width: 768px){
    .map-screen{
        min-height: 500px;
        padding: 40px 15px;
    }

    .map-label{
        display: none;
    }

    .map-wrapper{
        height: 350px;
    }
    
    .map-controls{
        width: 100%;
        justify-content: flex-end;
    }
}

@media (max-width: 480px){
    .map-wrapper{
        height: 300px;
    }
    

    
    .coordinates{
        font-size: 12px;
        flex-wrap: wrap;
    }
}


.reg-screen{
    position: relative;
    left: 0;
    width: 100%;
    min-height: 90vh;
    z-index: 9996;
    display: flex;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
    padding: 40px 0;
}

.reg-screen.active{
    opacity: 1;
    pointer-events: all;
}

/* ===== БЛОК РЕГИСТРАЦИИ ===== */

.registration-screen{
    position: relative;
    width: 100%;
    min-height: 80vh;
    z-index: 9996;
    display: flex;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
    padding: 40px 0;

}

.registration-screen.active{
    opacity: 1;
    pointer-events: all;
}

/* Большая надпись РЕГИСТРАЦИЯ справа */
.registration-label{
    position: absolute;
    top: 50%;
    left: -170px;
    transform: translateY(-50%) rotate(-90deg);
    font-family: 'Share Tech Mono', monospace;
    font-size: 70px;
    color: #ffffff;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 6px;
    white-space: nowrap;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}


/* Большая надпись РЕГИСТРАЦИЯ справа */
.registration-lab{
    position: absolute;
    top: 50%;
    left: -170px;
    transform: translateY(-50%) rotate(-90deg);
    font-family: 'Share Tech Mono', monospace;
    font-size: 70px;
    color: #000000;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 6px;
    white-space: nowrap;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}


/* Основной контейнер */
.registration-container{
    width: 90%;
    max-width: 1400px;
    background: #ffffff;
    border: 3px solid #0e182d;
    border-radius: 10px;
    box-shadow: 0 15px 40px rgba(14, 24, 45, 0.15);
    padding: 30px;
    position: relative;
}

/* Заголовок */
.registration-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid #0e182d;
    position: relative;
}

.registration-title{
    font-family: 'Share Tech Mono', monospace;
    font-size: 32px;
    color: #0e182d;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin: 0;
}

.registration-title::before{
    content: '[';
    color: #60BFB5;
    margin-right: 10px;
}

.registration-title::after{
    content: ']';
    color: #60BFB5;
    margin-left: 10px;
}

.registration-badge{
    background: #0e182d;
    color: white;
    padding: 6px 16px;
    font-family: 'Share Tech Mono', monospace;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Две колонки */
.registration-columns{
    display: flex;
    gap: 40px;
    margin-bottom: 30px;
}

.registration-left,
.registration-right{
    flex: 1;
}

/* Поля формы */
.form-group{
    margin-bottom: 20px;
}

.form-label{
    display: block;
    font-family: 'Share Tech Mono', monospace;
    font-size: 14px;
    color: #1a2b4d;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.label-icon{
    color: #ff0066;
    margin-right: 5px;
}

.form-input{
    width: 100%;
    background: #ffffff;
    border: 2px solid rgba(14, 24, 45, 0.2);
    color: #0e182d;
    font-family: 'Share Tech Mono', monospace;
    font-size: 16px;
    padding: 12px 15px;
    transition: all 0.3s ease;
}

.form-input:focus{
    outline: none;
    border-color: #00ccff;
    box-shadow: 0 0 15px rgba(0, 204, 255, 0.3);
}

.form-input::placeholder{
    color: rgba(14, 24, 45, 0.2);
}

/* Футер */
.registration-footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid #0e182d;
}

.form-status{
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Кнопка */
.cyber-btn{
    background: linear-gradient(135deg, #0e182d, #1a2b4d);
    color: white;
    border: none;
    padding: 12px 30px;
    font-size: 14px;
    font-family: 'Share Tech Mono', monospace;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(14, 24, 45, 0.3);
}

.cyber-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(14, 24, 45, 0.4);
    letter-spacing: 3px;
}

/* Адаптивность */
@media (max-width: 1200px){
    .registration-label{
        font-size: 60px;
        right: -200px;
    }
}

@media (max-width: 1024px){
    .registration-label{
        font-size: 50px;
        right: -150px;
    }
}

@media (max-width: 768px){
    .registration-screen{
        top: 250vh;
        padding: 20px 0;
    }
    
    .registration-label{
        display: none;
    }
    
    .registration-columns{
        flex-direction: column;
        gap: 20px;
    }
    
    .registration-title{
        font-size: 24px;
    }
    
    .registration-footer{
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
    }
    
    .cyber-btn{
        width: 100%;
    }
}


/* ============================================================
   ПРОГРАММА ДЛЯ СЛУШАТЕЛЯ (3 КОЛОНКИ)
   ============================================================ */

/* Подзаголовок */
.sub{
    font-weight: 900;
    font-size: 70px;
    text-align: center;
    margin: 20px;
    color: rgb(0, 0, 0);
    font-family: 'Play', sans-serif;
    line-height: 1.5;
}


.sub2{
    font-weight: 900;
    font-size: 30px;
    max-width: 1500px;
    text-align: center;
    margin: 20px auto 35px;
    color: rgb(0, 0, 0);
    font-family: 'Play', sans-serif;
    line-height: 1.5;
}

.sub3{
    font-weight: 900;
    font-size: 70px;
    text-align: center;
    margin: 20px auto 35px;
    color: rgb(255, 255, 255);
    font-family: 'Play', sans-serif;
    line-height: 1.5;
}

/* Верхняя панель */
.schedule{
    display: flex;
    gap: 2rem;
    align-items: center;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    justify-content: center;
    font-family: 'Play', sans-serif;
    font-weight: 400;
}

.schedule_time{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgb(0, 0, 0);
    font-size: 20px;
    font-weight:700;

background: #60BFB5 ;

    width: fit-content;
    padding: 0 3px;

}

.schedule_time svg{
    stroke: rgb(0, 0, 0);
}

/* Кнопка скачивания */
.download-button{
    position: relative;
    border: none;
    cursor: pointer;
    background: none;
    font-family: 'Play', sans-serif;
}

.download-button .docs{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 8px;
    background: #1E1E1C;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    border: 1px solid rgba(232, 232, 232, 0.18);
    transition: all 0.4s ease;
    position: relative;
    z-index: 2;
}

.download-button .docs svg{
    stroke: #ffffff;
}

.download{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #60BFB5;
    transform: translateY(0);
    transition: all 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    z-index: 1;
}

.download-button:hover .download{
    transform: translateY(100%);
}

.download svg polyline,
.download svg line{
    animation: docs 1s infinite;
}

@keyframes docs {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15%); }
}



 .schedule-new-block{
             width: 100%;
            padding: 10px;
        }

        /* ===== ЗАГОЛОВОК ===== */
        .schedule-new-header{
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 15px;
            margin-bottom: 8px;
            padding-bottom: 15px;
            border-bottom: 3px solid #0e182d;
        }

        .schedule-new-title{
            font-family: 'Share Tech Mono', monospace;
            font-size: 28px;
            font-weight: 700;
            color: #0e182d;
            text-transform: uppercase;
            letter-spacing: 3px;
            margin: 0;
        }

        .schedule-new-title .bracket{
            color: #60BFB5;
        }

        .schedule-new-title .bracket:last-child{
            color: #00ccff;
            margin-left: 8px;
        }

        .schedule-new-badge{
            background: #1E1E1C;
            color: #ffffff;
            padding: 6px 20px;
            font-family: 'Share Tech Mono', monospace;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 2px;
            border-radius: 30px;
        }

        /* ===== ТРИ КОЛОНКИ ===== */
        .schedule-columns{
            display: flex;
            gap: 20px;
            align-items: stretch;
        }

        .schedule-column{
            flex: 1;
    
        }

        /* Заголовок колонки */
        .column-header{
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 16px;
            padding-bottom: 10px;
            border-bottom: 2px solid #e8ecf0;
        }

        .column-icon{
            color: #60BFB5;
            font-size: 20px;
            font-weight: 700;
        }

        .column-header h3{
            font-family: 'Share Tech Mono', monospace;
            font-size: 20px;
            font-weight: 700;
            color: #0e182d;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin: 0;
        }

        /* ===== СПИСОК В КОЛОНКЕ ===== */
        .column-list{
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        /* ===== КАЖДЫЙ ПУНКТ ===== */
        .schedule-item{
            display: flex;
            align-items: stretch;
            gap: 14px;
            padding: 3px;
            background: #fafbfc;
            border-radius: 8px;
            border-left: 3px solid #e8ecf0;
            transition: all 0.3s ease;
        }

        .schedule-item:hover{
            background: #f0f2f5;
            transform: translateX(3px);
        }

        /* Цвета границ */
        .schedule-item.org{
            border-left-color: #60BFB5;
        }
        .schedule-item.talk{
            border-left-color: #60BFB5;
        }
        .schedule-item.practice{
            border-left-color: #60BFB5;
        }
        .schedule-item.break{
            border-left-color: #60BFB5;
            background: #f7f7f7;
        }

        /* ===== ЧИП (время + тег) — отдельный блок ===== */
        .item-chip{
            min-width: 110px;
            max-width: 140px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 3px;
            padding: 5px;
            border-radius: 5px;
            flex-shrink: 0;
            text-align: center;
            font-family: 'Share Tech Mono', monospace;
            border: 2px solid transparent;
        }

        .item-chip .item-time{
            font-size: 15px;
            font-weight: 700;
            line-height: 1.2;
            letter-spacing: 0.3px;
        }

        .item-chip .item-tag{
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            padding: 1px 10px;
            border-radius:5px;
            border: 1px solid transparent;
        }

        /* Цвета чипов */
        .item-chip.grey{
            background: #f0f2f5;
            border-color: #d4d7dd;
            color: #333;
        }
        .item-chip.grey .item-tag{
            background: #e0e2e6;
            color: #555;
            border-color: #ccc;
        }

        .item-chip.org{
            background: #e8ecf2;
            border-color: #c8d0dc;
            color: #1a2b4d;
        }
        .item-chip.org .item-tag{
            background: #d5dce6;
            color: #1a2b4d;
            border-color: #b0bccd;
        }

        .item-chip.dark{
            background: #1E1E1C;
            border-color: #1E1E1C;
            color: #ffffff;
        }
        .item-chip.dark .item-tag{
            background: #1E1E1C;
            color: #ffffff;
        }

        .item-chip.green{
            background: #e6f5ed;
            border-color: #b8dccc;
            color: #0b6e4f;
        }
        .item-chip.green .item-tag{
            background: #c8e8d8;
            color: #0b6e4f;
            border-color: #a0c8b4;
        }

        /* ===== КОНТЕНТ (тема + спикер) ===== */
        .item-content{
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 2px 0;
        }

        .item-title{
            font-family: 'Play';
            font-size: 15px;
            font-weight: 700;
            color: #0e182d;
            line-height: 1.4;
        }

        .item-speaker{
            font-size: 1rem;
            color: #000000;
            line-height: 1.3;
            margin-top: 2px;
        }
        /* Перерывы — скрываем спикера */
        .schedule-item.break .item-speaker{
            display: none;
        }
        .schedule-item.break .item-title{
            font-weight: 700;
            color: #000000;
        }



        @keyframes pulse-dot-new {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.4; transform: scale(0.8); }
        }

  
/* ===== ТРИ КОЛОНКИ ===== */
/* .program-blocks-horizontal {
    display: flex;
    gap: 20px;
    margin-top: 40px;
    align-items: stretch;
    width: 100%;
}


.program-block.narrow {
    flex: 1;
    min-width: 0;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 20px 16px 18px;
    transition: all 0.3s ease;
}

.program-block.wide {
    flex: 2.4;
    min-width: 0;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 20px 16px 18px;
    transition: all 0.3s ease;
}

.program-block.narrow:hover,
.program-block.wide:hover {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.03);
    transform: translateY(-2px);
}

.timeline-view.double {
   display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
}

.double-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.block-header {
    text-align: center;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    position: relative;
}

.block-header::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #00ccff, transparent);
    opacity: 0.4;
}

.block-title {
    font-size: 15px;
    font-weight: 600;
    color: #000000;
    margin: 0;
    letter-spacing: 2px;
    text-transform: uppercase;
    opacity: 0.9;
    font-family: 'Play', sans-serif;
}

.timeline-view {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.timeline-item {
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(0, 0, 0, 0.568);
    border-radius: 8px;
    transition: all 0.3s ease;
    position: relative;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 0;
    border-radius: 2px;
    transition: height 0.3s ease;
}

.timeline-item:hover::before {
    height: 25px;
}

.timeline-item:hover {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    transform: translateX(3px);
}

.timeline-item.session::before {
    background: #00ccff;
}
.timeline-item.practice::before {
    background: #ff0066;
}
.timeline-item.organizational::before {
    background: #00ff88;
}

.timeline-time {
    font-family: 'Share Tech Mono', monospace;
    font-size: 12px;
    color: rgb(0, 0, 0);
    font-weight: 500;
    margin-bottom: 4px;
    letter-spacing: 0.5px;
}

.timeline-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.timeline-title {
    font-family: 'Play', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #000000;
    line-height: 1.4;
}

.timeline-speaker {
    font-family: 'Play', sans-serif;
    font-size: 12px;
    color: rgb(0, 0, 0);
    line-height: 1.3;
}

.timeline-tag {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid transparent;
    align-self: flex-start;
    margin-top: 4px;
}

.timeline-tag.session {
    color: #1f5c6bb3;
    border-color: rgba(0, 204, 255, 0.15);
}

.timeline-tag.practice {
    color: #801f1fb3;
    border-color: rgba(255, 0, 102, 0.15);
}

.timeline-tag.organizational {
    color: #2c6b4db3;
    border-color: rgba(0, 255, 136, 0.15);
}


@media (max-width: 1200px) {
    .program-blocks-horizontal {
        flex-wrap: wrap;
        gap: 18px;
    }
    
    .program-block.narrow,
    .program-block.wide {
        flex: 1 1 calc(50% - 18px);
        min-width: 260px;
    }
    
    .program-block.wide {
        flex: 1 1 100%;
    }
    
    .timeline-view.double {
        flex-direction: column;
        gap: 8px;
    }
}

/* ============================================================
   БЛОК СПИКЕРОВ
   ============================================================ */



.speakers-screen{
    position: relative;
    width: 100%;
    padding: 60px 20px 80px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
    overflow: hidden;
    justify-items: center;
}

.speakers-screen.active{
    opacity: 1;
    pointer-events: all;
}

.speakers-screen.hidden{
    display: none;
}

/* ===== ОСНОВНОЙ КОНТЕЙНЕР ===== */
.speakers-container{
    width: 100%;
    position: relative;
    z-index: 2;
}

/* ===== ЗАГОЛОВОК ===== */
.speakers-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 35px;
    padding-bottom: 15px;
    border-bottom: 3px solid #0e182d;
    position: relative;
}

.speakers-header::after{
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100px;
    height: 3px;
}

.speakers-main-title{
    font-family: 'Share Tech Mono', monospace;
    font-size: 28px;
    font-weight: 700;
    color: #1E1E1C;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin: 0;
}

.speakers-main-title::before{
    content: '▌';
    color: #60BFB5;
    margin-right: 8px;
}

.speakers-badge{
    background: #1E1E1C;
    color: white;
    padding: 6px 20px;
    border-radius: 30px;
    font-family: 'Share Tech Mono', monospace;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.speakers-label{
    position: absolute;
    top: 25%;
    right: -100px; /* Вынесено ВПРАВО от блока */
    transform: translateY(-50%) rotate(90deg); /* Поворот 90 градусов */
    font-family: 'Share Tech Mono', monospace;
    font-size: 80px;
    color: rgba(0, 0, 0, 0.15);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 6px;
    white-space: nowrap;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}
/* ============================================================
   ОСТАЛЬНЫЕ СТИЛИ (ТВОИ)
   ============================================================ */

/* ============ СТИЛИ ДЛЯ СЕКЦИИ СПИКЕРОВ ============ */
.speakers-section{
    width: 100%;
    margin: 0 auto;
}

.speakers-grid{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 25px;
    margin: 0;
}

.speaker-card{
    position: relative;
    text-align: center;
    cursor: default;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    min-height: 484px;
    padding: 30px 25px 25px;
    transition: all 0.3s ease;
    background: white;

}

/* Рамка через псевдоэлемент */
.speaker-card::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 99%;
    height: 99%;
    border-radius:10px;
    border: 2px solid #0e182d;
    background-image: url(images/png-klev-club-id8k-p-kiberpank-png-24-Photoroom.png);
    /* background-size: contain; */
    z-index: 0;
    pointer-events: none;
    transition: transform 0.4s ease;    
    opacity: 0.15;
}

/* Вторая рамка - сплошная (без картинки) */
.speaker-card::after{
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    border: 2px solid #0e182d;
    border-radius: 10px;
    z-index: 1;
    pointer-events: none;
    transition: all 0.3s ease;
}

.speaker-card .speaker-image-container,
.speaker-card .speaker-details{
    position: relative;
    z-index: 1;
}

/* ===== ФОТО ===== */
.speaker-image-container{
    width: 195px;
    height: 180px;
    overflow: hidden;
    margin:14px;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.speaker-image{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

/* ===== ДЕТАЛИ ===== */
.speaker-details{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
}

/* ===== ИМЯ ===== */
.speaker-name{
    font-size: 1.5rem;
    font-weight: 700;
    color: #000000;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Play', sans-serif;
}

.speaker-surname{
    color: #60BFB5;
}


/* ===== ОРГАНИЗАЦИЯ (ФИКСИРОВАННАЯ ВЫСОТА) ===== */

.speaker-org {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    flex-shrink: 0;
    margin: 4px 0 6px;
}


.speaker-logo{
    height: 65px;
    width: auto;
    max-width: 135px;
    object-fit: contain;
    flex-shrink: 0;
}

/* ===== ТЕМА (ФИКСИРОВАННАЯ ВЫСОТА) ===== */
.speaker-topic{
    font-family: 'Play', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #444;
    line-height: 1.4;
    padding-top: 10px;
    border-top: 1px solid rgba(14, 24, 45, 0.06);
    min-height: 60px;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* ===== ОСНОВНОЙ БЛОК КОНФЕРЕНЦИИ ===== */
.conference-main-screen{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 2000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
    overflow-y: auto;
    background-image: url(images/новыйсайтфон.jpg);
    background-size: cover;
}

.conference-main-screen.active{
    opacity: 1;
    pointer-events: all;
}

.conference-main-screen.hidden{
    display: none;
}

.conference-screens-container{
    position: relative;
    width: 100%;
}
.conference-main-screen::-webkit-scrollbar{
    width: 10px;
}

.conference-main-screen::-webkit-scrollbar-track{
    background: rgba(14, 24, 45, 0.05);
}

.conference-main-screen::-webkit-scrollbar-thumb{
    background: #0e182d;
    border-radius: 5px;
}

.conference-main-screen::-webkit-scrollbar-thumb:hover{
    background: #1a2b4d;
}



/* ===== ОСНОВНОЙ БЛОК слушателя ===== */
.listener-main-screen{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 2000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
    overflow-y: auto;
    background-image: url(images/123.png);
    background-size: cover;
}

.listener-main-screen.active{
    opacity: 1;
    pointer-events: all;
}

.listener-main-screen.hidden{
    display: none;
}

.listener-screens-container{
    position: relative;
}
.listener-main-screen::-webkit-scrollbar{
    width: 10px;
}

.listener-main-screen::-webkit-scrollbar-track{
    background: rgba(14, 24, 45, 0.05);
}

.listener-main-screen::-webkit-scrollbar-thumb{
    background: #0e182d;
    border-radius: 5px;
}

.listener-main-screen::-webkit-scrollbar-thumb:hover{
    background: #1a2b4d;
}



/* ===== БЛОК ПАРТНЕРОВ ===== */
.partners-screen{
    position: relative;
    width: 100%;
    min-height: 100vh;
    z-index: 9994;
    display: flex;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
    padding: 60px 20px;
}

.partners-screen.active{
    opacity: 1;
    pointer-events: all;
}

.partners-screen.hidden{
    display: none;
}

/* Большая надпись ПАРТНЕРЫ слева */
.partners-label{
    position: absolute;
    top: 50%;
    left: -150px;
    transform: translateY(-50%) rotate(-90deg);
    font-family: 'Share Tech Mono', monospace;
    font-size: 80px;
    color: #000000;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 6px;
    white-space: nowrap;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}

/* Основной контейнер */
.partners-container{
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/* Общие стили для подзаголовков */
.section-subtitle{
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 3rem 0 2rem;
    position: relative;
}

.section-subtitle svg{
    color: #60BFB5;
    width: 24px;
    height: 24px;
    stroke-width: 2;
}

.section-subtitle h3{
    font-family: 'Share Tech Mono', monospace;
    font-size: 1.8rem;
    font-weight: 700;
    color: #0e182d;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

.section-subtitle h3::before{
    content: '[';
    color: #60BFB5;
    margin-right: 8px;
}

.section-subtitle h3::after{
    content: ']';
    color: #60BFB5;
    margin-left: 8px;
}

/* При поддержке */
.support-section{
    margin-bottom: 4rem;
}

.support-list{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin: 2rem 0;
}

.support-item{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.support-link{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    transition: all 0.3s ease;
    width: 100%;
}

.support-link:hover{
    transform: translateY(-5px);
}

.support-logo-container{
    width: 300px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgb(255, 255, 255);
    border-radius: 12px;
    border: 2px solid rgba(14, 24, 45, 0.1);
    transition: all 0.3s ease;
}

.support-link:hover .support-logo-container{
    transform: scale(1.05);
}

.support-logo{
    max-width: 100%;
    max-height: 100px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: all 0.4s ease;
}

.support-link:hover .support-logo{
    filter: grayscale(0%);
}

.support-name{
    font-size: 1.2rem;
    color: #0e182d;
    font-family: 'Play', sans-serif;
    font-weight: 700;
    text-align: center;
}

/* Хедлайнеры */
.headliners-section{
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 2px solid rgba(14, 24, 45, 0.1);
}

.headliners-container{
    display: flex;
    justify-content: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.headliner-item{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    position: relative;
}

.headliner-badge{
    background: linear-gradient(135deg, #60BFB5, #ba0c2f);
    color: #ffffff;
    padding: 0.5rem 1.5rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Share Tech Mono', monospace;
    animation: pulseGlow 2s infinite;
}


.headliner-logo-container{
    width: 300px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgb(255, 255, 255);
    border-radius: 12px;
    border: 2px solid rgba(14, 24, 45, 0.1);
    transition: all 0.4s ease;
}

.headliner-item:hover .headliner-logo-container{
    transform: scale(1.05);
}

.headliner-logo{
    max-width: 100%;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: all 0.4s ease;
}

.headliner-item:hover .headliner-logo{
    filter: grayscale(0%);
}

.headliner-name{
    font-size: 1.2rem;
    font-weight: 700;
    color: #0e182d;
    font-family: 'Play', sans-serif;
    margin-top: 0.5rem;
}

/* Организаторы выставки */
.exhibitors-section{
    margin-bottom: 4rem;
}

.exhibitors-cards{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    grid-auto-rows: minmax(200px, auto);
    gap: 2rem;
    margin: 2rem 0;
    align-items: start;
}

.exhibitor-card{
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Neo Card - базовая карточка */
.neo-card{
    background: rgba(255, 255, 255);
    border: 1px solid rgba(0, 0, 0, 0.829);
    border-radius: 16px;
    padding: 3.5rem;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.neo-card::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.neo-card:hover{
    transform: translateY(-8px);
    border-color: rgba(0, 255, 157, 0.3);
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.5),
        0 0 40px rgba(0, 255, 157, 0.1);
}

.neo-card:hover::before{
    opacity: 1;
}

.exhibitor-card:hover{
    border-color: #60BFB5;
    box-shadow: #60BFB5;
    transform: translateY(-5px);
}

.exhibitor-logo-section{
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.exhibitor-logo-link{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.exhibitor-card:hover .exhibitor-logo-link{
    transform: scale(1.05);
}

.exhibitor-logo{
    max-width: 120px;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: all 0.4s ease;
}

.exhibitor-card:hover .exhibitor-logo{
    filter: grayscale(0%);
}

.exhibitor-title{
    flex: 1;
}

.exhibitor-name{
    font-size: 1.5rem;
    font-weight: 700;
    color: #0e182d;
    margin-bottom: 0.5rem;
    font-family: 'Play', sans-serif;
}

.exhibitor-description{
    font-size: 0.95rem;
    color: #666;
    line-height: 1.5;
    font-family: 'Share Tech Mono', monospace;
}

.exhibitor-solutions{
    background: rgba(14, 24, 45, 0.02);
    border-radius: 12px;
    padding: 1.5rem;
    border: 1px solid rgba(14, 24, 45, 0.05);
}

.solutions-header{
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.solutions-header svg{
    color: #60BFB5;
}

.solutions-header h5{
    font-size: 1.1rem;
    font-weight: 600;
    color: #0e182d;
    margin: 0;
    font-family: 'Play', sans-serif;
}

.solutions-list{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.solution-tag{
    background: #60BFB5;
    color: #ffffff;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    font-family: 'Share Tech Mono', monospace;
    border: 1px solid rgba(0, 204, 255, 0.2);
}

.solutions-more-btn{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: none;
    border: none;
    color: rgb(0, 0, 0);
    font-size: 0.9rem;
    font-family: 'JetBrains Mono', monospace;
    cursor: pointer;
    padding: 0.5rem;
    transition: all 0.3s ease;
    border-radius: 6px;
}

.solutions-more-btn:hover{
    color: var(--accent);
    background: rgba(0, 255, 157, 0.05);
}

.solutions-more-btn svg{
    transition: transform 0.3s ease;
}

.solutions-more-btn:hover svg{
    transform: translateX(3px);
}


/* ============ РАСКРЫВАЮЩИЕСЯ КАРТОЧКИ ============ */
.services-expandable{
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.exhibitor-card.expanded{
    margin-bottom: 20px;
    transition: margin-bottom 0.3s ease;
}

.solutions-more-btn.active{
    background: rgba(0, 255, 157, 0.1);
    border-color: #173d2e;
}

.solutions-more-btn.active svg{
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}



.vendors-section{
    margin-bottom: 4rem;
}

.vendors-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.vendor-link-card{
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

.vendor-logo-container{
    width: 100%;
    max-width: 180px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    border-radius: 12px;
    background: white;
    border: 2px solid rgba(14, 24, 45, 0.1);
    transition: all 0.3s ease;
    margin: 0 auto;
}

.vendor-link-card:hover .vendor-logo-container{
    border-color: #00ccff;
    background: rgba(0, 204, 255, 0.05);
    transform: scale(1.05);
    box-shadow: 0 10px 20px rgba(0, 204, 255, 0.15);
}

.vendor-logo{
    max-width: 100%;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: all 0.4s ease;
}

.vendor-link-card:hover .vendor-logo{
    filter: grayscale(0%);
}

/* Зарегистрированные компании */
.registered-companies{
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 2px solid rgba(14, 24, 45, 0.1);
}

.registered-logos{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.registered-logo-item{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.registered-logo-item:hover{
    transform: translateY(-5px);
}

.registered-logo-item img{
    max-width: 245px;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: all 0.4s ease;
}

.registered-logo-item:hover img{
    filter: grayscale(0%);
    transform: scale(1.05);
}

.registered-logo-item span{
    font-size: 1.2rem;
    color: #666;
    font-family: 'Play', sans-serif;
    text-align: center;
}

 .map-schedule-screen{
            position: relative;  /* будет абсолютным, когда вставишь в контейнер */
            width: 100%;
            min-height: 65vh;
            z-index: 9995;
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.8s ease;
            padding: 60px 20px;
        }

        .map-schedule-screen.active{
            opacity: 1;
            pointer-events: all;
        }

        .map-schedule-screen.hidden{
            display: none;
        }

        /* Большая надпись КАРТА И РАСПИСАНИЕ слева (как в твоих блоках) */
        .map-schedule-label{
            position: absolute;
            top: 50%;
            left: -200px;
            transform: translateY(-50%) rotate(-90deg);
            font-family: 'Share Tech Mono', monospace;
            font-size: 80px;
            color: rgba(14, 24, 45, 0.15);
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 6px;
            white-space: nowrap;
            z-index: 1;
            pointer-events: none;
            user-select: none;
        }

        /* Основной контейнер (твой блок из предыдущего ответа) */
        .unified-location-container{
            max-width: 1360px;
            width: 100%;
            background: #ffffff;
            border-radius: 32px;
            box-shadow: 0 30px 60px -10px rgba(0, 20, 40, 0.2);
            transition: all 0.2s ease;
            border: 1px solid rgba(0, 30, 60, 0.04);
            position: relative;
            z-index: 100;
        }

        .accent-text{
            color: #60BFB5;
            font-weight: 600;
            letter-spacing: -0.02em;
            margin-right: 6px;
        }

        /* Верхний блок (дата, время, координаты) */
        .location-header{
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px 30px;
            margin: 32px;
            padding-bottom: 12px;
            border-bottom: 2px solid rgba(0,0,0,0.03);
        }

        .header-left{
            display: flex;
            align-items: center;
            gap: 28px;
            flex-wrap: wrap;
        }

        .date-badge{
            display: flex;
            align-items: center;
            gap: 14px;
            background: #f8fafd;
            padding: 10px 20px 10px 16px;
            border-radius: 100px;
            border: 1px solid #e9ecf0;
        }

        .date-number{
            font-size: 44px;
            font-weight: 700;
            line-height: 1;
            color: #0a1a2b;
        }

        .date-info{
            display: flex;
            flex-direction: column;
        }

        .date-month{
            font-size: 15px;
            font-weight: 600;
            color: #2f3e4e;
            letter-spacing: 0.03em;
        }

        .date-weekday{
            font-size: 14px;
            color: #5e6f82;
        }

        .time-info{
            display: flex;
            align-items: center;
            gap: 12px;
            background: #f8fafd;
            padding: 8px 22px 8px 16px;
            border-radius: 40px;
            border: 1px solid #e9ecf0;
        }

        .time-info svg{
            stroke: #60BFB5;
        }

        .time-details{
            display: flex;
            flex-direction: column;
        }

        .time-range{
            font-weight: 700;
            font-size: 16px;
            color: #0f212f;
        }

        .time-note{
            font-size: 13px;
            color: #5f7d9c;
        }

        .header-right{
            display: flex;
            align-items: center;
            gap: 20px;
            flex-wrap: wrap;
            margin-left: auto;
        }

        .coordinates{
            display: flex;
            align-items: center;
            gap: 8px;
            background: #f1f6fc;
            padding: 8px 20px;
            border-radius: 40px;
            font-size: 14px;
            font-weight: 500;
            color: #1e3b5c;
            border: 1px dashed #b6ccdd;
        }

        .coordinates svg{
            stroke: #1e3b5c;
        }

        /* основной контент: карта и расписание */
        .location-main-content{
            display: flex;
            gap: 28px;
            flex-wrap: wrap;
        }

        .map-section{
            flex: 1.2;
            margin: 32px;
            min-width: 380px;
        }

        .map-cont{
            position: relative;
            width: 100%;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 12px 30px -8px rgba(10, 30, 50, 0.25);
            border: 2px solid #0e182d;
            transition: 0.2s;
            max-height: 482px;
        }

        .unified-map{
            width: 100%;
            height: 470px;
            display: block;
        }

        .location-details{
            margin: 22px 0 18px 0;
        }

        .address-card h3{
            font-size: 16px;
            font-weight: 600;
            margin-bottom: 10px;
            color: #102331;
            display: flex;
            align-items: center;
        }

        .address-info{
            background: #ffffff;
            border-radius: 22px;
            padding: 18px 22px;
            border-left: 5px solid #60BFB5;
        }

        .building-name{
            font-weight: 700;
            font-size: 20px;
            color: #0e2637;
        }

        .street-address{
            font-size: 15px;
            color: #3c5a77;
            margin-top: 5px;
        }

        .additional-info{
            display: flex;
            flex-wrap: wrap;
            gap: 20px 25px;
            margin-top: 8px;
            background: #ffffff;
            padding: 16px 16px 8px 16px;
            border-radius: 22px;
            border: 1px solid #eef2f6;
        }

        .info-item{
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 14px;
            color: #1e364b;
        }

        .info-icon{
            display: flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            background: #ecf3fa;
            border-radius: 50%;
            color: #1d4d7c;
        }

        .info-icon svg{
            stroke: #1d4d7c;
        }

        .sched-section{
            flex: 1;
            min-width: 300px;
            background: #ffffff;
            border-radius: 28px;
            padding: 10px;
	    margin: 32px;
        }

        .schedule-header{
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 24px;
            flex-wrap: wrap;
        }

        .schedule-header h3{
            font-size: 18px;
            font-weight: 600;
            color: #102331;
        }

        .schedule-stats{
            background: #f0f5fb;
            padding: 8px 16px;
            border-radius: 40px;
            font-size: 14px;
            font-weight: 600;
            color: #2c4c6e;
        }

        .stat-separator{
            margin: 0 8px;
            color: #a7c1d9;
        }

        .schedule-timeline{
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .time-slot{
            display: flex;
            align-items: stretch;
            gap: 12px;
        }

        .time-label{
            min-width: 65px;
            font-weight: 700;
            font-size: 15px;
            color: #1a334c;
        }

        .session-card{
            display: flex;
            align-items: flex-start;
            gap: 14px;
            background: #f9fcff;
            border-radius: 26px;
            padding: 16px 20px 16px 18px;
            width: 100%;
            border: 1px solid #e2ebf5;
        }

        .session-card:hover{
            border-color: #b9d2ec;
            background: #f6faff;
        }

        .session-icon{
            background: white;
            border-radius: 50%;
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 8px rgba(0,30,50,0.06);
            border: 1px solid #dee9f2;
        }

        .session-icon svg{
            stroke: #60BFB5;
        }

        .session-content{
            flex: 1;
        }

        .session-content h4{
            font-size: 16px;
            font-weight: 700;
            color: #102c40;
            margin-bottom: 4px;
        }

        .session-content p{
            font-size: 13px;
            color: #42678a;
            margin-bottom: 10px;
        }

        .session-tag{
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            background: #e4eef9;
            display: inline-block;
            padding: 4px 14px;
            border-radius: 40px;
            color: #1c4465;
            border: 1px solid #c7ddf2;
        }

        .registration .session-tag{ background: #dfeefb; color: #0e4970; }
        .opening .session-tag{ background: #dff0f0; color: #146b6b; }
        .keynote .session-tag{ background: #e9e1fc; color: #4a2e8a; }
        .break .session-tag{ background: #fde9e9; color: #aa3c3c; }
        .closing .session-tag{ background: #fcefda; color: #a35d20; }

        @media (max-width: 900px){
            .location-main-content{ flex-direction: column; }
            .map-section{ min-width: auto; }
            .map-schedule-label{ font-size: 50px; left: -120px; }
        }

/* ===== МАТРИЦА-ДОЖДЬ (вместо пузырей) ===== */
.matrix-rain-container{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
    background: transparent;
    transition: opacity 0.8s ease;
}

.matrix-rain-container.fade-out{
    opacity: 0;
}

.matrix-rain-column{
    position: absolute;
    top: -100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Courier New', monospace;
    font-weight: bold;
    opacity: 0.7;
    animation: matrixFall linear infinite;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}

.matrix-char{
    display: block;
    line-height: 1.2;
    color: #000000;
    font-size: 18px;
    opacity: 0;
    animation: charGlow 0.5s ease-out forwards;
}

@keyframes matrixFall {
    0% {
        transform: translateY(-10%);
        opacity: 0.7;
    }
    100% {
        transform: translateY(110vh);
        opacity: 0.2;
    }
}

@keyframes charGlow {
    0% {
        opacity: 0;
        text-shadow: 0 0 20px #000000;
    }
    50% {
        opacity: 1;
        text-shadow: 0 0 30px #000000, 0 0 60px #000000;
    }
    100% {
        opacity: 0.8;
        text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
    }
}

/* ============================================================
   БЛОК РАСПИСАНИЯ (АДАПТИРОВАННЫЙ ПОД СТИЛЬ САЙТА)
   ============================================================ */

/* Родительский контейнер */
.schedule-screen{
    position: relative;
    width: 100%;
    min-height: 70vh;
    z-index: 9999;
    display: flex;
    justify-content: center;
    padding: 40px 0;
    flex-direction: column; /* Добавить! */
    align-items: center;    /* Добавить! */
}

.schedule-screen.active{
    opacity: 1;
    pointer-events: all;
}

/* ===== НОВЫЙ ЗАГОЛОВОК НАД БЛОКОМ ===== */
.schedule-main-title{
    text-align: center;
    margin-bottom: 30px;
    position: relative;
    width: 100%;
}

.schedule-headline{
    font-family: 'Share Tech Mono', monospace;
    font-size: 48px;
    font-weight: 900;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 8px;
    margin: 0;
    position: relative;
    display: inline-block;
}

.schedule-headline::before{
    content: '[';
    color: #60BFB5;
    margin-right: 12px;
}

.schedule-headline::after{
    content: ']';
    color: #60BFB5;
    margin-left: 12px;
}

/* Основной контейнер */
.schedule-container{
    width: 90%;
    max-width: 2000px;
    position: relative;
    min-height: 33vh;
}

/* Программа */
.program.challenger-program{
    max-width: 100%;
    width: 100%;
}

.program.challenger-program .sub{
    font-family: 'Play', sans-serif;
    font-size: 18px;
    color: #0e182d;
    text-align: center;
    margin: 0 0 25px 0;
    padding: 0 20px;
    line-height: 1.6;
    opacity: 0.8;
}

/* Обертка для двух этапов */
.students_program_wrapper{
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: stretch;
    width: 100%;
    min-height: 400px;
}

/* Общий стиль для элемента этапа */
.students_program_wrapper_item{
    flex: 1;
    background: #ffffff;
    border-radius: 16px;
    padding: 40px;
    border: 2px solid #0e182d;
    overflow: hidden;
    position: relative;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(14, 24, 45, 0.06);
    height: fit-content;
}


/* Вертикальный заголовок */
.vertical-title{
    font-family: 'Share Tech Mono', monospace;
    font-size: 18px;
    font-weight: 700;
    color: #0e182d;
    letter-spacing: 4px;
    text-orientation: mixed;
    padding: 20px 12px;
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    opacity: 1;
    pointer-events: none;
}

/* Иконка */
.students_program_wrapper_item_icon{
    width: 28px;
    height: 28px;
    margin-bottom: 10px;
    color: #0e182d;
    flex-shrink: 0;
}

/* Заголовок этапа */
.students_program_wrapper_item_title{
    font-family: 'Share Tech Mono', monospace;
    font-size: 22px;
    font-weight: 700;
    color: #0e182d;
    margin-bottom: 4px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Подзаголовок */
.students_program_wrapper_item_subtitle{
    font-family: 'Play', sans-serif;
    font-size: 16px;
    color: #000000;
    margin-bottom: 18px;
    font-weight: 600;
}

/* Список дат */
.date_list{
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.date_list_item{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 14px;
    background: rgba(14, 24, 45, 0.03);
    border-radius: 8px;
    border-left: 3px solid #60BFB5;
    transition: background 0.3s ease;
}

.date_list_item:hover{
    background: rgba(14, 24, 45, 0.06);
}

.date_list_item .date{
    font-family: 'Share Tech Mono', monospace;
    font-weight: 700;
    color: #0e182d;
    font-size: 14px;
    min-width: 100px;
}

.date_list_item .name{
    font-family: 'Play', sans-serif;
    color: #1a2b4d;
    font-size: 15px;
    text-align: right;
}

/* Текстовый блок */
.text_block{
    margin-top: 6px;
    padding-top: 16px;
    border-top: 2px solid rgba(14, 24, 45, 0.08);
}

.text_block h4{
    font-family: 'Share Tech Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    color: #0e182d;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 6px;
}

.text_block_text{
    font-family: 'Play', sans-serif;
    font-size: 15px;
    color: #333;
    margin-bottom: 12px;
    line-height: 1.5;
}

.text_block .bold{
    font-family: 'Share Tech Mono', monospace;
    font-weight: 700;
    color: #0e182d;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 10px;
    margin-bottom: 3px;
}

.text_block span,
.text_block p{
    font-family: 'Play', sans-serif;
    font-size: 14px;
    color: #444;
    line-height: 1.5;
}

.text_block ul{
    margin: 4px 0 6px 20px;
    list-style: none;
}

.text_block ul li{
    font-family: 'Play', sans-serif;
    font-size: 14px;
    color: #444;
    padding: 2px 0;
    position: relative;
}

.text_block ul li::before{
    content: '▸';
    color: #60BFB5;
    position: absolute;
    left: -18px;
}

.bg_text{
    background: rgba(0, 204, 255, 0.08);
    padding: 8px 14px;
    border-radius: 8px;
    margin-top: 12px;
    text-align: center;
    border: 1px solid rgba(0, 204, 255, 0.15);
}

.bg_text span{
    font-family: 'Share Tech Mono', monospace;
    color: #0e182d;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Анимации */
.students_program_wrapper_item.active:hover{
    transform: translateY(-3px);
    box-shadow: 0 12px 40px rgba(14, 24, 45, 0.15);
}


/* ============================================================
   ГИФКИ В БЛОКАХ КОНФЕРЕНЦИИ (ФИКС)
   ============================================================ */

/* Общие стили для гифок */
.gif-image1,
.gif-image2{
    position: absolute;
    z-index: 0;
    pointer-events: none;
    user-select: none;
    opacity: 0.15;
}

/* Гифка в блоке участников (кролик) */
.gif-image1{
    width: 200px !important;
    max-width: 200px !important;
    height: auto !important;
    max-height: 300px !important;
    top: 50%;
    left: 92%;
    transform: translate(-50%, -50%);
    opacity: 0.08;
    object-fit: cover;
}

/* Гифка в блоке карты */
.gif-image2{
    width: 150px !important;
    max-width: 150px !important;
    max-height: 200px !important;
    bottom: 20px;

    right: 20px;
    opacity: 0.1;
    object-fit: cover;
}

/* Если гифка в блоке участников поверх контента, но не мешает */


/* ===== НОВАЯ КАРТИНКА ПОВЕРХ ===== */
.overlay-image{
    position: relative;
    bottom: -75px;  /* Сдвигаем вниз, чтобы налезала на рамку */
    right: -52px;   /* Сдвигаем вправо */
    width: 290px;      /* Размер под ваш макет */
    height: 360px;
    z-index: 10;     /* Чтобы была ПОВЕРХ гифки и рамки */
    
    /* Эффект тени для объема */
    filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.4));
    
    /* Если картинка с прозрачным фоном - отлично */
    /* Если без фона - можно добавить обводку */
}

/* Альтернатива: если картинка должна быть СЛЕВА-СНИЗУ */
.overlay-image-left{
    position: absolute;
    bottom: -20px;
    left: -20px;
    width: 70%;
    z-index: 10;
    filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.4));
}









/* ============================================================
   АДАПТАЦИЯ ДЛЯ ВСЕХ ЭКРАНОВ (БЕЗ КОНФЛИКТОВ)
   ============================================================ */

/* 1. ОБЩАЯ АДАПТАЦИЯ ДЛЯ ПЛАНШЕТА С КАРТОЙ */
@media (max-width: 1200px){
    .tablet{ max-width: 98%; padding: 30px; }
    .two-columns{ grid-template-columns: 75% 25%; gap: 25px; }
    .map-iframe{ height: 400px; }
    .planet-icon{ width: 120px; height: 120px; }
    .planet-block{ min-height: 220px; }
}

@media (max-width: 992px){
    .two-columns{ grid-template-columns: 70% 30%; gap: 20px; }
    .planet-icon{ width: 100px; height: 100px; }
    .planet-block{ min-height: 200px; }
    .map-iframe{ height: 360px; }
    .deco-btn{ padding: 6px 12px; font-size: 0.65rem; }
}

@media (max-width: 768px){
    .two-columns{ grid-template-columns: 1fr; gap: 16px; }
    .tablet{ padding: 16px; border-radius: 30px; }
    .map-iframe{ height: 280px; }
    .planet-block{ min-height: 150px; padding: 14px; }
    .planet-icon{ width: 80px; height: 80px; }
    .deco-btn{ padding: 8px 16px; font-size: 0.8rem; }
    .location-block{ flex-wrap: wrap; justify-content: center; }
    .location-value{ font-size: 0.9rem; }
}

/* 2. АДАПТАЦИЯ ДЛЯ СПИКЕРОВ */
@media (max-width: 1200px){
    .speakers-grid{ grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .speakers-label{ font-size: 60px; right: -60px; }
    .speaker-card{ min-height: 400px; }
    .speaker-image-container{ width: 150px; height: 140px; }
}

@media (max-width: 992px){
    .speakers-grid{ grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .speaker-card{ min-height: 340px; }
    .speaker-image-container{ width: 120px; height: 110px; }
    .speaker-name{ font-size: 1.1rem; }
    .speaker-topic{ font-size: 0.9rem; }
}

@media (max-width: 768px){
    .speakers-screen{ padding: 30px 15px; }
    .speakers-label{ display: none; }
    .speakers-grid{ grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .speaker-card{ min-height: 280px; padding: 14px 10px; }
    .speaker-image-container{ width: 80px; height: 80px; margin: 8px; }
    .speaker-name{ font-size: 12px; }
    .speaker-topic{ font-size: 10px; min-height: 40px; }
    .speaker-logo{ height: 16px; max-width: 20px; }
    .org-name{ font-size: 9px; }
}

@media (max-width: 480px){
    .speakers-grid{grid-template-columns: repeat(1, 1fr);  gap: 8px; }
    .speaker-card{ min-height: 240px; padding: 10px 6px; }
    .speaker-image-container{ width: 100px; height: 100px; margin: 4px; }
    .speaker-name{ font-size: 17px; }
    .org-name{ font-size: 17px; }
    .speaker-logo{ height: 40px; max-width: 80px; }
    .speaker-topic{ font-size: 16px; min-height: 32px; padding: 5px; }
}

/* 3. АДАПТАЦИЯ ДЛЯ РАСПИСАНИЯ (3 КОЛОНКИ) */
@media (max-width: 1024px){
    .schedule-columns{ flex-direction: column; gap: 16px; }
    .schedule-column{ width: 100%; }
    .schedule-item{ flex-direction: column; gap: 6px; padding: 10px 14px; }
    .item-chip{ min-width: unset; max-width: unset; flex-direction: row; gap: 10px; width: 100%; justify-content: center; }
    .item-title{ text-align: center; font-size: 13px; }
    .item-speaker{ text-align: center; font-size: 12px; }
}

@media (max-width: 768px){
    .schedule-new-block{ padding: 15px 10px; }
    .schedule-new-header{ flex-direction: column; align-items: flex-start; gap: 10px; }
    .schedule-new-title{ font-size: 20px; }
    .schedule-new-badge{ font-size: 11px; padding: 4px 12px; }
    .item-chip .item-time{ font-size: 15px; }
    .item-chip .item-tag{ font-size: 13px; }
    .item-title{ font-size: 15px; }
    .item-speaker{ font-size: 14px; }
}










/* 5. АДАПТАЦИЯ ДЛЯ НАГРАД */
@media (max-width: 1200px){
    .prizes-grid{ grid-template-columns: repeat(2, 1fr); gap: 25px; }
    .block-title{ font-size: 34px; }
    .prize-amount{ font-size: 38px; }
}

@media (max-width: 768px){
    .prizes-grid{ grid-template-columns: 1fr; gap: 20px; }
    .block-title{ font-size: 26px; }
    .prize-amount{ font-size: 30px; }
    .total-amount{ font-size: 38px; }
    .section-title{ font-size: 20px; }
    .prize-card{ padding: 18px; }
}

@media (max-width: 480px){
    .block-title{ font-size: 20px; }
    .prize-amount{ font-size: 24px; }
    .total-amount{ font-size: 30px; }
    .prize-card{ padding: 14px; }
    .total-summary{ padding: 16px; }
}

/* 6. АДАПТАЦИЯ ДЛЯ ПАРТНЕРОВ */
@media (max-width: 1200px){
    .partners-label{ font-size: 60px; left: -100px; }
    .support-list{ grid-template-columns: repeat(2, 1fr); }
    .vendors-grid{ grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 992px){
    .partners-label{ font-size: 50px; left: -70px; }
    .support-logo-container{ width: 200px; height: 80px; }
    .exhibitors-cards{ grid-template-columns: 1fr; }
}

@media (max-width: 768px){
    .partners-screen{ padding: 30px 15px; }
    .partners-label{ display: none; }
    .support-list{ grid-template-columns: 1fr; }
    .support-logo-container{ width: 160px; height: 70px; }
    .vendors-grid{ grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .vendor-logo-container{ max-width: 130px; height: 60px; }
    .exhibitor-logo-section{ flex-direction: column; text-align: center; gap: 1rem; }
    .exhibitor-name{ font-size: 1.1rem; }
    .headliners-container{ flex-direction: column; gap: 1.5rem; }
    .headliner-logo-container{ width: 180px; height: 70px; }
    .registered-logos{ flex-direction: column; gap: 1.5rem; }
    .registered-logo-item img{ max-width: 180px; max-height: 80px; }
}

@media (max-width: 480px){
    .vendors-grid{ grid-template-columns: repeat(2, 1fr); max-width: 380px; }
    .vendor-logo-container{ max-width: 190px; height: 80px; }
    .support-logo-container{ width: 275px; height: 135px; }
    .headliner-logo-container{ width: 275px; height: 115px; }
    .exhibitor-name{ font-size: 0.9rem; }
    .section-subtitle h3{ font-size: 1rem; }
}

/* 7. АДАПТАЦИЯ ДЛЯ РЕГИСТРАЦИИ */
@media (max-width: 1200px){
    .registration-label{ font-size: 50px; left: -120px; }
    .registration-title{ font-size: 28px; }
}

@media (max-width: 992px){
    .registration-label{ font-size: 40px; left: -90px; }
    .registration-columns{ gap: 25px; }
}

@media (max-width: 768px){
    .registration-screen{ padding: 20px 0; }
    .registration-label{ display: none; }
    .registration-container{ padding: 18px; }
    .registration-title{ font-size: 20px; }
    .registration-columns{ flex-direction: column; gap: 15px; }
    .registration-footer{ flex-direction: column; gap: 15px; align-items: stretch; }
    .cyber-btn{ width: 100%; }
    .form-input{ font-size: 14px; padding: 10px 12px; }
}

@media (max-width: 480px){
    .registration-container{ padding: 12px; }
    .registration-title{ font-size: 16px; }
    .form-input{ font-size: 13px; padding: 8px 10px; }
    .cyber-btn{ font-size: 14px; padding: 10px; }
    .form-label{ font-size: 11px; }
}

/* 8. АДАПТАЦИЯ ДЛЯ КАРТЫ (unified-location-container) */
@media (max-width: 1400px){
    .map-schedule-label{ font-size: 60px; left: -140px; }
}

@media (max-width: 1200px){
    .map-schedule-label{ font-size: 50px; left: -100px; }
    .unified-location-container{ padding: 22px 24px 28px; }
    .unified-map{ height: 280px; }
}

@media (max-width: 992px){
    .map-schedule-label{ font-size: 40px; left: -70px; }
    .location-main-content{ flex-direction: column; gap: 20px; }
    .map-section{ min-width: auto; }
    .sched-section{ padding: 0; }
    .schedule-header{ flex-direction: column; align-items: flex-start; gap: 10px; }
}

@media (max-width: 768px){
    .map-schedule-screen{ padding: 25px 12px; }
    .map-schedule-label{ display: none; }
    .registration-lab{ display: none; }
    .speakers-label{ display: none; }
    .unified-location-container{ padding: 16px; border-radius: 20px; }
    .location-header{ flex-direction: column; align-items: flex-start; gap: 10px; }
    .header-left{ flex-direction: column; align-items: flex-start; gap: 10px; width: 100%; }
    .header-right{ width: 100%; justify-content: flex-start; }
    .date-badge{ width: 100%; justify-content: center; padding: 6px 12px; }
    .time-info{ width: 100%; justify-content: center; padding: 6px 12px; }
    .coordinates{ width: 100%; justify-content: center; font-size: 12px; padding: 4px 12px; }
    .unified-map{ height: 220px; }
    .building-name{ font-size: 17px; }
    .street-address{ font-size: 13px; }
    .additional-info{ flex-direction: column; gap: 10px; padding: 12px; }
    .session-card{ padding: 10px 14px; }
    .session-content h4{ font-size: 13px; }
    .session-content p{ font-size: 12px; }
    .time-label{ min-width: 45px; font-size: 12px; }
    .time-slot{ flex-direction: column; gap: 4px; }
}

@media (max-width: 480px){
    .unified-location-container{ padding: 12px; border-radius: 16px; }
    .date-number{ font-size: 26px; }
    .unified-map{ height: 180px; }
    .building-name{ font-size: 15px; }
    .street-address{ font-size: 12px; }
    .session-content h4{ font-size: 12px; }
    .session-content p{ font-size: 11px; }
    .session-tag{ font-size: 9px; padding: 2px 10px; }
    .schedule-stats{ font-size: 11px; padding: 4px 10px; }
    .time-label{ font-size: 11px; min-width: 35px; }
    .session-icon{ width: 28px; height: 28px; }
    .info-item{ font-size: 11px; }
    .info-icon{ width: 26px; height: 26px; }
}

/* 9. АДАПТАЦИЯ ДЛЯ HERO / ГЛАВНОГО ЭКРАНА */
@media (max-width: 1200px){
    .hero{ font-size: clamp(30px, 5vw, 50px) !important; letter-spacing: 5px; }
    .decode-text{ font-size: 24px; }
    .cont{ padding: 30px; }
}

@media (max-width: 768px){
    .hero{ font-size: clamp(22px, 4vw, 35px) !important; letter-spacing: 3px; }
    .hero-container{ padding: 50px 0; margin-bottom: 25px; }
    .decode-text{ font-size: 18px; gap: 3px; margin-bottom: 35px; }
    .cont{ padding: 20px; }
    .corner{ width: 30px; height: 30px; border-width: 2px; }
    .top-right{ top: 20px; right: 20px; }
    .bottom-left{ bottom: 20px; left: 20px; }
    .top-left{ top: 20px; left: 20px; }
    .bottom-right{ bottom: 20px; right: 20px; }
    .journey-button{ padding: 12px 28px; font-size: 15px; }
}

@media (max-width: 480px){
    .hero{ font-size: clamp(18px, 3.5vw, 28px) !important; letter-spacing: 2px; }
    .hero-container{ padding: 35px 0; margin-bottom: 18px; }
    .decode-text{ font-size: 15px; gap: 2px; margin-bottom: 25px; }
    .journey-button{ padding: 10px 20px; font-size: 13px; }
    .corner{ width: 20px; height: 20px; border-width: 2px; }
}

/* 10. АДАПТАЦИЯ ДЛЯ ВИДЕО И ГОЛОГРАММ */
@media (max-width: 1200px){
    #cyberhands-video{ width: 100%; max-height: 100vh; object-fit: contain; }
    .hologram-overlay{ width: 300px; height: 300px; }
}

@media (max-width: 992px){
    .hologram-overlay{ width: 220px; height: 220px; }
    #hologram-left{ left: 2%; }
    #hologram-right{ right: 2%; }
}

@media (max-width: 768px){
    .hologram-overlay{ width: 160px; height: 160px; border-radius: 12px; }
    #hologram-left{ left: 1%; top: 12%; }
    #hologram-right{ right: 1%; top: 12%; }
    #main-text h1{ font-size: 28px; letter-spacing: 6px; }
}

@media (max-width: 480px){
    .hologram-overlay{ width: 100px; height: 100px; border-radius: 8px; }
    #hologram-left{ left: 0%; top: 10%; }
    #hologram-right{ right: 0%; top: 10%; }
    #main-text h1{ font-size: 18px; letter-spacing: 3px; }
}

/* 11. АДАПТАЦИЯ ДЛЯ РАСПИСАНИЯ (ОСНОВНОГО) */
@media (max-width: 1200px){
    .schedule-label{ font-size: 60px; right: -90px; }
    .schedule-container{ width: 95%; }
}

@media (max-width: 1024px){
    .schedule-label{ font-size: 50px; right: -60px; }
    .students_program_wrapper{ flex-direction: column; gap: 15px; }
    .students_program_wrapper_item.active,
.students_program_wrapper_item.inactive{ width: 100%; padding: 10px; }
    .students_program_wrapper_item.inactive{ min-height: 55px; }
    .vertical-title{ writing-mode: horizontal-tb; padding: 12px 16px; font-size: 15px; text-align: center; }
    .students_program_wrapper_item.active .item-content{ padding: 18px 20px 22px; }
}

@media (max-width: 768px){
    .schedule-screen{ padding: 15px 0; }
    .schedule-headline{font-size: 32px;letter-spacing: 4px;}
    .schedule-container{ padding: 12px; }
    .program.challenger-program .sub{ font-size: 14px; padding: 0 8px; margin-bottom: 15px; }
    .students_program_wrapper_item_title{ font-size: 16px; }
    .students_program_wrapper_item_subtitle{ font-size: 13px; }
    .date_list_item{ padding: 5px 10px; flex-wrap: wrap; gap: 3px; }
    .date_list_item .date{ font-size: 11px; min-width: 70px; }
    .date_list_item .name{ font-size: 12px; }
    .students_program_wrapper_item.active .item-content{ padding: 14px 16px 18px; }
.students_program_wrapper_item.inactive .item-content{ padding: 14px 16px 18px; }

}

@media (max-width: 480px){
    .schedule-headline{font-size: 24px;letter-spacing: 2px;}
    .schedule-container{ padding: 8px; }
    .students_program_wrapper_item_title{ font-size: 20px; }
    .students_program_wrapper_item_subtitle{ font-size: 16px; }
    .text_block_text{ font-size: 12px; }
    .text_block span,
.text_block p,
.text_block ul li{ font-size: 11px; }
    .date_list_item .date{ font-size: 16px; min-width: 60px; }
    .date_list_item .name{ font-size: 15px; }
}

/* 12. АДАПТАЦИЯ ДЛЯ GIF-ИЗОБРАЖЕНИЙ */
@media (max-width: 1400px){
    .gif-image1{ width: 160px !important; max-width: 160px !important; }
    .gif-image2{ width: 130px !important; max-width: 130px !important; }
}

@media (max-width: 1200px){
    .gif-image1{ width: 140px !important; max-width: 140px !important; }
    .gif-image2{ width: 110px !important; max-width: 110px !important; }
}

@media (max-width: 1024px){
    .gif-image1{ width: 120px !important; max-width: 120px !important; left: 90%; }
    .gif-image2{ width: 100px !important; max-width: 100px !important; }
}

@media (max-width: 768px){
    .gif-image1{ width: 80px !important; max-width: 80px !important; left: 88%; opacity: 0.06; }
    .gif-image2{ width: 70px !important; max-width: 70px !important; opacity: 0.06; }
}

@media (max-width: 480px){
    .gif-image1{ width: 50px !important; max-width: 50px !important; left: 85%; opacity: 0.04; }
    .gif-image2{ width: 50px !important; max-width: 50px !important; opacity: 0.04; }
}





/* From Uiverse.io by cssbuttons-io */ 
.learn-more{
 position: relative;
 display: inline-block;
 cursor: pointer;
 outline: none;
 border: 0;
 vertical-align: middle;
 text-decoration: none;
 background: transparent;
 padding: 0;
 font-size: inherit;
 font-family: inherit;
 margin-top: 25px;
 width: 15rem;
 height: auto;
}

.learn-more .circle{
 transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
 position: relative;
 display: block;
 margin: 0;
 width: 3rem;
 height: 3rem;
 background: #282936;
 border-radius: 1.625rem;
}

.learn-more .circle .icon{
 transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
 position: absolute;
 top: 0;
 bottom: 0;
 margin: auto;
 background: #fff;
}

.learn-more .circle .icon.arrow{
 transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
 left: 0.625rem;
 width: 1.125rem;
 height: 0.125rem;
 background: none;
}

.learn-more .circle .icon.arrow::before{
 position: absolute;
 content: "";
 top: -0.29rem;
 right: 0.0625rem;
 width: 0.625rem;
 height: 0.625rem;
 border-top: 0.125rem solid #fff;
 border-right: 0.125rem solid #fff;
 transform: rotate(45deg);
}

.learn-more .button-text{
 transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 padding: 0.75rem 0;
 margin: 0 0 0 1.85rem;
 color: black;
 font-weight: 700;
 line-height: 1.6;
 text-align: center;
 text-transform: uppercase;
}

button:hover .circle{
 width: 100%;
}

button:hover .circle .icon.arrow{
 background: #fff;
 transform: translate(1rem, 0);
}

button:hover .button-text{
 color: #fff;
}

        /* Скрытый блок text_block (по умолчанию скрыт) */
        .text_block.hidden{
            display: none;
        }

.image-soc1{
    width: 300px;
    height: 300px;
    position: absolute;
    right: 7%;
    top: 3%;
    transform: scaleX(-1); 
}

.image-soc2{
    width: 300px;
    height: 300px;
    position: absolute;
    right: 70%;
    top: 3%;
}


/* ===== ЮРИДИЧЕСКИЙ ФУТЕР ===== */
.registration-legal-footer__links a,
.registration-legal-footer__links a:visited{
    color: #000000;
    text-decoration: none;
}

.registration-legal-footer__links a:hover,
.registration-legal-footer__links a:focus-visible{
    color: #333333;
    text-decoration: none;
}

.registration-legal-footer__links a:focus-visible{
    outline: 2px solid #000000;
    outline-offset: 3px;
}





/* Мобильная картинка скрыта на десктопе */
.mobile-hands-container,
.mobile-hands-image{
    display: none;
}





@media (max-width: 768px){


 #main-text h1{
        color: #111 !important;          /* черный */
        font-weight: 700 !important;     /* потолще */
        font-size: 30px !important;
        letter-spacing: 4px !important;
        line-height: 1.15 !important;

        /* небольшая тень для читаемости */
        text-shadow:
            0 1px 2px rgba(255,255,255,.4);

        -webkit-text-stroke: 0.4px #111;
    }

    /* Видео на мобильном убираем */
    .video-container,
.cyber-hands,
#cyberhands-video{
        display: none !important;
    }

    /* Мобильную картинку показываем сразу, без анимации */
    .mobile-hands-container{
        display: block !important;
        width: 100% !important;
        max-width: 500px !important;
        margin: 0 auto !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;

        animation: none !important;
        transition: none !important;
    }

    .mobile-hands-image{
        display: block !important;
        width: 100% !important;
        height: auto !important;

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;

        animation: none !important;
        transition: none !important;
    }

    /* Контейнер голограмм */
    .hologram-container{
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 20px !important;

        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;

        width: 100% !important;
        max-width: 500px !important;
        height: auto !important;

        margin: 0 auto !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;

        animation: none !important;
        transition: none !important;

        pointer-events: none !important;
        z-index: 5 !important;
    }

    /* Обе голограммы сразу видимы */
    #hologram-left,
#hologram-right,
.hologram-overlay,
.hologram-overlay.precise-position,
.hologram-overlay.show{
        position: relative !important;

        left: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;

        height: auto !important;
        margin: 0 auto !important;

        visibility: visible !important;
        transform: none !important;

        animation: none !important;
        transition: none !important;
        transition-delay: 0s !important;
        animation-delay: 0s !important;

pointer-events: auto !important;
cursor: pointer;
    }

    /* Верхняя таблетка */
    #hologram-left{
        width: 90% !important;
        max-width: 350px !important;
    }

    /* Нижняя таблетка */
    #hologram-right{
        width: 90% !important;
        max-width: 350px !important;
    }

    /* Сами изображения таблеток */
    .hologram-frame{
        display: block !important;
        width: 100% !important;
        height: auto !important;

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;

        animation: none !important;
        transition: none !important;
        filter: none;
    }

    /* Убираем анимации со всех вложенных элементов */
    .hologram-container *,
.mobile-hands-container *{
        animation-name: none !important;
        animation-duration: 0s !important;
        animation-delay: 0s !important;

        transition-property: none !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important;
    }
}


/* ============================================================
   ФИНАЛЬНЫЙ МОБИЛЬНЫЙ FIX: КОНФЕРЕНЦИЯ / УЧАСТНИКИ / ПРИЗЫ / КАРТА
   Добавлено в самый конец файла, чтобы перекрыть старые конфликтующие правила.
   ============================================================ */

@media (max-width: 768px){

    html,
body{
        width: 100%;
        min-height: 100%;
        height: auto !important;
        overflow-x: hidden !important;
    }

    body{
        display: block !important;
        align-items: initial !important;
        justify-content: initial !important;
    }

    /* Скролл происходит внутри экрана конференции. */
    .conference-main-screen{
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100dvh !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
    }

    .conference-screens-container{
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-height: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Все экраны идут обычным вертикальным потоком.
       Убираем старые top:65vh / top:130vh и фиксированные высоты. */
    #schedule-screen,
#participants-screen,
#prizes-screen,
#participant-map-screen,
#registration-screen{
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 28px 14px !important;

        overflow: visible !important;
        transform: none !important;
        clear: both !important;
        z-index: auto !important;
        box-sizing: border-box !important;
    }

    

    #participants-screen{
        display: flex;
        justify-content: center;
    }

    

    

    

    

    

    .section-header{
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        margin-bottom: 14px !important;
    }

    .section-header h2{
        max-width: 100% !important;
        margin: 0 !important;
        font-size: clamp(19px, 6vw, 27px) !important;
        line-height: 1.15 !important;
        letter-spacing: 0.04em !important;
        overflow-wrap: anywhere !important;
    }

    

    

    

    

    

    /* На мобильном список раскрывается полностью:
       нет внутренней прокрутки и пустой min-height:500px. */
    

    

    

    

    

    

    

    /* ---------- ПРИЗЫ ---------- */

    #prizes-screen{
        display: flex !important;
        justify-content: center !important;
        background: #202020;
    }

    .prizes-content-wrapper,
.prizes-container{
        width: 100% !important;
        max-width: 680px !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .block-header{
        margin: 0 0 22px !important;
    }

    .block-title{
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        font-size: clamp(21px, 6.4vw, 30px) !important;
        line-height: 1.15 !important;
        letter-spacing: 0.05em !important;
        overflow-wrap: anywhere !important;
    }

    .prizes-grid{
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 100% !important;
        margin: 0 0 22px !important;
    }

    .prize-card{
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 18px 15px !important;
        transform: none !important;
        box-shadow: 5px 5px 0 rgba(255,255,255,.85) !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .prize-rank{
        margin-bottom: 12px !important;
        font-size: 12px !important;
        line-height: 1.3 !important;
        letter-spacing: 0.08em !important;
        overflow-wrap: anywhere !important;
    }

    .prize-name{
        margin-bottom: 14px !important;
        font-size: clamp(19px, 5.5vw, 24px) !important;
        line-height: 1.2 !important;
        overflow-wrap: anywhere !important;
    }

    .prize-amount{
        margin: 18px 0 !important;
        font-size: clamp(29px, 9vw, 42px) !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
    }

    .prize-description{
        font-size: 14px !important;
        line-height: 1.55 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    /* Убираем height:36vh — он и создавал обрезание/перекрытие. */
    .total-summary{
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 24px 0 0 !important;
        padding: 22px 14px !important;
        transform: none !important;
        box-shadow: 5px 5px 0 rgba(255,255,255,.85) !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .total-label{
        max-width: 100% !important;
        margin: 12px auto 8px !important;
        font-size: clamp(12px, 3.8vw, 17px) !important;
        line-height: 1.35 !important;
        letter-spacing: 0.08em !important;
        overflow-wrap: anywhere !important;
    }

    .total-amount{
        max-width: 100% !important;
        font-size: clamp(34px, 12vw, 58px) !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
    }

    .image-soc1,
.image-soc2{
        max-width: min(34vw, 135px) !important;
        max-height: 120px !important;
        object-fit: contain !important;
    }

    .info-note{
        margin-top: 18px !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
    }

    /* ---------- КАРТА ---------- */

    #participant-map-screen{
        display: block !important;
        width: 100% !important;
        background: transparent;
    }

    #participant-map-screen,
#participant-map-screen *{
        box-sizing: border-box !important;
    }

    #participant-map-screen{
        width: 100% !important;
        max-width: 680px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        padding: 14px !important;
        border-radius: 24px !important;
        overflow: visible !important;
    }

    #participant-map-screen .two-columns{
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        height: auto !important;
    }

    #participant-map-screen .map-container{
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 10px !important;
        border-radius: 20px !important;
        overflow: hidden !important;
    }

    #participant-map-screen .map-iframe,
#participant-map-screen iframe{
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 280px !important;
        min-height: 280px !important;
        border: 0 !important;
        border-radius: 15px !important;
    }

    #participant-map-screen .location-block{
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        padding: 12px !important;
        border-radius: 18px !important;
    }

    #participant-map-screen .location-label,
#participant-map-screen .location-value,
#participant-map-screen .location-coords{
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    #participant-map-screen .location-value{
        justify-content: center !important;
        padding: 8px 10px !important;
        font-size: 13px !important;
        text-align: center !important;
    }

    #participant-map-screen .right-col{
        width: 100% !important;
        gap: 14px !important;
    }

    #participant-map-screen .planet-block{
        min-height: 135px !important;
        height: auto !important;
        padding: 12px !important;
        border-radius: 20px !important;
    }

    #participant-map-screen .planet-icon{
        width: 82px !important;
        height: 82px !important;
    }

    /* ---------- ОБЩАЯ ТИПОГРАФИКА КОНФЕРЕНЦИИ ---------- */

    .conference-main-screen h1,
.conference-main-screen h2,
.conference-main-screen h3,
.conference-main-screen h4,
.conference-main-screen p,
.conference-main-screen span,
.conference-main-screen div,
.conference-main-screen a,
.conference-main-screen button{
        max-width: 100%;
    }

    .conference-main-screen h1,
.conference-main-screen h2,
.conference-main-screen h3,
.conference-main-screen h4{
        overflow-wrap: anywhere;
    }

    .conference-main-screen p,
.conference-main-screen li,
.conference-main-screen a,
.conference-main-screen button{
        overflow-wrap: anywhere;
        word-break: normal;
    }
}

@media (max-width: 480px){

    #schedule-screen,
#participants-screen,
#prizes-screen,
#participant-map-screen,
#registration-screen{
        padding: 22px 10px !important;
    }

    

    

    

    .block-title{
        font-size: clamp(19px, 6.8vw, 25px) !important;
    }

    .prize-card{
        padding: 16px 13px !important;
    }

    #participant-map-screen .map-iframe,
#participant-map-screen iframe{
        height: 240px !important;
        min-height: 240px !important;
    }
}

/* =====================================================
   КОМАНДЫ — БЕЗ ИМЁН УЧАСТНИКОВ
===================================================== */

.participants-screen {
    --participants-text: var(--site-text, #f5f8fc);
    --participants-muted: var(--site-muted, #91a1b5);
    --participants-line: var(--site-line, rgba(255, 255, 255, 0.13));
    --participants-surface: var(--site-surface, rgba(255, 255, 255, 0.035));
    --participants-surface-strong:
        var(--site-surface-strong, rgba(255, 255, 255, 0.065));
    --participants-accent: var(--site-accent, #20d4f3);
    --participants-secondary: var(--site-secondary, #ff176d);

    position: relative;
    width: 100%;
    color: var(--participants-text);
}

.participants-screen.hidden-participants {
    display: none;
}

.participants-screen.active {
    opacity: 1;
    pointer-events: auto;
}

.participants-shell {
    width: min(1480px, calc(100% - 28px));
    margin: 0 auto;
    padding: 48px 0 80px;
}

/* Заголовок */

.participants-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 28px;

    margin-bottom: 26px;
    padding-bottom: 18px;

    border-bottom: 1px solid var(--participants-line);
}

.participants-kicker {
    color: var(--participants-accent);

    font-size: 9px;
    font-weight: 900;

    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.participants-heading h2 {
    margin: 8px 0 0;

    color: var(--participants-text);

    font-size: clamp(36px, 5vw, 62px);
    line-height: 0.94;
    letter-spacing: -0.04em;

    text-transform: uppercase;
}

.participants-heading p {
    max-width: 720px;
    margin: 12px 0 0;

    color: var(--participants-muted);

    font-size: 13px;
    line-height: 1.55;
}

/* Счётчик */

.participants-counter {
    display: flex;
    align-items: baseline;
    gap: 7px;

    flex: 0 0 auto;

    padding: 10px 14px;

    border: 1px solid var(--participants-line);

    color: var(--participants-muted);

    font-size: 8px;
    font-weight: 900;

    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.participants-counter strong {
    color: var(--participants-accent);

    font-size: 20px;
    line-height: 1;
}

/* Сетка */

.teams-list {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;
}

/* Карточка */

.team-card {
    --team-accent: var(--participants-accent);

    position: relative;

    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    align-items: center;

    min-height: 150px;

    overflow: hidden;

    border: 1px solid var(--participants-line);

    background:
        linear-gradient(
            120deg,
            color-mix(
                in srgb,
                var(--team-accent) 8%,
                transparent
            ),
            transparent 46%
        ),
        var(--participants-surface);

    backdrop-filter: blur(12px);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.team-card:hover {
    transform: translateY(-4px);

    border-color:
        color-mix(
            in srgb,
            var(--team-accent) 58%,
            var(--participants-line)
        );

    background:
        linear-gradient(
            120deg,
            color-mix(
                in srgb,
                var(--team-accent) 13%,
                transparent
            ),
            transparent 52%
        ),
        var(--participants-surface-strong);

    box-shadow:
        0 18px 38px rgba(0, 0, 0, 0.16);
}

/* Акцентная полоса */

.team-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 14px;
    bottom: 14px;

    width: 4px;

    background:
        linear-gradient(
            to bottom,
            var(--team-accent),
            var(--participants-secondary)
        );

    box-shadow:
        0 0 15px
        color-mix(
            in srgb,
            var(--team-accent) 48%,
            transparent
        );
}

/* Угол */

.team-card__corner {
    position: absolute;

    top: 14px;
    right: 14px;

    width: 35px;
    height: 35px;

    border-top: 1px solid var(--team-accent);
    border-right: 1px solid var(--team-accent);

    opacity: 0.5;
}

/* Номер */

.team-card__number {
    position: relative;
    z-index: 2;

    display: grid;
    place-items: center;

    align-self: stretch;
    border-right: 1px solid var(--participants-line);


    color: var(--team-accent);

    font-size: 34px;
    font-weight: 1000;
    line-height: 1;

    letter-spacing: -0.05em;
}

/* Содержимое */

.team-card__content {
    position: relative;
    z-index: 2;

    min-width: 0;

    padding: 22px;
}

.team-card__label {
    display: block;

    color: var(--participants-muted);

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.team-card__name {
    margin: 10px 0 0;

    overflow-wrap: anywhere;

    color: var(--participants-text);

    font-size: clamp(20px, 2.2vw, 31px);
    line-height: 1;
    letter-spacing: 0.015em;

    text-transform: uppercase;
}

.team-card__id {
    display: inline-flex;

    margin-top: 13px;
    padding: 5px 8px;

    border: 1px solid
        color-mix(
            in srgb,
            var(--team-accent) 34%,
            var(--participants-line)
        );

    color: var(--team-accent);

    font-size: 7px;
    font-weight: 900;

    letter-spacing: 0.11em;
    text-transform: uppercase;
}

/* Большой фоновый номер */

.team-card__watermark {
    position: absolute;

    right: 58px;
    bottom: -20px;

    color:
        color-mix(
            in srgb,
            var(--participants-text) 4%,
            transparent
        );

    font-size: 112px;
    font-weight: 1000;
    line-height: 1;

    pointer-events: none;
}

/* Пустой список */

.teams-empty {
    grid-column: 1 / -1;

    display: grid;
    place-items: center;

    min-height: 190px;

    border: 1px dashed var(--participants-line);

    color: var(--participants-muted);

    font-size: 9px;
    font-weight: 900;

    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

/* Адаптив */

@media (max-width: 900px) {
    .teams-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .participants-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .team-card {
        grid-template-columns: 70px minmax(0, 1fr);
        min-height: 130px;
    }

    .team-card__number {
        font-size: 27px;
    }

    .team-card__content {
        padding: 18px 16px;
    }

    .team-card__watermark {
        display: none;
    }
}


/* ============================================================
   ВЫБЕРИ / СВОЙ / ПУТЬ — ВСЕГДА ТРИ СТРОКИ
   ============================================================ */
#main-text{
    width: max-content;
    max-width: 92vw;
}

#main-text h1{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(8px, 1.4vh, 22px);
    width: max-content;
    max-width: 92vw;
    margin: 0;
    line-height: 0.88;
    text-align: center;
}

#main-text h1 > span{
    display: block;
    width: 100%;
    white-space: nowrap;
}

@media (max-width: 1024px){
    #main-text h1{
        gap: 10px;
    }
}

@media (max-width: 768px){
    #main-text{
        max-width: 96vw;
    }

    #main-text h1{
        max-width: 96vw;
        gap: 8px;
        line-height: 0.95;
    }
}

/* ============================================================
   ROLE NAVIGATION — УЧАСТНИК / СЛУШАТЕЛЬ
   ============================================================ */
.site-role-nav{
    position: sticky; top: 18px; z-index: 30000;
    width: min(1180px, calc(100% - 36px)); min-height: 72px;
    margin: 18px auto 30px; padding: 10px 12px 10px 18px;
    display: flex; align-items: center; justify-content: space-between; gap: 22px;
    background: rgba(255,255,255,.92);
    border-radius: 10px;
    border: 1px solid rgba(14,24,45,.18);
    box-shadow: 0 14px 40px rgba(14,24,45,.10);
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.site-role-nav::before,.site-role-nav::after{
    content:""; position:absolute; width:18px; height:18px; pointer-events:none;
}
.site-role-nav::before{top:-1px;left:-1px;border-top:3px solid #0e182d;border-left:3px solid #0e182d;}
.site-role-nav::after{right:-1px;bottom:-1px;border-right:3px solid #0e182d;border-bottom:3px solid #0e182d;}
.site-role-nav__brand,.site-role-nav__link,.site-role-nav__register,.site-role-nav__burger{font:inherit;}
.site-role-nav__brand{
    flex:0 0 auto; display:inline-flex; align-items:center; gap:10px; padding:8px 4px;
    color:#0e182d; background:transparent; border:0; cursor:pointer; text-transform:uppercase;
}
.site-role-nav__brand-mark{
    color:#ff0066; font-size:25px; line-height:1; font-weight:700;
    letter-spacing:-5px; transform:skewX(-12deg);
}
.site-role-nav__brand-text{
    font-family:'Play','Share Tech Mono',monospace; font-size:15px; font-weight:700;
    letter-spacing:1.2px; white-space:nowrap;
}
.site-role-nav__brand-text b{color:#ff0066;}
.site-role-nav__links{display:flex;align-items:center;justify-content:flex-end;gap:5px;}
.site-role-nav__link{
    position:relative; padding:12px 13px; color:#4c5568; background:transparent; border:0;
    cursor:pointer; font-size:13px; font-weight:700; letter-spacing:.7px; text-transform:uppercase;
    transition:color .2s ease,background .2s ease;
}
.site-role-nav__link::after{
    content:""; position:absolute; left:13px; right:13px; bottom:6px; height:2px;
    background:#60BFB5; transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
}
.site-role-nav__link:hover,.site-role-nav__link.is-active{color:#0e182d;}
.site-role-nav__link:hover::after,.site-role-nav__link.is-active::after{transform:scaleX(1);}
.site-role-nav__register{
    min-height:44px; margin-left:8px; padding:0 18px; display:inline-flex; align-items:center;
    justify-content:center; gap:12px; color:#fff; background:#1E1E1C; border:1px solid #0e182d;
    cursor:pointer; font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
    box-shadow:5px 5px 0 #60BFB5; transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.site-role-nav__register:hover{
    background:#60BFB5; transform:translate(-2px,-2px); box-shadow:7px 7px 0 #0e182d;
}
.site-role-nav__burger{display:none;width:44px;height:44px;padding:10px;background:#0e182d;border:0;cursor:pointer;}
.site-role-nav__burger span{display:block;width:100%;height:2px;margin:4px 0;background:#fff;transition:transform .2s ease,opacity .2s ease;}
.site-role-nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.site-role-nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.site-role-nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
#schedule-screen,#participants-screen,#prizes-screen,#participant-map-screen,#registration-screen,
#listener-program-screen,#speakers-screen,#partners-screen,#map-schedule-screen,#reg-screen{scroll-margin-top:118px;}

@media (max-width:980px){
    .site-role-nav{top:10px;width:calc(100% - 20px);min-height:62px;margin:10px auto 22px;padding:8px 10px 8px 14px;}
    .site-role-nav__burger{display:block;flex:0 0 44px;}
    .site-role-nav__links{
        position:absolute;top:calc(100% + 8px);left:0;right:0;display:grid;grid-template-columns:1fr;
        gap:2px;padding:10px;background:rgba(255,255,255,.98);border:1px solid rgba(14,24,45,.18);
        box-shadow:0 18px 35px rgba(14,24,45,.14);opacity:0;visibility:hidden;transform:translateY(-8px);
        pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
    }
    .site-role-nav.is-menu-open .site-role-nav__links{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;}
    .site-role-nav__link,.site-role-nav__register{width:100%;min-height:46px;margin:0;justify-content:flex-start;text-align:left;}
    .site-role-nav__register{margin-top:5px;justify-content:space-between;box-shadow:4px 4px 0 #ff0066;}
}
@media (max-width:520px){
    .site-role-nav__brand-text{font-size:12px;letter-spacing:.5px;}
    .site-role-nav__brand-mark{font-size:21px;}
}








/* ============================================================
   КАК ПРОШЛА КОНФЕРЕНЦИЯ
   ============================================================ */

.conference-video-section {
    width: 100%;
    padding: 100px 40px 120px;
}


/* ------------------------------------------------------------
   ЗАГОЛОВОК
   ------------------------------------------------------------ */

.conference-video-heading {
    width: 100%;
    max-width: 1500px;

    margin: 0 auto 60px;

    text-align: center;
}


.conference-video-title {
    margin: 0;

    color: #68728e;

    font-family: Arial, sans-serif;
    font-size: clamp(48px, 5vw, 82px);
    font-weight: 700;
    line-height: 1.05;

    letter-spacing: -0.035em;
}


.conference-video-subtitle {
    margin: 24px auto 0;

    color: #68728e;

    font-family: Arial, sans-serif;
    font-size: clamp(22px, 2.2vw, 38px);
    font-weight: 400;
    line-height: 1.25;

    letter-spacing: -0.02em;
}


/* ============================================================
   ВИДЕО С ПРЕВЬЮ
   ============================================================ */

.conference-video-container {
    position: relative;
    width: min(1500px, 92vw);
    margin: 0 auto;
    overflow: hidden;
    background: #050914;
    border: 1px solid rgba(14, 24, 45, 0.15);
    box-shadow: 0 30px 80px rgba(14, 24, 45, 0.12);
    aspect-ratio: 16 / 9;
}

/* ===== ПРЕВЬЮ ===== */
.video-preview {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    z-index: 2;
}

.video-preview__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.video-preview__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
    transition: background 0.4s ease;
}

.video-preview:hover .video-preview__overlay {
    background: rgba(0, 0, 0, 0.2);
}

/* ===== КНОПКА PLAY ===== */
.video-preview__play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: transform 0.3s ease;
    z-index: 3;
}

.video-preview__play-btn svg {
    display: block;
    width: 200px;
    height: 200px;
    transition: transform 0.3s ease;
}

.video-preview__play-btn svg circle {
    transition: fill 0.3s ease;
}

.video-preview__play-btn:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

.video-preview__play-btn:hover svg circle {
    fill: #60BFB5;
}

/* ===== ДЛИТЕЛЬНОСТЬ / ПОДПИСЬ ===== */
.video-preview__duration {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: #ffffff;
    font-family: 'Play', 'Share Tech Mono', monospace;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: rgba(0, 0, 0, 0.6);
    padding: 8px 24px;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(4px);
    z-index: 3;
    pointer-events: none;
}

/* ===== ВИДЕО ===== */
.video-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.conference-video {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #050914;
}

/* ===== АДАПТИВ ===== */
@media (max-width: 900px) {
    .conference-video-container {
        width: 100%;
    }
    
    .video-preview__play-btn svg {
        width: 60px;
        height: 60px;
    }
    
    .video-preview__duration {
        font-size: 13px;
        padding: 6px 18px;
        bottom: 20px;
    }
}

@media (max-width: 520px) {
    .video-preview__play-btn svg {
        width: 50px;
        height: 50px;
    }
    
    .video-preview__duration {
        font-size: 11px;
        padding: 4px 14px;
        bottom: 15px;
    }
}



/* ============================================================
   АДАПТИВ
   ============================================================ */

@media (max-width: 900px) {

    .conference-video-section {
        padding:
            75px
            20px
            90px;
    }


    .conference-video-heading {
        margin-bottom: 40px;
    }

    .conference-video-title {
        font-size: clamp(
            38px,
            8vw,
            60px
        );
    }


    .conference-video-subtitle {
        font-size: clamp(
            18px,
            4vw,
            27px
        );
    }


    .conference-video-subtitle br {
        display: none;
    }


    .conference-video-container {
        width: 100%;
    }

}


@media (max-width: 520px) {

    .conference-video-section {
        padding:
            55px
            16px
            70px;
    }


    .conference-video-heading {
        margin-bottom: 30px;
    }


    .conference-video-title {
        font-size: 36px;
    }


    .conference-video-subtitle {

        font-size: 18px;
        line-height: 1.35;
    }

}

/* ============================================================
   ДОЛЖНОСТЬ СПИКЕРА — добавлено отдельно, остальной CSS не изменён
   ============================================================ */
.speaker-position {
    width: 100%;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    color: #7c7777;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}

.speaker-position:empty {
    display: none;
}

@media (max-width: 768px) {
    .speaker-position {
        min-height: 0;
        margin-top: 7px;
        padding: 0 8px;
        font-size: 11px;
        line-height: 1.25;
    }
}

/* ============================================================
   PC FOOTER EXTRA
   Изолированный дополнительный блок футера.
   Не меняет существующие стили сайта.
   ============================================================ */

.pc-footer-extra{
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, .9fr) minmax(240px, .85fr);
    gap: clamp(26px, 5vw, 68px);
    text-align: left;
}

.pc-footer-extra__column{
    min-width: 0;
}

.pc-footer-extra__title{
    position: relative;
    margin-bottom: 20px;
    padding-left: 13px;
    color: #0e182d;
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.1;
}

.pc-footer-extra__title::before{
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 3px;
    height: 17px;
    background: #60BFB5;
}

.pc-footer-extra__item + .pc-footer-extra__item{
    margin-top: 18px;
}

.pc-footer-extra__accent{
    margin-bottom: 4px;
    color: #27bfc0;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.pc-footer-extra__text{
    max-width: 430px;
    color: #5e6878;
    font-family: Arial, sans-serif;
    font-size: 17px;
    line-height: 1.45;
}

.pc-footer-extra__contact{
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: inherit;
    text-decoration: none;
}

.pc-footer-extra__contact-icon{
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    border: 1px solid #d9dde4;
    color: #0e182d;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
}

.pc-footer-extra__contact small,
.pc-footer-extra__contact strong{
    display: block;
    font-family: Arial, sans-serif;
}

.pc-footer-extra__contact small{
    margin-bottom: 3px;
    color: #27bfc0;
    font-size: 17px;
    font-weight: 700;
}

.pc-footer-extra__contact strong{
    color: #5e6878;
    font-size: 17px;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.pc-footer-extra__social-link{
    position: relative;
    min-height: 60px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 10px;
    margin-bottom: 9px;
    padding: 10px 12px;
    overflow: hidden;
    color: #0e182d;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #d9dde4;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.pc-footer-extra__social-link::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .25s ease;
}

.pc-footer-extra__social-link--tg::before{
    background: #229ed9;
}

.pc-footer-extra__social-link--max::before{
    background: #ff0066;
}

.pc-footer-extra__social-link:hover,
.pc-footer-extra__social-link:focus-visible{
    transform: translateY(-2px);
    border-color: #adb5c0;
    box-shadow: 0 8px 22px rgba(14, 24, 45, .08);
}

.pc-footer-extra__social-link:hover::before,
.pc-footer-extra__social-link:focus-visible::before{
    transform: scaleY(1);
}

.pc-footer-extra__social-link:focus-visible{
    outline: 2px solid #0e182d;
    outline-offset: 2px;
}

.pc-footer-extra__social-number{
    color: #9ba3af;
    font-size: 9px;
    font-weight: 700;
}

.pc-footer-extra__social-copy{
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.pc-footer-extra__social-copy small{
    color: #929ba9;
    font-size: 8px;
    line-height: 1;
    letter-spacing: .14em;
}

.pc-footer-extra__social-copy strong{
    color: #0e182d;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.1;
}

.pc-footer-extra__social-arrow{
    color: #8d96a4;
    font-size: 16px;
    transition: transform .22s ease, color .22s ease;
}

.pc-footer-extra__social-link:hover .pc-footer-extra__social-arrow,
.pc-footer-extra__social-link:focus-visible .pc-footer-extra__social-arrow{
    transform: translate(2px, -2px);
    color: #ff0066;
}

@media (max-width: 960px){
    .pc-footer-extra{
        grid-template-columns: 1fr 1fr;
    }

    .pc-footer-extra__social{
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px;
    }

    .pc-footer-extra__social .pc-footer-extra__title{
        grid-column: 1 / -1;
        margin-bottom: 8px;
    }

    .pc-footer-extra__social-link{
        margin-bottom: 0;
    }
}

@media (max-width: 650px){
    .pc-footer-extra{
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 24px 0 26px;
    }

    .pc-footer-extra__social{
        grid-column: auto;
        display: block;
    }

    .pc-footer-extra__social .pc-footer-extra__title{
        margin-bottom: 20px;
    }

    .pc-footer-extra__social-link{
        margin-bottom: 9px;
    }
}

/* ============================================================
   PARTNERS / LEVELS — JS GENERATED
   ============================================================ */
.partner-levels{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:34px;
    margin:42px 0 54px;
}
.partner-level{
    position:relative;
    overflow:hidden;
}

.partner-level__header{
    min-height:84px;
    display:grid;
    grid-template-columns:145px minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
    padding:17px 24px 17px 28px;
    border-bottom:1px solid rgba(14,24,45,.10);
    background:linear-gradient(90deg,rgba(14,24,45,.025),transparent 55%);
}
.partner-level__code{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.partner-level__code span,
.partner-level__heading>span{
    color:#8a94a3;
    font-family:"Share Tech Mono",monospace;
    font-size:9px;
    font-weight:700;
    line-height:1;
    letter-spacing:.14em;
}
.partner-level__code strong{
    color:#0e182d;
    font-family:"Share Tech Mono",monospace;
    font-size:20px;
    line-height:1;
}
.partner-level__heading h3{
    margin:5px 0 0;
    color:#0e182d;
    font-family:"Play",Arial,sans-serif;
    font-size:clamp(21px,2vw,30px);
    line-height:1;
    text-transform:uppercase;
}
.partner-level__status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    justify-self:end;
    color:#606a79;
    font-family:"Share Tech Mono",monospace;
    font-size:10px;
    font-weight:700;
    letter-spacing:.1em;
}
.partner-level__status-dot{
    width:7px;height:7px;
    border-radius:50%;
    background:#0e182d;
    box-shadow:0 0 0 4px rgba(14,24,45,.06);
}
.partner-level--general .partner-level__status-dot{
    background:#ff0066;
    box-shadow:0 0 0 4px rgba(255,0,102,.09);
}
.partner-level--official .partner-level__status-dot{
    background:#00ccff;
    box-shadow:0 0 0 4px rgba(0,204,255,.10);
}

.partner-level__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
    padding:20px 24px 25px 28px;
}
.partner-level__grid--general{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.partner-level__grid--standard{
    grid-template-columns:repeat(5,minmax(0,1fr));
}

.partner-frame{
    position:relative;
    min-width:0;
    min-height:150px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:22px 18px 18px;
    overflow:hidden;
    color:#0e182d;
    text-decoration:none;
    background:linear-gradient(145deg,#fff,#f9fafc);
    border:1px solid rgba(14,24,45,.13);
    transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease;
}
.partner-frame:hover,
.partner-frame:focus-visible{
    transform:translateY(-4px);
    border-color:rgba(14,24,45,.34);
    box-shadow:0 14px 30px rgba(14,24,45,.09);
}
.partner-frame:focus-visible{
    outline:2px solid #0e182d;
    outline-offset:2px;
}
.partner-frame__logo{
    width:100%;
    height:80px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:5px 12px;
}
.partner-frame__logo img{
    display:block;
    max-width:100%;
    max-height:70px;
    width:auto;height:auto;
    object-fit:contain;
    transition:transform .3s ease;
}
.partner-frame:hover .partner-frame__logo img{transform:scale(1.045)}
.partner-frame__badge{
    min-height:22px;
    display:inline-flex;
    align-items:center;
    padding:0 9px;
    color:#606a79;
    background:#f2f4f7;
    border:1px solid rgba(14,24,45,.08);
    font-family:"Share Tech Mono",monospace;
    font-size:8px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.partner-level--general .partner-frame__badge{
    color:#b60049;
    background:rgba(255,0,102,.055);
    border-color:rgba(255,0,102,.13);
}
.partner-level--official .partner-frame__badge{
    color:#007b9b;
    background:rgba(0,204,255,.065);
    border-color:rgba(0,204,255,.14);
}
.partner-frame__corner{
    position:absolute;
    width:18px;height:18px;
    pointer-events:none;
}
.partner-frame__corner--top{
    left:9px;top:9px;
    border-left:1px solid rgba(14,24,45,.5);
    border-top:1px solid rgba(14,24,45,.5);
}
.partner-frame__corner--bottom{
    right:9px;bottom:9px;
    border-right:1px solid rgba(14,24,45,.5);
    border-bottom:1px solid rgba(14,24,45,.5);
}
.partner-frame__shine{
    position:absolute;
    left:-35%;top:-80%;
    width:30%;height:250%;
    pointer-events:none;
    opacity:0;
    transform:rotate(18deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
}
.partner-frame:hover .partner-frame__shine{
    opacity:.75;
    animation:partnerFrameShine .75s ease forwards;
}
@keyframes partnerFrameShine{
    from{left:-35%}
    to{left:120%}
}
.partner-level__empty{
    grid-column:1/-1;
    padding:22px;
    color:#8b95a4;
    text-align:center;
    font-family:"Share Tech Mono",monospace;
    font-size:11px;
    border:1px dashed rgba(14,24,45,.16);
}

@media(max-width:1180px){
    .partner-level__grid--standard{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
    .partner-level__header{grid-template-columns:110px minmax(0,1fr)}
    .partner-level__status{grid-column:1/-1;justify-self:start}
    .partner-level__grid,
    .partner-level__grid--general,
    .partner-level__grid--standard{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:600px){
    .partner-levels{gap:22px;margin:28px 0 36px}
    .partner-level__header{
        grid-template-columns:1fr;
        gap:10px;
        padding:16px 18px 15px 21px;
    }
    .partner-level__status{grid-column:auto}
    .partner-level__grid,
    .partner-level__grid--general,
    .partner-level__grid--standard{
        grid-template-columns:1fr;
        padding:14px 14px 18px 18px;
    }
    .partner-frame{min-height:130px}
    .partner-frame__logo{height:68px}
    .partner-frame__logo img{max-height:60px}
}






/* Цвет временного блока воркшопа */
.workshop-chip {
    background: #e8f4f3;
    border-color: #64c5bd;
}


/* Время */
.workshop-chip .item-time {
    color: #15877f;
}


/* Бейдж "Воркшоп" */
.workshop-chip .item-tag {
    background: #ccebe8;
    color: #147a73;
    border-color: #8bd1ca;
}


/* Цветная линия слева карточки */
.schedule-item.workshop {
    border-left-color: #64c5bd;
}



.prokyblogo {
    width: 100%;  /* Или задайте нужную ширину */
    height: auto; /* Сохраняет пропорции */
    display: block;
        max-width: 265px !important;
    max-height: 50px !important;
    object-fit: contain !important;
}

/* ============================================================
   ОТДЕЛЬНЫЙ ПОДВАЛ САЙТА
   Футер вынесен из .registration-container и является
   самостоятельным блоком после формы регистрации.
   ============================================================ */
.registration-screen,
.reg-screen{
    flex-direction: column;
    align-items: center;
}

.site-footer{
    width: 90%;
    max-width: 1200px;
    flex: 0 0 auto;
    margin: 28px auto 0;
    padding: 0;
    background: #ffffff;
    border: 1px solid #d9dde4;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(14, 24, 45, 0.08);
    color: #0e182d;
    position: relative;
    z-index: 2;
}

.site-footer__inner{
    width: 100%;
    padding: 20px;
}

.site-footer .pc-footer-extra{
    margin-bottom: 0;
    padding-top: 30px;
    padding-bottom: 32px;
}

.registration-legal-footer{
    width: 100%;
    padding-top: 26px;
    text-align: center;
}

.registration-legal-footer__copyright{
    margin: 0 0 18px;
    color: #111111;
    font-family: 'Share Tech Mono', monospace;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

.registration-legal-footer__links{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.registration-legal-footer__links a,
.registration-legal-footer__links a:visited{
    display: inline-block;
    max-width: 100%;
    color: #111111;
    font-family: 'Share Tech Mono', monospace;
    font-size: 13px;
    line-height: 1.35;
    text-align: center;
}

@media (max-width: 768px){
    .site-footer{
        width: calc(100% - 28px);
        margin-top: 20px;
        border-radius: 8px;
    }

    .site-footer__inner{
        padding: 0 18px 22px;
    }

    .site-footer .pc-footer-extra{
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .registration-legal-footer{
        padding-top: 22px;
    }

    .registration-legal-footer__copyright,
    .registration-legal-footer__links a,
    .registration-legal-footer__links a:visited{
        font-size: 12px;
    }
}


/* ============================================================
   FINAL FOOTER POSITION + SUPPORT LINK COLOR FIX
   ============================================================ */
.site-footer{
    width: 100%;
    max-width: none;
    margin: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 0;
    box-shadow: none;
    position: relative;
    z-index: 2;
}

.site-footer__inner{
    width: min(1200px, calc(100% - 64px));
}

/* Названия организаций в блоке «При поддержке» не должны
   получать стандартный синий цвет ссылок браузера. */
.support-link,
.support-link:link,
.support-link:visited,
.support-link:hover,
.support-link:active{
    color: #0e182d !important;
    text-decoration: none !important;
}

.support-link .support-name,
.support-link:link .support-name,
.support-link:visited .support-name,
.support-link:hover .support-name,
.support-link:active .support-name{
    color: #0e182d !important;
    text-decoration: none !important;
}

@media (max-width: 768px){
    .site-footer{
        width: 100%;
        margin: 0;
        border-radius: 0;
    }

    .site-footer__inner{
        width: calc(100% - 28px);
        padding: 0 0 22px;
    }
}

/* Footer exists only inside Participants and Speakers sections. */
#participants-screen > .site-footer,
#speakers-screen > .site-footer{
    margin-top: 48px;
    width: 100%;
}

#participants-screen > .site-footer{
    margin-top: 56px;
}

#speakers-screen > .site-footer{
    margin-top: 56px;
}

@media (max-width: 768px){
    #participants-screen > .site-footer,
    #speakers-screen > .site-footer{
        margin-top: 32px;
    }
}


/* ============================================================
   FOOTER: в самом низу двух основных веток сайта
   ============================================================ */
/* Старые привязки к секциям Команды/Спикеры больше не используются. */
#participants-screen > .site-footer,
#speakers-screen > .site-footer{
    display: none !important;
}

.conference-screens-container > .site-footer,
.listener-screens-container > .site-footer{
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    clear: both !important;
    margin: 56px 0 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    position: relative !important;
    inset: auto !important;
    overflow: visible !important;
    background: #fff !important;
    z-index: 20 !important;
}

.conference-screens-container > .site-footer .site-footer__inner,
.listener-screens-container > .site-footer .site-footer__inner{
    width: auto;
}

@media (max-width: 768px){
    .conference-screens-container > .site-footer,
    .listener-screens-container > .site-footer{
        margin-top: 32px !important;
    }

    .conference-screens-container > .site-footer .site-footer__inner,
    .listener-screens-container > .site-footer .site-footer__inner{
        width: calc(100% - 28px) !important;
    }
}

/* ============================================================
   COMPACT FOOTER — ветка участника
   Делаем подвал ниже по высоте и плотнее, не затрагивая футер спикеров.
   ============================================================ */
.conference-screens-container > .site-footer{
    margin-top: 22px !important;
}

.conference-screens-container > .site-footer .site-footer__inner{
    width: min(1240px, calc(100% - 56px)) !important;
    padding-bottom: 16px !important;
}

.conference-screens-container > .site-footer .pc-footer-extra{
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .9fr) minmax(280px, .78fr);
    gap: clamp(22px, 3.3vw, 48px);
    padding: 20px 0 18px !important;
    margin-bottom: 0 !important;
}

.conference-screens-container > .site-footer .pc-footer-extra__title{
    margin-bottom: 12px;
    font-size: 16px;
}

/* Организаторы — две компактные карточки в одной строке. */
.conference-screens-container > .site-footer .pc-footer-extra__organizers{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 8px;
}

.conference-screens-container > .site-footer .pc-footer-extra__organizers .pc-footer-extra__title{
    grid-column: 1 / -1;
}

.conference-screens-container > .site-footer .pc-footer-extra__item + .pc-footer-extra__item{
    margin-top: 0;
}

.conference-screens-container > .site-footer .pc-footer-extra__accent{
    margin-bottom: 2px;
    font-size: 15px;
}

.conference-screens-container > .site-footer .pc-footer-extra__text{
    font-size: 12px;
    line-height: 1.32;
}

/* Контакты — email и телефон в одну строку. */
.conference-screens-container > .site-footer .pc-footer-extra__contacts{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
    align-content: start;
}

.conference-screens-container > .site-footer .pc-footer-extra__contacts .pc-footer-extra__title{
    grid-column: 1 / -1;
}

.conference-screens-container > .site-footer .pc-footer-extra__contact{
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 7px;
    margin-bottom: 0;
}

.conference-screens-container > .site-footer .pc-footer-extra__contact-icon{
    width: 26px;
    height: 26px;
    font-size: 11px;
}

.conference-screens-container > .site-footer .pc-footer-extra__contact small{
    margin-bottom: 1px;
    font-size: 11px;
}

.conference-screens-container > .site-footer .pc-footer-extra__contact strong{
    font-size: 12px;
    line-height: 1.18;
}

/* Соцсети — две кнопки рядом, а не столбцом. */
.conference-screens-container > .site-footer .pc-footer-extra__social{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-content: start;
}

.conference-screens-container > .site-footer .pc-footer-extra__social .pc-footer-extra__title{
    grid-column: 1 / -1;
    margin-bottom: 4px;
}

.conference-screens-container > .site-footer .pc-footer-extra__social-link{
    min-height: 48px;
    grid-template-columns: 20px minmax(0, 1fr) 14px;
    gap: 6px;
    margin-bottom: 0;
    padding: 7px 8px;
}

.conference-screens-container > .site-footer .pc-footer-extra__social-copy strong{
    font-size: 12px;
}

.conference-screens-container > .site-footer .pc-footer-extra__social-copy small{
    font-size: 7px;
}

.conference-screens-container > .site-footer .pc-footer-extra__social-arrow{
    font-size: 13px;
}

/* Нижняя юридическая часть — в одну компактную полосу. */
.conference-screens-container > .site-footer .registration-legal-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 14px;
    text-align: left;
}

.conference-screens-container > .site-footer .registration-legal-footer__copyright{
    flex: 0 0 auto;
    margin: 0;
    font-size: 11px;
    white-space: nowrap;
}

.conference-screens-container > .site-footer .registration-legal-footer__links{
    min-width: 0;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 6px 14px;
    flex-wrap: wrap;
}

.conference-screens-container > .site-footer .registration-legal-footer__links a,
.conference-screens-container > .site-footer .registration-legal-footer__links a:visited{
    font-size: 10px;
    line-height: 1.2;
    white-space: nowrap;
}

@media (max-width: 1100px){
    .conference-screens-container > .site-footer .pc-footer-extra{
        grid-template-columns: 1fr 1fr;
    }

    .conference-screens-container > .site-footer .pc-footer-extra__social{
        grid-column: 1 / -1;
    }

    .conference-screens-container > .site-footer .registration-legal-footer{
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .conference-screens-container > .site-footer .registration-legal-footer__links{
        justify-content: flex-start;
    }
}

@media (max-width: 700px){
    .conference-screens-container > .site-footer{
        margin-top: 18px !important;
    }

    .conference-screens-container > .site-footer .site-footer__inner{
        width: calc(100% - 24px) !important;
    }

    .conference-screens-container > .site-footer .pc-footer-extra,
    .conference-screens-container > .site-footer .pc-footer-extra__organizers,
    .conference-screens-container > .site-footer .pc-footer-extra__contacts,
    .conference-screens-container > .site-footer .pc-footer-extra__social{
        grid-template-columns: 1fr;
    }

    .conference-screens-container > .site-footer .pc-footer-extra{
        gap: 18px;
        padding: 18px 0 16px !important;
    }

    .conference-screens-container > .site-footer .pc-footer-extra__organizers .pc-footer-extra__title,
    .conference-screens-container > .site-footer .pc-footer-extra__contacts .pc-footer-extra__title,
    .conference-screens-container > .site-footer .pc-footer-extra__social .pc-footer-extra__title{
        grid-column: auto;
    }

    .conference-screens-container > .site-footer .registration-legal-footer__copyright{
        white-space: normal;
    }

    .conference-screens-container > .site-footer .registration-legal-footer__links{
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
    }
}

/* ============================================================
   PARTICIPANT FOOTER — юридический блок справа
   Верхняя информация остаётся слева, политики занимают правую колонку.
   ============================================================ */
.conference-screens-container > .site-footer .site-footer__inner{
    display: grid;
    grid-template-columns: minmax(0, 2.15fr) minmax(320px, .85fr);
    column-gap: clamp(28px, 4vw, 64px);
    align-items: start;
}

.conference-screens-container > .site-footer .pc-footer-extra{
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, .78fr) minmax(250px, .72fr);
    gap: clamp(18px, 2.3vw, 34px);
    padding: 18px 0 16px !important;
}

.conference-screens-container > .site-footer .registration-legal-footer{
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    margin: 18px 0 16px;
    padding: 0 0 0 24px;
    border-top: 0;
    border-left: 1px solid rgba(14, 24, 45, .16);
    text-align: left;
}

.conference-screens-container > .site-footer .registration-legal-footer__copyright{
    margin: 0;
    white-space: normal;
    font-size: 11px;
    line-height: 1.35;
}

.conference-screens-container > .site-footer .registration-legal-footer__links{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
}

.conference-screens-container > .site-footer .registration-legal-footer__links a,
.conference-screens-container > .site-footer .registration-legal-footer__links a:visited{
    white-space: normal;
    font-size: 10px;
    line-height: 1.25;
}

@media (max-width: 1180px){
    .conference-screens-container > .site-footer .site-footer__inner{
        grid-template-columns: minmax(0, 1.7fr) minmax(290px, .8fr);
        column-gap: 28px;
    }

    .conference-screens-container > .site-footer .pc-footer-extra{
        grid-template-columns: 1fr 1fr;
    }

    .conference-screens-container > .site-footer .pc-footer-extra__social{
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px){
    .conference-screens-container > .site-footer .site-footer__inner{
        display: block;
    }

    .conference-screens-container > .site-footer .registration-legal-footer{
        margin: 0;
        padding: 14px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(14, 24, 45, .16);
    }

    .conference-screens-container > .site-footer .registration-legal-footer__links{
        flex-direction: row;
        flex-wrap: wrap;
        gap: 7px 14px;
    }
}

/* ============================================================
   LISTENER FOOTER — тот же компактный макет, что у участников:
   политики справа от организаторов / контактов / соцсетей.
   ============================================================ */
.listener-screens-container > .site-footer{
    margin-top: 22px !important;
}

.listener-screens-container > .site-footer .site-footer__inner{
    width: auto;
    padding-bottom: 16px !important;
    display: grid;
    grid-template-columns: minmax(0, 2.15fr) minmax(320px, .85fr);
    column-gap: clamp(28px, 4vw, 64px);
    justify-content: center;
}

.listener-screens-container > .site-footer .pc-footer-extra{
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, .78fr) minmax(250px, .72fr);
    gap: clamp(18px, 2.3vw, 34px);
    padding: 18px 0 16px !important;
}

.listener-screens-container > .site-footer .registration-legal-footer{
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    margin: 18px 0 16px;
    padding: 0 0 0 24px;
    border-top: 0;
    border-left: 1px solid rgba(14, 24, 45, .16);
    text-align: left;
}

.listener-screens-container > .site-footer .registration-legal-footer__copyright{
    margin: 0;
    white-space: normal;
    font-size: 11px;
    line-height: 1.35;
}

.listener-screens-container > .site-footer .registration-legal-footer__links{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
}

.listener-screens-container > .site-footer .registration-legal-footer__links a,
.listener-screens-container > .site-footer .registration-legal-footer__links a:visited{
    white-space: normal;
    font-size: 10px;
    line-height: 1.25;
}

@media (max-width: 1180px){
    .listener-screens-container > .site-footer .site-footer__inner{
        grid-template-columns: minmax(0, 1.7fr) minmax(290px, .8fr);
        column-gap: 28px;
    }

    .listener-screens-container > .site-footer .pc-footer-extra{
        grid-template-columns: 1fr 1fr;
    }

    .listener-screens-container > .site-footer .pc-footer-extra__social{
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px){
    .listener-screens-container > .site-footer .site-footer__inner{
        display: block;
    }

    .listener-screens-container > .site-footer .registration-legal-footer{
        margin: 0;
        padding: 14px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(14, 24, 45, .16);
    }

    .listener-screens-container > .site-footer .registration-legal-footer__links{
        flex-direction: row;
        flex-wrap: wrap;
        gap: 7px 14px;
    }
}

/* ============================================================
   FOOTER LAYOUT FIX — 4 колонки на десктопе
   Не полагаемся на положение футера в DOM: используем modifier-классы.
   1) Организаторы  2) Контакты  3) Соцсети  4) Политики
   ============================================================ */
.site-footer--participant .site-footer__inner,
.site-footer--listener .site-footer__inner{
    width: auto;
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(300px, 1fr) !important;
    column-gap: clamp(28px, 3vw, 54px) !important;
}

.site-footer--participant .pc-footer-extra,
.site-footer--listener .pc-footer-extra{
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(280px, 1.35fr) minmax(220px, .9fr) minmax(240px, .85fr) !important;
    gap: clamp(20px, 2.2vw, 38px) !important;
    padding: 20px 0 18px !important;
    margin: 0 !important;
}

.site-footer--participant .registration-legal-footer,
.site-footer--listener .registration-legal-footer{
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 20px 0 18px !important;
    padding: 0 0 0 24px !important;
    border-top: 0 !important;
    border-left: 1px solid rgba(14, 24, 45, .16) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    text-align: left !important;
}

.site-footer--participant .registration-legal-footer__copyright,
.site-footer--listener .registration-legal-footer__copyright{
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    text-align: left !important;
}

.site-footer--participant .registration-legal-footer__links,
.site-footer--listener .registration-legal-footer__links{
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 7px !important;
}

.site-footer--participant .registration-legal-footer__links a,
.site-footer--participant .registration-legal-footer__links a:visited,
.site-footer--listener .registration-legal-footer__links a,
.site-footer--listener .registration-legal-footer__links a:visited{
    font-size: 15px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    white-space: normal !important;
}

/* На средних экранах всё ещё держим политики справа. */
@media (max-width: 1180px) and (min-width: 901px){
    .site-footer--participant .site-footer__inner,
    .site-footer--listener .site-footer__inner{
        width: calc(100% - 36px) !important;
        grid-template-columns: minmax(0, 2.4fr) minmax(260px, .9fr) !important;
        column-gap: 24px !important;
    }

    .site-footer--participant .pc-footer-extra,
    .site-footer--listener .pc-footer-extra{
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

/* Только на планшете/мобиле политики уходят вниз. */
@media (max-width: 900px){
    .site-footer--participant .site-footer__inner,
    .site-footer--listener .site-footer__inner{
        width: calc(100% - 24px) !important;
        display: block !important;
    }

    .site-footer--participant .pc-footer-extra,
    .site-footer--listener .pc-footer-extra{
        grid-template-columns: 1fr !important;
    }

    .site-footer--participant .registration-legal-footer,
    .site-footer--listener .registration-legal-footer{
        margin: 0 !important;
        padding: 14px 0 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(14, 24, 45, .16) !important;
    }
}

/* ============================================================
   PARTICIPANT MAP → FOOTER SPACING
   Даём воздуху между блоком «Место» и футером участника.
   ============================================================ */
.site-footer--participant{
    margin-top: 40px !important;
}

@media (max-width: 900px){
    .site-footer--participant{
        margin-top: 24px !important;
    }
}

/* ============================================================
   MOBILE LAYOUT / MAP / SINGLE PARTNER FIX — 2026-08-21
   ============================================================ */

/* Один партнёр в своей группе — карточка по центру. */
.partner-level__grid.partner-level__grid--single {
    grid-template-columns: minmax(0, 360px) !important;
    justify-content: center !important;
}

@media (max-width: 768px) {
    /* Заголовок всегда остаётся тремя строками и не переносится внутри слов. */
    #main-text {
        top: 18px !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        width: calc(100% - 32px) !important;
        max-width: 430px !important;
        margin: 0 !important;
        transform: translateX(-50%) !important;
        text-align: center !important;
        z-index: 30 !important;
    }

    #main-text.show {
        transform: translateX(-50%) !important;
    }

    #main-text h1 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 4px !important;
        font-size: clamp(24px, 7.5vw, 32px) !important;
        line-height: 1.08 !important;
        letter-spacing: 3px !important;
        white-space: normal !important;
    }

    #main-text h1 > span {
        display: block !important;
        width: 100% !important;
        white-space: nowrap !important;
    }

    /* Освобождаем место сверху под заголовок, чтобы он не заходил на картинку. */
    .mobile-hands-container {
        margin-top: 118px !important;
    }

    /* Карта участника выше. */
    #participant-map-screen .map-iframe,
    #participant-map-screen iframe {
        height: 420px !important;
        min-height: 420px !important;
    }

    .partner-level__grid.partner-level__grid--single {
        grid-template-columns: minmax(0, 360px) !important;
        justify-content: center !important;
    }
}

@media (max-width: 480px) {
    #main-text {
        top: 14px !important;
        width: calc(100% - 24px) !important;
    }

    #main-text h1 {
        font-size: clamp(22px, 8vw, 28px) !important;
        letter-spacing: 2px !important;
    }

    .mobile-hands-container {
        margin-top: 104px !important;
    }

    #participant-map-screen .map-iframe,
    #participant-map-screen iframe {
        height: 380px !important;
        min-height: 380px !important;
    }
}

/* ============================================================
   FINAL MOBILE CHOICE + MAP HEIGHT FIX — 2026-08-21
   ============================================================ */
@media (max-width: 768px) {
    /* Экран выбора: строим обычную вертикальную колонку — заголовок больше не лежит поверх кнопки. */
    #cyberhands-container.cyberhands-container {
        display: block !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 18px 0 38px !important;
        box-sizing: border-box !important;
    }

    #cyberhands-container #main-text {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: calc(100% - 32px) !important;
        max-width: 430px !important;
        margin: 0 auto 30px !important;
        transform: none !important;
        text-align: center !important;
        z-index: 30 !important;
    }

    #cyberhands-container #main-text.show {
        transform: none !important;
    }

    #cyberhands-container #main-text h1 {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 !important;
        gap: 3px !important;
        font-size: clamp(24px, 7.3vw, 31px) !important;
        line-height: 1.08 !important;
        letter-spacing: 3px !important;
        white-space: normal !important;
    }

    #cyberhands-container #main-text h1 > span {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        white-space: nowrap !important;
    }

    #cyberhands-container .hologram-container {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: 500px !important;
        height: auto !important;
        margin: 0 auto !important;
        padding: 0 15px 24px !important;
    }

    #cyberhands-container .mobile-hands-container {
        margin: 0 auto !important;
    }

    /* Карта слушателя/гостя в разделе «Место» — заметно выше. */
    #map-schedule-screen .listener-map-container,
    #map-schedule-screen .map-cont {
        min-height: 420px !important;
    }

    #map-schedule-screen .listener-map,
    #map-schedule-screen .unified-map,
    #map-schedule-screen iframe {
        height: 420px !important;
        min-height: 420px !important;
    }

    /* Карта участника — та же увеличенная высота. */
    #participant-map-screen .participant-map-container {
        min-height: 420px !important;
    }

    #participant-map-screen .participant-map,
    #participant-map-screen .map-iframe,
    #participant-map-screen iframe {
        height: 420px !important;
        min-height: 420px !important;
    }
}

@media (max-width: 480px) {
    #cyberhands-container.cyberhands-container {
        padding-top: 16px !important;
    }

    #cyberhands-container #main-text {
        width: calc(100% - 24px) !important;
        margin-bottom: 28px !important;
    }

    #cyberhands-container #main-text h1 {
        font-size: clamp(22px, 8vw, 28px) !important;
        letter-spacing: 2px !important;
    }

    #map-schedule-screen .listener-map-container,
    #map-schedule-screen .map-cont,
    #participant-map-screen .participant-map-container {
        min-height: 380px !important;
    }

    #map-schedule-screen .listener-map,
    #map-schedule-screen .unified-map,
    #map-schedule-screen iframe,
    #participant-map-screen .participant-map,
    #participant-map-screen .map-iframe,
    #participant-map-screen iframe {
        height: 380px !important;
        min-height: 380px !important;
    }
}

/* ============================================================
   FINAL FIX: REAL MAP HEIGHT
   Увеличиваем именно iframe Яндекс.Карты, а не только внешний блок.
   ============================================================ */
@media (max-width: 1100px) {
    #map-schedule-screen .map-cont,
    #map-schedule-screen .listener-map-container {
        height: 520px !important;
        min-height: 520px !important;
    }

    #map-schedule-screen iframe.unified-map,
    #map-schedule-screen iframe.listener-map,
    #map-schedule-screen .unified-map,
    #map-schedule-screen .listener-map {
        display: block !important;
        width: 100% !important;
        height: 520px !important;
        min-height: 520px !important;
        max-height: none !important;
    }

    #participant-map-screen .map-container,
    #participant-map-screen .participant-map-container {
        height: 520px !important;
        min-height: 520px !important;
    }

    #participant-map-screen iframe.participant-map,
    #participant-map-screen iframe.map-iframe,
    #participant-map-screen .participant-map,
    #participant-map-screen .map-iframe {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 520px !important;
        max-height: none !important;
    }
}

@media (max-width: 480px) {
    #map-schedule-screen .map-cont,
    #map-schedule-screen .listener-map-container,
    #participant-map-screen .map-container,
    #participant-map-screen .participant-map-container {
        height: 460px !important;
        min-height: 460px !important;
    }

    #map-schedule-screen iframe.unified-map,
    #map-schedule-screen iframe.listener-map,
    #map-schedule-screen .unified-map,
    #map-schedule-screen .listener-map,
    #participant-map-screen iframe.participant-map,
    #participant-map-screen iframe.map-iframe,
    #participant-map-screen .participant-map,
    #participant-map-screen .map-iframe {
        height: 460px !important;
        min-height: 460px !important;
        max-height: none !important;
    }
}



/* =========================================
   СОКОЛ ПОД БЛОКОМ "МЕСТО ПРОВЕДЕНИЯ"
   ========================================= */

.venue-sokol {
    width: 100%;
    margin-top: 25px;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.venue-sokol__image {
position: absolute;
top: 594px;
    display: block;
    width: 100%;
    max-width: 410px;
    height: auto;
    object-fit: contain;
}

/* Мобильная версия */
@media (max-width: 768px) {
    .venue-sokol {
        margin-top: 20px;
    }

    .venue-sokol__image {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
}

.schedule-video {
    width: 100%;
    margin-top: 10px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.schedule-video img {
    display: block;
    width: 500px; /* размер гифки */
    height: auto;
}


.schedule-side-gif {
    position: absolute;
    right: 30px;       /* положение от правого края */
    top: 30px;        /* положение сверху */
    z-index: 10;
    pointer-events: none;
}

.schedule-side-gif img {
    display: block;
    width: 500px;      /* размер GIF */
    height: auto;
}


/* ===== СОГЛАСИЯ В ФОРМЕ ===== */

.registration-consents {
    width: 100%;
    margin: 12px 0 8px;

    display: flex;
    flex-direction: column;
    gap: 8px;
}

.registration-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;

    width: 100%;

    font-family: 'Play', sans-serif;
    font-size: 15px;
    line-height: 1.4;

    color: #0e182d;

    cursor: pointer;
}

.registration-consent input[type="checkbox"] {
    width: 14px;
    height: 14px;
    min-width: 14px;

    margin: 1px 0 0 0;

    cursor: pointer;
}

.registration-consent__checkbox {
    display: none;
}

.registration-consent__text {
    flex: 1;
    min-width: 0;
}

.registration-consent__text a,
.registration-consent__text a:visited {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.registration-consent__text a:hover {
    color: #000;
}

.registration-consents .field-error {
    margin-left: 22px;
    font-size: 10px;
}















/* ============================================================
   ПОЛОСКА В НАВИГАЦИИ — ИСПРАВЛЕННАЯ
   ============================================================ */

.site-role-nav__link {
    position: relative !important;
    text-decoration: none !important;
}

/* Полоска под кнопкой */
.site-role-nav__link::after {
    content: '' !important;
    position: absolute !important;
    left: 13px !important;
    right: 13px !important;
    bottom: 4px !important;
    height: 2px !important;
    background: #60BFB5 !important;
    transform: scaleX(0) !important;
    transform-origin: left !important;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: block !important;
    pointer-events: none !important;
}

/* Активная полоска */
.site-role-nav__link.is-active::after {
    transform: scaleX(1) !important;
}

/* При наведении тоже показываем полоску */
.site-role-nav__link:hover::after {
    transform: scaleX(0.6) !important;
}

/* Мобильная версия — полоска на всю ширину */
@media (max-width: 980px) {
    .site-role-nav__link::after {
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        height: 2px !important;
    }
}

