/* ==========================================================================
   Бизнес-интенсив «По существу» — 24 сентября 2026, Уфа
   Гамма: черный / белый / красный. Все стили в одном файле.
   Содержание:
   1 переменные · 2 база · 3 типографика · 4 кнопки · 5 декор (SVG-узоры)
   6 анимации · 7 шапка · 8 секции · 9 первый экран · 10 бегущая строка
   11 о мероприятии · 12 программа · 13 зачем идти · 14 для кого
   15 партнеры · 16 место · 17 финал · 18 подвал · 19 модальное окно · 20 адаптив
   ========================================================================== */

/* ---------- 1. Переменные ---------- */
:root{
  --black:      #0b0b0c;
  --black-soft: #16161a;
  --black-line: #2a2a30;
  --red:        #e4002b;
  --red-hover:  #ff1f3d;
  --white:      #ffffff;
  --grey-bg:    #f4f4f5;
  --grey-line:  #e2e2e5;
  --grey-text:  #6e6e77;

  --font-display: "Manrope", "Segoe UI", Arial, sans-serif;
  --font-text:    "Inter", "Segoe UI", Arial, sans-serif;

  --container: 1240px;
  --pad: 24px;
  --radius: 20px;
  --radius-sm: 12px;

  --section-pad: 120px;
  --header-h: 76px;
}

/* ---------- 2. База ---------- */
*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none !important; }

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

body{
  margin:0;
  font-family: var(--font-text);
  font-size:17px;
  line-height:1.55;
  color: var(--black);
  background: var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,p,dl,dd{ margin:0; }
button{ font:inherit; color:inherit; }

:focus-visible{ outline:3px solid var(--red); outline-offset:3px; }

.container{
  width:100%;
  max-width: var(--container);
  margin:0 auto;
  padding-left: var(--pad);
  padding-right: var(--pad);
}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:100;
  background: var(--red); color:#fff; padding:12px 20px;
}
.skip-link:focus{ left:0; }

/* ---------- 3. Типографика ---------- */
.h2{
  font-family: var(--font-display);
  font-weight:800;
  font-size: clamp(28px, 3.6vw, 48px);
  line-height:1.08;
  letter-spacing:-0.02em;
}
.h2--center{ text-align:center; }

.lead{
  font-size: clamp(17px, 1.5vw, 20px);
  line-height:1.6;
  color: var(--grey-text);
}
.lead--accent{
  margin-top:20px;
  color: var(--black);
  font-weight:500;
  padding-left:20px;
  border-left:3px solid var(--red);
}

.eyebrow{
  font-family: var(--font-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color: var(--red);
  margin-bottom:18px;
}
.eyebrow--dark{ color: var(--black); }

.tag{
  display:block;
  font-family: var(--font-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color: var(--grey-text);
  margin-bottom:24px;
}
.tag--light{ color:rgba(255,255,255,.55); }

/* ---------- 4. Кнопки ---------- */
.btn{
  display:inline-flex;
  align-items:center; justify-content:center;
  gap:10px;
  border:0; cursor:pointer;
  background: var(--red);
  color:#fff;
  font-family: var(--font-display);
  font-weight:700;
  font-size:16px; line-height:1;
  padding:16px 28px;
  border-radius:100px;
  position:relative;
  overflow:hidden;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.btn:hover{ background: var(--red-hover); box-shadow:0 10px 30px rgba(228,0,43,.35); }
.btn:active{ transform: translateY(1px); }

.btn--lg{ font-size:18px; padding:22px 42px; }
.btn--sm{ font-size:14px; padding:12px 22px; }
.btn--block{ width:100%; }
.btn--dark{ background: var(--black); }
.btn--dark:hover{ background:#2a2a30; box-shadow:0 10px 30px rgba(0,0,0,.3); }

/* мягкий пульс у главной кнопки первого экрана */
.hero__actions .btn::after{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  box-shadow:0 0 0 0 rgba(228,0,43,.55);
  animation: pulse 3.4s ease-out infinite;
  animation-delay:1.6s;
  pointer-events:none;
}
@keyframes pulse{
  0%   { box-shadow:0 0 0 0 rgba(228,0,43,.5); }
  60%  { box-shadow:0 0 0 22px rgba(228,0,43,0); }
  100% { box-shadow:0 0 0 0 rgba(228,0,43,0); }
}

.link-arrow{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:600;
  color: var(--red);
  border-bottom:1px solid transparent;
  transition: border-color .18s ease, gap .18s ease;
}
.link-arrow::after{ content:"→"; }
.link-arrow:hover{ border-color: var(--red); gap:12px; }

/* ---------- 5. Декор: универсальные SVG-узоры ---------- */
.deco{ position:absolute; pointer-events:none; z-index:0; }

/* тонкая линейная сетка (для темных секций) */
.deco--grid{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cg stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1'%3E%3Cpath d='M0 30.5H90M0 60.5H90'/%3E%3Cpath d='M30.5 0V90M60.5 0V90'/%3E%3C/g%3E%3Cg stroke='%23ffffff' stroke-opacity='0.12'%3E%3Cpath d='M0 .5H90M.5 0V90'/%3E%3C/g%3E%3C/svg%3E");
}
/* мягкие дуги — единственный крупный графический акцент */
.deco--arc{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%23e4002b' stroke-opacity='0.35' stroke-width='1.2'%3E%3Ccircle cx='200' cy='200' r='90'/%3E%3Ccircle cx='200' cy='200' r='140'/%3E%3Ccircle cx='200' cy='200' r='190'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:contain;
}
/* диагональная штриховка (для светлых секций) */
.deco--hatch{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath d='M-2 12L12 -2M4 18L18 4' stroke='%23e4002b' stroke-opacity='0.2' stroke-width='1.2'/%3E%3C/svg%3E");
}
/* точечная сетка (для светлых секций) */
.deco--dots{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='2' cy='2' r='1.2' fill='%230b0b0c' fill-opacity='0.13'/%3E%3C/svg%3E");
}

/* асимметричная раскладка: узоры подрезаны масками и уходят в фон */
.deco--hero-grid{
  top:0; left:-80px; width:min(52vw,640px); height:420px;
  -webkit-mask-image:linear-gradient(150deg,#000 10%,transparent 82%);
          mask-image:linear-gradient(150deg,#000 10%,transparent 82%);
}

.deco--about{
  top:0; right:-20px; width:260px; height:200px; opacity:.75;
  -webkit-mask-image:linear-gradient(215deg,#000,transparent 72%);
          mask-image:linear-gradient(215deg,#000,transparent 72%);
}

.deco--program{
  bottom:-60px; right:-90px; width:min(44vw,480px); height:480px;
  -webkit-mask-image:radial-gradient(circle at 70% 70%,#000,transparent 72%);
          mask-image:radial-gradient(circle at 70% 70%,#000,transparent 72%);
}

.deco--value{
  top:150px; left:-30px; width:180px; height:300px; opacity:.9;
  -webkit-mask-image:linear-gradient(160deg,#000,transparent 85%);
          mask-image:linear-gradient(160deg,#000,transparent 85%);
}

.deco--partners{
  bottom:0; left:-40px; width:230px; height:230px; opacity:.7;
  -webkit-mask-image:linear-gradient(28deg,#000,transparent 70%);
          mask-image:linear-gradient(28deg,#000,transparent 70%);
}

.deco--final{
  top:-180px; left:-140px; width:620px; height:620px; opacity:.5;
  filter:brightness(0) invert(1);
}

/* кольца на первом экране: медленное вращение и пульсация */
.rings{
  position:absolute; top:-170px; right:-200px;
  width:640px; height:640px;
  pointer-events:none; z-index:0;
}
.rings__item{
  position:absolute; inset:0; margin:auto;
  border-radius:50%;
  border:1px solid rgba(228,0,43,.55);
  transform-origin:center;
}
.rings__item--1{ width:100%; height:100%; border-style:dashed; border-color:rgba(228,0,43,.4); animation: ringSpin 44s linear infinite; }
.rings__item--2{ width:76%;  height:76%;  border-color:rgba(228,0,43,.6);  animation: ringPulse 7s ease-in-out infinite; }
.rings__item--3{ width:54%;  height:54%;  border-color:rgba(255,31,61,.75); animation: ringPulse 7s ease-in-out infinite .9s; }
.rings__item--4{ width:32%;  height:32%;  border-color:rgba(255,31,61,.9);  animation: ringPulse 7s ease-in-out infinite 1.8s; }
.rings__core{
  position:absolute; inset:0; margin:auto;
  width:34%; height:34%;
  border-radius:50%;
  background: radial-gradient(circle, rgba(228,0,43,.85) 0%, rgba(228,0,43,0) 70%);
  filter: blur(26px);
  animation: ringGlow 7s ease-in-out infinite;
}
@keyframes ringSpin{
  from{ transform: rotate(0deg); }
  to  { transform: rotate(360deg); }
}
@keyframes ringPulse{
  0%,100%{ transform: scale(1);    opacity:.55; }
  50%    { transform: scale(1.07); opacity:1; }
}
@keyframes ringGlow{
  0%,100%{ opacity:.5; transform: scale(1); }
  50%    { opacity:.9; transform: scale(1.2); }
}

/* ---------- 6. Анимации ---------- */
@keyframes fadeUp{
  from{ opacity:0; transform: translateY(28px); }
  to  { opacity:1; transform:none; }
}
@keyframes fadeIn{ from{opacity:0} to{opacity:1} }

/* появление при загрузке первого экрана */
.anim{ opacity:0; }
html:not(.is-preload) .anim{
  animation: fadeUp .7s cubic-bezier(.2,.7,.3,1) both;
}
html:not(.is-preload) .anim[data-anim="1"]{ animation-delay:.05s; }
html:not(.is-preload) .anim[data-anim="2"]{ animation-delay:.14s; }
html:not(.is-preload) .anim[data-anim="3"]{ animation-delay:.24s; }
html:not(.is-preload) .anim[data-anim="4"]{ animation-delay:.32s; }
html:not(.is-preload) .anim[data-anim="5"]{ animation-delay:.40s; }
html:not(.is-preload) .anim[data-anim="6"]{ animation-delay:.50s; }
html:not(.is-preload) .anim[data-anim="7"]{ animation-delay:.58s; }
html:not(.is-preload) .anim[data-anim="8"]{ animation-delay:.66s; }
html:not(.is-preload) .anim[data-anim="9"]{ animation-delay:.74s; }

/* появление при скролле */
.reveal{ opacity:0; transform: translateY(26px); }
.reveal.is-visible{
  opacity:1; transform:none;
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.3,1);
}
.reveal--d1.is-visible{ transition-delay:.08s; }
.reveal--d2.is-visible{ transition-delay:.16s; }
.reveal--d3.is-visible{ transition-delay:.24s; }

/* ---------- 7. Шапка ---------- */
.header{
  position:sticky; top:0; z-index:50;
  background: rgba(11,11,12,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--black-line);
  color:#fff;
  transition: box-shadow .25s ease;
}
.header.is-stuck{ box-shadow:0 10px 30px rgba(0,0,0,.45); }
.header__inner{
  min-height: var(--header-h);
  display:flex; align-items:center; gap:24px;
}

.logo{ display:inline-flex; align-items:center; gap:10px; flex:0 0 auto; }
.logo__mark{
  width:14px; height:14px; border-radius:50%;
  background: var(--red); flex:0 0 auto;
}
.logo__text{
  font-family: var(--font-display);
  font-weight:800; font-size:19px; letter-spacing:-0.02em;
}

/* кнопка вместо логотипа в закрепленной шапке на мобильном */
.header__mobile-cta{ display:none; }

.nav{ display:flex; gap:26px; margin:0 auto; white-space:nowrap; }
.nav__link{
  font-size:15px;
  color:rgba(255,255,255,.72);
  position:relative;
  transition:color .18s ease;
}
.nav__link::after{
  content:""; position:absolute; left:0; right:100%; bottom:-6px;
  height:2px; background: var(--red);
  transition: right .22s ease;
}
.nav__link:hover{ color:#fff; }
.nav__link:hover::after{ right:0; }

.header__right{ display:flex; align-items:center; gap:18px; flex:0 0 auto; }

.burger{
  display:none;
  width:44px; height:44px;
  background:none; border:0; cursor:pointer;
  margin-left:auto;
  flex-direction:column; justify-content:center; gap:5px;
}
.burger span{
  display:block; height:2px; width:22px; margin:0 auto;
  background:#fff; transition: transform .2s ease, opacity .2s ease;
}
.burger[aria-expanded="true"] span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.mobile-menu{
  display:flex; flex-direction:column; gap:4px;
  padding:12px var(--pad) 24px;
  background: var(--black);
  border-top:1px solid var(--black-line);
}
.mobile-menu__link{ padding:14px 0; font-size:17px; color:#fff; border-bottom:1px solid var(--black-line); }
.mobile-menu__note{
  margin-top:18px;
  font-size:14px; color:rgba(255,255,255,.55);
}

/* ---------- 8. Секции ---------- */
.section{ padding: var(--section-pad) 0; position:relative; overflow:hidden; }
.section > .container{ position:relative; z-index:1; }
.section--tight{ padding: 80px 0; }
.section--light{ background: var(--white); }
.section--dark{ background: var(--black); color:#fff; }
.section--dark .lead{ color:rgba(255,255,255,.65); }
.section--pattern{ background: var(--white); }

.section__head{ margin-bottom:56px; }
.section__sub{
  margin-top:14px; font-size:17px; color:rgba(255,255,255,.55);
}
.section__head--light .section__sub{ color: var(--grey-text); }

/* ---------- 9. Первый экран ---------- */
.hero{
  background: var(--black);
  color:#fff;
  padding: 88px 0 0;
  position:relative;
  overflow:hidden;
}
.hero__glow{
  position:absolute; top:-200px; right:-160px;
  width:560px; height:560px;
  background: var(--red);
  filter: blur(170px);
  opacity:.34;
  pointer-events:none;
  animation: glowShift 12s ease-in-out infinite alternate;
}
@keyframes glowShift{
  from{ transform: translate3d(0,0,0) scale(1); opacity:.3; }
  to  { transform: translate3d(-60px,40px,0) scale(1.12); opacity:.42; }
}
.hero__inner{ position:relative; z-index:1; }

.hero__title{
  font-family: var(--font-display);
  font-weight:800;
  font-size: clamp(56px, 12vw, 148px);
  line-height:0.92;
  letter-spacing:-0.04em;
  margin-bottom:28px;
}

.hero__lead{
  max-width:640px;
  font-size: clamp(18px, 2vw, 24px);
  line-height:1.45;
  color:rgba(255,255,255,.78);
}

.hero__meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px;
  margin:36px 0 0;
}
.hero__meta-item{
  font-family: var(--font-display);
  font-weight:700;
  font-size: clamp(17px, 1.8vw, 22px);
  padding-left:22px; position:relative;
}
.hero__meta-item::before{
  content:""; position:absolute; left:0; top:50%;
  width:10px; height:10px; margin-top:-5px;
  background: var(--red); border-radius:50%;
}

.hero__actions{
  display:flex; flex-wrap:wrap; align-items:center; gap:20px 32px;
  margin:44px 0 72px;
}
.hero__note{
  font-size:15px; color:rgba(255,255,255,.58); max-width:340px;
}

.hero__speakers{
  display:grid; grid-template-columns: repeat(4, 1fr); gap:16px;
}
.face{ margin:0; }
.face__img{
  width:100%;
  aspect-ratio: 4 / 5;
  object-fit:cover;
  border-radius: var(--radius) var(--radius) 0 0;
  background: var(--black-soft);
  filter: grayscale(1) contrast(1.05);
  transition: filter .3s ease, transform .3s ease;
}
.face:hover .face__img{ filter:none; transform: translateY(-4px); }
.face__cap{ display:block; padding:16px 4px 28px; border-top:3px solid var(--red); }
.face__name{
  display:block; font-family: var(--font-display); font-weight:700; font-size:17px;
}
.face__role{
  display:block; font-size:14px; color:rgba(255,255,255,.55); margin-top:4px;
}

/* метка выпуска и темы */
.issue{
  display:inline-flex; align-items:stretch;
  margin-bottom:30px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:100px;
  overflow:hidden;
  font-family: var(--font-display);
}
.issue__num{
  padding:10px 18px;
  font-weight:700; font-size:14px;
  letter-spacing:0.1em; text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.issue__topic{
  padding:10px 22px;
  background: var(--red); color:#fff;
  font-weight:800; font-size:14px;
  letter-spacing:0.14em; text-transform:uppercase;
  display:flex; align-items:center;
}

/* ---------- 10. Бегущая строка ---------- */
.ticker{
  position:relative; z-index:1;
  border-top:1px solid var(--black-line);
  border-bottom:1px solid var(--black-line);
  background: var(--black);
  overflow:hidden;
  padding:14px 0;
}
.ticker__track{
  display:flex;
  width:max-content;
  animation: ticker 30s linear infinite;
}
/* две одинаковые группы одинаковой ширины: сдвиг ровно на -50% замыкает цикл */
.ticker__group{
  display:flex; align-items:center; gap:28px;
  padding-right:28px;
  flex:0 0 auto;
}
.ticker__item{
  font-family: var(--font-display);
  font-weight:700; font-size:14px;
  letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(255,255,255,.6); white-space:nowrap;
}
.ticker__dot{ width:6px; height:6px; border-radius:50%; background: var(--red); flex:0 0 auto; }
@keyframes ticker{
  from{ transform: translate3d(0,0,0); }
  to  { transform: translate3d(-50%,0,0); }
}

/* ---------- 11. О мероприятии ---------- */
.about{
  display:grid; grid-template-columns: 1.15fr 1fr; gap:64px; align-items:start;
}
.about__text .h2{ margin-bottom:24px; max-width:14em; }

.numbers{ display:grid; gap:0; margin:0; border-top:1px solid var(--grey-line); }
.numbers__item{
  display:flex; align-items:baseline; gap:24px;
  padding:26px 0; border-bottom:1px solid var(--grey-line);
}
.numbers__value{
  font-family: var(--font-display);
  font-weight:800; font-size:56px; line-height:1;
  letter-spacing:-0.03em; color: var(--red); min-width:96px;
  font-variant-numeric: tabular-nums;
}
.numbers__label{ margin:0; font-size:17px; color: var(--black); }

/* ---------- 12. Программа ---------- */
.timeline{ position:relative; }
.timeline__row{
  display:grid; grid-template-columns: 190px 1fr; gap:32px;
  padding:0 0 24px; position:relative;
}
.timeline__time{
  font-family: var(--font-display);
  font-weight:800; font-size:22px; letter-spacing:-0.01em;
  padding-top:34px; padding-left:28px;
  position:relative; white-space:nowrap;
}
.timeline__time::before{
  content:""; position:absolute; left:0; top:0; bottom:-24px;
  width:2px; background: var(--black-line);
}
.timeline__row:last-child .timeline__time::before{ bottom:auto; height:44px; }
.timeline__time::after{
  content:""; position:absolute; left:-5px; top:38px;
  width:12px; height:12px; border-radius:50%;
  background: var(--red); box-shadow:0 0 0 5px var(--black);
}

.talk__card{
  background: var(--black-soft);
  border:1px solid var(--black-line);
  border-radius: var(--radius);
  padding:32px;
  transition: border-color .2s ease, transform .2s ease;
}
.talk__card:hover{ border-color: var(--red); transform: translateY(-3px); }


.talk__speaker{
  font-family: var(--font-display);
  font-weight:800; font-size:24px; letter-spacing:-0.02em;
}
.talk__role{ font-size:15px; color:rgba(255,255,255,.55); margin-top:6px; }
.talk__title{
  font-family: var(--font-display);
  font-weight:700; font-size:20px; line-height:1.25;
  color: var(--red);
  margin:18px 0 16px; padding-top:18px;
  border-top:1px solid var(--black-line);
}
.talk__title--tbd{
  color:rgba(255,255,255,.45);
  font-weight:500;
  font-style:normal;
  border-top:0; padding-top:0; margin:14px 0 0;
}
.talk__speaker--tbd{ color:rgba(255,255,255,.75); }
.face__name--tbd{ color:rgba(255,255,255,.55); font-weight:500; }

.talk__theses li{
  position:relative; padding-left:22px; margin-bottom:10px;
  color:rgba(255,255,255,.8); font-size:16px;
}
.talk__theses li::before{
  content:""; position:absolute; left:0; top:11px;
  width:8px; height:2px; background: var(--red);
}

/* панельная дискуссия */
.talk__card--panel{ border-color: rgba(228,0,43,.45); }
.talk__format{
  display:inline-block;
  font-family: var(--font-display);
  font-weight:800; font-size:12px;
  letter-spacing:0.16em; text-transform:uppercase;
  color: var(--red);
  border:1px solid rgba(228,0,43,.5);
  border-radius:100px;
  padding:7px 14px;
  margin-bottom:18px;
}
.talk__title--panel{
  color:#fff;
  border-top:0;
  padding-top:0;
  margin-top:0;
  font-size:24px;
}
.talk__moderator{
  margin-top:20px; padding-top:18px;
  border-top:1px solid var(--black-line);
  font-size:15px; color:rgba(255,255,255,.6);
}
.talk__moderator span{
  font-family: var(--font-display);
  font-weight:700; color:#fff;
}

.break__card{
  border:1px dashed var(--black-line);
  border-radius: var(--radius);
  padding:24px 32px; margin-top:20px;
}
.break__title{ font-family: var(--font-display); font-weight:700; font-size:20px; }
.break__text{ font-size:15px; color:rgba(255,255,255,.5); margin-top:6px; }

.program__cta{ margin-top:56px; text-align:center; }
.program__cta-text{
  color:rgba(255,255,255,.6); font-size:16px; margin-bottom:22px;
}

/* ---------- 13. Зачем идти ---------- */
.value{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:20px;
}
.value__card{
  position:relative;
  background: var(--grey-bg);
  border-radius: var(--radius);
  padding:36px 34px 34px;
  overflow:hidden;
  transition: transform .22s ease, background-color .22s ease;
}
.value__card::after{
  content:""; position:absolute; right:-40px; bottom:-40px;
  width:150px; height:150px; border-radius:50%;
  background: var(--red); opacity:0;
  transition: opacity .3s ease, transform .3s ease;
  transform: scale(.6);
}
.value__card:hover{ transform: translateY(-4px); }
.value__card:hover::after{ opacity:.08; transform: scale(1); }
.value__num{
  display:block;
  font-family: var(--font-display); font-weight:800; font-size:15px;
  letter-spacing:0.12em; color: var(--red); margin-bottom:18px;
}
.value__title{
  font-family: var(--font-display); font-weight:800;
  font-size:24px; line-height:1.2; letter-spacing:-0.02em;
  margin-bottom:12px;
}
.value__text{ color: var(--grey-text); font-size:16px; position:relative; z-index:1; }

/* правая колонка смещена вниз — асимметрия сетки */
.value__card:nth-child(even){ transform: translateY(34px); }
.value__card:nth-child(even):hover{ transform: translateY(30px); }
.value{ padding-bottom:34px; }

/* ---------- 14. Для кого ---------- */
.audience{
  display:grid; grid-template-columns: repeat(4, 1fr); gap:16px; margin-top:48px;
}
.audience__item{
  background: var(--black-soft);
  border:1px solid var(--black-line);
  border-radius: var(--radius);
  padding:32px 26px 34px;
  font-family: var(--font-display);
  font-weight:700; font-size:18px; line-height:1.3;
  min-height:160px;
  display:flex; align-items:flex-end;
  position:relative;
  transition: border-color .2s ease;
}
.audience__item:hover{ border-color: var(--red); }
.audience__item::before{
  content:""; position:absolute; left:26px; top:28px;
  width:26px; height:3px; background: var(--red);
}

/* ---------- 15. Партнеры ---------- */
.general{
  position:relative;
  display:flex; flex-direction:column; align-items:center;
  gap:26px;
  padding:44px 48px 48px;
  border:1px solid var(--grey-line);
  border-radius: var(--radius);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='2' cy='2' r='1.1' fill='%230b0b0c' fill-opacity='0.06'/%3E%3C/svg%3E"),
    var(--white);
  overflow:hidden;
}
.general::before{
  content:""; position:absolute; left:0; top:0; bottom:0;
  width:6px; background: var(--red);
}
.general__tag{
  font-family: var(--font-display);
  font-weight:800; font-size:14px;
  letter-spacing:0.2em; text-transform:uppercase;
  color: var(--red);
}
.general__logo{
  display:flex; align-items:center; justify-content:center;
  padding:6px 20px;
  transition: transform .2s ease;
}
.general__logo:hover{ transform: translateY(-3px); }
.general__logo img{ max-height:96px; max-width:100%; width:auto; }

.orgs-block{ margin-top:56px; }
.orgs{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:20px; }
.orgs__item{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:22px;
  min-height:190px;
  padding:32px 30px;
  border:1px solid var(--grey-line);
  border-radius: var(--radius);
  background: var(--white);
  transition: border-color .2s ease, transform .2s ease;
}
.orgs__item:hover{ border-color: var(--red); transform: translateY(-3px); }
.orgs__item--dark{ background: var(--black); border-color: var(--black); }
.orgs__item--dark:hover{ border-color: var(--red); }
.orgs__item img{ max-height:64px; max-width:100%; width:auto; }
.orgs__name{
  display:block; text-align:center;
  font-size:15px; line-height:1.3;
  color: var(--grey-text);
}
.orgs__item--dark .orgs__name{ color:rgba(255,255,255,.6); }

.partners-block{ margin-top:56px; }
.partners-block__tag{
  font-family: var(--font-display);
  font-weight:700; font-size:12px;
  letter-spacing:0.16em; text-transform:uppercase;
  color: var(--grey-text);
  margin-bottom:22px;
  display:flex; align-items:center; gap:16px;
}
.partners-block__tag::after{
  content:""; height:1px; flex:1; background: var(--grey-line);
}

.partners{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:20px; }
.partners__item{
  display:flex; align-items:center; justify-content:center;
  min-height:112px; padding:20px;
  background: var(--grey-bg);
  border-radius: var(--radius-sm);
  filter: grayscale(1); opacity:.8;
  transition: opacity .2s ease, filter .2s ease, transform .2s ease;
}
.partners__item:hover{ opacity:1; filter:none; transform: translateY(-3px); }
.partners__item--dark{ background: var(--black); filter:none; opacity:1; }

/* свободный слот партнера */
.partners__item--invite{
  flex-direction:column; gap:8px;
  background:none;
  border:1px dashed var(--grey-line);
  filter:none; opacity:1;
  text-align:center;
}
.partners__item--invite:hover{ border-color: var(--red); border-style:solid; }
.partners__invite-title{
  font-family: var(--font-display);
  font-weight:700; font-size:16px;
  color: var(--black);
}
.partners__invite-mail{
  font-size:15px;
  color: var(--red);
}
.partners__item img{ max-height:60px; max-width:100%; width:auto; }

/* ---------- 16. Место проведения ---------- */
.venue{ display:grid; grid-template-columns: 1fr 1.1fr; gap:56px; align-items:center; }
.venue__info .h2{ margin-bottom:24px; max-width:12em; }
.venue__addr{ font-family: var(--font-display); font-weight:700; font-size:22px; }
.venue__hint{ color:rgba(255,255,255,.6); margin:8px 0 24px; max-width:34em; }

.venue__map{
  position:relative;
  height:420px;
  border-radius: var(--radius);
  overflow:hidden;
  background: var(--black-soft);
  border:1px solid var(--black-line);
}
.venue__map iframe{ display:block; border:0; width:100%; height:100%; }

/* ---------- 17. Финальный блок ---------- */
.final{
  position:relative; overflow:hidden;
  background: var(--red);
  color:#fff;
  padding:110px 0;
  text-align:center;
}
.final__inner{ position:relative; z-index:1; }
.final__title{
  font-family: var(--font-display);
  font-weight:800;
  font-size: clamp(48px, 9vw, 110px);
  line-height:0.95; letter-spacing:-0.04em;
  margin-bottom:18px;
}
.final__topic{
  display:inline-block;
  font-family: var(--font-display);
  font-weight:800; font-size:clamp(14px,1.6vw,16px);
  letter-spacing:0.22em; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.55);
  border-radius:100px;
  padding:9px 22px;
  margin-bottom:24px;
}
.final__lead{
  font-size: clamp(18px, 2.2vw, 24px);
  max-width:20em; margin:0 auto 26px;
  color:rgba(255,255,255,.92);
}
.final__meta{
  font-family: var(--font-display); font-weight:700;
  font-size: clamp(16px, 2vw, 20px);
  margin-bottom:36px;
}
.final__note{ margin-top:22px; font-size:15px; color:rgba(255,255,255,.82); }

/* ---------- 18. Подвал ---------- */
.footer{ background: var(--black); color:#fff; padding:26px 0; }
.footer__inner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:10px 32px;
}
.footer__dev{
  font-size:13px;
  color:rgba(255,255,255,.45);
}
.footer__dev a{
  color:rgba(255,255,255,.7);
  border-bottom:1px solid rgba(255,255,255,.2);
  transition: color .18s ease, border-color .18s ease;
}
.footer__dev a:hover{ color:#fff; border-color: var(--red); }
.footer__link{
  font-size:13px;
  color:rgba(255,255,255,.45);
  transition:color .18s ease;
}
.footer__link:hover{ color:#fff; }

/* ---------- 19. Модальное окно ---------- */
.modal{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  animation: fadeIn .2s ease both;
}
.modal__overlay{
  position:absolute; inset:0;
  background:rgba(11,11,12,.75);
  backdrop-filter: blur(4px);
}
.modal__window{
  position:relative;
  width:100%; max-width:520px;
  background:#fff; border-radius: var(--radius);
  padding:44px 40px 40px;
  max-height:88vh; overflow-y:auto;
  animation: fadeUp .28s cubic-bezier(.2,.7,.3,1) both;
}
.modal__close{
  position:absolute; top:14px; right:16px;
  width:40px; height:40px;
  background:none; border:0; cursor:pointer;
  font-size:30px; line-height:1; color: var(--grey-text);
}
.modal__close:hover{ color: var(--red); }
.modal__title{
  font-family: var(--font-display); font-weight:800;
  font-size:28px; letter-spacing:-0.02em;
}
.modal__text{ margin-top:10px; color: var(--grey-text); font-size:16px; }
.modal__widget{ margin-top:26px; }
.modal__placeholder{
  border:1px dashed var(--grey-line); border-radius: var(--radius-sm);
  padding:38px 20px; text-align:center; color: var(--grey-text);
}
body.is-locked{ overflow:hidden; }

/* ==========================================================================
   20. Адаптив
   ========================================================================== */
@media (max-width: 1200px){
  /* шапка переходит в компактный режим: кнопка регистрации + бургер */
  .nav{ display:none; }
  .logo{ display:none; }
  .header__right{ display:none; }
  .header__mobile-cta{ display:inline-flex; margin-right:auto; }
  .burger{ display:flex; }
  .header__inner{ gap:12px; }
}

@media (max-width: 1100px){
  :root{ --section-pad: 88px; }
  .about{ grid-template-columns:1fr; gap:40px; }
  .venue{ grid-template-columns:1fr; gap:36px; }
  .audience{ grid-template-columns: repeat(2, 1fr); }
  .timeline__row{ grid-template-columns: 150px 1fr; gap:24px; }
  .talk__card{ padding:24px; }
  }

@media (max-width: 860px){
  .hero{ padding-top:64px; }
  .hero__speakers{ grid-template-columns: repeat(2, 1fr); gap:14px; }
  .face__cap{ padding-bottom:18px; }
  .value{ grid-template-columns:1fr; gap:16px; }
  .value__card:nth-child(even){ transform:none; }
  .value__card:nth-child(even):hover{ transform: translateY(-4px); }
  .value{ padding-bottom:0; }
}

@media (max-width: 720px){
  :root{ --section-pad: 64px; --pad:18px; }

  body{ font-size:16px; }



  .hero__actions{ margin:32px 0 48px; }
  .hero__actions .btn{ width:100%; }
  .hero__note{ max-width:none; }

  .numbers__value{ font-size:44px; min-width:76px; }

  /* таймлайн: время над карточкой */
  .timeline__row{ grid-template-columns:1fr; gap:0; padding-bottom:28px; }
  .timeline__time{
    padding-top:0; padding-left:24px; margin-bottom:14px; font-size:19px;
  }
  .timeline__time::before{ top:6px; bottom:-28px; }
  .timeline__time::after{ top:4px; }
  .timeline__row:last-child .timeline__time::before{ height:100%; }

  .talk__card{ margin-left:24px; padding:20px; }
  .talk__speaker{ font-size:21px; }
  .talk__title{ font-size:18px; }
  .talk__title--panel{ font-size:20px; }
  /* панельная дискуссия */
.talk__card--panel{ border-color: rgba(228,0,43,.45); }
.talk__format{
  display:inline-block;
  font-family: var(--font-display);
  font-weight:800; font-size:12px;
  letter-spacing:0.16em; text-transform:uppercase;
  color: var(--red);
  border:1px solid rgba(228,0,43,.5);
  border-radius:100px;
  padding:7px 14px;
  margin-bottom:18px;
}
.talk__title--panel{
  color:#fff;
  border-top:0;
  padding-top:0;
  margin-top:0;
  font-size:24px;
}
.talk__moderator{
  margin-top:20px; padding-top:18px;
  border-top:1px solid var(--black-line);
  font-size:15px; color:rgba(255,255,255,.6);
}
.talk__moderator span{
  font-family: var(--font-display);
  font-weight:700; color:#fff;
}

.break__card{ margin-left:24px; margin-top:0; padding:20px 24px; }

  .audience{ grid-template-columns:1fr; gap:12px; }
  .audience__item{ min-height:0; padding:52px 22px 24px; font-size:17px; }

  .value__card{ padding:28px 24px; }
  .value__title{ font-size:21px; }

  .general{ padding:36px 24px; }
  .general__logo img{ max-height:64px; }
  .partners{ grid-template-columns:1fr; gap:12px; }
  .partners__item{ min-height:96px; }
  .partners-block{ margin-top:40px; }

  .venue__map{ height:320px; }

  .final{ padding:72px 0; }
  .final .btn{ width:100%; }

  .footer__inner{ flex-direction:column; align-items:flex-start; gap:10px; }
  .modal__window{ padding:40px 22px 28px; }

  .deco--hero-grid{ width:86vw; height:300px; }
    .deco--about{ display:none; }
  .orgs{ grid-template-columns:1fr; }
  .orgs__item{ padding:26px 20px; min-height:0; gap:18px; }
  .orgs__item img{ max-height:48px; }
  .orgs__name{ font-size:14px; }
  .deco--value{ width:120px; }
  .general{ gap:20px; padding:30px 20px 34px; }
  .general__logo{ padding:0; }
  .general__logo img{ max-height:58px; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .anim,
  html:not(.is-preload) .anim{ opacity:1; animation:none; }
  .reveal{ opacity:1; transform:none; }
  .ticker__track{ animation:none; }
  .hero__glow{ animation:none; }
  .rings__item,
  .rings__core{ animation:none; }
  .hero__actions .btn::after{ animation:none; }
  *{ transition-duration:.01ms !important; }
}
