:root {
    --gold: #c9a063;
    --dark: #1a1a1a;
    --paper-bg: rgba(245, 242, 237, 0.94);
}
* { margin: 0; padding: 0; box-sizing: border-box; }

html { background: url("/static/bg_final.png") no-repeat center center fixed; background-size: cover; min-height: 100%; }

/* ГЛОБАЛЬНЫЙ ШРИФТ Cambria 13pt (адаптивный) */
body {
    background: transparent;
    color: var(--dark);
    font-family: Cambria, Georgia, serif;
    /* 13pt базовый, увеличивается на больших экранах */
    font-size: clamp(17px, 1.1vw, 22px); 
    line-height: 1.4;
    letter-spacing: -0.025em; /* Максимальная кучность букв */
    word-spacing: -0.05em;    /* Максимальная кучность слов */
}

.main-paper-sheet {
    width: 100%; max-width: 750px; margin: 0 auto;
    background-color: var(--paper-bg);
    padding: 0 50px; box-shadow: 0 0 120px rgba(0,0,0,0.6);
    min-height: 100vh; display: flex; flex-direction: column;
}

/* ЗАГОЛОВКИ */
.main-title { padding: 4vh 0 1.5vh; text-align: center; }
.t-l { display: block; white-space: nowrap; font-weight: bold; line-height: 1.05; font-size: clamp(21px, 8.5vw, 68px); }

.hero-subtitle-box { text-align: center; margin-bottom: 3vh; font-size: 1.2rem; }
.accent { color: var(--gold); }

/* ОБО МНЕ: 14pt */
.h2-black { font-size: clamp(19px, 1.2vw, 24px); font-weight: bold; margin: 35px 0 10px; }
/* ЗВОНИТЕ: 16pt */
.h3-black { font-size: clamp(21px, 1.4vw, 28px); margin-top: 35px; text-align: center; }

.justified { text-align: justify; text-justify: inter-word; }
.black-bold { color: var(--dark); font-weight: bold; }

/* ПОДЧЕРКИВАНИЕ И КУРСИВ */
.special-underline-wrap { margin-top: 15px; }
.special-underline-wrap u { text-decoration: underline; text-underline-offset: 3px; }

/* СПИСОК ВНУТРИ АБЗАЦА */
.inline-list { margin: 15px 0; }
.inline-list p { margin-bottom: 8px; }

/* ОТСТУПЫ */
.adaptive-spacer { height: 3.5vh; } /* Тот же отступ, что под кнопками */

/* КНОПКИ ВЕРХ */
.social-grid-top { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 25px 0; }
.soc-card.full {
    height: 75px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
    background: #000 !important; border: 1px solid rgba(255,255,255,0.1); overflow: hidden; padding: 10px;
}
.soc-card.full img { width: 100%; height: 100%; object-fit: contain; }

/* КНОПКА ПОЗВОНИТЬ (Hover/Reveal Logic) */
.call-unit { flex: 0 0 33vw; max-width: 250px; }
.call-btn-pro {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 55px; background: var(--gold); color: white;
    text-decoration: none; border-radius: 6px; font-weight: bold; 
    font-size: 1.2rem; transition: all 0.3s ease; position: relative;
}
.btn-number { display: none; color: #000; }
.call-btn-pro:hover .btn-label, .call-btn-pro:focus .btn-label { display: none; }
.call-btn-pro:hover .btn-number, .call-btn-pro:focus .btn-number { display: block; }
/* Класс для JS-активации */
.show-number .btn-label { display: none; }
.show-number .btn-number { display: block; }

.social-row-mini-grid { flex: 1; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.mini-card {
    height: 50px; border-radius: 8px; display: flex; align-items: center; justify-content: center;
    background: #000 !important; border: 1px solid rgba(255,255,255,0.15); padding: 10px;
}
.mini-card img { width: 100%; height: 100%; object-fit: contain; }

/* P.S. 11pt */
.ps-divider { border: 0; border-top: 1px solid rgba(201, 160, 99, 0.2); margin: 30px 0 5px; }
.ps-text { font-size: clamp(15px, 0.9vw, 18px); color: var(--dark); opacity: 0.4; font-style: italic; line-height: 1.4; }

.hourglass-platform { position: relative; margin: 30px 0 0; display: flex; flex-direction: column; align-items: center; }
.hourglass-viewport { width: 180px; max-width: 42vw; aspect-ratio: 400 / 720; overflow: hidden; border-radius: 4px; background: #000; border: 1px solid var(--gold); }
.video-content { width: 100%; height: 100%; object-fit: cover; display: block; }
.flipped-view { transform: rotate(180deg) !important; }

.footer { padding: 40px 0 60px; text-align: center; color: rgba(0,0,0,0.4); font-size: 0.75rem; margin-top: auto; }
.footer-link { color: inherit; text-decoration: underline; }

.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; background: var(--dark); color: #f5f2ed; padding: 16px 24px; display: flex; align-items: center; justify-content: center; gap: 24px; border-top: 2px solid var(--gold); }
.cookie-banner[hidden] { display: none; }
.cookie-banner-actions { display: flex; gap: 10px; }
.cookie-btn { padding: 10px 22px; border-radius: 4px; font-size: 0.8rem; font-weight: bold; cursor: pointer; border: none; }
.cookie-btn-accept { background: var(--gold); color: #fff; }
.cookie-btn-decline { background: transparent; color: #f5f2ed; border: 1px solid rgba(255,255,255,0.2); }

@media (max-width: 650px) {
    .main-paper-sheet { padding: 0 20px; }
    .t-l { font-size: 9.5vw; }
    .cta-row-final { flex-direction: column; }
    .call-unit { width: 100%; }
    .social-row-mini-grid { width: 100%; margin-top: 10px; }
}
