/* ==========================================================================
   iResonance – стили посадочной (Слайс 2). Сегментный landing.
   Подключается только на страницах с классом .page-landing (см. functions.php).
   Токены берутся из style.css :root (ivory/navy/gold/champagne/φ-шкала).
   ========================================================================== */

/* ---------- Общая секция ---------- */
.ires-sec{padding:clamp(48px,7vw,96px) 20px;}
.ires-sec__in{max-width:var(--wide);margin:0 auto;}
.ires-sec--narrow .ires-sec__in{max-width:860px;}
.ires-sec--tint{background:linear-gradient(180deg,#FBF8F2 0%,var(--ivory) 100%);}
.ires-eyebrow{
  font-family:var(--ff-body);font-weight:600;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);margin:0 0 14px;
}
.ires-sec h2{margin:0 0 .5em;}
.ires-lead{font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--graphite);max-width:62ch;line-height:1.65;}
.ires-accent-rule{
  width:120px;height:14px;margin:0 0 28px;border:0;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'%3E%3Cpath d='M0 7C15 7 15 1 30 1s15 12 30 12 15-12 30-12 15 6 30 6' fill='none' stroke='%23CBA135' stroke-width='1.5'/%3E%3C/svg%3E");
}

/* ---------- HERO (темный navy + камертон) ---------- */
.ires-hero{
  position:relative;overflow:hidden;color:var(--ivory);
  background:radial-gradient(120% 100% at 18% 40%,#1c2a44 0%,var(--navy) 45%,var(--night) 100%);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.ires-hero__in{
  max-width:var(--wide);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);align-items:center;
  gap:clamp(24px,4vw,56px);padding:clamp(56px,8vw,104px) 20px;
}
.ires-hero__art{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center;}
.ires-hero__art svg{width:min(100%,420px);height:auto;filter:drop-shadow(0 12px 40px rgba(203,161,53,.22));}
.ires-hero__content{max-width:none;}
.ires-hero__content h1{
  color:var(--ivory);font-size:clamp(2rem,4.4vw,3.7rem);line-height:1.18;margin:0 0 .5em;
}
.ires-hero__content h1 em{font-family:var(--ff-accent);font-style:italic;color:var(--gold);}
.ires-hero__sub{
  font-family:var(--ff-accent);font-style:italic;font-size:clamp(1.25rem,2.2vw,1.7rem);
  color:var(--platinum);line-height:1.4;margin:0 0 18px;max-width:46ch;
}
.ires-hero__pain{color:#E7DECB;font-size:1.05rem;line-height:1.7;max-width:48ch;margin:0 0 30px;}
.ires-hero__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.ires-hero__note{margin:18px 0 0;font-size:13.5px;color:var(--champagne);letter-spacing:.01em;}

/* Кнопки посадочной */
a.ires-btn,.entry-content a.ires-btn{text-decoration:none;}
.ires-btn{
  display:inline-block;border-radius:var(--radius-md);padding:15px 30px;
  font-family:var(--ff-body);font-weight:600;letter-spacing:.01em;text-decoration:none;text-align:center;
  transition:transform .18s ease,background .2s ease,box-shadow .2s ease;cursor:pointer;
}
.ires-btn--primary{background:var(--gold);color:var(--night);box-shadow:0 6px 22px rgba(203,161,53,.32);}
.ires-btn--primary:hover{background:#dbb24a;color:var(--night);transform:translateY(-2px);}
.ires-btn--ghost{background:transparent;color:var(--ivory);border:1.5px solid rgba(212,197,169,.55);}
.ires-btn--ghost:hover{border-color:var(--gold);color:var(--gold);}
.ires-btn--dark{background:var(--navy);color:var(--ivory);}
.ires-btn--dark:hover{background:var(--bronze);color:var(--ivory);transform:translateY(-2px);}

/* ---------- Доверие-строка (на посадочной, под hero) ---------- */
.ires-trust{background:var(--navy);color:var(--champagne);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden;}
.ires-trust__in{
  max-width:var(--wide);margin:0 auto;padding:18px 20px;
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;
  font-size:14px;text-align:center;
}
.ires-trust__in span{display:inline-flex;align-items:center;gap:8px;}
.ires-trust strong{color:var(--gold);font-weight:600;}
.ires-trust__dot{color:var(--gold);}

/* ---------- Видео-слот (фасад) ---------- */
.ires-videoslot{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;
  background:linear-gradient(135deg,#1c2a44,var(--night));
  display:flex;align-items:center;justify-content:center;border:1px solid rgba(212,197,169,.2);
  transform:translateZ(0);
}
.ires-videoslot::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background:radial-gradient(60% 60% at 50% 45%,rgba(203,161,53,.16),transparent 70%);
}
.ires-videoslot__play{
  position:relative;z-index:1;width:74px;height:74px;border-radius:50%;
  background:rgba(203,161,53,.92);display:flex;align-items:center;justify-content:center;
}
.ires-videoslot__play::after{content:"";border-left:22px solid var(--night);border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:5px;}
.ires-videoslot__cap{position:absolute;z-index:1;bottom:14px;left:16px;right:16px;color:var(--platinum);font-size:13px;}

/* ---------- История основателя ---------- */
.ires-founder .ires-founder__grid{
  display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;
}
/* Боковая полоса у цитаты убрана по решению Ивана (задача из tracker.md).
   Акцент держим типографикой – крупный Cormorant в италике сам по себе
   читается как цитата, полоса добавляла лишний вес блоку. */
.ires-founder blockquote{
  margin:0 0 18px;padding:0;
  font-family:var(--ff-accent);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.9rem);
  color:var(--navy);line-height:1.4;max-width:none;
}
.ires-founder p{font-size:1.05rem;line-height:1.75;}
.ires-founder__sign{font-family:var(--ff-accent);font-style:italic;color:var(--bronze);font-size:1.1rem;margin-top:18px;}

/* ---------- Для кого / карточки ---------- */
/* Число карточек в блоке «Для кого» и «Практика» отличается от страницы к странице
   (3, 4, 6). Жесткие 3 колонки оставляли одинокую карточку в последнем ряду. */
.ires-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:34px;}
/* Ровно 4 карточки – раскладываем 2x2, иначе получается ряд из трех и одинокая
   четвертая под ними. Селектор читается как «четвертый ребенок является последним». */
@media (min-width:900px){
  .ires-cards:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr);}
}
.ires-card{
  background:#fff;border:1px solid rgba(139,105,20,.14);border-radius:var(--radius-lg);
  padding:28px 26px;box-shadow:0 4px 18px rgba(22,33,51,.05);
}
.ires-card h3{font-size:1.2rem;color:var(--navy);margin:0 0 10px;}
.ires-card p{font-size:.97rem;line-height:1.65;color:var(--graphite);margin:0;}
.ires-card__icon{
  width:46px;height:46px;border-radius:var(--radius-md);margin-bottom:16px;
  background:linear-gradient(135deg,var(--gold),var(--champagne));
  display:flex;align-items:center;justify-content:center;color:var(--night);font-family:var(--ff-head);font-size:1.3rem;font-weight:700;
}

/* ---------- Наш подход (темный акцентный блок) ---------- */
.ires-approach{background:linear-gradient(160deg,var(--navy),var(--night));color:var(--ivory);}
.ires-approach h2,.ires-approach h3{color:var(--ivory);}
.ires-approach .ires-eyebrow{color:var(--gold);}
.ires-approach .ires-lead{color:#E7DECB;}
.ires-approach__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px;}
.ires-approach__item{
  border:1px solid rgba(212,197,169,.22);border-radius:var(--radius-lg);padding:26px 24px;
  background:rgba(255,255,255,.03);
}
.ires-approach__item h3{font-size:1.15rem;margin:0 0 10px;color:var(--gold);}
.ires-approach__item p{color:#D9D0BE;font-size:.97rem;line-height:1.65;margin:0;}

/* ---------- Навыки выпускника ---------- */
.ires-skills__list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px;margin-top:30px;list-style:none;padding:0;}
.ires-skills__list li{
  position:relative;padding-left:34px;font-size:1.02rem;line-height:1.55;max-width:none;color:var(--graphite);
}
.ires-skills__list li::before{
  content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;
  background:var(--gold);
  -webkit-mask:no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M1 6l3.5 3.5L11 2' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
  mask:no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M1 6l3.5 3.5L11 2' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}

/* ---------- Программа по модулям ---------- */
.ires-modules__list{margin-top:32px;display:grid;gap:16px;}
.ires-module{
  display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:start;
  background:#fff;border:1px solid rgba(139,105,20,.14);border-radius:var(--radius-lg);padding:24px 26px;
}
.ires-module__num{font-family:var(--ff-head);font-size:1.6rem;color:var(--champagne);line-height:1;}
.ires-module h3{font-size:1.15rem;margin:0 0 6px;color:var(--navy);}
.ires-module p{margin:0;font-size:.96rem;color:var(--graphite);line-height:1.6;}
.ires-module__meta{font-size:.85rem;color:var(--bronze);white-space:nowrap;font-weight:600;}

/* ---------- Практика и сопровождение ---------- */
.ires-practice .ires-cards{grid-template-columns:repeat(4,1fr);}
.ires-practice .ires-card{padding:24px 22px;}

/* ---------- Автор ---------- */
.ires-author__grid{display:grid;grid-template-columns:300px 1fr;gap:clamp(28px,4vw,52px);align-items:start;}
/* Обертка фото автора. translateZ(0) обязателен по правилу проекта: без него
   браузер оставляет светлую кайму сглаживания на границе border-radius
   (та же причина, что у обложки карточки в ленте и у .ires-figure). */
.ires-author__photo{
  aspect-ratio:1/1; border-radius:var(--radius-lg); overflow:hidden;
  transform:translateZ(0);
  background:linear-gradient(135deg,#ece3d2,#d4c5a9);
}
.ires-author__photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.ires-author h2{margin-bottom:.2em;}
.ires-author__role{font-family:var(--ff-accent);font-style:italic;color:var(--gold);font-size:1.2rem;margin:0 0 18px;}
.ires-author__creds{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;}
.ires-author__creds li{position:relative;padding-left:26px;font-size:1rem;line-height:1.5;color:var(--graphite);max-width:none;}
.ires-author__creds li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:50%;background:var(--gold);}

/* ---------- Документы ---------- */
/* Колонки по числу карточек, а не жестко 4: у разных программ разное количество
   документов (3 или 4). При repeat(4,1fr) три карточки сжимались и оставляли
   пустую четвертую колонку. auto-fit + minmax держит ряд плотным в обоих случаях. */
.ires-docs__row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:20px;margin-top:32px;
}
/* min-height вместо жесткого aspect-ratio: пропорция листа выглядела хорошо, пока
   подпись короткая, но не давала карточке вырасти под длинный текст – он лип к краям. */
.ires-doc{
  min-height:200px;border-radius:var(--radius-lg);border:1px dashed rgba(139,105,20,.4);
  background:linear-gradient(135deg,#fbf8f2,#f1ebdd);display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:22px 18px;color:var(--bronze);
}
.ires-doc strong{display:block;font-family:var(--ff-head);color:var(--navy);font-size:1rem;margin-bottom:8px;}
.ires-doc span{font-size:12.5px;line-height:1.5;}
/* Черновая метка внутри карточки – отдельной строкой, иначе разрывает подпись посередине. */
.ires-doc span .ires-todo{display:inline-block;margin-top:8px;}

/* ---------- Рынок / востребованность ---------- */
.ires-market__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px;}
.ires-stat{text-align:center;padding:30px 22px;border-radius:var(--radius-lg);background:#fff;border:1px solid rgba(139,105,20,.14);}
.ires-stat b{display:block;font-family:var(--ff-head);font-size:2.2rem;color:var(--gold);line-height:1;margin-bottom:10px;}
.ires-stat span{font-size:.95rem;color:var(--graphite);line-height:1.5;}

/* ---------- Цена ---------- */
/* У части программ тариф один, а не два – при жестких 2 колонках половина секции
   оставалась пустой. Одиночная карточка теперь занимает ряд, но не растягивается
   на всю ширину (max-width), иначе теряет вид ценового блока. */
.ires-price__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;margin-top:34px;}
.ires-price__grid:has(> :only-child){max-width:560px;margin-inline:auto;}
.ires-plan{border-radius:var(--radius-lg);padding:32px 30px;border:1px solid rgba(139,105,20,.18);background:#fff;}
.ires-plan--feature{background:linear-gradient(160deg,var(--navy),var(--night));color:var(--ivory);border:none;}
.ires-plan h3{font-size:1.3rem;color:var(--navy);margin:0 0 6px;}
.ires-plan--feature h3{color:var(--gold);}
.ires-plan__price{font-family:var(--ff-head);font-size:2rem;margin:10px 0;color:var(--navy);}
.ires-plan--feature .ires-plan__price{color:var(--ivory);}
.ires-plan ul{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:9px;}
.ires-plan li{font-size:.95rem;line-height:1.5;max-width:none;padding-left:22px;position:relative;}
.ires-plan li::before{content:"–";position:absolute;left:0;color:var(--gold);}
.ires-price__note{margin-top:22px;font-size:.9rem;color:var(--bronze);text-align:center;}

/* ---------- Гарантия ---------- */
.ires-guarantee{background:linear-gradient(180deg,#FBF8F2,var(--ivory));border-radius:var(--radius-lg);overflow:hidden;}
.ires-guarantee__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:32px;}
.ires-guarantee__card{
  background:#fff;border-radius:var(--radius-lg);padding:30px 28px;border:1px solid rgba(203,161,53,.3);
  box-shadow:0 6px 24px rgba(22,33,51,.06);
}
.ires-guarantee__card h3{display:flex;align-items:center;gap:12px;font-size:1.2rem;color:var(--navy);margin:0 0 12px;}
.ires-guarantee__card h3 b{
  flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--night);
  display:flex;align-items:center;justify-content:center;font-family:var(--ff-head);font-size:1.1rem;
}
.ires-guarantee__card p{margin:0;font-size:.98rem;line-height:1.65;color:var(--graphite);}
.ires-guarantee__terms{margin-top:24px;font-size:.9rem;color:var(--bronze);line-height:1.6;max-width:70ch;}

/* ---------- Установочная сессия ---------- */
.ires-session{background:linear-gradient(160deg,var(--navy),var(--night));color:var(--ivory);text-align:center;}
.ires-session h2{color:var(--ivory);}
.ires-session .ires-eyebrow{color:var(--gold);}
.ires-session__lead{color:#E7DECB;max-width:62ch;margin:0 auto 30px;font-size:1.1rem;line-height:1.7;}
.ires-session__points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 auto 34px;max-width:980px;text-align:left;}
.ires-session__point{border:1px solid rgba(212,197,169,.25);border-radius:var(--radius-lg);padding:24px 22px;background:rgba(255,255,255,.03);}
.ires-session__point h3{color:var(--gold);font-size:1.05rem;margin:0 0 8px;}
.ires-session__point p{color:#D9D0BE;font-size:.94rem;line-height:1.6;margin:0;}

/* ---------- Кейсы / отзывы ---------- */
.ires-cases__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:32px;}
.ires-casecard{background:#fff;border:1px solid rgba(139,105,20,.14);border-radius:var(--radius-lg);padding:28px 26px;}
.ires-casecard blockquote{margin:0 0 16px;font-family:var(--ff-accent);font-style:italic;font-size:1.15rem;color:var(--navy);line-height:1.45;max-width:none;}
.ires-casecard__who{font-size:.9rem;color:var(--bronze);font-weight:600;}

/* ---------- Лид-магнит ---------- */
.ires-magnet{
  border-radius:var(--radius-lg);padding:clamp(32px,4vw,56px);
  background:linear-gradient(135deg,#1c2a44,var(--night));color:var(--ivory);
  display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;
}
.ires-magnet .ires-eyebrow{color:var(--gold);}
.ires-magnet h2{color:var(--ivory);margin:0 0 14px;}
.ires-magnet p{color:#E7DECB;font-size:1.02rem;line-height:1.65;max-width:50ch;}
.ires-magnet__form{background:rgba(255,255,255,.05);border:1px solid rgba(212,197,169,.25);border-radius:var(--radius-md);padding:26px;}
.ires-magnet__form p{font-size:.86rem;color:var(--champagne);margin:14px 0 0;}
.ires-magnet__slot{
  border:1px dashed rgba(212,197,169,.5);border-radius:var(--radius-sm);padding:14px;
  text-align:center;color:var(--platinum);font-size:13px;margin-bottom:14px;
}

/* ---------- FAQ ---------- */
.ires-faq__list{margin-top:30px;display:grid;gap:12px;}
.ires-faq details{
  background:#fff;border:1px solid rgba(139,105,20,.14);border-radius:var(--radius-md);padding:20px 24px;
}
.ires-faq summary{
  cursor:pointer;font-family:var(--ff-head);font-size:1.1rem;color:var(--navy);list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.ires-faq summary::-webkit-details-marker{display:none;}
.ires-faq summary::after{content:"+";color:var(--gold);font-size:1.5rem;line-height:1;flex:0 0 auto;}
.ires-faq details[open] summary::after{content:"–";}
.ires-faq details p{margin:14px 0 0;font-size:.98rem;line-height:1.7;color:var(--graphite);}

/* ---------- Финальный CTA ---------- */
.ires-finalcta{background:linear-gradient(160deg,var(--navy),var(--night));color:var(--ivory);text-align:center;}
.ires-finalcta h2{color:var(--ivory);font-size:clamp(1.8rem,3.5vw,2.8rem);}
.ires-finalcta p{color:#E7DECB;max-width:56ch;margin:0 auto 30px;font-size:1.1rem;line-height:1.65;}
.ires-finalcta .ires-hero__cta,.ires-session .ires-hero__cta{justify-content:center;}

/* ---------- Адаптив ---------- */
@media (max-width:900px){
  .ires-hero__in{grid-template-columns:1fr;text-align:left;}
  .ires-hero__art{order:-1;min-height:auto;}
  .ires-hero__art svg{width:min(72%,300px);}
  .ires-founder .ires-founder__grid,
  .ires-author__grid,.ires-magnet{grid-template-columns:1fr;}
  .ires-cards,.ires-approach__grid,.ires-skills__list,.ires-price__grid,
  .ires-guarantee__grid,.ires-cases__grid,.ires-market__grid,
  .ires-session__points{grid-template-columns:1fr;}
  .ires-practice .ires-cards,.ires-docs__row{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
  .ires-practice .ires-cards,.ires-docs__row{grid-template-columns:1fr;}
  .ires-module{grid-template-columns:auto 1fr;}
  .ires-module__meta{grid-column:2;}
}

/* ==========================================================================
   ПРЕМИУМ-ПОЛИРОВКА (повершка Ивана): узкая колонка + воздух + глубина + тепло.
   Грузится последней – переопределяет базовые правила выше.
   ========================================================================== */
:root{ --landing-max:1100px; }

/* – Узкая центрированная колонка + больше воздуха по бокам и вертикали – */
/* !important – намеренное переопределение Astra full-width layout
   (.ast-page-builder-template … > * { max-width:none }, специфичность 0,4,0):
   полосы секций оставляем во всю ширину, а ВНУТРЕННЮЮ колонку сужаем. */
.ires-sec{ padding:clamp(64px,8vw,128px) clamp(24px,5vw,40px); }
.ires-sec__in{ max-width:var(--landing-max) !important; }
.ires-hero__in{ max-width:1160px !important; padding-left:clamp(24px,5vw,40px); padding-right:clamp(24px,5vw,40px); }
.ires-trust__in{ max-width:var(--landing-max) !important; }
.ires-lead,.ires-session__lead,.ires-finalcta p{ max-width:56ch; }
.ires-hero__pain{ max-width:44ch; }

/* – Заголовки увереннее, плотнее – */
.ires-sec h2{ font-size:clamp(1.95rem,3vw,2.95rem); letter-spacing:-.012em; line-height:1.18; }
.ires-eyebrow{ font-size:12px; letter-spacing:.18em; }

/* – Карточки: убрать SaaS-обводку, дать мягкую «высоту» и воздух – */
.ires-card,.ires-stat,.ires-casecard,.ires-module,.ires-plan,
.ires-guarantee__card,.ires-magnet__form{
  border-color:rgba(139,105,20,.08);
  box-shadow:0 22px 48px -26px rgba(22,33,51,.30);
}
.ires-card{ padding:36px 32px; }
.ires-cards{ gap:26px; }

/* МОБИЛЬНАЯ ТИПОГРАФИКА – тот же баг Astra, что уже пофикшен в blog.css
   (html{font-size:91.2%} на мобильном/планшетном, rem считается от него).
   Найдено мобильным аудитом 2026-09-04: .ires-hero__pain и .ires-lead садились до ~15.3px,
   .ires-card p – до ~14.15px, ниже нормы UX-RULES (16px).
   Фикс – px внутри мобильного медиа-запроса, не трогая корневой font-size
   Astra (он используется и для rem-отступов/сетки по всему сайту).
   ========================================================================== */
@media (max-width:600px){
  .ires-hero__pain{ font-size:16px; }
  .ires-lead{ font-size:16px; }
  .ires-card p{ font-size:16px; }
}
.ires-guarantee__card{ border-color:rgba(203,161,53,.16); }

/* – Глубина и тепло на ТЕМНЫХ блоках (анти-«плоско»): золотое свечение + виньетка – */
.ires-hero,.ires-approach,.ires-session,.ires-finalcta,
.ires-trust,.ires-magnet{ position:relative; }
.ires-approach::before,.ires-session::before,.ires-finalcta::before,
.ires-magnet::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;
  background:
    radial-gradient(55% 65% at 22% 18%, rgba(203,161,53,.13), transparent 62%),
    radial-gradient(70% 90% at 105% 110%, rgba(139,105,20,.20), transparent 60%),
    radial-gradient(120% 100% at 50% 120%, rgba(13,11,9,.55), transparent 70%);
}
.ires-approach > .ires-sec__in,.ires-session > .ires-sec__in,
.ires-finalcta > .ires-sec__in,.ires-magnet > *{ position:relative; z-index:1; }

/* – Теплая глубина на СВЕТЛЫХ секциях (мягкое сияние, не плоская заливка) – */
.ires-sec--tint{
  background:
    radial-gradient(60% 80% at 85% 0%, rgba(203,161,53,.05), transparent 55%),
    linear-gradient(180deg,#FBF7EF 0%,#F2EBDB 100%);
}

/* – Hero: усилить глубину фона (виньетка + теплое ядро) – */
.ires-hero{
  background:
    radial-gradient(40% 55% at 24% 42%, rgba(203,161,53,.10), transparent 60%),
    radial-gradient(130% 110% at 18% 38%, #1f2e4a 0%, var(--navy) 44%, var(--night) 100%);
}
.ires-hero__art svg{ filter:drop-shadow(0 18px 60px rgba(203,161,53,.30)); }

/* – Центрирование в центрированных секциях (фикс: eyebrow/h2 уезжали влево) – */
.ires-session,.ires-finalcta{ text-align:center; }
.ires-session .ires-eyebrow,.ires-session h2,.ires-session .ires-session__lead,
.ires-finalcta .ires-eyebrow,.ires-finalcta h2,.ires-finalcta p{
  text-align:center; margin-left:auto; margin-right:auto;
}

@media (max-width:900px){
  .ires-sec{ padding:clamp(48px,9vw,72px) 22px; }
}

/* ==========================================================================
   КАНОН + ДОСТУПНОСТЬ (аудит 10/10). Грузится последней.
   - §2 канона: «Title Case, без ALL CAPS» → снимаем uppercase у eyebrow.
   - §2 канона: H2/H3 – Light/Regular, НЕ Bold → вес 500 (был 600).
   - a11y/WCAG: золотой ТЕКСТ на светлом ≈ 2:1 (провал AA) → бронза #8B6914 (≈4.6:1).
     Золото оставляем на ТЕМНОМ и для НЕ-текстовых акцентов (заливки/линии/свечения).
     Бонус: меньше золота-текста = премиальная сдержанность («золото дозированно», §5.0).
   ========================================================================== */
.ires-eyebrow{ text-transform:none; color:var(--bronze); }
.ires-hero .ires-eyebrow{ color:var(--gold); }   /* eyebrow на темном hero – золото проходит контраст */
.ires-sec h2,.ires-sec h3{ font-weight:500; }
.ires-author__role{ color:var(--bronze); }       /* на светлой секции «автор» */
.ires-stat b{ color:var(--bronze); }              /* цифры на белых карточках */
.ires-faq summary::after{ color:var(--bronze); }  /* +/- индикатор на белом */

/* ==========================================================================
   ТЕМНЫЙ ГРЕЙД – Вариант A (решение Ивана): богатый navy + приглушенное золото
   + темные navy-провалы по краям (светотень). Канон §1: темный грейд = navy
   #162133; «ночной» #0D0B09 НЕ как основная заливка, только глубокий край.
   Грузится последней – переопределяет градиенты выше.
   --navy-deep #101826 = navy, уведенный к черному (тот самый «темно-синий ближе к черному»).
   ========================================================================== */
:root{ --navy-deep:#101826; --navy-lift:#20304e; }

/* База больших темных полос: насыщенный navy, светлее в ядре, глубокий navy к краям */
.ires-approach,
.ires-session,
.ires-finalcta{
  background:radial-gradient(118% 130% at 50% 0%, var(--navy-lift) 0%, var(--navy) 44%, var(--navy-deep) 100%);
}
/* Hero: тот же богатый navy + теплый золотой блик у камертона (слева) */
.ires-hero{
  background:
    radial-gradient(42% 55% at 24% 42%, rgba(203,161,53,.12), transparent 60%),
    radial-gradient(130% 122% at 16% 36%, var(--navy-lift) 0%, var(--navy) 46%, var(--navy-deep) 100%);
}
/* Малые темные блоки (магнит, фичер-тариф, видео-слот) */
.ires-magnet,
.ires-plan--feature,
.ires-videoslot{
  background:linear-gradient(155deg, var(--navy-lift) 0%, var(--navy) 58%, var(--navy-deep) 100%);
}

/* Светотень: один ПРИГЛУШЕННЫЙ теплый золотой блик + темные navy-провалы по углам + мягкая виньетка.
   Темные провалы = #0B101C (navy к черному) – это и есть «темные источники света» по запросу Ивана. */
.ires-approach::before,
.ires-session::before,
.ires-finalcta::before,
.ires-magnet::before{
  background:
    radial-gradient(46% 56% at 20% 20%, rgba(203,161,53,.085), transparent 60%),
    radial-gradient(62% 72% at 102% 0%, rgba(11,16,28,.58), transparent 60%),
    radial-gradient(72% 82% at -2% 102%, rgba(11,16,28,.58), transparent 60%),
    radial-gradient(120% 96% at 50% 120%, rgba(11,16,28,.5), transparent 72%);
}

/* ==========================================================================
   HERO FLIP (решение Ивана 2026-06-21): текст СЛЕВА, визуал СПРАВА.
   Причина: F/Z-скан (рус., слева-направо) - первая фиксация верх-лево, туда
   ставим хук + H1 + CTA, а не декоративный камертон. Влияет на генерацию
   картинки: камертон зеркально (вилка справа, пусто слева) - см. design-system §7.
   ========================================================================== */
.ires-hero__in{ grid-template-columns:minmax(0,56fr) minmax(0,44fr); }
.ires-hero__content{ order:1; }
.ires-hero__art{ order:2; }
@media (max-width:900px){
  /* на мобильном: текст на всю ширину сверху (хук), камертон ниже */
  .ires-hero__in{ grid-template-columns:1fr; }
  .ires-hero__content{ order:1; }
  .ires-hero__art{ order:2; }
}

/* ==========================================================================
   НАМ ДОВЕРЯЮТ - лого-стена (после видео). Сейчас текстовые заглушки;
   resting приглушенный -> цвет/золото на hover. Под реальные логотипы:
   .ires-logo img{height:clamp(28px,4vw,44px);filter:grayscale(1);opacity:.7}
   .ires-logo:hover img{filter:none;opacity:1}
   ========================================================================== */
.ires-trustlogos{ text-align:center; padding-top:clamp(20px,2.5vw,32px); padding-bottom:clamp(8px,1.2vw,14px); }
.ires-trustlogos__title{
  font-family:var(--ff-head); font-weight:500; color:var(--navy);
  font-size:clamp(1.3rem,2.2vw,1.7rem); margin:0 0 12px !important;   /* !important: перебить margin <p> от Astra */
}
.ires-trustlogos__row{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:clamp(20px,3.5vw,48px);
}
.ires-trustlogos__note{ font-size:.95rem; color:var(--bronze); margin:8px auto 0 !important; max-width:60ch; }
/* зазор от лого-стены до следующего блока ("Для кого") вдвое меньше */
.ires-sec[aria-label="Для кого программа"]{ padding-top:clamp(30px,4vw,60px); }
.ires-logo{
  font-family:var(--ff-head); font-weight:600; letter-spacing:.01em;
  font-size:clamp(1.05rem,1.8vw,1.4rem); color:#5b6473;
  transition:color .22s ease, transform .22s ease;
}
.ires-logo:hover{ color:var(--gold); transform:translateY(-2px); }

/* ==========================================================================
   HERO с реальным фото-камертоном (kamerton-dark.webp, 2560px, 2K).
   Композиция уже зеркальная под F-флип: вилка справа, пусто/волны слева,
   текст слева (F-паттерн сохранен). Зеркалка в CSS больше НЕ нужна.
   ========================================================================== */
.ires-hero__bg{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  z-index:0;
}
.ires-hero__art{ display:none; }   /* SVG-камертон больше не нужен - он на фото */
.ires-hero::after{                 /* затемнение слева под читаемость текста */
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,
    rgba(11,16,28,.94) 0%, rgba(11,16,28,.80) 32%, rgba(11,16,28,.35) 58%, rgba(11,16,28,0) 80%);
}
.ires-hero__in{ position:relative; z-index:2; }
@media (max-width:900px){
  /* на мобильном текст во всю ширину поверх фото - равномерное затемнение */
  .ires-hero::after{ background:linear-gradient(180deg, rgba(11,16,28,.62), rgba(11,16,28,.84)); }
}

/* ==========================================================================
   АТМОСФЕРНЫЕ ФОНЫ СВЕТЛЫХ СЕКЦИЙ (тест, дозированно). Поверх картинки -
   плотный ivory-overlay (~84-90%), чтобы субъект был едва виден, а текст читался.
   Картинки уже web-ready WebP, метаданные срезаны.
   ========================================================================== */
.ires-sec[aria-label="Для кого программа"]{
  background-image:
    linear-gradient(rgba(247,243,236,.82), rgba(247,243,236,.9)),
    url(/wp-content/themes/iresonance/assets/images/bg-for-whom.webp);
  background-size:cover; background-position:center top;
  border-radius:var(--radius-lg); overflow:hidden;
}
.ires-sec[aria-label="Программа по модулям"]{
  background-image:
    linear-gradient(rgba(247,243,236,.85), rgba(247,243,236,.92)),
    url(/wp-content/themes/iresonance/assets/images/bg-program.webp);
  background-size:cover; background-position:center;
  border-radius:var(--radius-lg); overflow:hidden;
}
.ires-sec[aria-label="Документы об окончании"]{
  background-image:
    linear-gradient(rgba(247,243,236,.85), rgba(247,243,236,.92)),
    url(/wp-content/themes/iresonance/assets/images/bg-documents.webp);
  background-size:cover; background-position:center;
  border-radius:var(--radius-lg); overflow:hidden;
}

/* ==========================================================================
   "ДЛЯ КОГО" - вариант Ивана: цифра слева + заголовок справа от нее в одну
   строку; описание ниже во всю ширину ячейки. Scoped по aria-label,
   чтобы НЕ затронуть блок практики (обсуждается отдельно).
   ========================================================================== */
.ires-sec[aria-label="Для кого программа"] .ires-card{
  display:flex; flex-wrap:wrap; align-items:center; column-gap:16px;
}
.ires-sec[aria-label="Для кого программа"] .ires-card__icon{ margin-bottom:0; }
.ires-sec[aria-label="Для кого программа"] .ires-card h3{ flex:1 1 0; min-width:0; margin:0; }
.ires-sec[aria-label="Для кого программа"] .ires-card p{ flex-basis:100%; margin:14px 0 0; }

/* ==========================================================================
   СРАВНИТЕЛЬНАЯ ТАБЛИЦА НА ЛЕНДИНГЕ (.ires-ctable)
   На лендингах таблиц раньше не было – стиль есть только в blog.css и он
   scoped по .ires-article__body, сюда не достает. Разметка:
     <div class="ires-ctable"><table>...</table></div>
   ⚠️ ПРАВИЛО ПРОЕКТА: скругление – только на обертке (overflow+radius+
   translateZ(0)), никогда border-radius на голой <table>. См. style.css.
   На мобильном таблица не скроллится горизонтально, а переверстывается
   в карточки через data-label (как в blog.css).
   ========================================================================== */
.ires-ctable{
  overflow:hidden; border-radius:var(--radius-md);
  transform:translateZ(0);
  border:1px solid rgba(22,33,51,.10);
  margin:28px 0 0;
}
.ires-ctable table{
  width:100%; border-collapse:collapse; background:#fff;
  font-family:var(--ff-body); font-size:.96rem; line-height:1.55;
}
.ires-ctable th,
.ires-ctable td{
  padding:14px 18px; text-align:left; vertical-align:top;
  border-bottom:1px solid rgba(22,33,51,.08);
}
.ires-ctable thead th{
  background:var(--navy); color:var(--ivory);
  font-family:var(--ff-head); font-weight:600; font-size:1rem;
  border-bottom:none;
}
.ires-ctable tbody th{
  font-weight:600; color:var(--navy);
  background:rgba(212,197,169,.16); width:26%;
}
.ires-ctable tbody tr:last-child th,
.ires-ctable tbody tr:last-child td{ border-bottom:none; }

@media (max-width:640px){
  .ires-ctable thead{ position:absolute; left:-9999px; }
  .ires-ctable table,
  .ires-ctable tbody,
  .ires-ctable tr,
  .ires-ctable th,
  .ires-ctable td{ display:block; width:auto; }
  .ires-ctable tr{ border-bottom:1px solid rgba(22,33,51,.12); padding:6px 0 10px; }
  .ires-ctable tr:last-child{ border-bottom:none; }
  .ires-ctable tbody th{ background:none; padding-bottom:2px; font-size:1.02rem; }
  .ires-ctable td{ border-bottom:none; padding-top:6px; padding-bottom:6px; }
  .ires-ctable td::before{
    content:attr(data-label) ": ";
    display:block; font-weight:600; color:var(--bronze);
    font-size:.82rem; text-transform:uppercase; letter-spacing:.04em;
    margin-bottom:2px;
  }
}

/* ---------- Черновик-метка "нужно уточнить" (для ревью до финальной публикации) ----------
   Заметная на глаз, но не маскируется под финальный дизайн – явно сигнализирует "недоделано". */
.ires-todo{
  display:inline; background:#FFF3C4; color:#6B4E00; font-family:var(--ff-body);
  font-size:.92em; font-weight:600; padding:1px 6px; border-radius:4px;
  border:1px dashed #C9A227;
}

/* ---------- Карточка направления «в разработке» (главная, блок «Три направления»)
   Приглушена, но НЕ выключена: направление реально планируется, и кнопка листа
   ожидания в ней рабочая – это измерение спроса, а не заглушка. */
.ires-card--soon{ background:rgba(255,255,255,.55); border-style:dashed; box-shadow:none; }
.ires-card--soon h3{ color:var(--graphite); }
.ires-card__soon{
  display:inline-block; margin-bottom:14px; padding:3px 10px; border-radius:999px;
  background:rgba(203,161,53,.14); color:var(--bronze);
  font-family:var(--ff-body); font-size:.72rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase;
}
.ires-card__now{
  display:inline-block; margin-bottom:14px; padding:3px 10px; border-radius:999px;
  background:var(--gold); color:var(--night);
  font-family:var(--ff-body); font-size:.72rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase;
}

/* ---------- Лента свежих статей на главной (шорткод [ires_latest_posts]) ---------- */
.ires-latest{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; margin-top:34px; }
.ires-latest__item{
  background:#fff; border:1px solid rgba(139,105,20,.14); border-radius:var(--radius-lg);
  overflow:hidden; transform:translateZ(0); display:flex; flex-direction:column;
}
.ires-latest__cover{ display:block; aspect-ratio:16/9; overflow:hidden; background:var(--ivory); }
.ires-latest__cover img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:0; }
.ires-latest__body{ padding:20px 22px 22px; display:flex; flex-direction:column; gap:8px; }
.ires-latest__cat{ font-family:var(--ff-body); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--bronze); }
.ires-latest__item h3{ font-size:1.08rem; line-height:1.35; margin:0; }
.ires-latest__item h3 a{ color:var(--navy); text-decoration:none; }
.ires-latest__item h3 a:hover{ color:var(--bronze); }
