/* ==========================================================================
   RAF — Advertising Industry Forum
   Эталон вёрстки — 1920px, далее 1440 / 1024 / 768 / 390.

   Правила изоляции:
   * стили каждой карусели живут внутри своей секции (.audience / .speakers)
     и используют собственные классы;
   * глобальные селекторы (button, .swiper-*) не переопределяются —
     сброс для button ниже относится только к базовой типографике и был
     в проекте изначально;
   * ни одна карусель не знает о второй: правка одной не задевает другую.
   ========================================================================== */

/* ----------------------------- Токены ------------------------------------ */
:root{
  /* фон */
  --bg-black:#000; --bg-dark:#111; --bg-dark-30:rgba(17,17,17,.3);
  --bg-white:#fff; --bg-white-30:rgba(255,255,255,.3); --bg-white-14:rgba(255,255,255,.14);
  --bg-white-11:rgba(255,255,255,.11);
  --green:#bfff00; --green-hover:#9de767; --green-12:rgba(191,255,0,.12);
  --blue:#67bef8; --violet:#8a65c3;
  --whatsapp:#25d366;
  /* текст */
  --tx:#fff; --tx-32:rgba(255,255,255,.32); --tx-gray:#8a8a8a; --tx-gray-dark:#888d86;
  --tx-footer:#555; --tx-dark:#2e3d47;
  /* обводки */
  --st-white:#fff; --st-card:#1b1b1b; --st-header:rgba(236,251,198,.1);
  /* шрифты */
  --f-d:'Inter',system-ui,-apple-system,sans-serif;
  --f-b:'Geist','Inter',system-ui,sans-serif;
  /* сетка */
  --container:1840px; --gutter:40px;
  --r16:16px; --r20:20px; --r24:24px; --r32:32px;
  /* анимация */
  --t-fast:.2s cubic-bezier(.4,0,.2,1);
  --t-mid:.35s cubic-bezier(.4,0,.2,1);
  --t-slide:.5s cubic-bezier(.32,.72,0,1);
}

/* ----------------------------- Сброс ------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-padding-top:120px}
body{
  margin:0; background:var(--bg-black); color:var(--tx);
  font-family:var(--f-b); font-size:20px; line-height:1.3;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;   /* фолбэк для старых браузеров */
  overflow-x:clip;     /* clip не создаёт скролл-контейнер — sticky-шапка продолжает работать */
}
h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0; list-style:none}
img,svg{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer}
:focus-visible{outline:2px solid var(--green); outline-offset:3px; border-radius:4px}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.skip{position:absolute; left:-9999px; top:0; z-index:100; padding:12px 20px; background:var(--green); color:#000}
.skip:focus{left:12px; top:12px}

/* Шумовой слой поверх фона */
body::before{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.container{width:min(var(--container),100% - var(--gutter)*2); margin-inline:auto; position:relative}
.section{position:relative; z-index:1; padding-block:clamp(64px,5.7vw,110px); overflow-x:clip}

/* --------------------------- Типографика --------------------------------- */
.h1{
  font-family:var(--f-d); font-weight:800; font-size:clamp(40px,6.67vw,128px);
  line-height:1; letter-spacing:-.09em; text-transform:uppercase;
}
.h1 em{font-weight:400; font-style:italic}
.green{color:var(--green)}

/* Синие размытые пятна фона */
.glow{
  position:absolute; z-index:0; pointer-events:none; border-radius:50%;
  background:var(--blue); filter:blur(200px); opacity:.5;
}
@media (min-width:1200px){ .glow{filter:blur(320px)} }

/* ============================== ШАПКА ==================================== */
.header{
  position:sticky; top:20px; z-index:50;
  margin-bottom:-70px; /* шапка «висит» над hero: убираем её высоту из потока */
}
.header__inner{
  display:flex; align-items:center; gap:24px; height:70px; padding-inline:20px;
  background:var(--bg-white-11); border:1px solid var(--st-header); border-radius:var(--r20);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  transition:background var(--t-mid),border-color var(--t-mid);
}
.header.is-stuck .header__inner{background:rgba(12,12,12,.82); border-color:rgba(255,255,255,.12)}
.header__logo{flex:none; width:134px}
.header__logo img{width:100%; height:auto}

.nav{display:flex; gap:24px; margin-inline:auto}
.nav a,.lang{
  font-family:var(--f-d); font-weight:800; font-size:20px; line-height:1;
  letter-spacing:-.07em; text-transform:uppercase; color:var(--tx);
  transition:color var(--t-fast);
}
.nav a{position:relative; padding-block:6px}
.nav a::after{
  content:''; position:absolute; left:0; right:100%; bottom:0; height:2px;
  background:var(--green); transition:right var(--t-mid);
}
.nav a:hover,.nav a.is-active{color:var(--green)}
.nav a:hover::after,.nav a.is-active::after{right:0}

.lang{display:flex; align-items:center; gap:6px; flex:none}
.lang img{width:12px; height:auto; transition:transform var(--t-fast)}

.burger{display:none; flex:none; width:36px; height:26px; position:relative}
.burger span{position:absolute; left:0; right:0; height:2px; background:var(--tx); transition:var(--t-fast)}
.burger span:nth-child(1){top:2px} .burger span:nth-child(2){top:12px} .burger span:nth-child(3){top:22px}
.burger[aria-expanded="true"] span:nth-child(1){top:12px; transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:12px; transform:rotate(-45deg)}

.nav-mobile[hidden]{display:none}
.nav-mobile{
  width:min(var(--container),100% - var(--gutter)*2); margin:8px auto 0; padding:16px 20px;
  display:flex; flex-direction:column; gap:14px;
  background:rgba(12,12,12,.96); border:1px solid rgba(255,255,255,.1); border-radius:var(--r20);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.nav-mobile a{
  padding-block:10px;
  font-family:var(--f-d); font-weight:800; font-size:22px; line-height:1.2;
  letter-spacing:-.07em; text-transform:uppercase;
}
.nav-mobile a:hover{color:var(--green)}

/* ============================== HERO ===================================== */
.hero{
  position:relative; z-index:1; min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding-top:clamp(96px,11vh,132px); padding-bottom:clamp(40px,6vh,64px); overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0; z-index:-1;
  background:url(../img/hero-bg.webp) center top/cover no-repeat;
}
.hero__bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.85) 100%);
}
.hero__inner{position:relative}

.hero__text{max-width:min(1120px,94%)}
.hero__title{
  font-family:var(--f-d); font-weight:800; font-size:clamp(34px,4.6vw,82px);
  line-height:1.02; letter-spacing:-.055em; text-transform:uppercase;
}
.hero__sub{
  margin-top:clamp(16px,1.6vw,26px); font-family:var(--f-d); font-weight:600;
  font-size:clamp(18px,1.72vw,30px); line-height:1.15; letter-spacing:-.03em; max-width:900px;
}
.hero__desc{
  margin-top:clamp(12px,1vw,18px); font-family:var(--f-d); font-weight:400;
  font-size:clamp(15px,1.06vw,19px); line-height:1.4; letter-spacing:-.02em;
  max-width:620px; opacity:.8;
}
.hero__when{margin-top:clamp(24px,2.4vw,38px)}
.hero__date{
  font-family:var(--f-d); font-weight:700; font-size:clamp(28px,1.88vw,36px);
  line-height:1.2; letter-spacing:-.07em; color:var(--green);
}
.hero__place{
  margin-top:6px; font-family:var(--f-d); font-weight:600; font-size:clamp(16px,1.2vw,22px);
  line-height:1.2; letter-spacing:-.02em;
}
.hero__proof{
  display:flex; flex-wrap:wrap; align-items:center; margin-top:clamp(24px,2.2vw,34px);
  font-family:var(--f-d); font-weight:500; font-size:clamp(14px,1.05vw,18px);
  line-height:1.3; letter-spacing:-.02em;
}
.hero__proof li{display:inline-flex; align-items:center}
.hero__proof li::after{content:'•'; margin:0 clamp(10px,1vw,18px); color:var(--green); font-weight:700}
.hero__proof li:last-child::after{content:none}
.hero__cta{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end;
  gap:32px 40px; margin-top:clamp(40px,4vw,64px);
}
.hero__actions{display:flex; flex-wrap:wrap; gap:24px}

/* ------------------------------ Кнопки ----------------------------------- */
.btn{
  display:inline-flex; align-items:center; gap:0; height:70px; border-radius:var(--r16);
  overflow:hidden; transition:background var(--t-fast),color var(--t-fast);
}
.btn span{
  padding:0 24px; font-family:var(--f-d); font-weight:700; font-size:16px;
  line-height:1; letter-spacing:-.06em; text-transform:uppercase; white-space:nowrap;
}
.btn__ico{
  flex:none; display:grid; place-items:center; width:70px; height:70px;
  border-left:1px solid currentColor;
}
.btn__ico img{width:30px; height:30px; transition:transform var(--t-fast)}
.btn--light{background:var(--bg-white); color:var(--tx-dark)}
.btn--green{background:var(--green); color:var(--tx-dark)}
.btn--light:hover,.btn--green:hover{background:var(--bg-dark); color:var(--tx)}
.btn:hover .btn__ico img{transform:translateX(4px)}
.btn--light .btn__ico img,.btn--green .btn__ico img{filter:none}
.btn--light:hover .btn__ico img,.btn--green:hover .btn__ico img{filter:invert(1)}
.btn--accent{
  background:var(--green); color:#0d1400;
  box-shadow:0 0 0 1px rgba(191,255,0,.55), 0 0 26px rgba(191,255,0,.55), 0 0 64px rgba(191,255,0,.32);
  animation:btnGlow 2.2s ease-in-out infinite;
}
.btn--accent:hover{background:var(--green-hover); color:#0d1400}
.btn--accent .btn__ico{border-left-color:rgba(0,0,0,.25)}
.btn--accent .btn__ico img,.btn--accent:hover .btn__ico img{filter:none}
.btn--ghost{background:transparent; color:var(--tx); border:1px solid rgba(255,255,255,.34)}
.btn--ghost:hover{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.6); color:var(--tx)}
.btn--ghost .btn__ico{border-left-color:rgba(255,255,255,.34)}
.btn--ghost .btn__ico img,.btn--ghost:hover .btn__ico img{filter:invert(1)}
@keyframes btnGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(191,255,0,.5), 0 0 20px rgba(191,255,0,.45), 0 0 48px rgba(191,255,0,.22)}
  50%{box-shadow:0 0 0 1px rgba(191,255,0,.8), 0 0 34px rgba(191,255,0,.8), 0 0 78px rgba(191,255,0,.45)}
}
.btn--wide{width:100%}
.btn--wide span{flex:1; text-align:center}

/* ----------------------------- Таймер ------------------------------------ */
.countdown{display:flex; gap:clamp(24px,3.2vw,62px); flex:0 0 auto}
.cd__cell{display:flex; flex-direction:column; align-items:center; min-width:72px; flex:0 0 auto}
.cd__num,.cd__tape{
  font-family:var(--f-d); font-weight:800; font-size:clamp(36px,3.18vw,61px);
  line-height:1; letter-spacing:-.13em; font-variant-numeric:tabular-nums;
}
.cd__lbl{
  font-family:var(--f-d); font-weight:500; font-size:clamp(13px,1.04vw,20px);
  line-height:1; letter-spacing:-.07em; text-transform:uppercase; color:rgba(255,255,255,.55);
}
.cd__roller{
  display:block; height:1em; font-size:clamp(36px,3.18vw,61px);
  font-family:var(--f-d);
  padding-right:.18em; margin-right:-.18em;
  overflow:hidden;
}
.cd__tape{display:block; transition:transform var(--t-mid); font-size:1em}
.cd__tape span{display:block; height:1em}

/* ============================== О ФОРУМЕ ================================= */
.glow--a{width:870px; height:1004px; left:-740px; top:156px}
.glow--b{width:479px; height:553px; left:1157px; top:234px}

.about__grid{
  display:grid; grid-template-columns:minmax(0,560px) minmax(0,1fr);
  column-gap:clamp(28px,3vw,56px); row-gap:clamp(32px,3.6vw,56px); align-items:center;
}
.about__head{
  grid-column:1/-1; display:flex; align-items:center; flex-wrap:nowrap;
  gap:clamp(16px,2vw,40px); margin:0;
}
.about__o{
  position:static; z-index:0; flex:none;
  font-family:var(--f-d); font-weight:400; font-style:italic;
  font-size:clamp(110px,17vw,300px); line-height:.78; letter-spacing:-.09em;
  color:var(--green); pointer-events:none;
}
.about__word{
  display:block; margin:0; min-width:0; overflow-wrap:anywhere;
  font-family:var(--f-d); font-weight:800; font-size:clamp(44px,6.9vw,140px);
  line-height:1; letter-spacing:-.09em; text-transform:uppercase;
}
.about__body{grid-column:1; display:flex; flex-direction:column; gap:clamp(28px,3vw,44px)}
.about__lead{
  max-width:660px; margin:0;
  font-family:var(--f-d); font-weight:400; font-size:clamp(18px,1.5vw,28px);
  line-height:1.4; letter-spacing:-.03em;
}
.about__lead p + p{margin-top:1em}
.about__lead-hi{
  font-weight:800; font-size:clamp(22px,1.95vw,38px); line-height:1.15; letter-spacing:-.03em;
}
.about__slogan{
  margin:0; justify-self:start; padding-left:clamp(16px,1.3vw,22px);
  border-left:3px solid var(--green);
  font-family:var(--f-d); font-weight:700; font-size:clamp(18px,1.5vw,28px);
  line-height:1.2; letter-spacing:-.04em; text-transform:uppercase; color:var(--tx);
}
.about__feature{
  grid-column:2; align-self:center; margin:0;
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(12px,1vw,18px);
  width:100%;
}
.about__feature img{
  width:100%; height:clamp(380px,27vw,500px); object-fit:cover; display:block;
  border-radius:var(--r20); border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 44px rgba(0,0,0,.45);
}

/* ============================== СИГНАЛЫ ================================== */
.glow--c{width:432px; height:783px; left:-430px; top:72px}
.glow--d{width:432px; height:783px; right:-430px; top:990px}

.signals__head{max-width:1740px; margin-bottom:48px}
.signals__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.signals__flow{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin-bottom:clamp(28px,3vw,44px);
  font-family:var(--f-d); font-weight:700; font-size:clamp(16px,1.4vw,26px);
  letter-spacing:-.02em;
}
.signals__flow li{display:inline-flex; align-items:center; color:var(--tx)}
.signals__flow li:not(:last-child)::after{content:'→'; margin-left:10px; color:var(--tx-32); font-weight:400}
.signals__flow li[data-phase="audience"]{color:var(--green)}
.signals__flow li[data-phase="tech"]{color:var(--blue)}
.signals__flow li[data-phase="channels"]{color:#b48cf5}
.signals__flow li[data-phase="growth"]{color:var(--green)}
.scard__phase{
  position:absolute; top:24px; right:24px; z-index:1;
  font-family:var(--f-d); font-weight:700; font-size:clamp(12px,.9vw,14px);
  line-height:1; letter-spacing:-.01em;
  padding:6px 12px; border-radius:99px;
}
.scard[data-phase="audience"] .scard__phase{color:var(--green); background:var(--green-12)}
.scard[data-phase="tech"] .scard__phase{color:var(--blue); background:rgba(103,190,248,.14)}
.scard[data-phase="channels"] .scard__phase{color:#c4a3ff; background:rgba(138,101,195,.26)}
.scard[data-phase="growth"] .scard__phase{color:var(--green); background:var(--green-12)}
.scard{
  min-height:clamp(340px,26vw,400px);
  display:flex; flex-direction:column; gap:0; padding:28px; border-radius:var(--r24);
  background:linear-gradient(180deg,#000 0%,rgba(0,0,0,0) 100%),#0a0a0a;
  border:1px solid var(--st-card); overflow:hidden; position:relative; isolation:isolate;
  transition:border-color var(--t-fast),transform var(--t-fast);
}
.scard::before{
  content:''; position:absolute; z-index:-1; width:120%; aspect-ratio:1; left:-10%; top:-6%;
  background:radial-gradient(circle,rgba(138,101,195,.55),transparent 62%); filter:blur(46px);
}
.scard:hover{border-color:rgba(191,255,0,.35); transform:translateY(-4px)}
.scard__num{
  font-family:var(--f-d); font-weight:800; font-size:clamp(26px,2.2vw,40px);
  line-height:1; letter-spacing:-.06em; color:var(--green);
}
.scard img{
  align-self:center; flex:0 1 auto; width:auto; height:clamp(120px,13vw,178px);
  max-width:82%; object-fit:contain; margin:auto 0;
}
.scard__title{
  margin-top:0; font-family:var(--f-d); font-weight:700; font-size:clamp(19px,1.5vw,28px);
  line-height:1.05; letter-spacing:-.05em;
}
.scard__sub{
  margin-top:8px; font-family:var(--f-b); font-weight:400;
  font-size:clamp(14px,1.05vw,18px); line-height:1.3; color:#9a9a9a;
}

/* ========================================================================= */
/*  КАРУСЕЛЬ — общая механика                                                */
/*  Ширина карточек постоянная: активная выделяется только transform/opacity, */
/*  которые не участвуют в раскладке. Поэтому центр активной карточки не      */
/*  «съезжает», а соседи не скачут при переключении.                          */
/* ========================================================================= */
.carousel{
  position:relative; z-index:1;
  width:min(var(--container),calc(100% - var(--gutter)*2)); margin-inline:auto;
  overflow:hidden;
}
.carousel:focus-visible{outline:2px solid var(--green); outline-offset:6px; border-radius:var(--r24)}
.carousel__track{
  position:relative;   /* offsetParent для карточек: нужен расчёту позиции в режиме скролла */
  display:flex; align-items:stretch; gap:var(--slide-gap,20px);
  transition:transform var(--t-slide); will-change:transform;
}

/* Панель управления: счётчик слева, кнопки справа. Кнопки стоят НАД
   слайдером отдельной строкой, поэтому ничего не перекрывают. */
.audience__controls,.speakers__controls{
  display:flex; align-items:center; gap:clamp(16px,1.6vw,28px); flex:none;
}
.audience__buttons,.speakers__buttons{display:flex; align-items:center; gap:12px}

.audience__counter,.speakers__counter{
  display:flex; align-items:baseline; gap:7px;
  font-family:var(--f-d); font-weight:800; font-size:clamp(20px,1.5vw,28px);
  line-height:1; letter-spacing:-.05em; font-variant-numeric:tabular-nums;
  color:rgba(255,255,255,.62); white-space:nowrap;
}
.audience__counter-now,.speakers__counter-now{color:var(--green)}

/* Кнопки 66px: белый круг на чёрном фоне — максимальный контраст,
   стрелка чёрная на белом. Ховер/фокус — фирменный зелёный. */
.audience .audience__nav,
.speakers .speakers__nav{
  display:inline-grid; place-items:center;
  width:66px; height:66px; padding:0;
  border:2px solid #fff; border-radius:50%;
  background:#fff; color:#0a0f00;
  box-shadow:0 10px 28px rgba(0,0,0,.55);
  transition:background var(--t-fast),border-color var(--t-fast),
             color var(--t-fast),transform var(--t-fast),opacity var(--t-fast);
}
.audience .audience__nav .cnav__ico,
.speakers .speakers__nav .cnav__ico{width:26px; height:26px}
.audience .audience__nav:hover,
.speakers .speakers__nav:hover{
  background:var(--green); border-color:var(--green); color:#0a0f00; transform:translateY(-2px);
}
.audience .audience__nav:active,
.speakers .speakers__nav:active{transform:translateY(0) scale(.96)}
.audience .audience__nav:focus-visible,
.speakers .speakers__nav:focus-visible{
  outline:3px solid var(--green); outline-offset:4px;
  background:var(--green); border-color:var(--green);
}
.audience .audience__nav:disabled,
.speakers .speakers__nav:disabled{opacity:.35; cursor:default; transform:none}

/* ============================ КТО ПОСЕЩАЕТ =============================== */
.glow--e{width:624px; height:538px; left:calc(50% - 312px); top:640px}

.audience__bar{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:clamp(20px,3vw,56px); margin-bottom:clamp(28px,2.6vw,44px);
}
.audience__head{min-width:0}
.audience__title{
  font-family:var(--f-d); font-weight:800; font-size:clamp(34px,4.4vw,84px);
  line-height:1; letter-spacing:-.09em; text-transform:uppercase;
}
.audience__raf{display:block; font-size:clamp(76px,13vw,250px); line-height:.9; color:var(--green)}
.audience__lead{
  max-width:820px; margin-top:clamp(12px,1.2vw,20px);
  font-family:var(--f-d); font-weight:500; font-size:clamp(17px,1.35vw,26px);
  line-height:1.3; letter-spacing:-.02em; color:rgba(255,255,255,.88);
}

.carousel--aud{--slide-gap:20px; padding-block:6px 10px}
.acard{
  flex:0 0 clamp(280px,23vw,440px);
  display:flex; flex-direction:column; gap:12px;
  opacity:.55; transform:scale(.95); transform-origin:center;
  transition:opacity var(--t-slide),transform var(--t-slide);
}
.acard.is-active{opacity:1; transform:none}
.acard__photo{
  border-radius:var(--r24); overflow:hidden; position:relative; isolation:isolate;
  background:#0b0b0b; aspect-ratio:445/393; flex:none;
  border:1px solid rgba(255,255,255,.08); transition:border-color var(--t-mid);
}
.acard.is-active .acard__photo{border-color:rgba(191,255,0,.45)}
.acard__photo::before{
  content:''; position:absolute; z-index:-1; inset:-20%;
  background:radial-gradient(circle at 50% 55%,rgba(138,101,195,.5),transparent 60%); filter:blur(40px);
}
.acard__photo img{width:100%; height:100%; object-fit:contain}
.acard__info{
  flex:1; display:flex; flex-direction:column; gap:16px; padding:clamp(22px,1.7vw,32px);
  background:var(--bg-dark); border-radius:var(--r24);
}
.acard__title{
  overflow-wrap:anywhere;
  font-family:var(--f-d); font-weight:800; font-size:clamp(20px,1.6vw,30px);
  line-height:1.05; letter-spacing:-.04em;
}
.acard__text{
  font-family:var(--f-b); font-weight:400; font-size:clamp(15px,1.05vw,19px);
  line-height:1.4; color:#a0a0a0;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:6; line-clamp:6; overflow:hidden;
}
.acard.is-active .acard__text{color:#b9b9b9}

/* ============================== ПРОГРАММА ================================ */
.schedule__head{margin-bottom:clamp(32px,3vw,48px)}

.slots{display:flex; flex-direction:column; gap:16px}
.slot{
  display:grid; grid-template-columns:minmax(200px,300px) auto minmax(0,1fr) minmax(200px,280px);
  align-items:center; gap:clamp(20px,2vw,40px);
  min-height:100px; padding:clamp(22px,2vw,32px) clamp(22px,2.2vw,40px); border-radius:var(--r16);
  background:var(--bg-dark); border:1px solid transparent;
  transition:background var(--t-fast),border-color var(--t-fast);
}
.slot:hover{background:var(--bg-dark-30); border-color:rgba(255,255,255,.35)}
.slot__time{
  font-family:var(--f-d); font-weight:700; font-size:clamp(20px,1.7vw,32px);
  line-height:1.1; letter-spacing:-.06em;
}
.slot__tag{
  justify-self:start; padding:5px 12px; border-radius:99px; background:var(--green-12);
  font-family:var(--f-b); font-weight:700; font-size:14px; line-height:1.3;
  text-transform:uppercase; color:var(--green); white-space:nowrap;
}
.slot__title{
  min-width:0; overflow-wrap:anywhere;
  font-family:var(--f-d); font-weight:500; font-size:clamp(15px,1.25vw,24px);
  line-height:1.25; letter-spacing:-.03em;
}
.slot__who{
  min-width:0; overflow-wrap:anywhere;
  font-family:var(--f-b); font-weight:400; font-size:16px; line-height:1.35;
  color:#9a9a9a; text-align:right;
}

/* ============================== СПИКЕРЫ ================================== */
.glow--f{width:870px; height:530px; left:-240px; top:126px}
.glow--g{width:870px; height:530px; right:-430px; top:760px}

.speakers__bar{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:clamp(20px,3vw,56px); margin-bottom:clamp(24px,2.4vw,40px);
}
.speakers__head{margin:0; min-width:0}

.carousel--spk{--slide-gap:28px; padding-block:26px 34px}
.spk{
  flex:0 0 clamp(280px,22vw,420px);
  display:flex; flex-direction:column; gap:10px;
  transform-origin:center;
  transition:transform var(--t-slide),opacity var(--t-slide);
}
.spk.is-side{opacity:.55; transform:scale(.9)}
.spk.is-side.is-before{transform:rotate(-4deg) scale(.9)}
.spk.is-side.is-after{transform:rotate(4deg) scale(.9)}
.spk.is-active{opacity:1; transform:none}
.spk__photo{
  border-radius:var(--r16); overflow:hidden; border:1px solid rgba(255,255,255,.3);
  aspect-ratio:1; flex:none; transition:border-color var(--t-mid),box-shadow var(--t-mid);
}
.spk.is-active .spk__photo{border-color:var(--green); box-shadow:0 0 0 1px rgba(191,255,0,.35), 0 20px 50px rgba(0,0,0,.5)}
.spk__photo img{width:100%; height:100%; object-fit:cover}
.spk__info{
  flex:1; display:flex; flex-direction:column; gap:12px;
  padding:clamp(20px,1.6vw,28px); background:var(--bg-dark); border-radius:var(--r16);
}
.spk__name{
  overflow-wrap:anywhere;
  font-family:var(--f-d); font-weight:700; font-size:clamp(20px,1.5vw,28px);
  line-height:1.1; letter-spacing:-.05em;
}
.spk__role{
  align-self:flex-start; padding:7px 14px; border-radius:99px; background:var(--green-12);
  font-family:var(--f-b); font-weight:700; font-size:13px; line-height:1.3;
  text-transform:uppercase; color:var(--green);
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden;
}
.spk__bio{
  font-family:var(--f-d); font-weight:400; font-size:clamp(15px,1.05vw,17px); line-height:1.4;
  letter-spacing:-.02em; color:#a2a2a2;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; line-clamp:4; overflow:hidden;
}
.spk.is-active .spk__bio{color:#c3c3c3}

/* ============================== ПАРТНЁРЫ ================================= */
.glow--h{width:479px; height:553px; left:290px; top:110px}
.glow--i{width:870px; height:1004px; right:-770px; top:30px}

.partners{--pcols:5; --pgap:21px; --prow:17px}
.partners__head{text-align:center; margin-bottom:clamp(32px,3vw,48px)}
.partners__grid{display:grid; grid-template-columns:repeat(var(--pcols),1fr); gap:var(--prow) var(--pgap)}
/* MARCOM и OG GROUP вынесены из общей сетки в отдельную центральную колонку:
   OG GROUP всегда стоит ровно под MARCOM — на любой ширине экрана. */
.partners__feature{
  display:grid; grid-template-columns:1fr; gap:var(--prow);
  width:calc((100% - (var(--pcols) - 1) * var(--pgap)) / var(--pcols));
  margin:var(--prow) auto 0;
}
.plogo{
  display:grid; place-items:center; padding:32px 40px; min-height:290px;
  background:var(--bg-dark); border-radius:var(--r16);
  transition:background var(--t-fast);
}
.plogo img{max-width:100%; max-height:110px; width:auto; height:auto; transition:filter var(--t-fast)}
.plogo:hover{background:var(--bg-white)}
.plogo:hover img{filter:invert(1) hue-rotate(180deg)}
.plogo--og{background:#f5f5f5}
.plogo--og img,.plogo--og:hover img{width:min(170px,100%); max-height:100px; filter:none}
.plogo--og:hover{background:#fff}

/* ============================== ТАРИФЫ =================================== */
.tariffs__head{text-align:center; margin-bottom:24px}
.tariffs__earlybird{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 14px;
  max-width:760px; margin:0 auto 48px; padding:16px 24px;
  border:1px solid var(--green); border-radius:99px; background:var(--green-12);
  font-family:var(--f-d); font-weight:500; font-size:clamp(15px,1.15vw,20px);
  line-height:1.25; letter-spacing:-.02em; text-align:center;
}
.tariffs__earlybird-badge{font-weight:800; text-transform:uppercase; letter-spacing:.02em; color:var(--green)}
.tariffs__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch}
.tariff{
  display:flex; flex-direction:column; gap:40px; padding:32px; min-height:690px;
  background:var(--bg-dark); border:1px solid transparent; border-radius:var(--r24);
  transition:transform var(--t-mid),border-color var(--t-mid),box-shadow var(--t-mid);
}
.tariff:hover{transform:translateY(-8px); border-color:rgba(255,255,255,.18); box-shadow:0 24px 64px rgba(0,0,0,.24)}
.tariff--hi{border-color:var(--green); box-shadow:0 0 36px rgba(182,255,0,.07)}
.tariff--hi:hover{border-color:var(--green); box-shadow:0 24px 72px rgba(182,255,0,.11)}
.tariff__top{display:flex; flex-direction:column; gap:24px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.12)}
.tariff__name{
  font-family:var(--f-d); font-weight:700; font-size:clamp(24px,1.88vw,36px);
  line-height:1.05; letter-spacing:-.04em;
}
.tariff--hi .tariff__name{color:var(--green)}
.tariff__price{
  font-family:var(--f-d); font-weight:800; font-size:clamp(38px,3.33vw,64px);
  line-height:1; letter-spacing:-.09em;
}
.tariff__price--lg{font-size:clamp(44px,5vw,88px)}
.tariff__list{display:flex; flex-direction:column; gap:16px; margin-bottom:auto}
.tariff__list li{
  position:relative; padding-left:30px; overflow-wrap:anywhere;
  font-family:var(--f-b); font-weight:400; font-size:clamp(16px,1.2vw,22px); line-height:1.35;
}
.tariff__list li::before{
  content:''; position:absolute; left:0; top:.42em; width:14px; height:11px;
  background:currentColor;
  -webkit-mask:url(../icons/check.svg) no-repeat center/contain;
  mask:url(../icons/check.svg) no-repeat center/contain;
}
.tariffs__b2b{
  position:relative; display:flex; align-items:center; justify-content:space-between; gap:28px;
  margin-top:clamp(28px,3vw,48px); padding:clamp(22px,2vw,32px);
  border:1px solid rgba(255,255,255,.12); border-radius:var(--r20);
  background:linear-gradient(110deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  overflow:hidden; transition:border-color var(--t-mid),background var(--t-mid);
}
.tariffs__b2b::before{
  content:''; position:absolute; inset:-100% auto -100% -35%; width:22%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  transform:rotate(18deg); transition:transform 900ms ease;
}
.tariffs__b2b:hover{border-color:rgba(182,255,0,.42); background:linear-gradient(110deg,rgba(182,255,0,.08),rgba(255,255,255,.025))}
.tariffs__b2b:hover::before{transform:translateX(650%) rotate(18deg)}
.tariffs__b2b-copy{position:relative; z-index:1}
.tariffs__b2b-copy > p:last-child{margin-top:7px; color:#a0a0a0; font-size:clamp(15px,1vw,18px)}
.tariffs__b2b-title{font-family:var(--f-d); font-weight:700; font-size:clamp(22px,1.8vw,32px); line-height:1.1; letter-spacing:-.045em}
.tariffs__b2b-button{
  position:relative; z-index:1; flex:none; display:flex; align-items:center; justify-content:center; gap:28px;
  min-height:64px; padding:12px 18px 12px 28px; border:0; border-radius:14px;
  background:var(--green); color:var(--tx-dark);
  font-family:var(--f-d); font-weight:800; font-size:16px; text-transform:uppercase;
  transition:transform var(--t-fast),box-shadow var(--t-mid);
}
.tariffs__b2b-button img{width:28px; height:28px; transition:transform var(--t-fast)}
.tariffs__b2b-button:hover{transform:translateY(-3px); box-shadow:0 14px 36px rgba(182,255,0,.2)}
.tariffs__b2b-button:hover img{transform:translateX(5px)}

/* ============================== РЕКВИЗИТЫ ================================ */
.requisites-dialog{
  width:min(820px,calc(100% - 32px)); max-height:min(850px,calc(100vh - 32px));
  padding:clamp(24px,3.2vw,48px); border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r24); background:#111415; color:var(--tx);
  box-shadow:0 32px 120px rgba(0,0,0,.72); overflow:auto;
}
.requisites-dialog::backdrop{background:rgba(3,6,8,.78); backdrop-filter:blur(10px)}
.requisites-dialog[open]{animation:dialogIn 320ms cubic-bezier(.2,.8,.2,1)}
@keyframes dialogIn{from{opacity:0; transform:translateY(24px) scale(.97)}to{opacity:1; transform:none}}
.requisites-dialog__head{display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px}
.requisites-dialog__eyebrow{margin-bottom:10px; color:var(--green); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase}
.requisites-dialog h2{font-family:var(--f-d); font-weight:800; font-size:clamp(40px,5vw,72px); line-height:.95; letter-spacing:-.07em; text-transform:uppercase}
.requisites-dialog__close{
  flex:none; width:48px; height:48px; border:1px solid rgba(255,255,255,.18); border-radius:50%;
  background:rgba(255,255,255,.06); color:var(--tx); font-size:32px; line-height:1;
  transition:transform var(--t-fast),background var(--t-fast),color var(--t-fast);
}
.requisites-dialog__close:hover{transform:rotate(90deg); background:var(--green); color:var(--tx-dark)}
.requisites-dialog__name{max-width:680px; margin-bottom:30px; color:#a0a0a0; font-size:clamp(15px,1.1vw,18px); line-height:1.45}
.requisites__list > div{
  display:grid; grid-template-columns:minmax(130px,.36fr) minmax(0,1fr); gap:24px;
  padding:18px 0; border-bottom:1px solid rgba(255,255,255,.1);
}
.requisites__list > div:first-child{padding-top:0}
.requisites__list > div:last-child{padding-bottom:0; border-bottom:0}
.requisites__list dt{color:#9a9a9a; font-size:15px}
.requisites__list dd{font-size:clamp(15px,1.05vw,18px); overflow-wrap:anywhere}
.requisites__list a{text-decoration:underline; text-underline-offset:3px}
.requisites__list a:hover{color:var(--green)}

/* ================================ CTA ==================================== */
.glow--j{width:707px; height:215px; left:calc(50% - 353px); top:190px}

.cta__head{text-align:center; margin-bottom:48px}
.cta__row{display:flex; gap:24px; align-items:stretch}
.cta__bar{
  flex:1; display:grid; place-items:center; min-height:clamp(72px,7vw,96px); padding:16px 32px;
  border-radius:var(--r20); text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));
  font-family:var(--f-d); font-weight:700; font-size:clamp(18px,1.6vw,28px);
  line-height:1.1; letter-spacing:-.05em; text-transform:uppercase;
  transition:background var(--t-mid),color var(--t-mid);
}
.cta__bar:hover{background:var(--green); color:#0d1400}
.cta__sq{
  flex:none; width:clamp(72px,7vw,96px); display:grid; place-items:center; border-radius:var(--r20);
  background:rgba(255,255,255,.08); transition:background var(--t-mid)
}
.cta__sq img{width:clamp(26px,2vw,34px); height:auto; transition:transform var(--t-fast)}
.cta__sq:hover{background:rgba(255,255,255,.16)}
.cta__sq:hover img{transform:translateX(5px)}

/* ================================ ФУТЕР ================================== */
/* Футер отделён от основных блоков: графитовый фон, верхняя граница
   с мягким свечением, увеличенные вертикальные отступы. */
.footer{
  position:relative; z-index:1;
  margin-top:clamp(40px,4vw,80px);
  padding-top:clamp(56px,4.4vw,88px); padding-bottom:clamp(40px,3.6vw,64px);
  overflow:hidden;
  border-top:1px solid rgba(191,255,0,.3);
  background:linear-gradient(180deg,#141a1d 0%,#0e1315 46%,#090c0e 100%);
  box-shadow:0 -1px 0 0 rgba(191,255,0,.12), 0 -34px 90px rgba(0,0,0,.55);
}
.footer::before{
  content:''; position:absolute; z-index:-1; left:50%; top:-1px; width:min(1100px,92%); height:280px;
  transform:translateX(-50%); pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,rgba(191,255,0,.14),transparent 68%);
}
.footer__inner{display:flex; flex-direction:column}

.fnav{display:flex; flex-direction:column; gap:clamp(12px,1.1vw,19px)}
.fnav a{
  display:flex; align-items:center; gap:24px; padding-block:2px;
  font-family:var(--f-d); font-weight:800; font-size:clamp(26px,3.2vw,60px);
  line-height:1.05; letter-spacing:-.09em; text-transform:uppercase;
  transition:color var(--t-fast);
}
.fnav a i{
  flex:1; height:1px; background:rgba(255,255,255,.28);
  transform:scaleX(0); transform-origin:100% 50%;
  transition:transform var(--t-slide),background var(--t-mid);
}
.fnav a:first-child i{transform:scaleX(1)}
.fnav a span{flex:none; width:clamp(190px,47.4vw,910px)}
.fnav a:hover,.fnav a:focus-visible{color:var(--green)}
.fnav a:hover i,.fnav a:focus-visible i{transform:scaleX(1); background:var(--green)}

/* Организатор — логотип ЦАРА, уменьшенный */
.footer__org{
  display:flex; align-items:center; gap:14px 24px; flex-wrap:wrap;
  margin-top:clamp(32px,3.2vw,52px); padding-top:clamp(24px,2.2vw,34px);
  border-top:1px solid rgba(255,255,255,.12);
}
.footer__org-label{
  font-family:var(--f-b); font-size:clamp(12px,.95vw,14px); color:rgba(255,255,255,.66);
  text-transform:uppercase; letter-spacing:.1em;
}
.footer__org-logo{width:min(190px,54%); height:auto}

.footer__legal{
  display:flex; flex-wrap:wrap; gap:14px 34px;
  margin-top:clamp(26px,2.6vw,40px); padding:clamp(20px,1.8vw,28px) 0;
  border-top:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12);
}
.footer .footer__legal-link{
  position:relative; padding:4px 0 6px; border:0; background:none; color:rgba(255,255,255,.82);
  font:inherit; font-family:var(--f-b); font-size:clamp(15px,1vw,17px); text-align:left;
  transition:color var(--t-fast);
}
.footer .footer__legal-link::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--green);
  transform:scaleX(0); transform-origin:left; transition:transform var(--t-mid);
}
.footer .footer__legal-link:hover,.footer .footer__legal-link:focus-visible{color:var(--green)}
.footer .footer__legal-link:hover::after,.footer .footer__legal-link:focus-visible::after{transform:scaleX(1)}

.footer__meta{
  display:flex; justify-content:space-between; gap:12px 20px; flex-wrap:wrap;
  margin-top:clamp(26px,2.6vw,44px);
  font-family:var(--f-b); font-size:clamp(14px,1vw,18px); line-height:1.4;
  color:rgba(255,255,255,.72);
}
.footer__meta a{color:var(--green); text-decoration:underline; text-underline-offset:3px; transition:color var(--t-fast)}
.footer__meta a:hover{color:#fff}

/* =========================== WHATSAPP-ВИДЖЕТ ============================= */
.wa-fab{
  position:fixed; right:clamp(14px,1.6vw,28px); bottom:clamp(14px,1.6vw,28px); z-index:60;
  display:grid; place-items:center; width:60px; height:60px; border-radius:50%;
  background:var(--whatsapp); color:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.12);
  transition:transform var(--t-fast),box-shadow var(--t-mid);
}
.wa-fab svg{position:relative; z-index:1; width:31px; height:31px}
.wa-fab:hover{transform:translateY(-3px); box-shadow:0 18px 40px rgba(37,211,102,.35)}
.wa-fab__pulse{
  position:absolute; inset:0; border-radius:50%; pointer-events:none;
  box-shadow:0 0 0 0 rgba(37,211,102,.55); animation:waPulse 2.6s ease-out infinite;
}
@keyframes waPulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}
  70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}

/* ====================== Появление блоков при прокрутке =================== */
.motion-ready [data-reveal]{
  opacity:0; transform:translateY(28px);
  transition:opacity 720ms cubic-bezier(.2,.8,.2,1),transform 720ms cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
.motion-ready [data-reveal].is-visible{opacity:1; transform:none}
.motion-ready .tariff[data-reveal].is-visible:hover{transform:translateY(-8px)}
.motion-ready .scard[data-reveal].is-visible:hover{transform:translateY(-4px)}

/* ========================================================================= */
/*  АДАПТИВ: 1500 / 1200 / 1024 / 900 / 600 / 400                            */
/* ========================================================================= */

@media (max-width:1500px){
  :root{--gutter:32px}
  .partners{--pcols:4}
  .about__o{font-size:clamp(110px,22vw,320px)}
  .about__word{font-size:clamp(38px,6.67vw,100px)}
  .slot{grid-template-columns:minmax(170px,1fr) auto minmax(0,2fr) minmax(150px,1fr)}
}

@media (max-width:1200px){
  .nav,.lang{display:none}
  .burger{display:block; margin-left:auto}

  .hero{min-height:auto; display:block; padding-top:120px; padding-bottom:56px}
  .hero__text,.about__lead{max-width:none}
  .hero__when{margin-top:24px}
  .hero__cta{flex-direction:column; align-items:stretch; gap:32px; margin-top:48px}
  .countdown{justify-content:space-between}

  .signals__grid{grid-template-columns:repeat(2,1fr)}
  .partners{--pcols:3}
  .tariffs__grid{grid-template-columns:1fr; max-width:640px; margin-inline:auto}
  .tariff{min-height:0}

  .slot{grid-template-columns:auto 1fr; grid-template-areas:'time tag' 'title title' 'who who'; gap:12px 20px; padding:24px}
  .slot__time{grid-area:time} .slot__tag{grid-area:tag; justify-self:end}
  .slot__title{grid-area:title} .slot__who{grid-area:who; text-align:left}

  .about__grid{grid-template-columns:1fr; row-gap:clamp(28px,4vw,44px)}
  .about__head,.about__body,.about__feature{grid-column:1}
  .about__feature{justify-self:center; max-width:600px}
  .about__feature img{height:auto; aspect-ratio:445/504}

  .cta__row{flex-direction:column}
  .cta__sq{width:100%; min-height:72px}
  .plogo{min-height:200px; padding:24px}
  .plogo img{max-height:80px}

  /* Карусели переходят на нативный скролл со снапом: свайп + видна часть
     следующей карточки. Копии для бесконечной ленты здесь не нужны. */
  .carousel{overflow:visible}
  .carousel__track{
    overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scroll-padding-inline:var(--gutter);
    padding-inline:var(--gutter); margin-inline:calc(var(--gutter) * -1);
    padding-block:6px 14px;
    scrollbar-width:none; -ms-overflow-style:none;
    transform:none !important; transition:none;
  }
  .carousel__track::-webkit-scrollbar{display:none}
  .carousel [data-clone]{display:none}
  .acard,.spk{scroll-snap-align:center}
  /* часть следующей карточки остаётся видимой */
  .acard{flex-basis:min(400px,78vw); opacity:1; transform:none}
  .spk,.spk.is-side,.spk.is-active{flex-basis:min(400px,78vw); opacity:1; transform:none}
  .spk.is-side .spk__photo{border-color:rgba(255,255,255,.3)}
  .spk__bio{-webkit-line-clamp:5; line-clamp:5}
  .acard__text{-webkit-line-clamp:7; line-clamp:7}
}

@media (max-width:1024px){
  .audience__bar,.speakers__bar{flex-direction:column; align-items:stretch; gap:20px}
  .audience__controls,.speakers__controls{justify-content:space-between; width:100%}
  .audience__head{text-align:left}
  .audience__raf{font-size:clamp(76px,16vw,180px)}
}

@media (max-width:900px){
  :root{--gutter:20px}
  .signals__grid{grid-template-columns:1fr 1fr; gap:20px 16px}
  .partners{--pcols:2}
  .fnav a span{width:auto; flex:none}
  .fnav a{gap:16px}
  .footer__meta{justify-content:flex-start; flex-direction:column; gap:8px}
}

@media (max-width:600px){
  .header{top:12px; margin-bottom:-72px}
  .header__inner{height:60px; padding-inline:14px}
  .header__logo{width:104px}

  .about__feature{grid-template-columns:1fr; max-width:360px; gap:14px}
  .signals__grid{grid-template-columns:1fr}
  .scard{padding:24px; gap:20px; min-height:0}
  .slot{padding:20px}

  .btn{height:60px}
  .btn span{padding:0 18px; font-size:15px}
  .btn__ico{width:60px; height:60px}
  .btn__ico img{width:24px; height:24px}
  .hero__actions{gap:14px}
  .hero__actions .btn{width:100%}
  .countdown{gap:10px; width:100%; justify-content:space-between}
  .cd__cell{min-width:0}

  .tariff{padding:24px; gap:28px}
  .tariffs__b2b{align-items:stretch; flex-direction:column}
  .tariffs__b2b-button{width:100%}

  .plogo{min-height:140px; padding:18px}
  .plogo img{max-height:52px}
  .plogo--og img{max-height:64px}

  .audience .audience__nav,.speakers .speakers__nav{width:64px; height:64px}
  .audience__counter,.speakers__counter{font-size:20px}
  .acard{flex-basis:min(330px,78vw)}
  .spk,.spk.is-side,.spk.is-active{flex-basis:min(330px,78vw)}

  .requisites__list > div{grid-template-columns:1fr; gap:6px}
  .wa-fab{width:56px; height:56px}
  .wa-fab svg{width:29px; height:29px}
}

@media (max-width:400px){
  .audience__raf{font-size:clamp(64px,19vw,110px)}
  .fnav a{font-size:26px}
  .acard{flex-basis:78vw}
  .spk,.spk.is-side,.spk.is-active{flex-basis:78vw}
}

/* Тач-устройства: hover-состояний не будет — показываем «активный» вид сразу */
@media (hover:none){
  .plogo,.plogo:hover{background:var(--bg-dark)}
  .plogo:hover img{filter:none}
  .plogo--og,.plogo--og:hover{background:#f5f5f5}
  .slot:hover{background:var(--bg-dark); border-color:transparent}
  .btn--light:hover{background:var(--bg-white); color:var(--tx-dark)}
  .btn--green:hover{background:var(--green); color:var(--tx-dark)}
  .btn--light:hover .btn__ico img,.btn--green:hover .btn__ico img{filter:none}
  .tariff:hover,.motion-ready .tariff[data-reveal].is-visible:hover{transform:none}
  .audience .audience__nav:hover,.speakers .speakers__nav:hover{background:#fff; border-color:#fff; transform:none}
  .wa-fab:hover{transform:none}
}

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

@media print{
  .header,.wa-fab,.audience__controls,.speakers__controls,.skip{display:none !important}
  body{background:#fff; color:#000}
}
