/* Главная H · Дрон-лендинг. Анимации — из прототипа prototypes/src/H (css/home.css), инлайн-стили pages/home.html вынесены в классы. */

@keyframes hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes drone-in{from{opacity:0;transform:translateY(-120px) scale(.85)}to{opacity:1;transform:none}}
@keyframes pan-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes rv{from{opacity:0;transform:translateY(48px)}}

.pan{animation:pan-in .45s ease both}
.h-route{stroke-dasharray:6 6;animation:dash 1.4s linear infinite}
.hcard{transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s}
.hcard:hover{transform:translateY(-6px);border-color:rgba(255,91,26,.65)!important}

/* Первый экран: три колонки по линиям разметки */
.h-top{position:relative;overflow:hidden;background:radial-gradient(34% 40% at 50% 46%,rgba(255,91,26,.24),rgba(255,91,26,0) 70%),radial-gradient(80% 60% at 50% 120%,rgba(255,255,255,.05),rgba(255,255,255,0) 70%),var(--bg)}
.h-vl{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.09)}
.h-hl{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.09)}
.h-cr{position:absolute;top:0;width:11px;height:11px;margin:-5px 0 0 -5px;background:linear-gradient(#8A8A92,#8A8A92) center/1px 11px no-repeat,linear-gradient(#8A8A92,#8A8A92) center/11px 1px no-repeat}
.h-cols{position:relative;z-index:3;display:flex;flex-wrap:wrap;min-height:740px}
.h-left{position:relative;z-index:4;flex:0 1 26%;min-width:280px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:72px 0 40px var(--gut)}
.h-kick{display:flex;align-items:center;gap:10px;margin:0 0 22px;font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--fg2)}
.h-kick span{width:6px;height:6px;background:var(--or)}
.h-h1{margin:0;font-weight:300;font-size:clamp(44px,5.8vw,88px);line-height:1.02;letter-spacing:-.035em;white-space:nowrap}
.h-glass{position:relative;border:1px solid var(--ln);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.h-card-t{margin:0;font-size:17px;font-weight:500}
.h-card-d{margin:6px 0 0;font-size:13px;line-height:1.55;color:var(--mu)}
.h-mini{margin-top:14px;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.1)}
.h-mini svg{display:block;width:100%;height:auto}
.h-mid{position:relative;flex:1 1 420px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0}
.h-drone-box{width:min(100%,640px)}
.h-drone-box .drone{max-width:none;width:100%}
.h-drone-box .drone-in{animation:drone-in 1.6s cubic-bezier(.2,.8,.2,1) .3s both}
.h-drone-box .hover{animation:hover 5s ease-in-out infinite}
.h-right{flex:0 1 24%;min-width:260px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:90px var(--gut) 40px 0}
.h-open{position:relative;padding:20px 0 0;border-top:1px solid var(--ln)}

/* О фестивале */
.h-about{display:flex;flex-wrap:wrap;gap:32px 64px}
.h-about .k{flex:0 0 auto;align-self:flex-start;margin-top:6px}
.h-say{flex:1 1 640px;margin:0;font-weight:300;font-size:clamp(30px,3.6vw,56px);line-height:1.12;letter-spacing:-.025em}
.h-say span{color:var(--fa)}
.h-orgs{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin-top:36px}

/* Шоу в небе */
.h-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}
.h-feat{display:flex;flex-direction:column;gap:12px;min-height:280px;padding:24px;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}
.h-feat-w{margin:auto 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--or)}
.h-feat h3{margin:0;font-weight:500;font-size:24px;letter-spacing:-.01em}
.h-feat .h-card-d{margin:0;font-size:14px}

/* Цифры */
.h-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));border-top:1px solid var(--ln)}
.h-nums>div{padding:28px 24px 8px;box-shadow:inset -1px 0 0 var(--ln)}
.h-nums>div:first-child{padding-left:0}
.h-nums>div:last-child{box-shadow:none}
.h-num-l{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--mu)}
.h-num-v{margin:16px 0 0;font-weight:300;font-size:clamp(64px,6.6vw,104px);line-height:.95;letter-spacing:-.05em}
.h-num-v.is-ac{color:var(--or)}

/* Программа по дням */
.h-rows{border-top:1px solid var(--ln)}
.h-rows ul{margin:0;padding:0;list-style:none}
.h-rows li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--ln2)}
.h-rows time{font-family:var(--mono);font-size:15px;color:var(--or)}
.h-rows li>span:nth-child(2){font-size:19px}
.h-z{font-size:12px;letter-spacing:.12em;color:var(--mu)}

/* Лагерь и билеты */
.h-patriot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;background:radial-gradient(60% 140% at 100% 0%,rgba(255,91,26,.24),rgba(255,91,26,0) 60%),#151518}
.h-tks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.h-tk{display:flex;flex-direction:column;gap:10px;min-height:240px;padding:26px;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}
.h-tk.is-best{border-color:rgba(255,91,26,.7);background:radial-gradient(80% 80% at 100% 0%,rgba(255,91,26,.24),rgba(255,91,26,0) 70%),rgba(255,255,255,.03)}
.h-tk-t{display:flex;justify-content:space-between;margin:0;font-size:15px;color:var(--fg2)}
.h-tk-t span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--or)}
.h-tk-p{margin:auto 0 0;font-weight:300;font-size:52px;line-height:1;letter-spacing:-.04em}
.h-tk-d{margin:0;font-size:13px;color:var(--mu)}

@supports (animation-timeline:view()){
.h-home .rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 75%}
}
@media (prefers-reduced-motion:reduce){.h-home *{animation:none!important;transition:none!important}}
@media (max-width:760px){.h-hide-sm{display:none!important}}
@media (max-width:640px){
.h-cols{min-height:0}
.h-left{flex-basis:100%;padding:40px var(--gut) 0}
.h-h1{white-space:normal}
.h-left .hcard{display:none}
.h-mid{padding:20px var(--gut) 40px}
.h-nums>div{padding-left:0;box-shadow:none;border-bottom:1px solid var(--ln)}
.h-rows li{grid-template-columns:64px minmax(0,1fr);gap:4px 14px}
.h-rows li>span:nth-child(2){font-size:17px}
.h-z{grid-column:2}
.h-tk-p{font-size:44px}
}

/* Планшет (761–1000 px): правая колонка первого экрана не помещается в ряд — делаем её отдельной строкой
   из двух карточек с отступами; цифры фестиваля — сеткой 2 × 2, без «висящей» четвёртой плитки */
@media (min-width:761px) and (max-width:1000px){
.h-right{flex:1 1 100%;flex-direction:row;align-items:stretch;gap:20px;padding:0 var(--gut) 48px}
.h-right>.hcard{flex:1 1 0;min-width:0}
.h-right>.h-open{padding-top:20px}
.h-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
.h-nums>div:nth-child(odd){padding-left:0}
.h-nums>div:nth-child(even){box-shadow:none}
.h-nums>div:nth-child(-n+2){border-bottom:1px solid var(--ln)}
}

/* Телефон: орбита дрона выступает над ним — отступ сверху, чтобы она не заходила на заголовок */
@media (max-width:640px){.h-mid{padding-top:27%}}
