/* ==========================================================================
   Елена Берёзкина — лендинг
   ШРИФТЫ (2): Golos Text — весь текст и заголовки; Playfair Display — только логотип.
   ЦВЕТА ТЕКСТА (3): --text (кремовый), --muted (серый), --gold (акцент).
   Фон тёмный: нейтральный графит; Возражариум — холодный синий, Детективы — тёплый.
   ========================================================================== */

:root{
  --bg:            #0d0d10;   /* базовый нейтральный графит */
  --bg-alt:        #131316;   /* чередование секций */
  --card:          #1a1a1f;   /* карточки */
  --card-2:        #23232a;
  --line:          rgba(255,255,255,.085);
  --line-strong:   rgba(255,255,255,.15);

  --gold:          #e6b84c;   /* акцент (цвет текста №3) */
  --gold-bright:   #f4c95a;

  --text:          #f3efe6;   /* цвет текста №1 — кремовый */
  --muted:         #a8a6a1;   /* цвет текста №2 — серый (тёплый нейтральный) */

  --vozr-bg:       #060a15;   /* холодный сине-чёрный */
  --vozr-bg-2:     #0a1226;
  --detek-bg:      #17110a;   /* тёплый тёмно-коричневый */
  --detek-bg-2:    #241a10;

  --btn-ink:       #241c07;   /* тёмный текст на золотых кнопках */

  --maxw: 1160px;
  --radius: 16px;
  --radius-lg: 22px;
  --ease: cubic-bezier(.22,.61,.36,1);

  --font: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --serif: "Playfair Display", Georgia, serif;
}

/* ---------- reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:90px; -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font); font-size:17px; line-height:1.6; font-weight:400;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:4px; }
h1,h2,h3{ line-height:1.14; margin:0; font-weight:800; letter-spacing:-.01em; }
p{ margin:0 0 1em; }
.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 22px; }
.accent{ color:var(--gold); }
b{ font-weight:700; }
section[id], [id]{ scroll-margin-top:120px; }

/* ---------- typography helpers ---------- */
.eyebrow{ text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:700; color:var(--gold); margin:0 0 14px; }
.section{ padding:88px 0; position:relative; }
.section:nth-of-type(even){ background:var(--bg-alt); }
.section__title{ font-size:clamp(1.9rem, 4.4vw, 3rem); margin-bottom:14px; }
.section__lead{ color:var(--muted); font-size:1.08rem; max-width:640px; margin:0 auto 40px; text-align:center; }
.pain .section__title, .reviews .section__title, .faq .section__title{ text-align:center; }
.h3{ font-size:1.26rem; font-weight:700; margin:0 0 14px; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  border:1px solid transparent; border-radius:100px; padding:13px 26px;
  font-weight:700; font-size:1rem; white-space:nowrap;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s, color .2s;
}
.btn--lg{ padding:16px 34px; font-size:1.05rem; }
.btn--gold{ background:linear-gradient(180deg,var(--gold-bright),var(--gold)); color:var(--btn-ink); box-shadow:0 8px 26px rgba(230,184,76,.24); }
.btn--gold:hover{ transform:translateY(-2px); box-shadow:0 12px 34px rgba(230,184,76,.36); }
.btn--ghost{ background:transparent; border-color:var(--line-strong); color:var(--text); }
.btn--ghost:hover{ border-color:var(--gold); color:var(--gold); }

/* ---------- header ---------- */
.site-header{ position:sticky; top:0; z-index:60; background:rgba(13,13,16,.85); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.header__inner{ display:flex; align-items:center; gap:24px; height:70px; }
.logo{ font-family:var(--serif); font-size:1.4rem; font-weight:700; color:var(--gold); white-space:nowrap; flex-shrink:0; }
.nav{ display:flex; gap:24px; margin-left:auto; }
.nav__link{ color:var(--muted); font-size:.97rem; font-weight:500; transition:color .2s; background:none; border:0; }
.nav__link:hover{ color:var(--text); }
.header__cta{ padding:10px 20px; font-size:.95rem; flex-shrink:0; }
.burger{ display:none; background:none; border:0; width:40px; height:40px; flex-direction:column; justify-content:center; gap:5px; margin-left:auto; }
.burger span{ display:block; height:2px; width:24px; background:var(--text); border-radius:2px; transition:.25s; margin:0 auto; }
.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); }

/* ---------- hero ---------- */
.hero{ position:relative; padding:44px 0 0; overflow:hidden; background:radial-gradient(120% 90% at 78% 10%, #1d1d24 0%, var(--bg) 58%); }
.hero__glow{ position:absolute; top:-140px; right:-120px; width:540px; height:540px; border-radius:50%; background:radial-gradient(circle, rgba(230,184,76,.06), transparent 62%); filter:blur(20px); pointer-events:none; }
.hero__inner{ display:grid; grid-template-columns:.88fr 1.12fr; gap:32px; align-items:start; }
.hero__text{ padding:0 0 26px; animation:heroUp .7s var(--ease) both; }
.hero__title{ font-size:clamp(2.1rem, 4.8vw, 3.6rem); margin-bottom:20px; }
.hero__sub{ color:var(--muted); font-size:1.12rem; max-width:560px; margin-bottom:16px; }
.hero__proof{ color:var(--muted); font-size:.86rem; letter-spacing:.02em; margin:0 0 24px; opacity:.85; }
.hero__choose{ color:var(--text); font-size:.95rem; font-weight:600; margin:0 0 12px; }
.hero__card{ position:relative; align-self:start; text-align:right; margin-top:32px; animation:heroUp .7s .12s var(--ease) both; }
/* небольшое тёплое свечение чуть позади справа от фигуры */
.hero__card::before{ content:""; position:absolute; z-index:-1; width:54%; height:50%; right:-4%; top:9%; border-radius:50%;
  background:radial-gradient(circle, rgba(230,184,76,.16), rgba(230,184,76,.05) 45%, transparent 72%);
  filter:blur(36px); pointer-events:none; }
.hero__photo{ display:block; width:auto; height:700px; max-width:100%; margin-left:auto; }
@keyframes heroUp{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
@keyframes float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }

/* выбор раздела в hero */
.chooser{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.chooser__card{ text-align:left; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px; display:flex; flex-direction:column; gap:5px; color:var(--text); transition:.2s var(--ease); }
.chooser__card:hover{ border-color:var(--gold); transform:translateY(-3px); box-shadow:0 16px 34px rgba(0,0,0,.4); }
.chooser__svg{ width:28px; height:28px; color:var(--gold); margin-bottom:4px; transition:transform .3s var(--ease); }
.chooser__card:hover .chooser__svg{ transform:scale(1.12) rotate(-4deg); }
.chooser__title{ font-weight:700; font-size:1.1rem; }
.chooser__desc{ color:var(--muted); font-size:.9rem; line-height:1.45; }

/* ---------- переключатель разделов ---------- */
.switch-wrap{ position:sticky; top:70px; z-index:50; background:rgba(13,13,16,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); text-align:center; }
.switch{ display:inline-flex; gap:4px; background:var(--card); border:1px solid var(--line); border-radius:100px; padding:5px; margin:14px 0; }
.switch__btn{ border:0; background:none; color:var(--muted); padding:10px 24px; border-radius:100px; font-weight:600; font-size:.98rem; transition:.2s; }
.switch__btn.is-active{ background:linear-gradient(180deg,var(--gold-bright),var(--gold)); color:var(--btn-ink); }

/* ---------- вкладки (панели разделов) ---------- */
body.tabs-on .tab-panel{ display:none; }
body.tabs-on .tab-panel.is-active{ display:block; animation:fade .35s var(--ease); }
@keyframes fade{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

/* ---------- боли ---------- */
.pain__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pain__card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px 22px 22px 50px; font-size:1.04rem; position:relative; }
.pain__card::before{ content:"✕"; position:absolute; left:20px; top:22px; color:var(--gold); font-weight:700; font-size:.9rem; }

/* ---------- обо мне ---------- */
.coaching{ padding-bottom:40px; }   /* сокращаем разрыв с блоком «Обо мне» */
.section.about{ padding-top:40px; }
.about__inner{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; }
.about__photo{ text-align:center; position:relative; isolation:isolate; }
.about__photo img{ width:100%; max-width:520px; margin:0 auto; }
/* небольшое тёплое свечение чуть позади слева от фигуры */
.about__photo::before{ content:""; position:absolute; z-index:-1; width:54%; height:50%; left:0; top:8%; border-radius:50%;
  background:radial-gradient(circle, rgba(230,184,76,.15), rgba(230,184,76,.05) 45%, transparent 72%);
  filter:blur(36px); pointer-events:none; }
.about__desc{ color:var(--muted); font-size:1.08rem; margin-bottom:22px; }
.about__regalia{ list-style:none; margin:0 0 24px; padding:0; display:grid; gap:12px; }
.about__regalia li{ position:relative; padding-left:32px; font-weight:500; }
.about__regalia li::before{ content:"✓"; position:absolute; left:0; top:1px; width:22px; height:22px; border-radius:50%; border:1.5px solid var(--gold); color:var(--gold); font-size:.72rem; display:grid; place-items:center; }

/* сертификаты */
.cert-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:6px 4px 20px; }
.cert{ display:flex; flex-direction:column; gap:8px; text-align:center; color:var(--muted); font-size:.8rem; }
.cert img{ width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:8px; border:1px solid var(--line); transition:.2s; }
.cert:hover img{ border-color:var(--gold); transform:translateY(-2px); }

/* ---------- accordion ---------- */
.accordion{ border-top:1px solid var(--line); }
.accordion:last-child{ border-bottom:1px solid var(--line); }
.accordion__head{ width:100%; background:none; border:0; color:var(--text); text-align:left; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 4px; font-size:1.05rem; font-weight:600; }
.accordion__icon{ position:relative; width:18px; height:18px; flex-shrink:0; }
.accordion__icon::before,.accordion__icon::after{ content:""; position:absolute; background:var(--gold); border-radius:2px; transition:.25s var(--ease); }
.accordion__icon::before{ top:8px; left:0; width:18px; height:2px; }
.accordion__icon::after{ top:0; left:8px; width:2px; height:18px; }
.accordion__head[aria-expanded="true"] .accordion__icon::after{ transform:rotate(90deg); opacity:0; }
.accordion__body{ max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }
.accordion__body > *{ margin-left:4px; margin-right:4px; }
.accordion__body > p{ padding-bottom:20px; color:var(--muted); }
.checklist{ list-style:none; margin:0; padding:0 4px 16px; display:grid; gap:10px; }
.checklist li{ position:relative; padding-left:26px; color:var(--muted); }
.checklist li::before{ content:"✓"; position:absolute; left:0; color:var(--gold); font-weight:700; }
.checklist--open{ padding:0; margin-top:6px; }

/* ---------- секции игр ---------- */
.section.section--vozr{ background:radial-gradient(130% 100% at 15% 0%, var(--vozr-bg-2), var(--vozr-bg) 60%); }
.section.section--detektiv{ background:radial-gradient(130% 100% at 85% 0%, var(--detek-bg-2), var(--detek-bg) 62%); }
.game__head{ text-align:center; max-width:760px; margin:0 auto 32px; }
.game__title{ font-size:clamp(2rem, 5vw, 3.3rem); margin-bottom:14px; }
.game__descriptor{ color:var(--gold); font-weight:700; font-size:1.22rem; margin:0 0 10px; }
.game__tagline{ font-size:1.16rem; color:var(--muted); margin:0; }
.badge-new{ display:inline-block; background:var(--gold); color:var(--btn-ink); padding:2px 12px; border-radius:100px; font-weight:800; letter-spacing:.06em; }
.game__meta{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:44px; }
.meta{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:100px; padding:9px 18px; font-weight:600; font-size:.95rem; }
.meta__ico{ display:inline-flex; color:var(--gold); }
.meta__ico svg{ width:17px; height:17px; }
.game__cols{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.game__block, .game__solo{ background:rgba(255,255,255,.035); border:1px solid var(--line); border-radius:var(--radius); padding:30px; }
.section--detektiv .game__block, .section--detektiv .game__solo{ background:rgba(255,240,220,.045); border-color:rgba(233,215,180,.16); }
.game__block p{ color:var(--muted); margin:0; }
.game__solo{ margin-top:8px; }
.result-list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.result-list--2col{ grid-template-columns:1fr 1fr; gap:12px 28px; }
.result-list li{ position:relative; padding-left:30px; color:var(--text); }
.result-list li::before{ content:"→"; position:absolute; left:0; color:var(--gold); font-weight:700; }

/* steps */
.steps{ margin-top:40px; }
.steps__title{ text-align:center; }
.steps__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.step{ background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; text-align:center; }
.step p{ margin:0; color:var(--muted); font-size:.97rem; }
.step__n{ display:grid; place-items:center; width:44px; height:44px; margin:0 auto 14px; border-radius:50%; border:1.5px solid var(--gold); color:var(--gold); font-weight:800; font-size:1.2rem; }

/* pricebox */
.pricebox{ margin-top:44px; display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; background:rgba(255,255,255,.04); border:1px solid var(--gold); border-radius:var(--radius-lg); padding:32px; }
.pricebox--warm{ background:rgba(255,240,220,.05); }
.pricebox__prices{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.pricebox__item{ display:flex; flex-direction:column; }
.pricebox__item b{ font-size:2.1rem; color:var(--gold); line-height:1; }
.pricebox__item span{ color:var(--muted); font-size:.95rem; margin-top:4px; }
.pricebox__or{ color:var(--muted); font-weight:600; }
.pricebox__note{ color:var(--muted); font-size:.95rem; margin:0 0 14px; }
.pricebox__cta{ text-align:right; }

/* манифест «21 способ» */
.manifesto{ text-align:center; background:radial-gradient(120% 130% at 50% 0%, #14141a, var(--bg) 70%); }
.manifesto__inner{ max-width:820px; margin:0 auto; }
.manifesto__title{ font-size:clamp(1.6rem, 3.6vw, 2.5rem); line-height:1.25; margin-bottom:22px; }
.manifesto__punch{ font-size:clamp(1.15rem, 2.4vw, 1.5rem); font-weight:700; color:var(--muted); margin:0; }
.manifesto__punch .accent{ font-size:1.3em; font-weight:800; }

/* ---------- продукты (коучинг / бизнес) ---------- */
.product__inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.product__desc{ color:var(--muted); font-size:1.08rem; }
.req-list{ list-style:none; margin:0 0 22px; padding:0; display:grid; gap:10px; }
.req-list li{ position:relative; padding-left:24px; color:var(--text); font-size:1.02rem; }
.req-list li::before{ content:"—"; position:absolute; left:0; color:var(--gold); font-weight:700; }
.coaching__process{ font-weight:700; color:var(--text); border-left:3px solid var(--gold); padding-left:16px; margin:0; line-height:1.5; }
.product__cards{ display:grid; gap:16px; }
.tier{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px; position:relative; display:flex; flex-direction:column; gap:8px; }
.tier--accent{ border-color:var(--gold); background:linear-gradient(180deg,rgba(230,184,76,.08),var(--card)); }
.tier__badge{ position:absolute; top:-11px; right:20px; background:var(--gold); color:var(--btn-ink); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:4px 12px; border-radius:100px; }
.tier__name{ font-weight:700; font-size:1.16rem; }
.tier__price{ font-size:1.9rem; font-weight:800; color:var(--gold); }
.tier__meta{ color:var(--muted); font-size:.95rem; }
.tier__btn{ margin-top:14px; width:100%; }

.business__intro{ text-align:center; max-width:720px; margin:0 auto 40px; }
.business__acc{ max-width:820px; margin:0 auto; }
.business__cta{ text-align:center; margin-top:38px; }

/* раздел «Для бизнеса» — тёмно-синий, деловой, белый шрифт */
.section.business{ background:radial-gradient(120% 100% at 75% 0%, #13253f 0%, #0b1524 62%); color:#f5f8fd; }
.section.business .product__desc{ color:#c0cadd; }
.section.business .accordion{ border-top-color:rgba(255,255,255,.14); }
.section.business .accordion:last-child{ border-bottom-color:rgba(255,255,255,.14); }
.section.business .accordion__head{ color:#f5f8fd; }
.section.business .accordion__body > p{ color:#c0cadd; }

/* ---------- отзывы ---------- */
.reviews__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.review{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:28px; margin:0; display:flex; flex-direction:column; gap:12px; }
.review__stars{ color:var(--gold); letter-spacing:2px; }
.review__lead{ color:var(--gold); font-weight:700; margin:0; }
.review blockquote{ margin:0; font-size:1.05rem; }
.review figcaption{ color:var(--muted); margin-top:auto; }

/* ---------- статы ---------- */
.section.stats{ background:linear-gradient(180deg,var(--bg-alt),var(--bg)); }
.stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
.stat b{ display:block; font-size:2.9rem; color:var(--gold); font-weight:800; line-height:1; }
.stat span{ color:var(--muted); font-size:.97rem; margin-top:8px; display:block; }

/* ---------- faq ---------- */
.faq__inner{ max-width:820px; margin:0 auto; }
.faq__list{ margin-top:16px; }

/* ---------- контакты / форма ---------- */
.contact__inner{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.contact__list{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:12px; }
.contact__list a{ font-size:1.2rem; font-weight:600; transition:color .2s; }
.contact__list a:hover{ color:var(--gold); }
.contact .section__lead{ margin:0; text-align:left; }
.lead-form{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:34px; display:grid; gap:16px; }
.field{ display:grid; gap:6px; }
.field label{ font-size:.9rem; color:var(--muted); font-weight:500; }
.field input,.field select,.field textarea{ width:100%; background:var(--bg); border:1px solid var(--line-strong); border-radius:10px; padding:12px 14px; color:var(--text); font-family:inherit; font-size:1rem; transition:border .2s; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--gold); }
.field textarea{ resize:vertical; }
.hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.lead-form__note{ font-size:.82rem; color:var(--muted); margin:0; }
.lead-form__submit{ width:100%; }
.lead-form__status{ margin:0; font-size:.95rem; min-height:1.2em; }
.lead-form__status.ok{ color:#7fd17f; }
.lead-form__status.err{ color:#e6a15a; }

/* ---------- футер ---------- */
.footer{ background:#08080b; border-top:1px solid var(--line); padding-top:52px; }
.footer__inner{ display:grid; grid-template-columns:1.4fr 1fr 1.3fr; gap:32px; padding-bottom:36px; }
.footer__col{ display:flex; flex-direction:column; gap:10px; }
.footer__col a{ color:var(--muted); transition:color .2s; }
.footer__col a:hover{ color:var(--gold); }
.logo--footer{ font-size:1.5rem; }
.footer__tag{ color:var(--muted); margin:0; }
.footer__legal{ color:var(--muted); font-size:.85rem; margin:0; }
.footer__bottom{ border-top:1px solid var(--line); padding:22px 0; color:var(--muted); font-size:.88rem; }

/* ---------- модалка ---------- */
.modal{ position:fixed; inset:0; z-index:100; display:none; }
.modal.is-open{ display:block; }
.modal__overlay{ position:absolute; inset:0; background:rgba(4,6,10,.72); backdrop-filter:blur(4px); }
.modal__dialog{ position:relative; max-width:520px; margin:6vh auto; background:var(--card); border:1px solid var(--line-strong); border-radius:var(--radius-lg); padding:36px; max-height:88vh; overflow-y:auto; animation:pop .25s var(--ease); }
@keyframes pop{ from{ transform:translateY(14px); opacity:0; } to{ transform:none; opacity:1; } }
.modal__close{ position:absolute; top:14px; right:16px; background:none; border:0; color:var(--muted); font-size:1.8rem; line-height:1; width:36px; height:36px; border-radius:50%; transition:.2s; }
.modal__close:hover{ color:var(--text); background:rgba(255,255,255,.06); }
.modal__title{ font-size:1.5rem; margin-bottom:6px; }
.modal__sub{ color:var(--muted); margin-bottom:22px; font-size:.98rem; }
.modal__form{ display:grid; gap:14px; }

/* ---------- soft depth ---------- */
.hero, .contact{ isolation:isolate; }
.contact::before{ content:""; position:absolute; left:0; right:0; top:0; height:70%; background:radial-gradient(60% 100% at 50% 0%, rgba(230,184,76,.05), transparent 66%); pointer-events:none; z-index:-1; }

/* ---------- scroll-reveal ---------- */
body.anim-on .will-anim{ opacity:0; transform:translateY(24px); }
body.anim-on .will-anim.in{ opacity:1; transform:none; transition:opacity .6s var(--ease), transform .6s var(--ease); }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  body.tabs-on .tab-panel.is-active{ animation:none; }
  .hero__text,.hero__card,.hero__photo{ animation:none !important; }
  body.anim-on .will-anim{ opacity:1 !important; transform:none !important; }
}

/* ==========================================================================
   АДАПТИВ
   ========================================================================== */
@media (max-width:960px){
  .nav, .header__cta{ display:none; }
  .burger{ display:flex; }
  .site-header.nav-open .nav{ display:flex; position:absolute; top:70px; left:0; right:0; flex-direction:column; background:var(--bg); border-bottom:1px solid var(--line); padding:18px 22px; gap:4px; }
  .site-header.nav-open .nav .nav__link{ padding:12px 0; font-size:1.1rem; }
  .switch-wrap{ top:70px; }
  .hero__inner{ grid-template-columns:1fr; }
  .hero__card{ max-width:320px; margin:0 auto; order:-1; text-align:center; }
  .hero__photo{ height:auto; width:100%; margin:0 auto; }
  .about__inner{ grid-template-columns:1fr; gap:30px; }
  .about__photo img{ max-width:320px; }
  .product__inner{ grid-template-columns:1fr; gap:30px; }
  .contact__inner{ grid-template-columns:1fr; gap:30px; }
  .game__cols{ grid-template-columns:1fr; }
  .steps__grid{ grid-template-columns:repeat(2,1fr); }
  .reviews__grid{ grid-template-columns:1fr; }
  .stats__grid{ grid-template-columns:repeat(2,1fr); gap:32px 20px; }
  .footer__inner{ grid-template-columns:1fr; gap:24px; }
  .pricebox{ grid-template-columns:1fr; text-align:center; }
  .pricebox__prices{ justify-content:center; }
  .pricebox__cta{ text-align:center; }
  .cert-grid{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:620px){
  body{ font-size:16px; }
  .section{ padding:60px 0; }
  .chooser{ grid-template-columns:1fr; }
  .pain__grid{ grid-template-columns:1fr; }
  .steps__grid{ grid-template-columns:1fr; }
  .result-list--2col{ grid-template-columns:1fr; }
  .cert-grid{ grid-template-columns:repeat(2,1fr); }
  .hero__actions .btn{ width:100%; }
  .modal__dialog{ margin:0; max-width:none; min-height:100vh; border-radius:0; }
  .pricebox__item b{ font-size:1.8rem; }
}
