/* ============================================================
   Белорусско-китайский туристический форум
   Брест, 12–15 октября 2026
   Прототип. Шрифты подключать локально (Великий китайский файрвол
   блокирует Google Fonts), сейчас системный стек.
   ============================================================ */

:root{
  /* Тёмная база остаётся, но акцент смещён в церемониальную китайскую
     гамму: лаковый красный + тёплое золото. Синий Палаты уходит в
     служебную роль (ссылки), красным и золотом задаётся статус. */
  --navy:#0B1B3A;
  --navy-2:#122A55;
  --blue:#12379A;          /* приглушённый синий Палаты, только для ссылок */
  --blue-soft:#1B47C0;

  --red:#B02A2F;           /* лаковый красный — главный акцент */
  --red-deep:#8E1F24;      /* тёмный красный для наведения */
  --red-by:#C8313E;
  --red-cn:#DE2910;
  --gold:#C79A3E;          /* тёплое золото */
  --gold-lt:#E4C878;       /* светлое золото для градиентов на тёмном */
  --green-by:#4AA657;

  --ink:#141017;
  --ink-2:#4A4550;
  --line:#E7E2DA;          /* линии чуть теплее, под золото */
  --soft:#F7F4EE;          /* тёплая подложка вместо холодной */
  --white:#fff;

  /* Шрифтовые стеки. Только системные (китайский файрвол режет Google Fonts).
     Дисплейный с засечками даёт заголовкам характер, китайские
     иероглифы падают на системный Songti/Noto Serif. */
  --display:"Georgia","Times New Roman","Noto Serif SC","Songti SC",serif;
  --sans:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --mono:ui-monospace,"SFMono-Regular","Cascadia Mono",Consolas,"Liberation Mono",monospace;

  --wrap:1240px;
  --r:16px;
  --ease:cubic-bezier(.22,.68,.32,1);
  --shadow:0 24px 60px -28px rgba(20,10,15,.32);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--white);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
:lang(zh){line-height:1.85;letter-spacing:.02em}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;line-height:1.15;letter-spacing:-.02em;font-weight:700}
/* крупные заголовки — с засечками, для веса и статуса */
.h2,.hero__title{font-family:var(--display);font-weight:700;letter-spacing:-.01em}
.h2 :lang(zh),.hero__title :lang(zh){letter-spacing:0}
p{margin:0 0 1em}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px}
/* якорь не должен уезжать под липкую шапку */
section[id],footer[id]{scroll-margin-top:86px}
.center{text-align:center}

/* ---------- анимация появления ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none}
  html{scroll-behavior:auto}
  *{animation:none!important}
}

/* ---------- кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 30px;border-radius:100px;border:1px solid transparent;
  background:var(--blue);color:#fff;font-weight:600;font-size:16px;cursor:pointer;
  white-space:nowrap;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s;
  box-shadow:0 14px 30px -14px rgba(142,31,36,.6);position:relative;overflow:hidden;
}
.btn{background:var(--red)}
.btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-lt),transparent);opacity:.7}
.btn:hover{transform:translateY(-2px);background:var(--red-deep);box-shadow:0 20px 40px -14px rgba(142,31,36,.7)}
.btn:active{transform:translateY(0)}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.4);color:#fff;box-shadow:none}
.btn--ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7)}
.btn--dark{border-color:var(--line);color:var(--ink);background:#fff}
.btn--dark:hover{background:var(--soft);border-color:#c9d2e4}
.btn--sm{padding:11px 20px;font-size:14px}
.btn--full{width:100%}

/* ---------- прогресс чтения ---------- */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:120;
  background:linear-gradient(90deg,var(--red),var(--gold) 55%,var(--red-cn));
  transition:width .1s linear;
}

/* ---------- шапка ---------- */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .4s var(--ease),box-shadow .4s var(--ease),padding .4s var(--ease);
  padding:14px 0;
}
.hdr__in{display:flex;align-items:center;gap:26px}
.hdr__brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.hdr__logo{height:44px;width:auto;transition:height .4s var(--ease);filter:brightness(0) invert(1)}
.hdr__brandtxt{display:flex;flex-direction:column;line-height:1.2;color:#fff}
.hdr__brandtxt b{font-size:14px;font-weight:700;letter-spacing:.01em}
.hdr__brandtxt i{font-size:12px;font-style:normal;opacity:.72}

.nav{display:flex;gap:18px;margin-left:auto;font-size:14px;color:#fff}
.nav a{opacity:.82;position:relative;padding:4px 0;transition:opacity .25s;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .3s var(--ease)}
.nav a:hover{opacity:1}
.nav a:hover::after{width:100%}

.hdr__right{display:flex;align-items:center;gap:12px;margin-left:auto;flex:0 0 auto}
.nav + .hdr__right{margin-left:0}
.lang{display:flex;gap:2px;border:1px solid rgba(255,255,255,.28);border-radius:100px;padding:3px;flex:0 0 auto}
.lang a{font-size:12.5px;padding:5px 11px;border-radius:100px;color:#fff;opacity:.75;transition:.25s;white-space:nowrap}
.lang a:hover{opacity:1;background:rgba(255,255,255,.12)}
.lang a.is-active{background:#fff;color:var(--navy);opacity:1;font-weight:600}

.hdr.is-stuck{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line),0 10px 30px -20px rgba(11,27,58,.4);padding:8px 0}
.hdr.is-stuck .hdr__logo{height:36px;filter:none}
.hdr.is-stuck .hdr__brandtxt{color:var(--navy)}
.hdr.is-stuck .nav{color:var(--ink)}
.hdr.is-stuck .lang{border-color:var(--line)}
.hdr.is-stuck .lang a{color:var(--ink-2)}
.hdr.is-stuck .lang a.is-active{background:var(--navy);color:#fff}

.burger{display:none;width:42px;height:38px;border:0;background:transparent;padding:9px 8px;cursor:pointer}
.burger span{display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:.35s var(--ease)}
.hdr.is-stuck .burger span{background:var(--navy)}
.burger.is-on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-on span:nth-child(2){opacity:0}
.burger.is-on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- орнаментальная лента Беларусь × Китай ---------- */
.orn{height:22px;width:100%;display:flex;position:relative;z-index:2}
.orn__by,.orn__cn{flex:1;height:100%}
.orn__by{background:url("../img/orn-by.svg") repeat-x center/auto 22px;opacity:.9;
  -webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent)}
.orn__cn{background:url("../img/orn-cn.svg") repeat-x center/auto 22px;opacity:.9;
  -webkit-mask-image:linear-gradient(270deg,#000 55%,transparent);mask-image:linear-gradient(270deg,#000 55%,transparent)}

/* ---------- первый экран ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--navy);padding:130px 0 60px}
.hero__bg{position:absolute;inset:-12% 0 -12% 0;will-change:transform}
.hero__bg img{width:100%;height:100%;object-fit:cover;animation:heroZoom 26s var(--ease) forwards}
@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hero__veil{position:absolute;inset:0;
  background:
    radial-gradient(120% 80% at 15% 20%,rgba(11,27,58,.62),transparent 60%),
    linear-gradient(180deg,rgba(11,27,58,.86) 0%,rgba(11,27,58,.55) 40%,rgba(11,27,58,.94) 100%);
}
.hero__in{position:relative;z-index:3;color:#fff;text-align:center}

.hero__flag{
  display:inline-flex;align-items:center;gap:12px;font-size:13.5px;letter-spacing:.22em;
  text-transform:uppercase;opacity:.9;margin-bottom:26px;
  border:1px solid rgba(255,255,255,.22);border-radius:100px;padding:9px 20px;
  background:rgba(255,255,255,.05);backdrop-filter:blur(6px);
}
/* флаги в верных пропорциях (2:1 и 3:2), одинаковая высота, без искажения */
.hero__flag .dot{width:34px;height:17px;border-radius:2px;background:url("../img/flag-by.svg") center/100% 100% no-repeat;box-shadow:0 0 0 1px rgba(255,255,255,.28)}
.hero__flag .dot--gold{width:25px;background-image:url("../img/flag-cn.svg")}
.hero__flag .sep{opacity:.5}

.hero__title{font-size:clamp(34px,6.2vw,80px);font-weight:800;letter-spacing:-.035em}
.hero__title span{display:block}
.hero__title span:last-child{
  background:linear-gradient(96deg,#fff 20%,#FFE79A 60%,#F0B429 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero__slogan{margin:22px auto 0;font-size:clamp(17px,2.1vw,24px);opacity:.86;font-weight:300;max-width:640px}

.hero__meta{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:38px 0 34px}
.hero__meta div{
  min-width:180px;padding:14px 26px;border-radius:14px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);
  transition:transform .4s var(--ease),background .4s;
}
.hero__meta div:hover{transform:translateY(-4px);background:rgba(255,255,255,.13)}
.hero__meta b{display:block;font-size:19px}
.hero__meta i{font-style:normal;font-size:13px;opacity:.68}

.hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.countdown{display:flex;gap:10px;justify-content:center;margin-top:46px}
.countdown div{min-width:88px;padding:12px 8px;border-radius:12px;background:rgba(199,154,62,.07);border:1px solid rgba(199,154,62,.22)}
.countdown b{display:block;font-family:var(--display);font-size:32px;font-variant-numeric:tabular-nums;letter-spacing:-.01em;
  color:#FFE79A}
.countdown i{font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}

.hero__scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:4;width:26px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:100px}
.hero__scroll span{position:absolute;left:50%;top:9px;width:3px;height:7px;border-radius:3px;background:#fff;transform:translateX(-50%);animation:mouse 1.9s infinite}
@keyframes mouse{0%{opacity:0;top:9px}30%{opacity:1}100%{opacity:0;top:26px}}

/* ---------- цифры ---------- */
.orn{background:var(--navy);padding:16px 0}
.stats{background:var(--navy);color:#fff;padding:40px 0 64px;position:relative}
.stats__in{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;text-align:center}
/* цифры золотом, с засечками и тонкими разделителями между колонками */
.stat{position:relative}
.stat + .stat::before{content:"";position:absolute;left:0;top:14%;bottom:26%;width:1px;
  background:linear-gradient(180deg,transparent,rgba(199,154,62,.4),transparent)}
.stat b{display:block;font-family:var(--display);font-size:clamp(36px,4.6vw,62px);font-weight:700;letter-spacing:-.01em;
  /* тот же золотой тон, что у слова «форум» в заголовке */
  background:linear-gradient(180deg,#FFE79A 15%,#F5CB5C 55%,#F0B429 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.stat i{font-style:normal;font-size:14px;opacity:.72;display:block;margin-top:8px;letter-spacing:.01em}

/* ---------- секции ---------- */
.sect{padding:110px 0;position:relative}
.sect--soft{background:var(--soft)}
.sect--dark{background:var(--navy);color:#fff}
.sect--dark .lead{color:rgba(255,255,255,.75)}
.sect__head{max-width:760px;margin:0 auto 60px;text-align:center}
.eyebrow{
  display:inline-block;font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--red);font-weight:700;margin-bottom:16px;position:relative;padding-left:34px;
}
.eyebrow::before{content:"";position:absolute;left:0;top:50%;width:24px;height:2px;background:var(--gold)}
.sect--dark .eyebrow{color:var(--gold)}
.sect--dark .eyebrow::before{background:var(--red-cn)}
.h2{font-size:clamp(28px,3.6vw,46px);letter-spacing:-.03em}
.lead{font-size:18px;color:var(--ink-2);margin-top:20px}
.lead--center{margin-left:auto;margin-right:auto}

.grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.grid-2--rev>div:first-child{order:0}
.grid-2--form{align-items:start;gap:60px}

/* задачи */
.tasks{list-style:none;padding:0;margin:36px 0 0}
.tasks li{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--line)}
.tasks li:last-child{border-bottom:1px solid var(--line)}
.tasks span{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--red);letter-spacing:.08em;padding-top:3px}
.tasks p{margin:0;font-size:16px;color:var(--ink-2)}

.photo{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);position:relative}
.photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.photo--tall{aspect-ratio:4/5}
.photo:hover img{transform:scale(1.05)}

.note{margin-top:24px;padding:22px 24px;border-radius:14px;background:var(--soft);border-left:3px solid var(--gold)}
.note b{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.note p{margin:0;font-size:15px;color:var(--ink-2)}

/* ---------- карточки тем ---------- */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{
  position:relative;padding:34px 28px 30px;border-radius:20px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);
  transition:transform .5s var(--ease),background .5s,border-color .5s,box-shadow .5s;
  transform-style:preserve-3d;overflow:hidden;
}
.card::before{
  content:"";position:absolute;inset:0;border-radius:20px;padding:1px;
  background:linear-gradient(140deg,var(--gold),transparent 45%,var(--red-cn));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity .5s;
}
.card:hover{background:rgba(255,255,255,.09);transform:translateY(-8px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.card:hover::before{opacity:1}
.card__num{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--gold);margin-bottom:18px}
.card h3{font-size:21px;margin-bottom:12px}
.card p{font-size:15px;color:rgba(255,255,255,.7);margin:0}

/* ---------- программа: табель-расписание ---------- */
/* закладки-корешки дней */
.tabs{display:flex;gap:0;justify-content:center;flex-wrap:wrap;margin-bottom:0;
  border-bottom:2px solid var(--line);max-width:940px;margin-left:auto;margin-right:auto}
.tab{
  border:0;border-top:3px solid transparent;background:transparent;padding:16px 26px 18px;cursor:pointer;
  font-family:inherit;text-align:center;transition:.3s var(--ease);position:relative;margin-bottom:-2px;
}
.tab b{display:block;font-size:16px;color:var(--ink);font-family:var(--display)}
.tab i{font-style:normal;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.tab:hover{background:var(--soft)}
.tab.is-active{border-top-color:var(--red);border-bottom:2px solid var(--red)}
.tab.is-active b{color:var(--red)}
.tab.is-active i{color:var(--ink)}

.day{display:none}
.day.is-active{display:block;animation:fadeUp .55s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.venue{
  max-width:940px;margin:26px auto 0;font-size:14px;color:var(--ink-2);
  border-left:3px solid var(--gold);background:var(--soft);padding:13px 18px;
}

/* сам табель: строгая таблица в линейках */
.tl{max-width:940px;margin:26px auto 0;border-top:1px solid var(--line)}
.tl__line{display:none}                    /* прочерчиваемая линия не нужна в табеле */
.tl__i{display:grid;grid-template-columns:150px 1fr;gap:0;border-bottom:1px solid var(--line);
  transition:background .3s var(--ease)}
.tl__i:hover{background:var(--soft)}
.tl__t{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--red);
  padding:22px 24px 22px 12px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;
  border-right:1px solid var(--line)}
.tl__i::before{display:none}
.tl__b{padding:20px 12px 20px 28px;background:transparent}
.tl__b h4{font-size:18px;margin-bottom:5px}
.tl__b p{margin:0;font-size:15px;color:var(--ink-2)}
.tl__b--soft h4{font-size:15px;font-weight:600;color:var(--ink-2);text-transform:none}
.tl__b--soft p{display:none}
.tl__b--hi{position:relative}
.tl__b--hi::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--gold)}

.chip{display:inline-block;vertical-align:middle;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:100px;background:rgba(176,42,47,.09);color:var(--red);font-weight:700;margin-left:8px}
.chip--gold{background:rgba(201,162,39,.15);color:#8A6E11}

.acc__sub{font-size:15.5px;color:var(--ink-2);margin:0 0 14px}
.acc__btn{
  border:0;background:transparent;padding:0;font:inherit;font-size:14px;font-weight:600;
  color:var(--red);cursor:pointer;display:inline-flex;align-items:center;gap:8px;
}
.acc__btn::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .35s var(--ease)}
.acc.is-open .acc__btn::after{transform:rotate(225deg) translateY(-2px)}
.acc__body{list-style:none;margin:0;padding:0;max-height:0;overflow:hidden;transition:max-height .5s var(--ease),padding .4s}
.acc.is-open .acc__body{padding-top:14px}
.acc__body li{position:relative;padding:7px 0 7px 20px;font-size:15px;color:var(--ink-2)}
.acc__body li::before{content:"";position:absolute;left:0;top:16px;width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* ---------- спикеры ---------- */
.speakers{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.sp{margin:0}
.sp__ph{border-radius:18px;overflow:hidden;aspect-ratio:6/7;background:var(--navy);position:relative}
.sp__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,27,58,.6));opacity:0;transition:opacity .5s}
.sp__ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.sp:hover .sp__ph img{transform:scale(1.08)}
.sp:hover .sp__ph::after{opacity:1}
.sp figcaption{padding:16px 4px 0}
.sp b{display:block;font-size:17px}
.sp i{font-style:normal;font-size:14px;color:var(--ink-2)}

/* ---------- аудитория ---------- */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.aud__i{padding:30px 28px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.45s var(--ease);position:relative;overflow:hidden}
.aud__i::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--red-by),var(--gold));transition:width .5s var(--ease)}
.aud__i:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#D5DEEF}
.aud__i:hover::after{width:100%}
.aud__i h3{font-size:19px;margin-bottom:10px}
.aud__i p{margin:0;font-size:15px;color:var(--ink-2)}

/* ---------- галерея тура ---------- */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1400px;margin:0 auto;padding:0 28px}
.gal__i{margin:0;position:relative;border-radius:18px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3;background:#081227}
.gal__i img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s}
.gal__i::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(6,14,32,.88));transition:opacity .5s}
.gal__i:hover img{transform:scale(1.09)}
.gal__i figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 24px;color:#fff;transform:translateY(8px);opacity:.92;transition:.5s var(--ease)}
.gal__i:hover figcaption{transform:none;opacity:1}
.gal__i b{display:block;font-size:19px}
.gal__i i{font-style:normal;font-size:13.5px;opacity:.72}
.gal__hint{text-align:center;font-size:13.5px;color:rgba(255,255,255,.45);margin-top:22px}

/* ---------- факты ---------- */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:34px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.fact{background:#fff;padding:20px 22px;transition:background .35s}
.fact:hover{background:var(--soft)}
.fact b{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:7px}
.fact p{margin:0;font-size:14.5px;color:var(--ink-2)}

/* ---------- партнёры ---------- */
.ptier{margin-bottom:46px}
.ptier__t{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);text-align:center;margin-bottom:22px;position:relative}
.ptier__t::before,.ptier__t::after{content:"";position:absolute;top:50%;width:min(22%,180px);height:1px;background:var(--line)}
.ptier__t::before{left:0}.ptier__t::after{right:0}
.plogos{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.plogo{
  display:flex;align-items:center;justify-content:center;
  width:200px;height:110px;padding:18px;border-radius:14px;background:#fff;border:1px solid var(--line);
  filter:grayscale(1);opacity:.72;transition:.45s var(--ease);
}
.plogo:hover{filter:none;opacity:1;transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(11,27,58,.6);border-color:#D5DEEF}
.plogo img{max-height:100%;width:auto;object-fit:contain}
.plogos--lg .plogo{width:280px;height:150px}
.plogos--sm .plogo{width:170px;height:88px}
.plogo--stub{color:#AAB4C8;font-size:13px;letter-spacing:.08em;border-style:dashed;background:var(--soft)}

.pcta{
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  margin-top:20px;padding:32px 36px;border-radius:20px;
  background:linear-gradient(120deg,#fff,#EEF2FA);border:1px solid var(--line);
}
.pcta b{display:block;font-size:20px;margin-bottom:6px}
.pcta p{margin:0;color:var(--ink-2);font-size:15px}

/* ---------- как принять участие: 3 шага ---------- */
.steps-sect{background:var(--soft)}
.steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:0 8px;max-width:1080px;margin:0 auto}
.step{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:14px;
  padding:34px 30px 30px;position:relative;transition:.45s var(--ease)}
.step:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.step__n{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:24px;font-weight:700;color:#fff;margin-bottom:20px;
  background:linear-gradient(135deg,var(--red),var(--red-deep));box-shadow:0 10px 22px -10px rgba(142,31,36,.7)}
.step h3{font-size:20px;margin-bottom:10px}
.step p{margin:0;font-size:15px;color:var(--ink-2)}
.step__arr{align-self:center;width:34px;height:12px;position:relative;opacity:.5}
.step__arr::before{content:"";position:absolute;left:0;top:5px;width:100%;height:2px;background:var(--gold)}
.step__arr::after{content:"";position:absolute;right:0;top:1px;width:9px;height:9px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:rotate(45deg)}

/* ---------- форма ---------- */
.regnotes{list-style:none;padding:0;margin:28px 0 0}
.regnotes li{position:relative;padding:10px 0 10px 32px;font-size:15.5px;color:rgba(255,255,255,.8);border-bottom:1px solid rgba(255,255,255,.09)}
.regnotes li::before{content:"";position:absolute;left:4px;top:18px;width:9px;height:5px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}

.form{background:#fff;border-radius:22px;padding:34px;box-shadow:0 40px 90px -40px rgba(0,0,0,.6);color:var(--ink)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:block;margin-bottom:14px}
.fld>span{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:7px}
.fld i{color:var(--red-by);font-style:normal}
.fld input,.fld select,.fld textarea{
  width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:11px;font:inherit;font-size:15px;
  background:#fff;transition:border-color .3s,box-shadow .3s;resize:vertical;
}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px rgba(176,42,47,.12)}
.fld input:invalid.is-touched{border-color:var(--red-by)}
.chk{display:flex;gap:11px;align-items:flex-start;margin:12px 0;font-size:14px;color:var(--ink-2);cursor:pointer}
.chk input{width:18px;height:18px;margin-top:2px;accent-color:var(--red);flex:0 0 auto}
.chk a{color:var(--blue);text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form .btn{margin-top:12px}
.form__ok{display:none;margin:14px 0 0;padding:13px 16px;border-radius:11px;background:#EAF7EE;color:#1E6B39;font-size:14.5px}
.form__ok.is-on{display:block}

/* ---------- подвал ---------- */
.ftr{background:#071229;color:#fff;padding:70px 0 0;position:relative}
.ftr::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--red-by),var(--green-by) 25%,var(--red-cn) 60%,var(--gold))}
.ftr__in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px}
.ftr__logo{height:78px;width:auto;opacity:.9;margin-bottom:18px}
.ftr__org{font-size:15px;margin:0 0 6px}
.ftr__slog{font-size:14px;color:rgba(255,255,255,.5);margin:0}
.ftr__col b{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.ftr__col p{font-size:15px;color:rgba(255,255,255,.75);margin:0 0 8px}
.ftr__col a:hover{color:var(--gold)}
.muted{color:rgba(255,255,255,.4)!important;font-size:13px!important}
.qr{width:104px;height:104px;border-radius:12px;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:13px;margin-bottom:12px}
.ftr__bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:22px 28px;border-top:1px solid rgba(255,255,255,.08);font-size:13.5px;color:rgba(255,255,255,.45)}
.ftr__bot a:hover{color:#fff}

/* ---------- лайтбокс ---------- */
.lb{position:fixed;inset:0;z-index:200;background:rgba(5,10,22,.94);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s}
.lb.is-on{opacity:1;pointer-events:auto}
.lb__box{margin:0;max-width:min(1100px,92vw);text-align:center}
.lb__box img{max-height:78vh;width:auto;border-radius:14px;margin:0 auto}
.lb__box figcaption{color:#fff;margin-top:16px;font-size:15px;opacity:.8}
.lb__x{position:absolute;top:22px;right:26px;background:transparent;border:0;color:#fff;font-size:42px;line-height:1;cursor:pointer;opacity:.7}
.lb__x:hover{opacity:1}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;
  border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-size:30px;cursor:pointer;transition:.3s}
.lb__nav:hover{background:rgba(255,255,255,.16)}
.lb__nav--prev{left:24px}.lb__nav--next{right:24px}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width:1340px){
  /* на узком десктопе прячем второстепенные пункты, чтобы меню не ломалось */
  .nav a[href="#speakers"],.nav a[href="#brest"]{display:none}
}
@media (max-width:1100px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .speakers{grid-template-columns:repeat(2,1fr)}
  .aud{grid-template-columns:repeat(2,1fr)}
  .gal{grid-template-columns:repeat(2,1fr)}
  .ftr__in{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .nav{
    position:fixed;top:0;right:0;bottom:0;width:min(320px,82vw);flex-direction:column;gap:0;
    background:var(--navy);padding:96px 28px 30px;transform:translateX(102%);transition:transform .45s var(--ease);
    box-shadow:-30px 0 60px -30px rgba(0,0,0,.7);color:#fff;overflow-y:auto;
  }
  .nav.is-open{transform:none}
  .nav a[href="#speakers"],.nav a[href="#brest"]{display:block}
  .nav a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:16px;opacity:.9}
  .hdr.is-stuck .nav{color:#fff}
  .burger{display:block}
  .hdr__right{margin-left:auto}
  .hdr__right .btn--sm{display:none}
  .grid-2{grid-template-columns:1fr;gap:44px}
  .grid-2--rev>div:first-child{order:1}
  .stats__in{grid-template-columns:repeat(3,1fr);gap:30px 16px}
  .sect{padding:80px 0}
}
@media (max-width:720px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  /* компактная шапка, иначе бургер уезжает за край */
  .hdr__in{gap:10px}
  .hdr__logo{height:34px}
  .hdr__brandtxt b{font-size:12px}
  .hdr__brandtxt i{font-size:10.5px}
  .lang{padding:2px}
  .lang a{padding:4px 7px;font-size:11.5px}
  .burger{width:36px;padding:9px 5px}
  .hero{padding:120px 0 50px}
  .hero__bg{inset:0}                    /* параллакс выключен на мобильных */
  .hero__bg img{animation:none;transform:scale(1.04)}
  .hero__meta div{min-width:0;flex:1 1 45%;padding:12px 14px}
  .hero__meta b{font-size:16px}
  .countdown{gap:6px}
  .countdown div{min-width:0;flex:1;padding:10px 4px}
  .countdown b{font-size:22px}
  .countdown i{font-size:9px;letter-spacing:.08em}
  .stats__in{grid-template-columns:repeat(2,1fr)}
  .stat:last-child{grid-column:span 2}
  .cards,.speakers,.aud,.gal{grid-template-columns:1fr}
  .gal{padding:0 18px}
  .facts{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr}
  .form{padding:24px 20px}
  /* табель на мобильном: время строкой над блоком */
  .tl__i{grid-template-columns:1fr;gap:0;padding:14px 0}
  .tl__t{border-right:0;padding:0 0 4px 0;text-align:left}
  .tl__b{padding:0}
  /* закладки дней прокручиваются вбок */
  .tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch}
  .tab{padding:12px 16px 14px;flex:0 0 auto}
  /* шаги в столбик, стрелки поворачиваются вниз */
  .steps{grid-template-columns:1fr;gap:0}
  .step{margin-bottom:0}
  .step__arr{width:12px;height:26px;margin:10px auto;transform:rotate(90deg)}
  .ftr__in{grid-template-columns:1fr;gap:32px}
  .ptier__t::before,.ptier__t::after{display:none}
  .plogo{width:calc(50% - 8px);height:92px}
  .pcta{padding:24px 22px}
  .lb__nav{width:42px;height:42px}
  .lb__nav--prev{left:8px}.lb__nav--next{right:8px}
}
@media (max-width:374px){
  .hdr__brandtxt{display:none}          /* совсем узкие экраны: только знак */
  .hero__meta div{flex:1 1 100%}
}
