/* index5: «Досье» + тактический полигон. Грузится ПОСЛЕ dos-*.css и переопределяет их */
:root{--fire:#ff7a1a;--fire2:#ffc21a;--steel:#ffb36b}
body{font-size:clamp(18px,2vw,21px)}
#fx{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.ambient{opacity:.55}
em,h2 em{font-style:normal;color:var(--fire);text-shadow:0 0 28px rgba(255,122,26,.5)}

/* крупные шрифты */
h1{font-size:clamp(52px,10.5vw,150px);line-height:.92}
.hero-l{min-width:0;container-type:inline-size}
.hero h1{font-size:clamp(32px,6vw,96px)}
@supports (font-size:1cqi){
  .hero h1{font-size:clamp(32px,12cqi,100px)}
}
.hero .scope{width:min(100%,460px);justify-self:center}
h2{font-size:clamp(40px,7.4vw,96px);max-width:16ch;line-height:.95}
h3{font-size:clamp(24px,3.4vw,38px)}
.sub,.lead{font-size:clamp(19px,2.6vw,27px);color:var(--bone);max-width:36ch}
.filetag,.eyebrow{font-size:clamp(14px,1.6vw,18px)}
.eyebrow b{color:var(--fire)}
.nav a,.status{font-size:16px;letter-spacing:.04em}
.hfacts dt{font-size:clamp(34px,5vw,60px)}
.hfacts dd,.strip span{font-size:clamp(14px,1.5vw,17px)}
.priv b{font-size:clamp(28px,4vw,44px)}
.priv span{font-size:clamp(16px,1.8vw,19px)}
.field label,.lbl,legend,.contacts li>span:first-child{font-size:16px;letter-spacing:.06em}
.summary,.lines,.ptable td,.ptable th{font-size:clamp(16px,1.5vw,18px)}
input,select,textarea{font-size:18px!important}
p,li{font-size:inherit}

/* Читаемый мелкий текст: без уменьшения на телефонах. */
.filetag,.eyebrow,.hfacts dd,.strip span{font-size:clamp(16px,1.5vw,18px);letter-spacing:.08em}
.btn,.btn.sm,.btn.hot{font-size:16px;line-height:1.4;letter-spacing:.06em;padding:12px 24px;white-space:normal;text-align:center}
.btn:hover{letter-spacing:.06em}
.stamp,.act header,.act .meta span,.preset .tag,.lt,.route .t{font-size:16px;line-height:1.5;letter-spacing:.06em}
.act header{flex-wrap:wrap}
.act li,.chip label,.cp label b,.disc,.hint,.msg,.preset p,.lc p,.route p,.contacts li{font-size:18px;line-height:1.6}
.chip label small,.cp label span,.note,.honest,.readout-lbl,.bar,.ptable small,.disc-grid span,.ars-brands span,.ars-brands i,footer,footer .legal{font-size:16px;line-height:1.6}
legend span{width:28px;height:28px;flex:none;font-size:16px}
.why-list .no{font-size:16px}
.hud{font-size:16px;letter-spacing:.04em}
.hud.tr{max-width:180px}
.readout-lbl,.ars-brands span{letter-spacing:.06em}
.lines li{flex-wrap:wrap}
.bar{grid-template-columns:110px minmax(0,1fr) auto;gap:10px}
.ars ul{font-size:18px;line-height:1.5;columns:1}
.ars .weapon-history{font-size:clamp(18px,1.6vw,20px);line-height:1.65;overflow-wrap:anywhere}
.weapon-history summary{font-size:clamp(18px,1.6vw,20px);line-height:1.5;padding:6px 0}
.weapon-history p{margin:12px 0}
.faq summary{font-size:20px;line-height:1.5}
.contacts li{flex-wrap:wrap}
@media (max-width:1180px){.nav{display:none}.top-in .btn{margin-left:auto}}
@media (max-width:640px){
  .bar{grid-template-columns:90px minmax(0,1fr) auto}
  .hfacts{grid-template-columns:minmax(0,1fr);gap:16px}
  .hfacts div{padding:0;border-left:0}
  .contacts li{flex-direction:column;gap:6px}
  .contacts li>span:first-child{align-self:flex-start}
  .contacts a{text-align:left}
}

/* МОЩНЫЙ CTA */
.mega{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:88px;padding:18px 44px;background:linear-gradient(180deg,var(--fire2),var(--fire) 55%,#e65c00);color:#160a00;text-decoration:none;border:0;cursor:pointer;font:700 clamp(30px,5vw,50px)/1 'Oswald','Tektur',Impact,sans-serif;text-transform:uppercase;letter-spacing:.04em;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);animation:mega 1.6s ease-in-out infinite}
.mega small{font:600 clamp(16px,2.4vw,22px)/1.1 var(--f-body);text-transform:none;letter-spacing:0}
.mega:hover{filter:brightness(1.12)}
.mega.sm{min-height:68px;padding:14px 36px;font-size:34px}
.mega.xl{min-height:112px;padding:24px 48px;font-size:clamp(28px,5.4vw,60px);width:min(100%,760px);margin:26px 0 8px}
@keyframes mega{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.035);filter:brightness(1.14)}}
.btn.big{min-height:88px;padding:0 30px;font-size:clamp(15px,1.8vw,19px)}
/* ghost-кнопка в герое: видимая подложка + фиксированный трекинг, чтобы ничего не дёргалось на ховере */
.hero .cta-row .btn.ghost{display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-weight:700;line-height:1;text-transform:uppercase;text-shadow:none;background:#121419;color:var(--bone);border:1px solid rgba(236,232,221,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 18px 36px -24px #000;letter-spacing:.14em;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}
.hero .cta-row .btn.ghost:hover{background:#1c2028;color:#fff;border-color:var(--bone);letter-spacing:.14em;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 22px 44px -24px rgba(255,122,26,.55)}
.hero .cta-row .btn.ghost:active{transform:none}
.btn.hot{background:var(--fire);color:#160a00;font-size:15px}
.btn.hot:hover{background:var(--fire2)}
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:58;display:flex;align-items:center;justify-content:center;min-height:68px;background:var(--fire);color:#160a00;text-decoration:none;font:700 clamp(20px,5vw,28px) 'Oswald',sans-serif;letter-spacing:.05em;padding-bottom:env(safe-area-inset-bottom);transition:transform .3s}
.sticky.off{transform:translateY(110%)}
body{padding-bottom:70px}

/* туман войны: просвет следует за пальцем/курсором */
.fog{position:absolute;inset:0;pointer-events:none;z-index:3;--x:50%;--y:50%;--r:230px;--a:.42;background:radial-gradient(circle var(--r) at var(--x) var(--y),transparent 0,transparent 35%,rgba(6,7,10,calc(var(--a)*.6)) 70%,rgba(6,7,10,var(--a)) 100%)}
.hero{overflow:hidden}
.hero>.fog{--a:.75;--r:300px;z-index:1}
.hero>.wrap{position:relative;z-index:2}

/* игровые зоны */
.stage{position:relative;width:100%;height:clamp(380px,62vh,640px);margin-top:28px;background:#0e100b;border:3px solid var(--edge2);overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:crosshair}
.stage.run{touch-action:none}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.stage .hud{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;gap:8px;padding:10px 14px;background:linear-gradient(rgba(6,7,10,.85),transparent);font:500 clamp(16px,2.6vw,24px)/1.2 'Oswald',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);pointer-events:none;max-width:none}
.stage .hud b{color:var(--fire2);font:700 1.25em 'Oswald',sans-serif;margin-left:4px;display:inline;margin-top:0}
.over{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px;background:rgba(6,7,10,.82);cursor:default}
.over[hidden]{display:none}
.over h3{font-size:clamp(34px,7vw,64px);color:var(--fire)}
.over p{max-width:30ch;font-size:clamp(18px,2.6vw,24px);margin:0}
.stage.run .over{display:none}
/* шапка секции без подводки: заголовок занимает всю ширину, а не 7/12 */
.sec-head.solo{grid-template-columns:minmax(0,1fr)}

/* подводка к игре — во всю ширину контейнера, а не колонкой в 36ch */
.zone .lead{margin:18px 0 0;max-width:none}

/* FPV: линза камеры — сканлайны и виньетка поверх картинки (шум и глитчи рисует канвас) */
.fpv{position:absolute;inset:0;z-index:4;pointer-events:none;background:
  repeating-linear-gradient(0deg,rgba(0,0,0,.26) 0 1px,transparent 1px 3px),
  radial-gradient(ellipse at 50% 48%,transparent 52%,rgba(0,0,0,.5) 100%);
  opacity:.92;animation:fpvFlicker 4.2s steps(1) infinite}
@keyframes fpvFlicker{0%,94%{opacity:.92}95%{opacity:.78}96%{opacity:.95}97%{opacity:.84}}

/* Запись: информация и карта слева, единственное действие — отправка формы справа. */
.book-info{min-width:0}
.book h2{font-size:clamp(36px,4.6vw,62px);line-height:1.08;max-width:none}
.book-intro{margin:22px 0 26px;color:var(--text2);font-size:18px;line-height:1.65;max-width:44ch}
.book-offer{padding:22px 24px;border:1px solid rgba(255,122,26,.3);border-left:3px solid var(--fire);border-radius:6px;background:linear-gradient(120deg,rgba(255,122,26,.09),rgba(255,122,26,.02))}
.book-offer-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}
.book-offer h3{font:700 20px/1.4 var(--f-body);text-transform:none}
.book-offer strong{color:var(--fire2);font-size:26px;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}
.book-offer p{margin:12px 0 0;color:var(--text2);font-size:16px;line-height:1.6}
.book .contacts{margin-top:26px}
.book .contacts li{align-items:baseline;font-size:16px}
.book .contacts li>span:last-child{text-align:right}
.book-info .map{margin-top:26px}
.book-form-heading{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--edge)}
.book-form-heading h3{font:700 clamp(24px,2.6vw,32px)/1.25 var(--f-body);text-transform:none}
.book-form-heading p{margin:12px 0 0;color:var(--text2);font-size:16px;line-height:1.65}
.book .send .btn{width:100%;min-height:56px;background:var(--fire);color:#160a00;border-color:var(--fire);font-family:var(--f-body);font-weight:700;letter-spacing:0;text-transform:none}
.book .send .btn:hover{background:var(--fire2);border-color:var(--fire2);letter-spacing:0}
@media (max-width:640px){
  .book-offer{padding:18px 20px}
  .book .contacts li>span:last-child{text-align:left}
}

/* карта Яндекса под формой: конструктор отдаёт iframe фиксированной ширины 673 px,
   поэтому тянем его по контейнеру и держим пропорцию — иначе на телефоне вылезает за экран */
.book-r{display:flex;flex-direction:column;gap:clamp(18px,3vw,28px);min-width:0}
.map{padding:8px;border-radius:18px;overflow:hidden}
.map iframe{display:block;width:100%!important;height:auto!important;aspect-ratio:673/479;border:0;border-radius:10px;background:#0f1116}
@media (max-width:600px){.map iframe{aspect-ratio:4/3}}
@media (max-width:600px){
  .mega,.btn.big{width:100%}
  .stage{height:min(66vh,520px)}
  .top-in .btn.hot{width:auto;font-size:16px;padding:10px 14px}
}
@media (prefers-reduced-motion:reduce){.mega{animation:none}.fpv{animation:none}}
