/* --- НАСТРОЙКИ (SETTINGS) --- */
/* --- ПОДКЛЮЧЕНИЕ ШРИФТА (Google Fonts: Manrope) --- */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;700;800&display=swap');

/* --- НАСТРОЙКИ --- */
:root {
    --bg-color: #080808;
    --text-color: #F2F2F2;
    --dim-color: #666;
    --accent-color: #D4FF00;
    --line-color: rgba(255, 255, 255, 0.1);
    
    /* Меняем основной шрифт на Manrope */
    --font-main: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
    --font-mono: 'Courier New', Courier, monospace;
    
    --container-padding: 5vw;
}
/* ... остальной код style.css остается тем же, что я скинул в прошлом сообщении ... */


/* --- БАЗА (BASE) --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width: 100%; min-height: 100vh; background: var(--bg-color); color: var(--text-color); font-family: var(--font-main); overflow-x: hidden; cursor: none; }
a { text-decoration: none; color: inherit; cursor: none; }
ul { list-style: none; }
img { max-width: 100%; display: block; }

/* ТИПОГРАФИКА (TYPOGRAPHY) */
.mono { font-family: var(--font-mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.text-dim { color: var(--dim-color); }
.accent { color: var(--accent-color); }
.outline {
    color: var(--bg-color); /* Цвет фона (черный) */
    text-shadow: 
        -1px -1px 0 var(--text-color),  
         1px -1px 0 var(--text-color),
        -1px  1px 0 var(--text-color),
         1px  1px 0 var(--text-color); /* Имитация обводки */
    letter-spacing: -0.02em; /* Сохраняем кернинг */
    position: relative;
    z-index: 1;
    /* Убираем старый метод */
    -webkit-text-stroke: 0; 
}


/* --- ФОН И ЭФФЕКТЫ (BACKGROUND & EFFECTS) --- */
.grid-lines { position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: space-between; padding: 0 var(--container-padding); pointer-events: none; z-index: 0; }
.line { width: 1px; height: 100%; background: var(--line-color); }
.noise { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); opacity: 0.04; pointer-events: none; z-index: 9000; }

/* --- КУРСОР (CURSOR) --- */
.cursor-dot { position: fixed; width: 6px; height: 6px; background: var(--accent-color); border-radius: 50%; pointer-events: none; z-index: 9999; transform: translate(-50%, -50%); }
.cursor-follower { position: fixed; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,0.3); border-radius: 50%; pointer-events: none; z-index: 9998; transform: translate(-50%, -50%); transition: width 0.3s, height 0.3s, background 0.3s, border-color 0.3s; }

/* --- НАВИГАЦИЯ (NAV) --- */
nav { position: fixed; top: 0; left: 0; width: 100%; padding: 30px var(--container-padding); display: flex; justify-content: space-between; z-index: 100; mix-blend-mode: difference; }
.logo { font-weight: 700; font-size: 18px; letter-spacing: -0.5px; }
.mono-badge { font-family: var(--font-mono); font-size: 10px; background: #fff; color: #000; padding: 2px 4px; border-radius: 2px; margin-left: 5px; }
.menu-list { display: flex; gap: 40px; }
.menu-list a { font-size: 14px; font-weight: 500; text-transform: uppercase; }
.menu-list a.active, .menu-list a:hover { color: var(--accent-color); }

/* --- ОБЩИЕ БЛОКИ (LAYOUT) --- */
main { position: relative; z-index: 1; padding-top: 1px; } /* padding-top 1px prevents margin collapse */
.container { padding: 0 var(--container-padding); max-width: 100%; }
.section-label { display: block; margin-bottom: 40px; color: var(--accent-color); font-family: var(--font-mono); font-size: 12px; }

/* --- ГЛАВНАЯ: HERO --- */
.hero-meta { margin-bottom: 20px; color: var(--dim-color); display: flex; gap: 20px; }
.hero-title h1 { font-size: clamp(60px, 11vw, 180px); line-height: 0.85; font-weight: 800; text-transform: uppercase; }
.intro-text { font-size: 20px; line-height: 1.4; margin-top: 40px; max-width: 600px; }

/* --- ГЛАВНАЯ: CLIENTS --- */
.clients-section { padding: 80px 0; }
.clients-grid { 
    display: grid; 
    grid-template-columns: repeat(5, 1fr); 
    gap: 20px; 
    border-top: 1px solid var(--line-color); 
    padding-top: 40px; 
}
.client-item { 
    font-family: var(--font-main); 
    font-weight: 700; 
    font-size: 14px; 
    color: var(--dim-color); 
    text-transform: uppercase; 
    letter-spacing: 1px; 
}

/* --- ГЛАВНАЯ: PORTFOLIO LIST --- */
.work-list-section { padding: 100px 0; }
.work-list { border-top: 1px solid var(--line-color); }

/* Fix for .work-item (Important!) */
.work-item { 
    display: flex; /* Flexbox for row layout */
    align-items: baseline; 
    padding: 40px 0; 
    border-bottom: 1px solid var(--line-color); 
    transition: background 0.3s; 
    width: 100%;
}
.work-item:hover { background: rgba(255,255,255,0.02); }

.work-id { width: 10%; color: var(--dim-color); }
.work-name { width: 50%; font-size: clamp(24px, 4vw, 50px); font-weight: 400; }
.work-cat { width: 20%; text-align: right; color: var(--dim-color); }
.work-year { width: 20%; text-align: right; color: var(--dim-color); }

/* --- ГЛАВНАЯ: MANIFESTO --- */
.text-section { padding: 100px 0; }
.big-text { font-size: clamp(24px, 3.5vw, 48px); line-height: 1.2; max-width: 90%; }

/* --- ГЛАВНАЯ: CONTACT FORM --- */
.contact-section { padding: 150px 0; background: #0a0a0a; }
.contact-wrapper { max-width: 900px; }
.contact-title { font-size: clamp(40px, 6vw, 80px); line-height: 1; margin-bottom: 80px; text-transform: uppercase; }
.ape-form { display: flex; flex-direction: column; gap: 50px; }
.form-row { display: flex; gap: 40px; }
.input-group { position: relative; width: 100%; }
.input-group label { display: block; margin-bottom: 15px; font-size: 11px; color: var(--accent-color); }
.input-group input, .input-group textarea { 
    width: 100%; background: transparent; border: none; border-bottom: 1px solid var(--dim-color); 
    padding: 15px 0; font-family: var(--font-main); font-size: 20px; color: var(--text-color); 
    outline: none; transition: border-color 0.3s; resize: none; border-radius: 0;
}
.focus-line { position: absolute; bottom: 0; left: 0; width: 0%; height: 2px; background: var(--accent-color); transition: width 0.4s; }
.input-group input:focus ~ .focus-line, .input-group textarea:focus ~ .focus-line { width: 100%; }
.submit-btn { 
    align-self: flex-start; background: transparent; border: 1px solid var(--dim-color); 
    color: var(--text-color); padding: 20px 50px; cursor: pointer; 
    font-family: var(--font-mono); font-size: 14px; text-transform: uppercase; transition: all 0.3s; 
}
.submit-btn:hover { background: var(--accent-color); color: #000; border-color: var(--accent-color); }

/* --- СТАТЬИ: LIST PAGE --- */
.page-header { padding: 180px var(--container-padding) 80px; }
.page-title {
    font-size: clamp(60px, 11vw, 180px); /* Вернул размер как на главной */
    line-height: 0.85; /* Вернул плотный интерлиньяж, но... */
    font-weight: 800;
    text-transform: uppercase;
    margin-top: 60px; /* Отступ сверху */
    margin-bottom: 40px;
    letter-spacing: -0.02em; /* Кернинг */
}
.page-title .outline {
    -webkit-text-stroke: 1px var(--text-color);
    color: transparent; /* Вернул прозрачность как на главной */
    position: relative;
    z-index: 1;
}
.mono-counter { font-size: 20px; vertical-align: super; color: var(--accent-color); }

.list-section { border-top: 1px solid var(--line-color); }
.list-item { 
    display: block; 
    border-bottom: 1px solid var(--line-color); 
    padding: 60px 0; 
    position: relative; 
    transition: background 0.3s;
}
.list-item:hover { background: rgba(255,255,255,0.02); }

.item-row { display: flex; align-items: baseline; }
.article-date { width: 15%; color: var(--accent-color); }
.article-content-col { width: 65%; }
.article-tag { width: 20%; text-align: right; color: var(--dim-color); }

.article-title { font-size: clamp(28px, 3vw, 42px); font-weight: 400; margin-bottom: 15px; transition: color 0.3s; }
.list-item:hover .article-title { color: var(--accent-color); }
.article-excerpt { font-size: 18px; color: var(--dim-color); max-width: 600px; line-height: 1.5; }

/* --- СТАТЬИ: SINGLE POST PAGE --- */
.article-single-header { padding: 180px var(--container-padding) 60px; }
.back-link { display: inline-block; margin-bottom: 40px; opacity: 0.6; transition: opacity 0.3s; }
.back-link:hover { opacity: 1; color: var(--accent-color); }
.single-title { font-size: clamp(32px, 5vw, 64px); line-height: 1.1; max-width: 1000px; }
.single-meta { display: flex; gap: 30px; margin-top: 40px; color: var(--dim-color); border-bottom: 1px solid var(--line-color); padding-bottom: 40px; }

.article-body { max-width: 720px; margin: 0 auto; padding-bottom: 150px; }
.article-lead { font-size: 24px; line-height: 1.5; color: #fff; font-weight: 500; margin-bottom: 40px; }
.article-body p { font-size: 19px; line-height: 1.6; color: #ccc; margin-bottom: 30px; }
.article-body h3 { font-size: 28px; color: #fff; margin-top: 60px; margin-bottom: 20px; }
.article-img { margin: 50px 0; border: 1px solid #222; }

/* --- HOVER REVEAL --- */
.hover-reveal { position: fixed; width: 350px; height: 450px; top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; z-index: 10; opacity: 0; visibility: hidden; transition: opacity 0.3s; }
.hover-reveal__img { width: 100%; height: 100%; background-size: cover; background-position: center; }

/* --- FOOTER --- */
footer { padding: 100px 0 40px; border-top: 1px solid var(--line-color); margin-top: auto; }
.footer-cta { margin-bottom: 80px; }
.footer-cta a { font-size: clamp(30px, 8vw, 100px); font-weight: 700; line-height: 0.9; text-transform: uppercase; }
.footer-cta a:hover { color: var(--accent-color); }
.footer-bottom { display: flex; justify-content: space-between; color: var(--dim-color); }

/* --- MOBILE --- */
@media (max-width: 768px) {
    .clients-grid { grid-template-columns: 1fr 1fr; }
    .work-item, .item-row { flex-direction: column; gap: 10px; }
    .work-id, .work-cat, .work-year, .article-date, .article-tag { width: auto; text-align: left; opacity: 0.6; }
    .work-name, .article-content-col { width: 100%; }
    .article-title { font-size: 24px; }
    .hero-title h1 { font-size: 60px; }
    .form-row { flex-direction: column; }
    .hover-reveal, .cursor-dot, .cursor-follower { display: none; }
    body { cursor: auto; }
}

/* --- ДОБАВЬ ЭТО В КОНЕЦ style.css или замени блок HERO --- */

/* Hero обновленный */
.hero { 
    min-height: 90vh; 
    padding: 0 var(--container-padding); /* Убрали лишние отступы */
    display: flex; 
    align-items: center; 
    position: relative; 
    overflow: hidden; /* Важно, чтобы 3D не вылезало */
}

/* Обертка для контента, чтобы он был поверх 3D */
.hero-content-wrapper {
    position: relative;
    z-index: 2; /* Текст выше модели */
    max-width: 800px;
    margin-top: 100px;
}

/* 3D Контейнер */
#scene-container {
    position: absolute;
    top: 0;
    right: -10%; /* Сдвигаем вправо */
    width: 60%;  /* Занимает правую часть */
    height: 100%;
    z-index: 1;
    pointer-events: none; /* Пропускает клики */
    mix-blend-mode: lighten; /* Красивое наложение */
}

/* На мобильных убираем в фон или вниз */
@media (max-width: 768px) {
    #scene-container {
        width: 100%;
        right: 0;
        top: 20%;
        opacity: 0.3; /* Тусклее, чтобы текст читался */
    }
    .hero-content-wrapper { margin-top: 150px; }
}

/* ...Остальные стили оставь как были в прошлой версии... */
/* Продублирую важные настройки шрифта на всякий случай */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;700;800&display=swap');
:root {
    --bg-color: #080808;
    --text-color: #F2F2F2;
    --dim-color: #666;
    --accent-color: #D4FF00;
    --line-color: rgba(255, 255, 255, 0.1);
    --font-main: 'Manrope', sans-serif;
    --font-mono: 'Courier New', monospace;
    --container-padding: 5vw;
}
/* --- SERVICES SECTION (HOME) --- */
.services-section { padding: 80px 0; background: var(--bg-color); }
.services-list { border-top: 1px solid var(--line-color); }

.service-row {
    display: flex;
    align-items: center;
    padding: 50px 0;
    border-bottom: 1px solid var(--line-color);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    cursor: pointer;
}

/* Hover Effect: Сдвиг и подсветка */
.service-row:hover {
    padding-left: 20px;
    background: rgba(255,255,255,0.02);
}

.service-meta { width: 10%; color: var(--dim-color); font-weight: 700; }

.service-main { width: 50%; }
.service-name { 
    font-size: clamp(24px, 3vw, 40px); 
    font-weight: 400; 
    margin-bottom: 5px; 
    transition: color 0.3s;
}
.service-row:hover .service-name { color: var(--accent-color); }

.service-desc {
    font-size: 16px; 
    color: var(--dim-color); 
    opacity: 0; 
    transform: translateY(10px); 
    transition: all 0.3s; 
    height: 0; 
    overflow: hidden;
}
/* Раскрытие описания при наведении */
.service-row:hover .service-desc {
    opacity: 1;
    transform: translateY(0);
    height: auto;
    margin-top: 10px;
}

.service-price { 
    width: 20%; 
    text-align: right; 
    font-size: 20px; 
    color: #fff; 
    font-weight: 700; 
}

.service-action {
    width: 20%;
    text-align: right;
    color: var(--accent-color);
    opacity: 0;
    transform: translateX(-20px);
    transition: all 0.3s;
}
.service-row:hover .service-action {
    opacity: 1;
    transform: translateX(0);
}

/* Mobile */
@media (max-width: 768px) {
    .service-row { flex-wrap: wrap; }
    .service-meta { width: 100%; margin-bottom: 10px; }
    .service-main { width: 100%; margin-bottom: 20px; }
    .service-desc { opacity: 1; height: auto; transform: none; } /* Всегда показывать на мобильных */
    .service-price { width: 50%; text-align: left; }
    .service-action { width: 50%; opacity: 1; transform: none; }
}
/* LANG SWITCHER */
.lang-switch { margin-left: 20px; color: var(--dim-color); cursor: pointer; }
.lang-btn { transition: color 0.3s; }
.lang-btn:hover { color: #fff; }
.lang-btn.active { color: var(--accent-color); }
/* --- TICKER (FIXED) --- */
.ticker-wrapper {
    width: 100%;
    padding: 30px 0;
    border-top: 1px solid var(--line-color);
    border-bottom: 1px solid var(--line-color);
    overflow: hidden;
    background: var(--bg-color);
    position: relative;
    z-index: 2;
    margin-bottom: 80px;
}

.ticker-track {
    display: flex;
    white-space: nowrap;
    /* Анимация движения трека целиком */
    animation: marquee 20s linear infinite;
    width: max-content; /* Ширина по контенту */
}

.ticker-item {
    font-family: var(--font-mono);
    font-size: 18px; /* Чуть меньше, стильнее */
    color: var(--dim-color);
    padding-right: 20px; /* Отступ между дублями */
    opacity: 0.7;
    letter-spacing: 1px;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } /* Сдвигаем на 50%, т.к. у нас 2 дубля */
}/* --- ЛОГОТИП (BIG & GLITCH) --- */
.logo-wrapper {
    position: relative;
    display: flex; /* Чтобы выровнять по центру */
    align-items: center;
}

.logo-img {
    display: block;
    height: 40px; /* Было 24px, стало 40px - это заметно крупнее */
    width: auto;
    position: relative;
    z-index: 2;
    transition: transform 0.2s; /* Легкий зум */
}

/* Глитч-слои (копии логотипа) */
.logo-wrapper::before,
.logo-wrapper::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: url('logo.svg') no-repeat left center; /* ПРОВЕРЬ ИМЯ ФАЙЛА! */
    background-size: contain;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
}

/* Эффект при наведении */
.logo-wrapper:hover .logo-img {
    transform: scale(1.02); /* Чуть-чуть увеличивается */
}

.logo-wrapper:hover::before {
    opacity: 0.7;
    /* Сдвиг влево + Красный цвет (filter) */
    transform: translate(-3px, 0);
    filter: drop-shadow(-2px 0 0 #ff003c); 
    animation: glitch-1 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
}

.logo-wrapper:hover::after {
    opacity: 0.7;
    /* Сдвиг вправо + Голубой цвет */
    transform: translate(3px, 0);
    filter: drop-shadow(2px 0 0 #00f0ff);
    animation: glitch-2 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
}

/* Хаотичная анимация */
@keyframes glitch-1 {
    0% { clip-path: inset(20% 0 80% 0); }
    20% { clip-path: inset(60% 0 10% 0); }
    40% { clip-path: inset(10% 0 50% 0); }
    60% { clip-path: inset(80% 0 5% 0); }
    80% { clip-path: inset(30% 0 40% 0); }
    100% { clip-path: inset(50% 0 30% 0); }
}
@keyframes glitch-2 {
    0% { clip-path: inset(10% 0 60% 0); }
    20% { clip-path: inset(80% 0 5% 0); }
    40% { clip-path: inset(30% 0 20% 0); }
    60% { clip-path: inset(10% 0 80% 0); }
    80% { clip-path: inset(50% 0 30% 0); }
    100% { clip-path: inset(20% 0 60% 0); }
}
/* --- TEXT GLITCH EFFECT --- */
.glitch {
    position: relative;
    color: var(--text-color);
}

/* Создаем копии текста */
.glitch::before,
.glitch::after {
    content: attr(data-text); /* Берет текст из атрибута */
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: var(--bg-color); /* Фон, чтобы перекрывать оригинал */
    overflow: hidden;
}

/* Слой 1 (Красный/Сдвиг влево) */
.glitch::before {
    left: 2px;
    text-shadow: -1px 0 #ff003c;
    clip-path: inset(0 0 0 0); /* Скрыт по умолчанию */
    animation: glitch-anim-1 2s infinite linear alternate-reverse;
}

/* Слой 2 (Голубой/Сдвиг вправо) */
.glitch::after {
    left: -2px;
    text-shadow: 1px 0 #00f0ff;
    clip-path: inset(0 0 0 0);
    animation: glitch-anim-2 3s infinite linear alternate-reverse;
}

/* Анимация "нарезки" */
@keyframes glitch-anim-1 {
    0% { clip-path: inset(20% 0 80% 0); }
    20% { clip-path: inset(60% 0 10% 0); }
    40% { clip-path: inset(10% 0 50% 0); }
    60% { clip-path: inset(80% 0 5% 0); }
    80% { clip-path: inset(30% 0 40% 0); }
    100% { clip-path: inset(50% 0 30% 0); }
}
@keyframes glitch-anim-2 {
    0% { clip-path: inset(10% 0 60% 0); }
    20% { clip-path: inset(80% 0 5% 0); }
    40% { clip-path: inset(30% 0 20% 0); }
    60% { clip-path: inset(10% 0 80% 0); }
    80% { clip-path: inset(50% 0 30% 0); }
    100% { clip-path: inset(20% 0 60% 0); }
}

/* При наведении усиливаем эффект (опционально) */
.glitch:hover::before {
    text-shadow: -2px 0 #ff003c;
    left: 4px;
}
.glitch:hover::after {
    text-shadow: 2px 0 #00f0ff;
    left: -4px;
}
/* --- COOKIE BANNER --- */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #0a0a0a;
    border-top: 1px solid var(--accent-color);
    padding: 20px var(--container-padding);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 9999;
    transform: translateY(100%); /* Спрятан по умолчанию */
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.cookie-banner.active {
    transform: translateY(0);
}
.cookie-text {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--dim-color);
    max-width: 600px;
    margin-right: 20px;
}
.cookie-actions {
    display: flex;
    gap: 20px;
}
.cookie-btn {
    background: transparent;
    border: 1px solid var(--dim-color);
    color: var(--text-color);
    padding: 10px 20px;
    font-family: var(--font-mono);
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s;
}
.cookie-btn:hover {
    border-color: var(--accent-color);
    color: var(--accent-color);
}
.cookie-btn.accept {
    background: var(--accent-color);
    color: #000;
    border-color: var(--accent-color);
}
.cookie-btn.accept:hover {
    background: #fff;
    border-color: #fff;
}

/* --- FORM CHECKBOX (LEGAL) --- */
.form-legal {
    margin-top: 20px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}
.legal-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid var(--dim-color);
    background: transparent;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}
.legal-checkbox:checked {
    background: var(--accent-color);
    border-color: var(--accent-color);
}
/* Галочка кастомная */
.legal-checkbox:checked::after {
    content: '';
    position: absolute;
    top: 4px; left: 4px;
    width: 10px; height: 6px;
    border-left: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: rotate(-45deg);
}
.legal-text {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--dim-color);
    line-height: 1.4;
}
.legal-text a {
    color: var(--text-color);
    text-decoration: underline;
}
.legal-text a:hover {
    color: var(--accent-color);
}

/* Legal Page Styles */
.legal-content h3 { font-size: 24px; margin-top: 40px; margin-bottom: 20px; color: #fff; }
.legal-content p, .legal-content li { font-size: 16px; color: #ccc; line-height: 1.6; margin-bottom: 15px; }
.legal-content ul { list-style: disc; margin-left: 20px; }

/* Mobile */
@media (max-width: 768px) {
    .cookie-banner { flex-direction: column; align-items: flex-start; gap: 20px; }
    .cookie-actions { width: 100%; justify-content: space-between; }
    .cookie-btn { width: 48%; text-align: center; }
}
/* --- LEGAL PAGE UPDATES --- */
.close-btn {
    font-size: 20px; /* Крупнее */
    font-weight: 700;
    color: var(--accent-color); /* Зеленый лайм */
    border: 1px solid var(--accent-color);
    padding: 10px 20px;
    transition: all 0.3s;
    background: rgba(212, 255, 0, 0.1);
}
.close-btn:hover {
    background: var(--accent-color);
    color: #000;
    transform: scale(1.05);
}

/* --- FORM CHECKBOX FIX (Крупнее) --- */
.form-legal {
    margin-top: 30px;
    display: flex;
    align-items: center; /* Центрируем по вертикали */
    gap: 15px;
}
.legal-checkbox {
    width: 24px; height: 24px; /* Больше */
    border: 1px solid var(--dim-color);
    flex-shrink: 0;
    cursor: pointer;
}
.legal-checkbox:checked {
    background: var(--accent-color);
    border-color: var(--accent-color);
}
/* Текст согласия */
.legal-text {
    font-family: var(--font-main); /* Гротеск, чтобы читалось */
    font-size: 14px; /* Было 10px, стало 14px - теперь видно */
    color: #ccc;
    line-height: 1.4;
}
.legal-text a { text-decoration: underline; color: #fff; }
.legal-text a:hover { color: var(--accent-color); text-decoration: none; }

/* --- LEGAL UX --- */
.close-link {
    font-size: 24px;
    font-weight: 700;
    color: var(--accent-color);
    text-decoration: none;
    transition: transform 0.2s, opacity 0.2s;
    display: inline-block;
}
.close-link:hover {
    transform: scale(1.05);
    opacity: 0.8;
}

.accept-back-btn {
    background: var(--accent-color);
    color: #000;
    border: none;
    padding: 25px 60px;
    font-family: var(--font-mono);
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s;
    width: 100%; /* На мобилке на всю ширину */
    max-width: 400px;
}
.accept-back-btn:hover {
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(212, 255, 0, 0.2);
}

.legal-content p { color: #ccc; }
.legal-content strong { color: #fff; }
