:root{--bg:#090c0b;--panel:#101513;--ink:#e8e4d8;--dim:#999d96;--line:#29312d;--sand:#b9a477;--red:#c4513e;--green:#688b72}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{height:74px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.16em}.topbar a,.hero a,.sources a,footer a{color:var(--ink);text-underline-offset:5px}.topbar a{text-decoration:none}.brand span,.index,.eyebrow,.stamp{color:var(--red)}.hero{height:calc(100vh - 74px);height:calc(100svh - 74px);min-height:660px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#070a09e8 0%,#070a09a6 45%,#070a091d 78%),linear-gradient(0deg,#090c0b 0%,transparent 38%)}.hero-copy{position:absolute;left:4vw;top:50%;transform:translateY(-50%);max-width:800px}.hero h1,.hawara h2,.claim h2,.checks h2,.sources h2{font-size:clamp(58px,8vw,126px);line-height:.82;letter-spacing:-.065em;margin:.2em 0;font-weight:600}.hero h1 em,.hawara h2 em,.claim h2 em,.checks h2 em{font:italic 400 1em 'PT Serif',serif;color:var(--sand)}.lead{max-width:650px;font:21px/1.55 'PT Serif',serif;color:#cfcdc4}.caption{position:absolute;right:4vw;bottom:3vw;font-size:9px;letter-spacing:.15em;color:#aaa}.index,.eyebrow,.stamp{font-size:10px;letter-spacing:.19em;text-transform:uppercase}.verdict,.hawara,.evidence,.claim,.myth,.checks,.sources{padding:9vw 4vw;border-top:1px solid var(--line)}.verdict,.checks,.sources{display:grid;grid-template-columns:1fr 3fr;gap:4vw}.verdict .kicker{font-size:clamp(30px,4.4vw,68px);line-height:1.05;letter-spacing:-.045em;margin:0}.verdict div>p:last-child{max-width:900px;font:22px/1.6 'PT Serif',serif;color:#bfc1ba}.section-head{display:flex;justify-content:space-between;gap:30px;color:var(--dim);font-size:11px;letter-spacing:.1em}.split{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:4vw;align-items:start}.split figure{margin:0;position:sticky;top:30px;background:#d1c5a6}.split img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.split figcaption{color:#757064;background:var(--bg);padding-top:12px;font-size:9px;letter-spacing:.13em}.hawara h2{font-size:clamp(48px,6vw,88px);margin-top:0}.split article>p,.split blockquote,.claim p,.myth-copy{font:18px/1.7 'PT Serif',serif;color:#bebfb8}.split blockquote{margin:35px 0;padding:20px 0 20px 30px;border-left:2px solid var(--red);font-size:24px;color:var(--sand)}.layers{padding:8vw 4vw;background:var(--panel);border-top:1px solid var(--line)}.layer-tabs{display:flex;margin:35px 0;border-bottom:1px solid var(--line)}.layer-tabs button{border:0;background:none;color:var(--dim);padding:16px 24px;cursor:pointer;font:500 12px Manrope;letter-spacing:.08em}.layer-tabs button[aria-selected=true]{color:var(--ink);box-shadow:inset 0 -2px var(--red)}.map-layout{display:grid;grid-template-columns:1.45fr .55fr;gap:4vw;align-items:center}.schematic{height:620px;position:relative;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 42% 44%,#32322b 0 2px,transparent 3px),linear-gradient(25deg,transparent 48%,#2b312e 49%,transparent 50%),#0b0f0d;background-size:21px 21px,100% 100%}.nile{position:absolute;right:7%;top:-10%;height:125%;width:15%;border-left:2px solid #47685d;border-right:1px solid #47685d;transform:rotate(-6deg);opacity:.7}.pyramid{position:absolute;width:0;height:0;border-left:65px solid transparent;border-right:65px solid transparent;border-bottom:105px solid #756c5266}.p1{left:25%;top:21%}.p2{left:48%;top:40%;transform:scale(.8)}.p3{left:61%;top:58%;transform:scale(.5)}.pin{display:none;position:absolute;border:0;background:none;color:var(--ink);font:10px Manrope;letter-spacing:.08em;cursor:pointer;text-transform:uppercase;text-align:left}.pin.visible{display:flex;align-items:center;gap:9px}.pin i{width:12px;height:12px;border:2px solid var(--red);border-radius:50%;box-shadow:0 0 0 6px #c4513e26}.pin.active i{background:var(--red)}.a1{left:26%;top:40%}.a2{left:67%;top:72%}.a3{left:11%;top:67%}.t1{right:7%;bottom:7%}.m1{left:47%;top:56%}.m2{right:15%;top:67%}.scale{position:absolute;left:18px;bottom:15px;font-size:8px;color:var(--dim);letter-spacing:.15em}.map-card h2{font-size:clamp(36px,4vw,62px);line-height:.95;letter-spacing:-.04em}.map-card>p:last-child{font:19px/1.65 'PT Serif',serif;color:#c2c4bd}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.cards article{background:var(--bg);padding:35px 28px}.cards span{color:var(--red);font-size:10px}.cards h3{font-size:23px}.cards p{color:#aeb1aa;line-height:1.6;font-size:14px}.claim{background:#17100e}.claim-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:7vw}.claim h2{font-size:clamp(55px,7vw,105px)}.claim aside{border:1px solid #563329;padding:35px;align-self:center;background:#1e1310}.claim time{color:var(--red);font-size:12px;letter-spacing:.15em}.claim aside h3{font-size:28px}.myth .equation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:5vw 0;overflow:auto}.equation div{min-width:155px;border:1px solid var(--line);padding:22px}.equation b{display:block;font-size:22px}.equation span{font-size:11px;color:var(--dim)}.equation strong{color:var(--red);font-size:30px}.equation .result{border-color:var(--red);background:#24130f}.myth-copy{max-width:950px;margin-left:auto}.checks h2,.sources h2{font-size:clamp(46px,6vw,88px);margin-top:0}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:2vw}.check-grid article{padding:30px;border:1px solid var(--green)}.check-grid .no{border-color:var(--red)}.check-grid h3{font-size:12px;letter-spacing:.14em;color:#92b09a}.check-grid .no h3{color:#d97561}.check-grid li{margin:.8em 0;color:#c0c2bc;line-height:1.5}.sources p{color:#afb2aa;line-height:1.7}.sources a{line-height:2.2}.credit{font-size:11px;max-width:800px}footer{border-top:1px solid var(--line);padding:35px 4vw;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em}@media(max-width:800px){.topbar{padding:0 5vw}.topbar>span{display:none}.hero{min-height:720px}.hero-copy{left:5vw;right:5vw;top:47%}.hero h1{font-size:17vw}.caption{left:5vw;right:auto}.verdict,.checks,.sources{grid-template-columns:1fr;padding:18vw 5vw}.hawara,.evidence,.claim,.myth{padding:18vw 5vw}.split,.map-layout,.claim-grid{grid-template-columns:1fr}.split figure{position:static}.layers{padding:16vw 5vw}.section-head{display:block}.layer-tabs{overflow:auto}.layer-tabs button{padding:14px 13px;white-space:nowrap}.schematic{height:110vw;min-height:410px}.cards{grid-template-columns:1fr}.claim aside{padding:25px}.myth .equation{justify-content:flex-start}.check-grid{grid-template-columns:1fr}.map-card{min-height:270px}footer{gap:18px;line-height:1.5}}
html,body{overflow-x:hidden}.sources a{overflow-wrap:anywhere}@media(max-width:800px){.sources h2{font-size:13vw;overflow-wrap:anywhere}}

/* Длинное русское слово в крупном заголовке шире экрана 320 px: «МАСТЕРСКОЙ»
   при clamp-кегле занимает 336 px и уезжает за край — прокрутки нет, буквы
   просто пропадают. Разрешаем переносить по слогам, а если словарь переносов
   не подхватился — рвать слово принудительно.

   Только на узких экранах. На десктопе крупный заголовок намеренно выходит
   за текстовую колонку в пустое поле справа — это часть оформления, и
   переносить его там незачем: получается лишняя строка и рваный вид. */
@media(max-width:520px){h1,h2,h3,h4{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}}

/* --- контраст: приведено к WCAG AA ----------------------------------
   Значения посчитаны: тот же тон и насыщенность, другая светлота —
   минимальная, при которой пара «текст/фон» проходит норму. Область
   действия — секция, которая задаёт фон: один и тот же .index на тёмной
   и на светлой полосе требует разных цветов. */
/* 4.03→4.66 при норме 4.5 на #101513 ×2 — «03 / Подземная Гиза» */
#layers .brand span, #layers .index, #layers .eyebrow, #layers .stamp{color:#c9614f}
/* 4.29→4.66 при норме 4.5 на #090c0b ×5 — «01 / Короткий ответ» */
body .brand span, body .index, body .eyebrow, body .stamp{color:#c75a48}
/* Подпись под планом (3.98), номера карточек (4.29) и дата проверки (3.97). */
.split figcaption{color:#807a6d}
.cards span{color:#c75947}
.claim time{color:#ca6250}
/* Фон блока «Сенсация 2025 года» светлее общего (#17100e против #090c0b),
   и общего значения не хватало: 4.46. */
.claim .index{color:#c95f4d}

/* --- тач-цели: минимум 24 px (WCAG 2.5.8) ------------------------------
   Ссылки и кнопки в шапке, подвале и на первом экране были высотой 11-22 px.
   Растим область нажатия симметричным вертикальным отступом: содержимое
   остаётся по центру коробки и не переносится, поэтому вёрстка не меняется.
   Менять display на flex здесь нельзя — у «● ИНТЕРЕСНОЕ ТУТ» точка и текст
   стали бы отдельными флекс-элементами и разъехались на две строки. */
.topbar a,.topbar button,.bar a,.legal-top a,footer a,.links a,.map-actions a,
.controls a,.controls button,.hero-copy a,.hero-text a,.hero>a,.hero .down,
.sound-toggle,.about-open,.fullscreen,.compact-prev,.compact-next,
.translation-toggle,.pin,.hotspot,nav a,.meta a,.sources a{min-height:24px;padding-block:7px}
/* Ползунки: полоса была 16 px, пальцем не поймать. Высоту поднимаем у самого
   поля - область нажатия растёт, родная отрисовка бегунка не ломается. */
input[type=range]{height:26px}
/* Флажки и переключатели: 13-17 px до пальца не дотягивают. */
input[type=checkbox],input[type=radio]{width:24px;height:24px}
/* Ссылки-«источники» и вспомогательная навигация: у строчных растим область
   нажатия отступом (высота строки не меняется), у блочных — задаём высоту. */

/* Уважаем системную настройку «меньше движения»: анимации и плавная прокрутка
   у части людей вызывают тошноту и головокружение. Оставляем мгновенные
   состояния — интерфейс работает так же, просто без движения. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Подпись «схема — не в масштабе» была 8 px. */
.scale{font-size:10px}

/* Слова КАПИТЕЛЬЮ Firefox и WebKit по слогам не переносят: при
   overflow-wrap:break-word слово рвётся посреди без дефиса («ЧУДОВИЩА/МИ»),
   а Chromium ставит в крупном заголовке дефис. Поэтому на узких экранах
   автоперенос в h1–h3 выключен, а кегль подобран так, чтобы самое длинное
   слово влезало в строку целиком. Значения измерены Playwright на 320,
   360 и 390 px в Chromium, Firefox и WebKit. Десктоп не затронут. */
@media(max-width:520px){h1,h2,h3{hyphens:manual;-webkit-hyphens:manual}.sources h2{font-size:9.9vw}}


/* Единый клавиатурный фокус: светлый контур и контрастный внешний контур. */
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px #000}
