.offer-page { overflow:auto; background:var(--ink); color:var(--paper); }
.offer-page main { padding-top:92px; }
.offer-page .site-header { background:rgba(9,9,9,.9); }
.desktop-nav a[aria-current="page"] { color:var(--pink); }

.offer-hero { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr); gap:clamp(48px,8vw,120px); align-items:end; min-height:68svh; padding-top:clamp(90px,14vw,170px); padding-bottom:clamp(64px,9vw,110px); }
.offer-hero .display { margin:24px 0 0; font-size:clamp(72px,10vw,148px); line-height:.78; }
.offer-hero__aside { padding:28px 0 8px; border-top:1px solid var(--line); }
.offer-hero__aside > p { margin:0 0 32px; color:var(--muted); font-size:clamp(17px,1.6vw,21px); line-height:1.55; }
.prototype-flag { display:flex; gap:12px; align-items:flex-start; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; line-height:1.4; text-transform:uppercase; }
.prototype-flag i { flex:0 0 auto; width:9px; height:9px; margin-top:3px; background:var(--pink); box-shadow:3px 3px 0 rgba(255,10,120,.22); }
.offer-section { padding-top:clamp(72px,10vw,128px); padding-bottom:clamp(72px,10vw,128px); }
.offer-section--dark { border-block:1px solid var(--line); background:#111; }
.choice-head { display:grid; grid-template-columns:1fr minmax(280px,.65fr); gap:48px; align-items:end; }
.choice-head h2 { max-width:760px; margin:22px 0 0; font-family:var(--display); font-size:clamp(40px,5vw,72px); line-height:.9; }
.choice-head > p { margin:0; padding-left:22px; border-left:3px solid var(--pink); color:#d7d7d7; font-size:18px; }
.segmented { display:grid; grid-template-columns:repeat(4,1fr); margin-top:44px; border:1px solid #424242; }
.segmented button { min-height:62px; padding:12px 18px; border:0; border-right:1px solid #424242; background:transparent; color:#aaa; font:800 17px/1 var(--display); letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
.segmented button:last-child { border-right:0; }
.segmented button:hover, .segmented button:focus-visible { color:#fff; background:#202020; }
.segmented button[aria-pressed="true"] { background:var(--pink-fill); color:#fff; }
.offer-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:44px; }
.offer-heading .display { margin:20px 0 0; font-size:clamp(64px,8vw,112px); line-height:.8; }
.plan-grid { display:grid; grid-template-columns:repeat(var(--plan-cols,4),minmax(0,1fr)); border:1px solid var(--line); }
.plan-card { position:relative; display:flex; min-height:600px; padding:28px; flex-direction:column; border-right:1px solid var(--line); background:#0d0d0d; transition:transform .22s ease,background .22s ease,box-shadow .22s ease; }
.plan-card:last-child { border-right:0; }
.plan-card.is-recommended { z-index:1; background:#181818; box-shadow:inset 0 5px 0 var(--pink),8px 8px 0 rgba(255,10,120,.28); transform:translateY(-8px); }
.plan-card__badge { display:none; position:absolute; top:0; right:0; margin:0; padding:7px 10px; background:var(--pink-fill); color:#fff; font:800 12px/1 var(--display); letter-spacing:.08em; text-transform:uppercase; }
.plan-card.is-recommended .plan-card__badge { display:block; }
.plan-card__eyebrow { margin:0 0 18px; color:var(--pink); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.plan-card h3 { margin:0; font:900 clamp(34px,3vw,48px)/.92 var(--display); }
.plan-card__price { display:flex; gap:10px; align-items:end; margin:42px 0 36px; }
.plan-card__price strong { font:900 clamp(64px,6vw,92px)/.75 var(--display); letter-spacing:-.04em; }
.plan-card__price span { color:#ddd; font-weight:700; line-height:1; }
.plan-card__price small { color:var(--muted); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.plan-card ul { display:grid; gap:14px; margin:0 0 34px; padding:24px 0 0; border-top:1px solid var(--line); list-style:none; }
.plan-card li { position:relative; padding-left:18px; color:var(--paper-2); font-size:14px; line-height:1.45; }
.plan-card li::before { content:'×'; position:absolute; left:0; color:var(--pink); font-weight:900; }
.plan-card .button { width:100%; margin-top:auto; }
.prototype-note { max-width:900px; margin:28px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.offer-section--pink { background:var(--pink-fill); color:#fff; }
.offer-section--pink .section-kicker { color:#fff; }
.offer-section--pink .section-kicker::before { background:#fff; }
.coach-strip { display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(50px,9vw,130px); align-items:end; }
.coach-strip .display { margin:22px 0 0; font-size:clamp(70px,9vw,130px); line-height:.78; }
.coach-strip > div:last-child p { margin:0 0 30px; font-size:clamp(17px,1.7vw,22px); line-height:1.55; }
.button--ink { border-color:#090909; background:#090909; color:#fff; }
.offer-cta { padding-top:clamp(90px,12vw,150px); padding-bottom:clamp(90px,12vw,150px); }
.offer-cta h2 { max-width:1020px; margin:28px 0 42px; font:900 clamp(58px,8vw,112px)/.82 var(--display); }
.offer-cta h2 em { color:var(--pink); }

.schedule-browser { padding:58px 0 clamp(90px,12vw,150px); border-top:1px solid var(--line); background:#101010; }
.schedule-toolbar { display:grid; gap:36px; }
.segmented--weeks { grid-template-columns:repeat(2,minmax(150px,240px)); margin:0; justify-content:start; border-color:#444; }
.filter-groups { display:flex; gap:44px; justify-content:space-between; align-items:end; padding:26px 0; border-block:1px solid var(--line); }
.filter-groups fieldset { min-width:0; margin:0; padding:0; border:0; }
.filter-groups legend { margin-bottom:12px; color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.filter-row { display:flex; gap:8px; flex-wrap:wrap; }
.filter-row button { min-height:44px; padding:8px 14px; border:1px solid #444; background:transparent; color:#aaa; font:800 13px/1 var(--display); letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
.filter-row button:hover, .filter-row button:focus-visible { border-color:#aaa; color:#fff; }
.filter-row button[aria-pressed="true"] { border-color:var(--pink-fill); background:var(--pink-fill); color:#fff; }
.schedule-count { margin:28px 0 18px; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.schedule-count strong { color:var(--paper); }
.week-grid { display:grid; grid-template-columns:repeat(var(--day-cols,6),minmax(170px,1fr)); border:1px solid var(--line); }
.day-column { min-width:0; border-right:1px solid var(--line); }
.day-column:last-child { border-right:0; }
.day-column > header { display:flex; align-items:baseline; justify-content:space-between; min-height:58px; padding:16px; border-bottom:1px solid var(--line); background:#0a0a0a; }
.day-column > header span { font:900 22px/1 var(--display); text-transform:uppercase; }
.day-column > header small { color:var(--muted); font-size:12px; }
.day-sessions { display:grid; align-content:start; }
.session-card { min-height:188px; padding:16px; border-bottom:1px solid var(--line); background:#111; }
.session-card:last-child { border-bottom:0; }
.session-card[hidden], .day-column[hidden] { display:none; }
.session-card__top, .session-card__foot { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.session-card time { font:900 24px/1 var(--display); }
.session-card__top > span { color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.session-card--last .session-card__top > span { color:#ffd25f; }
.session-card--full .session-card__top > span { color:#ff6e6e; }
.session-card h3 { margin:25px 0 7px; font:900 20px/.95 var(--display); text-transform:uppercase; }
.session-card > p { margin:0; color:var(--muted); font-size:12px; }
.session-card__foot { margin-top:26px; padding-top:12px; border-top:1px solid #262626; color:var(--muted); font-size:12px; }
.session-card__foot b { color:#ddd; }
.session-card__foot a { display:inline-flex; align-items:center; min-height:44px; padding-inline:4px; margin-right:-4px; color:var(--pink); font-weight:800; text-transform:uppercase; }
.session-card--full .session-card__foot > span:last-child { color:#ff6e6e; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
/* Sample timetable (CRM unreachable or empty): no invented free-place counts. */
.is-sample .session-card__top > span, .is-sample .session-card__foot > span:first-child { visibility:hidden; }
.schedule-empty { padding:80px 20px; border:1px solid var(--line); text-align:center; }
.schedule-empty strong { font:900 36px/1 var(--display); }
.schedule-empty p { color:var(--muted); }

/* ---------- Readability (2026-10-29) ----------
   Small and mid-size type on these pages is working text, not a poster: weight 800 instead of 900,
   no negative tracking, real line height, tabular digits for prices and times, and controls in the
   text face in sentence case (condensed all-caps at 13–17px reads poorly, especially in Cyrillic). */
.segmented button { font:600 16px/1.2 var(--body); letter-spacing:0; text-transform:none; color:var(--paper-2); }
.segmented button[aria-pressed="true"] { font-weight:700; }
.filter-row button { padding:8px 16px; font:600 14px/1.2 var(--body); letter-spacing:0; text-transform:none; color:var(--paper-2); }
.filter-row button[aria-pressed="true"] { font-weight:700; }
.segmented button:hover, .segmented button:focus-visible, .filter-row button:hover, .filter-row button:focus-visible { color:var(--paper); }
.plan-card h3 { font-weight:800; line-height:1; letter-spacing:0; }
.plan-card__price strong { font-weight:800; line-height:.85; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.plan-card li { font-size:15px; line-height:1.5; }
.plan-card__eyebrow { font-size:12px; }
.day-column > header span { font-weight:800; letter-spacing:.02em; }
.session-card time { font-size:26px; font-weight:800; letter-spacing:.01em; font-variant-numeric:tabular-nums; }
.session-card h3 { margin:22px 0 8px; font-size:21px; font-weight:800; line-height:1.1; letter-spacing:.01em; }
.session-card > p { font-size:13px; line-height:1.45; color:var(--paper-2); }
.session-card__foot { font-size:13px; }
.choice-head > p { line-height:1.5; }

[data-theme="light"] .offer-page { background:#f2f0ea; color:#111; }
[data-theme="light"] .offer-page .site-header { background:rgba(242,240,234,.92); }
[data-theme="light"] .offer-section--dark, [data-theme="light"] .schedule-browser { background:#e5e2da; }
[data-theme="light"] .choice-head > p, [data-theme="light"] .plan-card__price span { color:#333; }
[data-theme="light"] .segmented, [data-theme="light"] .segmented button, [data-theme="light"] .filter-row button { border-color:rgba(0,0,0,.24); }
[data-theme="light"] .segmented button, [data-theme="light"] .filter-row button { color:#2b2a27; }
[data-theme="light"] .segmented button[aria-pressed="true"], [data-theme="light"] .filter-row button[aria-pressed="true"] { color:#fff; }
[data-theme="light"] .plan-card, [data-theme="light"] .day-column > header, [data-theme="light"] .session-card { background:#f7f4ee; }
[data-theme="light"] .plan-card.is-recommended { background:#fff; }
[data-theme="light"] .week-grid, [data-theme="light"] .plan-grid, [data-theme="light"] .day-column, [data-theme="light"] .session-card, [data-theme="light"] .day-column > header { border-color:rgba(0,0,0,.18); }
[data-theme="light"] .session-card__foot { border-color:rgba(0,0,0,.12); }
[data-theme="light"] .session-card__foot b, [data-theme="light"] .schedule-count strong { color:#111; }
[data-theme="light"] .choice-head > p { color:#333; }
[data-theme="light"] .session-card--last .session-card__top > span { color:#8a5a00; }
[data-theme="light"] .session-card--full .session-card__top > span, [data-theme="light"] .session-card--full .session-card__foot > span:last-child { color:#b40036; }
[data-theme="light"] .session-card__foot a, [data-theme="light"] .plan-card__eyebrow, [data-theme="light"] .desktop-nav a[aria-current="page"] { color:#c8005a; }

@media (max-width:1100px) {
  .plan-grid { grid-template-columns:repeat(2,1fr); }
  .plan-card { min-height:540px; border-bottom:1px solid var(--line); }
  .plan-card:nth-child(2) { border-right:0; }
  .week-grid { overflow-x:auto; grid-template-columns:repeat(var(--day-cols,6),200px); }
}
@media (max-width:760px) {
  .offer-page main { padding-top:72px; }
  .offer-hero, .choice-head, .coach-strip { grid-template-columns:1fr; }
  .offer-hero { min-height:auto; padding-top:88px; }
  .offer-hero .display { font-size:clamp(64px,18vw,96px); }
  .choice-head { gap:28px; }
  .segmented { grid-template-columns:repeat(2,1fr); }
  .segmented button:nth-child(2) { border-right:0; }
  .segmented button:nth-child(-n+2) { border-bottom:1px solid #424242; }
  .plan-grid { grid-template-columns:1fr; }
  .plan-card { min-height:500px; border-right:0; }
  .plan-card.is-recommended { transform:none; }
  .filter-groups { align-items:start; flex-direction:column; }
  .week-grid { display:block; overflow:visible; border:0; }
  .day-column { margin-bottom:18px; border:1px solid var(--line); }
  .session-card { min-height:0; }
  .coach-strip .display { font-size:clamp(62px,17vw,88px); }
}
.offer-section .coach-grid { margin-top:0; }
