/* ═══════════════════════════════════════════════════
   Диджитал за Уралом × Фестиваль «ИИшница» — КПД 2026
   Холодный цифровой индиго + тёплый желток.
   ═══════════════════════════════════════════════════ */

:root{
  /* база */
  --ink:      #05071a;
  --ink-2:    #090d28;
  --ink-3:    #101641;
  --paper:    #f4f2ef;
  --paper-2:  #eae6e0;

  /* фирменный градиент из КП */
  --indigo:   #1b2ad4;
  --violet:   #5b4be8;
  --lav:      #9b7ff0;
  --peach:    #f5c9a8;

  /* акцент-желток */
  --yolk:     #ffc24d;
  --yolk-hi:  #ffdd8a;
  --yolk-dp:  #e8a01c;

  --txt:      #f2f1f7;
  --txt-dim:  rgba(242,241,247,.62);
  --txt-mut:  rgba(242,241,247,.4);
  --line:     rgba(255,255,255,.11);

  --dark-txt:     #16183a;
  --dark-txt-dim: rgba(22,24,58,.66);
  --dark-line:    rgba(22,24,58,.13);

  --nav-h: 74px;
  --ease: cubic-bezier(.22,.68,.28,1);

  /* Начертание из КП: Figma перевела текст в кривые, имя шрифта в файле
     не сохранилось. Manrope — ближайшее совпадение по форме (двухэтажная «а»
     без хвоста, круглый «0», единица без опорной засечки, крупный x-height).
     Знаете имя из брендбука — меняется только здесь и в <link> в index.html. */
  --f-disp: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --f-body: "Onest", "Segoe UI", -apple-system, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0 }

html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 20px) }

body{
  background:var(--ink);
  color:var(--txt);
  font:400 17px/1.6 var(--f-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block }
a{ color:inherit; text-decoration:none }
ul,ol{ list-style:none }
b,strong{ font-weight:600 }

::selection{ background:var(--yolk); color:var(--ink) }

:focus-visible{
  outline:2px solid var(--yolk);
  outline-offset:3px;
  border-radius:4px;
}

.skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--yolk); color:var(--ink);
  padding:14px 22px; border-radius:0 0 12px 0; font-weight:600;
}
.skip:focus{ left:0 }

.wrap{ width:min(1240px, 100% - 48px); margin-inline:auto }

/* ── зерно поверх всего ── */
.grain{
  position:fixed; inset:0; z-index:100; pointer-events:none;
  opacity:.045; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ═══════════ ТИПОГРАФИКА ═══════════ */

.h2{
  font:300 clamp(34px, 5vw, 62px)/1.02 var(--f-disp);
  letter-spacing:-.035em;
}
.h2--c{ text-align:center }

.lead{
  font-size:clamp(16px,1.6vw,19px);
  line-height:1.62;
  color:var(--txt-dim);
  max-width:56ch;
}
.lead--c{ margin:22px auto 0; text-align:center }

.eyebrow{
  font:500 11.5px/1.4 var(--f-body);
  letter-spacing:.19em;
  text-transform:uppercase;
  color:var(--txt-mut);
}
.eyebrow--warm{ color:var(--yolk) }

.link{
  color:var(--yolk);
  border-bottom:1px solid rgba(255,194,77,.32);
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.link:hover{ border-bottom-color:var(--yolk) }
.link--big{
  display:inline-block; margin-top:26px;
  font:400 20px/1 var(--f-disp); letter-spacing:-.02em;
}

/* ── яичница: .yolk — белок, ::after — желток ──
   Размеры заданы по внешнему краю белка, поэтому они примерно
   вдвое больше прежних «голых» желтков. Неровный border-radius
   даёт растёкшуюся форму, симметричный круг читался бы как точка. */
.yolk{
  position:relative; display:inline-block;
  border-radius:58% 42% 47% 53% / 46% 55% 45% 54%;
  background:radial-gradient(circle at 42% 38%,
    rgba(255,253,247,.97), rgba(255,250,240,.88) 52%,
    rgba(255,247,233,.6) 76%, rgba(255,247,233,0) 100%);
  filter:drop-shadow(0 0 14px rgba(255,240,210,.28));
}
.yolk::after{
  content:""; position:absolute; inset:24%;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%, var(--yolk-hi), var(--yolk) 48%, var(--yolk-dp));
  box-shadow:0 0 16px rgba(255,194,77,.55), 0 0 42px rgba(255,194,77,.24);
}
.yolk--sm{ width:26px; height:26px; flex:0 0 auto }
.yolk--h{ width:.6em;  height:.6em;  margin-left:.06em; vertical-align:.28em }
.yolk--f{ width:.46em; height:.46em; margin-left:.08em; vertical-align:.4em }

/* ═══════════ КНОПКИ ═══════════ */

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:56px; padding:0 32px; border-radius:100px;
  font:500 16px/1 var(--f-body); letter-spacing:.005em;
  cursor:pointer; border:1px solid transparent; white-space:nowrap;
  transition:transform .3s var(--ease), background .3s var(--ease),
             color .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.btn--yolk{
  background:var(--yolk); color:#2a1c00; font-weight:600;
  box-shadow:0 4px 24px rgba(255,194,77,.28);
}
.btn--yolk:hover{
  background:var(--yolk-hi);
  transform:translateY(-2px);
  box-shadow:0 10px 34px rgba(255,194,77,.42);
}
.btn--ghost{ border-color:var(--line); color:var(--txt) }
.btn--ghost:hover{
  background:var(--txt); color:var(--ink);
  border-color:var(--txt); transform:translateY(-2px);
}
.btn--sm{ height:42px; padding:0 22px; font-size:14.5px }
.btn--lg{ height:64px; padding:0 42px; font-size:17px }

/* ═══════════ НАВИГАЦИЯ ═══════════ */

.nav{
  position:fixed; top:0; left:0; right:0; z-index:90;
  height:var(--nav-h);
  transition:background .35s var(--ease), border-color .35s var(--ease), backdrop-filter .35s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  background:rgba(5,7,26,.78);
  backdrop-filter:blur(18px) saturate(1.4);
  border-bottom-color:var(--line);
}
.nav__in{
  width:min(1240px,100% - 48px); margin-inline:auto; height:100%;
  display:flex; align-items:center; gap:34px;
}
/* Локап организаторов подан на светлой плашке: марки «КПД» и «Приоритет»
   тёмно-синие (#252830), а пилюля «ИИшницы» — почти чёрно-синяя (#01163C).
   На тёмной шапке они бы пропали, а перекрашивать чужие логотипы нельзя. */
.nav__brand{ display:flex; align-items:center; flex:0 0 auto }
.nav__brand img{
  display:block; height:44px; width:auto; max-width:100%;
  border-radius:11px;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.nav__brand:hover img{
  transform:translateY(-1px);
  box-shadow:0 6px 20px -6px rgba(0,0,0,.55);
}
.nav__links{ display:flex; gap:30px; margin-left:auto; font-size:15px }
.nav__links a{ color:var(--txt-dim); transition:color .3s var(--ease) }
.nav__links a:hover{ color:var(--yolk) }

/* ═══════════ 1 · HERO ═══════════ */

.hero{
  position:relative; min-height:100svh;
  display:flex; align-items:center;
  padding:calc(var(--nav-h) + 60px) 0 80px;
  overflow:hidden;
}
.hero__aurora{
  position:absolute; inset:-25% -10% auto -10%; height:135%;
  background:
    radial-gradient(48% 42% at 78% 18%, rgba(245,201,168,.34), transparent 62%),
    radial-gradient(46% 46% at 62% 42%, rgba(155,127,240,.42), transparent 64%),
    radial-gradient(58% 52% at 22% 68%, rgba(27,42,212,.46), transparent 66%),
    radial-gradient(40% 38% at 88% 76%, rgba(91,75,232,.3), transparent 60%);
  filter:blur(28px);
  animation:drift 26s ease-in-out infinite alternate;
}
@keyframes drift{
  from{ transform:translate3d(0,0,0) scale(1) }
  to  { transform:translate3d(-3%,2%,0) scale(1.08) }
}
/* правее и ниже заголовка — крупный текст первой строки
   доходит почти до правого края, пересекать его нельзя */
.hero__sun{
  position:absolute; top:44%; right:-7%;
  width:min(460px,40vw); aspect-ratio:1;
  border-radius:57% 43% 46% 54% / 44% 56% 44% 56%;
  background:radial-gradient(circle at 43% 38%,
    rgba(255,253,247,.9), rgba(255,250,240,.72) 48%,
    rgba(255,247,233,.34) 72%, rgba(255,247,233,0) 100%);
  filter:blur(3px);
  animation:pulse 7s ease-in-out infinite;
}
.hero__sun::after{
  content:""; position:absolute; inset:29%;
  border-radius:50%;
  background:radial-gradient(circle at 36% 32%, var(--yolk-hi), var(--yolk) 42%, rgba(232,160,28,.9) 70%, transparent 74%);
  box-shadow:0 0 40px rgba(255,194,77,.4);
}
@keyframes pulse{
  0%,100%{ transform:scale(1); opacity:.9 }
  50%    { transform:scale(1.05); opacity:1 }
}
.hero__in{ position:relative; z-index:2 }

.hero__h1{
  margin-top:24px;
  font:300 clamp(40px, 8.2vw, 118px)/.94 var(--f-disp);
  letter-spacing:-.045em;
}
/* только строки-обёртки, иначе вложенный .yolk тоже станет блоком */
.hero__h1 > span{ display:block }
.hero__h1 em{ font-style:normal; font-weight:600 }
.hero__ii{ color:var(--yolk) }

.hero__sub{
  margin-top:32px; max-width:50ch;
  font-size:clamp(16px,1.7vw,20px); line-height:1.55;
  color:var(--txt-dim);
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:40px }

.hero__dates{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:16px; margin-top:44px; max-width:760px;
}
.datecard{
  padding:24px 26px 26px; border-radius:20px;
  background:rgba(255,255,255,.055);
  border:1px solid var(--line);
  backdrop-filter:blur(14px);
  transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
}
.datecard:hover{
  transform:translateY(-5px);
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.2);
}
.datecard__tag{
  font:500 10.5px/1 var(--f-body); letter-spacing:.16em;
  text-transform:uppercase; color:var(--txt-mut);
}
.datecard--warm .datecard__tag{ color:var(--yolk) }
.datecard__when{
  margin-top:14px;
  font:300 21px/1.1 var(--f-disp); letter-spacing:-.03em;
}
.datecard__when b{ font-size:34px; font-weight:600 }
.datecard__where{ margin-top:10px; font-size:14.5px; line-height:1.45; color:var(--txt-dim) }

/* ═══════════ 2 · МАСШТАБ ═══════════ */

.scale{ padding:120px 0 110px; border-top:1px solid var(--line) }
.scale__head{
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end;
}
.stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; margin-top:80px;
  background:var(--line); border:1px solid var(--line); border-radius:22px; overflow:hidden;
}
.stat{
  background:var(--ink); padding:38px 30px 34px;
  transition:background .35s var(--ease);
}
.stat:hover{ background:var(--ink-3) }
.stat__n{
  display:block;
  font:300 clamp(40px,4.6vw,60px)/1 var(--f-disp);
  letter-spacing:-.05em;
  background:linear-gradient(100deg, var(--yolk-hi), var(--peach) 45%, var(--lav));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat span{ display:block; margin-top:14px; font-size:14.5px; line-height:1.45; color:var(--txt-dim) }

/* ═══════════ 3 · КОМУ ═══════════ */

.aud{
  padding:120px 0 120px;
  background:var(--paper); color:var(--dark-txt);
  border-radius:44px 44px 0 0;
}
.aud .lead{ color:var(--dark-txt-dim) }

.cards{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
  gap:18px; margin-top:60px;
}
.card{
  position:relative; padding:32px 28px 30px;
  background:#fff; border-radius:22px;
  border:1px solid var(--dark-line);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 46px -18px rgba(22,24,58,.28);
}
.card__no{
  position:absolute; top:26px; right:28px;
  font:300 13px/1 var(--f-disp); color:rgba(22,24,58,.22);
}
.card h3{
  font:400 24px/1.12 var(--f-disp); letter-spacing:-.032em;
  padding-right:34px;
}
.ticks{ margin-top:22px; display:grid; gap:13px }
.ticks li{
  position:relative; padding-left:24px;
  font-size:15px; line-height:1.5; color:var(--dark-txt-dim);
}
.ticks li::before{
  content:""; position:absolute; left:0; top:8px;
  width:9px; height:9px; border-radius:50%;
  background:var(--yolk);
  box-shadow:0 0 0 3px rgba(255,194,77,.22);
  transition:transform .3s var(--ease);
}
.card:hover .ticks li::before{ transform:scale(1.22) }

.aud__foot{
  margin-top:46px; text-align:center;
  font-size:15px; color:var(--dark-txt-dim); max-width:74ch; margin-inline:auto;
}

/* ═══════════ 4 · ДВА ДНЯ ═══════════ */

.split{ padding:0 0 120px; background:var(--paper); color:var(--dark-txt) }
.split__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:18px; margin-top:58px;
}
.halfday{
  position:relative; overflow:hidden;
  padding:44px 40px 40px; border-radius:26px;
  color:var(--txt);
  min-height:340px; display:flex; flex-direction:column;
  transition:transform .35s var(--ease);
}
.halfday:hover{ transform:translateY(-5px) }
.halfday--cold{
  background:
    radial-gradient(90% 80% at 12% 0%, rgba(91,75,232,.6), transparent 60%),
    linear-gradient(155deg, #131a52, #0a0d2e 62%);
}
.halfday--warm{
  background:
    radial-gradient(85% 75% at 88% 8%, rgba(255,194,77,.4), transparent 58%),
    radial-gradient(80% 80% at 20% 90%, rgba(155,127,240,.5), transparent 62%),
    linear-gradient(155deg, #2a1c5c, #11082c 66%);
}
.halfday__d{
  font:500 11.5px/1 var(--f-body); letter-spacing:.19em;
  text-transform:uppercase; color:var(--yolk);
}
.halfday h3{
  margin-top:18px;
  font:300 clamp(30px,3.6vw,44px)/1.02 var(--f-disp); letter-spacing:-.04em;
}
.halfday p:not(.halfday__d):not(.halfday__meta){
  margin-top:20px; font-size:16px; line-height:1.58; color:var(--txt-dim); max-width:44ch;
}
.halfday__meta{
  margin-top:auto; padding-top:28px;
  font-size:13.5px; letter-spacing:.02em; color:var(--txt-mut);
}

/* ═══════════ 5 · ПРОГРАММА ═══════════ */

.prog{ padding:120px 0 130px; background:var(--paper); color:var(--dark-txt) }
.prog__head{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end }
.prog .lead{ color:var(--dark-txt-dim) }

.tabs{
  display:flex; gap:10px; margin-top:52px;
  padding:7px; border-radius:100px;
  background:rgba(22,24,58,.055); width:fit-content; max-width:100%;
  flex-wrap:wrap;
}
.tab{
  display:flex; flex-direction:column; gap:3px;
  padding:14px 30px; border:0; border-radius:100px;
  background:transparent; color:var(--dark-txt-dim);
  font-family:var(--f-body); text-align:left; cursor:pointer;
  transition:background .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease);
}
.tab b{ font:500 17px/1.2 var(--f-disp); letter-spacing:-.028em }
.tab span{ font-size:12.5px; opacity:.72 }
.tab:hover{ color:var(--dark-txt) }
.tab.is-on{
  background:var(--ink); color:var(--txt);
  box-shadow:0 6px 20px -8px rgba(5,7,26,.5);
}

.panel{ margin-top:44px }
.panel.is-hidden{ display:none }
.panel[aria-hidden="false"]{ animation:fadeUp .45s var(--ease) both }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(14px) } to{ opacity:1; transform:none } }

.tl{ display:grid; gap:2px }
.tl__i{
  display:grid; grid-template-columns:150px 1fr; gap:34px;
  padding:30px 32px 30px 26px;
  background:#fff; border:1px solid var(--dark-line);
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.tl__i:first-child{ border-radius:22px 22px 0 0 }
.tl__i:last-child{ border-radius:0 0 22px 22px }
.tl__i:hover{ border-color:rgba(22,24,58,.28); transform:translateX(4px) }

.tl__t{
  font:300 27px/1 var(--f-disp); letter-spacing:-.04em;
  color:var(--dark-txt); padding-top:2px;
}
.tl__t span{
  display:block; margin-top:7px; font-size:15px; color:var(--dark-txt-dim);
}
.tl__t span::before{ content:"— "; }

.tl__b h3{
  font:400 21px/1.28 var(--f-disp); letter-spacing:-.028em; max-width:44ch;
}
.tl__b > p{ margin-top:12px; font-size:15.5px; line-height:1.55; color:var(--dark-txt-dim); max-width:60ch }

.mini{ margin-top:16px; display:grid; gap:9px; max-width:64ch }
.mini li{
  position:relative; padding-left:20px;
  font-size:15px; line-height:1.5; color:var(--dark-txt-dim);
}
.mini li::before{
  content:""; position:absolute; left:2px; top:9px;
  width:6px; height:6px; border-radius:50%; background:rgba(22,24,58,.28);
}

.note{
  margin-top:16px !important; padding:12px 16px; border-radius:12px;
  background:rgba(255,194,77,.15);
  border-left:2px solid var(--yolk);
  font-size:14.5px !important; color:var(--dark-txt) !important;
}
.soon{ color:rgba(22,24,58,.42) !important; font-style:italic }

.pill{
  display:inline-block; margin-bottom:13px;
  padding:6px 13px; border-radius:100px;
  font:500 11px/1 var(--f-body); letter-spacing:.11em; text-transform:uppercase;
  background:var(--ink); color:var(--txt);
}
.pill--warm{ background:var(--yolk); color:#2a1c00 }

.tl__sp{
  display:flex; align-items:center; flex-wrap:wrap; gap:12px;
  margin-top:20px !important; padding-top:18px;
  border-top:1px solid var(--dark-line);
  font:500 16px/1.3 var(--f-body) !important; color:var(--dark-txt) !important;
}
.tl__sp i{
  flex-basis:100%; font-style:normal; font-weight:400;
  font-size:14px; line-height:1.5; color:var(--dark-txt-dim);
  padding-left:56px; margin-top:-4px;
}
.ini{
  display:grid; place-items:center; flex:0 0 auto;
  width:44px; height:44px; border-radius:50%;
  background:linear-gradient(140deg, var(--indigo), var(--violet) 50%, var(--lav));
  color:#fff; font:500 14px/1 var(--f-disp); letter-spacing:-.01em;
}

.tl__i--hl{ background:linear-gradient(180deg,#fff, #fbf8f3) }
.tl__i--fest{
  background:linear-gradient(140deg,#151b4e,#0b0e30);
  border-color:transparent; color:var(--txt);
}
.tl__i--fest .tl__t,
.tl__i--fest .tl__b h3{ color:var(--txt) }
.tl__i--fest .mini li{ color:var(--txt-dim) }
.tl__i--fest .mini li::before{ background:var(--yolk) }
.tl__i--fest > .tl__b > p{ color:var(--txt-dim) }

/* ═══════════ 6 · ФЕСТИВАЛЬ ═══════════ */

.fest{
  position:relative; overflow:hidden;
  padding:130px 0 120px;
  background:var(--ink);
  border-radius:44px 44px 0 0;
  margin-top:-44px;
}
.fest__glow{
  position:absolute; inset:auto -20% -60% -20%; height:130%;
  background:
    radial-gradient(40% 50% at 50% 22%, rgba(255,194,77,.24), transparent 62%),
    radial-gradient(60% 60% at 22% 78%, rgba(91,75,232,.4), transparent 64%),
    radial-gradient(50% 50% at 82% 66%, rgba(155,127,240,.3), transparent 62%);
  filter:blur(22px);
}
.fest__in{ position:relative; z-index:2; text-align:center }
.fest__h{
  margin-top:20px;
  font:300 clamp(42px,7.4vw,104px)/.95 var(--f-disp); letter-spacing:-.045em;
}
.fest__lead{
  margin:28px auto 0; max-width:58ch;
  font-size:clamp(16px,1.7vw,19px); line-height:1.6; color:var(--txt-dim);
}
.fmt{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(232px,1fr));
  gap:16px; margin-top:62px; text-align:left;
}
.fmt__c{
  padding:30px 26px 28px; border-radius:20px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--line);
  backdrop-filter:blur(12px);
  transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
}
.fmt__c:hover{
  transform:translateY(-5px);
  background:rgba(255,255,255,.09);
  border-color:rgba(255,194,77,.4);
}
.fmt__c h3{ font:400 21px/1.15 var(--f-disp); letter-spacing:-.03em }
.fmt__c p{ margin-top:12px; font-size:14.5px; line-height:1.5; color:var(--txt-dim) }
.fest__foot{ margin-top:44px; font-size:14.5px; color:var(--txt-mut) }

/* ═══════════ 7 · ЧТО ЗАБЕРЁТЕ ═══════════ */

.take{ padding:120px 0; background:var(--ink) }
.take__grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:70px }
.take__l{ position:sticky; top:calc(var(--nav-h) + 40px); align-self:start }
.take__r{ display:grid; gap:2px }
.take__r li{
  padding:28px 30px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  font-size:15.5px; line-height:1.55; color:var(--txt-dim);
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.take__r li:first-child{ border-radius:20px 20px 0 0 }
.take__r li:last-child{ border-radius:0 0 20px 20px }
.take__r li:hover{
  background:rgba(255,255,255,.075);
  border-color:rgba(255,194,77,.32);
  transform:translateX(5px);
}
.take__r b{
  display:block; margin-bottom:9px;
  font:400 20px/1.24 var(--f-disp); letter-spacing:-.028em; color:var(--txt);
}

/* ═══════════ 8 · ОРГАНИЗАТОР ═══════════ */

.org{ padding:0 0 120px; background:var(--ink) }
.org__in{
  display:grid; grid-template-columns:1.35fr .65fr; gap:60px; align-items:start;
  padding:56px 52px; border-radius:30px;
  background:
    radial-gradient(70% 90% at 6% 0%, rgba(91,75,232,.4), transparent 62%),
    linear-gradient(150deg,#111749,#080b28 66%);
  border:1px solid var(--line);
}
.org__l .h2{ margin-top:16px; max-width:14ch }
.org__l .lead{ margin-top:22px }

.person{
  padding:32px 30px; border-radius:22px;
  background:rgba(255,255,255,.055);
  border:1px solid var(--line);
}
.person__ini{
  display:grid; place-items:center;
  width:60px; height:60px; border-radius:50%;
  background:linear-gradient(140deg, var(--yolk-hi), var(--yolk) 50%, var(--yolk-dp));
  color:#2a1c00; font:500 19px/1 var(--f-disp);
}
.person__n{ margin-top:20px; font:400 22px/1.15 var(--f-disp); letter-spacing:-.03em }
.person__r{ margin-top:6px; font-size:14.5px; color:var(--txt-dim) }
.person__x{ margin-top:22px; font-size:14px; color:var(--txt-mut) }
.person .link{ display:inline-block; margin-top:6px; font-size:18px }

/* ═══════════ 9 · FAQ ═══════════ */

.faq{ padding:0 0 130px; background:var(--ink) }
.faq__in{ display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; align-items:start }
.faq .h2{ position:sticky; top:calc(var(--nav-h) + 40px) }

.acc{ display:grid; gap:2px }
.acc__i{
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.acc__i:first-child{ border-radius:20px 20px 0 0 }
.acc__i:last-child{ border-radius:0 0 20px 20px }
.acc__i:hover{ background:rgba(255,255,255,.065) }
.acc__i.is-open{ background:rgba(255,255,255,.075); border-color:rgba(255,194,77,.3) }

.acc__q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:26px 28px; border:0; background:transparent; cursor:pointer;
  color:var(--txt); text-align:left;
  font:400 19px/1.32 var(--f-disp); letter-spacing:-.028em;
}
.acc__q i{
  flex:0 0 auto; position:relative; width:17px; height:17px;
  transition:transform .35s var(--ease);
}
.acc__q i::before,
.acc__q i::after{
  content:""; position:absolute; background:var(--yolk); border-radius:2px;
}
.acc__q i::before{ left:0; top:7px; width:17px; height:2px }
.acc__q i::after { left:7px; top:0; width:2px; height:17px; transition:opacity .35s var(--ease) }
.acc__i.is-open .acc__q i{ transform:rotate(180deg) }
.acc__i.is-open .acc__q i::after{ opacity:0 }

.acc__a{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .38s var(--ease);
}
.acc__i.is-open .acc__a{ grid-template-rows:1fr }
.acc__a > div{ overflow:hidden }
.acc__a p{
  padding:0 62px 28px 28px;
  font-size:16px; line-height:1.62; color:var(--txt-dim);
}

/* ═══════════ 10 · CTA ═══════════ */

.reg{
  position:relative; overflow:hidden;
  padding:130px 0 140px; text-align:center;
  background:var(--ink);
}
.reg__glow{
  position:absolute; inset:-40% -10% auto -10%; height:160%;
  background:
    radial-gradient(38% 42% at 50% 42%, rgba(255,194,77,.26), transparent 62%),
    radial-gradient(56% 54% at 16% 66%, rgba(27,42,212,.44), transparent 64%),
    radial-gradient(52% 50% at 86% 30%, rgba(155,127,240,.34), transparent 62%);
  filter:blur(24px);
}
.reg__in{ position:relative; z-index:2 }
.reg__h{
  font:300 clamp(38px,6.6vw,88px)/.98 var(--f-disp); letter-spacing:-.045em;
}
.reg__p{ margin:26px auto 0; max-width:50ch; font-size:17px; line-height:1.58; color:var(--txt-dim) }
.reg__cta{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:40px }
.reg__note{ margin-top:26px; font-size:13.5px; color:var(--txt-mut) }

/* ═══════════ ФУТЕР ═══════════ */

.ft{ padding:56px 0 64px; background:var(--ink); border-top:1px solid var(--line) }
.ft__in{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:34px; align-items:start;
}
.ft__brand{ display:flex; gap:13px; align-items:flex-start }
.ft__brand p{ font-size:14.5px; line-height:1.45; color:var(--txt-dim) }
.ft__brand b{ color:var(--txt); font-family:var(--f-disp); font-weight:400; letter-spacing:-.02em }
.ft__meta{ font-size:14px; line-height:1.55; color:var(--txt-mut) }

/* ═══════════ ПОЯВЛЕНИЕ ПРИ СКРОЛЛЕ ═══════════ */

.reveal{
  opacity:0; transform:translateY(22px);
  transition:opacity .7s var(--ease) var(--d,0s), transform .7s var(--ease) var(--d,0s);
}
.reveal.is-in{ opacity:1; transform:none }

/* ═══════════ АДАПТИВ ═══════════ */

@media (max-width:1100px){
  .take__grid,
  .faq__in{ grid-template-columns:1fr; gap:40px }
  .take__l,
  .faq .h2{ position:static }
  .org__in{ grid-template-columns:1fr; gap:38px; padding:44px 36px }
  .stats{ grid-template-columns:repeat(2,1fr) }
}

@media (max-width:900px){
  .nav__links{ display:none }
  .nav__in{ gap:16px }
  .btn--sm{ margin-left:auto }
  .scale__head,
  .prog__head{ grid-template-columns:1fr; gap:26px; align-items:start }
  .hero__sun{ width:min(200px,42vw); top:auto; bottom:4%; right:-12%; opacity:.7 }
}

@media (max-width:768px){
  .wrap{ width:min(1240px, 100% - 34px) }
  .scale{ padding:88px 0 80px }
  .aud,.prog,.take{ padding:88px 0 }
  .split{ padding-bottom:88px }
  .fest,.reg{ padding:96px 0 88px }
  .org,.faq{ padding-bottom:88px }

  .tl__i{
    grid-template-columns:1fr; gap:16px;
    padding:26px 24px;
  }
  .tl__i:hover{ transform:none }
  .tl__t{ font-size:22px }
  .tl__t span{ display:inline; margin-left:2px; font-size:22px }
  .tl__sp i{ padding-left:0 }
  .acc__q{ font-size:17px; padding:22px 22px }
  .acc__a p{ padding:0 22px 24px }
  .halfday{ padding:34px 28px 32px; min-height:0 }
  .take__r li:hover{ transform:none }
  .btn{ height:52px; padding:0 26px }
  .btn--lg{ height:56px; padding:0 30px; font-size:16px }
}

@media (max-width:520px){
  .hero{ min-height:0; padding-top:calc(var(--nav-h) + 40px) }
  .hero__dates{ margin-top:44px }
  .stats{ grid-template-columns:1fr }
  .tabs{ width:100%; flex-direction:column; border-radius:22px }
  .tab{ border-radius:16px }
  .hero__cta .btn,
  .reg__cta .btn{ width:100% }
  /* локап 349px не влезает рядом с кнопкой — ужимаем оба */
  .nav__brand img{ height:32px; border-radius:8px }
  .btn--sm{ height:38px; padding:0 16px; font-size:13.5px }
}

@media (max-width:400px){
  .nav__brand img{ height:28px }
}

/* ═══════════ ДОСТУПНОСТЬ ═══════════ */

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal{ opacity:1; transform:none }
}
