/* Страница «Профориентация для взрослых» — /vzroslym/.
   Подключается ПОСЛЕ style.css и опирается на его токены и блоки:
   шапка, первый экран, «лист» результата, тёмный блок, форма —
   оттуда. Здесь только то, чего на главной нет, и подстройка
   общих блоков под эту страницу. */

/* скрыто от глаз, но читается скринридером */
.vz-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ── первый экран ─────────────────────────────────────────────
   Две колонки: текст и деловой портрет в рамке. Кегли на ступень
   ниже, чем у общего .hero: заголовок «Профориентация для взрослых»
   длиннее подросткового и на 62px занимал бы три строки. */
.hero--adult .hcols{grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr)}
.hero--adult h1{font-size:clamp(29px,3.25vw,47px);max-width:none}
.hero--adult h1 .h1-lead{font-size:clamp(33px,3.9vw,56px)}
.hero--adult .hero__media{max-width:500px}
/* Второе действие — ссылкой, а не второй кнопкой: две кнопки рядом
   спорили за взгляд, а на 1200–1300px вторая падала на новую строку. */
.hero--adult .hero__btns{column-gap:clamp(18px,2vw,30px)}
.hero__link{display:inline-flex;align-items:center;gap:8px;padding:6px 0;
  font-size:16.5px;font-weight:700;color:var(--ink);text-decoration:none;
  border-bottom:1.5px solid rgba(28,74,62,.24);transition:color .16s,border-color .16s}
.hero__link:hover{color:var(--accent-ink);border-bottom-color:var(--accent)}
.hero__link svg{width:15px;height:15px;transition:transform .18s}
.hero__link:hover svg{transform:translateY(2px)}
.hero--adult .hfacts{max-width:640px}
@media(max-width:900px){
  .hero--adult .hcols{grid-template-columns:1fr}
}

/* ── для кого ─────────────────────────────────────────────────
   Четыре узнавания карточками в две колонки. Блок на главной
   выложен перепиской, потому что там прямая речь родителей;
   здесь — описание во втором лице, и пузыри читались бы
   как подделанные цитаты. */
.pains__list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,1.6vw,22px);max-width:1180px}
.pain{display:flex;align-items:flex-start;gap:clamp(14px,1.4vw,20px);
  background:var(--card);border:1px solid var(--line);border-radius:22px;
  padding:clamp(22px,2vw,30px) clamp(22px,2.2vw,32px);
  box-shadow:0 2px 0 rgba(20,50,42,.03),0 22px 44px -40px rgba(20,50,42,.5);
  transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s,border-color .28s}
.pain:hover{transform:translateY(-3px);border-color:#C3D9CE;
  box-shadow:0 2px 0 rgba(20,50,42,.04),0 30px 56px -38px rgba(20,50,42,.55)}
/* Одна карточка заливкой — тот же приём, что во второй реплике
   на главной: четыре одинаковые белые плитки складываются в таблицу. */
.pain:nth-child(2){background:var(--accent-soft);border-color:#F0D6C4}
.pain:nth-child(2) .pain__ic{background:#fff;color:var(--accent-ink)}
.pain__ic{flex:none;display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:16px;background:var(--teal-soft);color:var(--teal)}
.pain__ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.pain__t{padding-top:3px;font-size:clamp(17.5px,1.4vw,20px);line-height:1.45;color:var(--ink2)}
.pain__t b{font-weight:800;letter-spacing:-.015em;color:var(--ink)}
@media(max-width:760px){.pains__list{grid-template-columns:1fr}}
@media(max-width:400px){.pain__ic{width:44px;height:44px;border-radius:14px}}

/* Подстановка профессии. Слово меняется на месте, пунктир снизу
   показывает, что это переменная, а не опечатка. Ширина меняется
   рывком — слово стоит в конце строки, и сдвигать там нечего. */
.rot{display:inline-block;white-space:nowrap;font-weight:700;color:var(--accent-ink);
  border-bottom:2px dashed rgba(188,82,39,.42);line-height:1.2}
.rot__w{display:inline-block}
.rot__w.is-out{animation:rotOut .26s cubic-bezier(.4,0,1,1) forwards}
.rot__w.is-in{animation:rotIn .38s cubic-bezier(.16,1,.3,1)}
@keyframes rotOut{to{opacity:0;transform:translateY(-.45em)}}
@keyframes rotIn{from{opacity:0;transform:translateY(.45em)}}

/* ── как проходит ─────────────────────────────────────────────
   overflow:clip, а не hidden: hidden делает секцию контейнером
   прокрутки, и прилипание левой колонки перестаёт работать. Строка
   с hidden остаётся запасной для браузеров без clip — там колонка
   просто не прилипнет. */
.prog{position:relative;overflow:hidden;overflow:clip;background:#F7FBF8}
.prog > .wrap{max-width:1400px;padding-left:clamp(22px,3vw,48px);padding-right:clamp(22px,3vw,48px)}
/* Колонки тянутся на всю высоту шагов (stretch): прилипающему блоку
   внутри левой колонки нужно место, по которому ехать. */
.prog__cols{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(40px,5.4vw,104px);align-items:stretch}
.prog__side .shead{margin-bottom:clamp(24px,2.4vw,34px)}
.prog__side .shead h2{font-size:clamp(30px,3.5vw,50px)}
.vz-nw{white-space:nowrap}
/* Прилипает схема с кнопкой — около 420px, влезает и в экран
   ноутбука высотой 700. Вся колонка (~760px) не влезала, и на
   1280×800 слева оставалась пустота во весь блок. */
@media(min-width:961px) and (min-height:600px){
  .prog__stick{position:sticky;top:96px}
}
.prog__cta{width:100%}
@media(max-width:960px){
  .prog__cols{grid-template-columns:1fr;gap:34px}
  .prog__cta{display:none}
}

/* Схема сужения выбора. Точки — роли: двенадцать в первом ряду,
   дальше часть гаснет, в последнем остаются целевая и запасная.
   Гаснут по очереди, когда схема доходит до кадра. */
.funnel{margin:0 0 24px;background:var(--card);border:1px solid var(--line);border-radius:22px;
  padding:clamp(18px,1.8vw,24px) clamp(20px,2vw,28px) clamp(8px,1vw,12px);
  box-shadow:0 2px 0 rgba(20,50,42,.03),0 26px 50px -44px rgba(20,50,42,.5)}
.funnel__t{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px}
/* Поля строки выносим за край отрицательным отступом: подсветка
   текущей строки должна идти от края до края карточки. */
.funnel__row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;
  margin:0 calc(-1 * clamp(10px,1vw,14px));padding:13px clamp(10px,1vw,14px);border-radius:14px;
  transition:background .3s}
.funnel__row + .funnel__row{border-top:1px dashed var(--line)}
/* Строка, чью встречу сейчас читают в списке справа. */
.funnel__row.is-cur{background:var(--teal-soft);border-top-color:transparent}
.funnel__row.is-cur + .funnel__row{border-top-color:transparent}
.funnel__row.is-cur .funnel__l b{color:var(--teal)}
.funnel__dots{display:grid;grid-template-columns:repeat(6,10px);gap:6px}
.funnel__dots i{display:block;width:10px;height:10px;border-radius:50%;background:var(--teal);
  transition:background .5s ease,box-shadow .5s ease,transform .5s ease;
  transition-delay:calc(.3s + var(--r,0) * .32s)}
.funnel__l b{display:block;font-size:16.5px;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--ink)}
.funnel__l span{display:block;font-size:14.5px;line-height:1.4;color:var(--muted);margin-top:2px}
/* До появления все точки «живые»: так отсев читается как движение. */
.funnel.is-in i.off{background:var(--line)}
.funnel.is-in i.t{background:var(--accent);transform:scale(1.35)}
.funnel.is-in i.b{background:#fff;box-shadow:inset 0 0 0 2.5px var(--teal);transform:scale(1.35)}
html:not(.js) .funnel i.off{background:var(--line)}
@media(max-width:400px){
  .funnel__dots{grid-template-columns:repeat(6,8px);gap:5px}
  .funnel__dots i{width:8px;height:8px}
  .funnel__row{gap:14px}
}

/* Шаги по встречам. Линия слева — дорожка и заливка поверх неё;
   заливку по прокрутке тянет js/vzroslym.js через --p, концы
   линии (--start/--end) он же ставит по центрам первого и
   последнего кружка. */
.tl{--pad:clamp(58px,5vw,72px);--node:46px;list-style:none;position:relative;display:grid;
  gap:clamp(14px,1.4vw,20px);padding-left:var(--pad)}
.tl::before,.tl::after{content:"";position:absolute;left:calc(var(--node) / 2 - 1.5px);width:3px;
  top:var(--start,47px);bottom:var(--end,47px);border-radius:3px}
.tl::before{background:var(--line)}
.tl::after{background:linear-gradient(180deg,var(--accent),#2E7D63 45%,var(--teal));
  transform-origin:top;transform:scaleY(var(--p,0))}
html:not(.js) .tl::after{transform:none}

.tl__i{position:relative}
.tl__n{position:absolute;z-index:1;left:calc(-1 * var(--pad));top:24px;width:var(--node);height:var(--node);
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:#fff;border:2px solid var(--line);font-size:17px;font-weight:800;color:var(--muted);
  transition:background .35s,border-color .35s,color .35s,box-shadow .35s}
.tl__n svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.tl__i.is-on .tl__n{background:var(--teal);border-color:var(--teal);color:#fff;
  box-shadow:0 0 0 6px rgba(31,107,87,.12)}
.tl__i:first-child.is-on .tl__n,
.tl__i--check.is-on .tl__n{background:var(--accent);border-color:var(--accent);
  box-shadow:0 0 0 6px rgba(188,82,39,.14)}
html:not(.js) .tl__n{background:var(--teal);border-color:var(--teal);color:#fff}

.tl__c{background:var(--card);border-radius:20px;padding:clamp(20px,1.8vw,26px) clamp(22px,2.2vw,32px);
  box-shadow:0 2px 0 rgba(20,50,42,.04),0 30px 60px -48px rgba(20,50,42,.55);
  transition:box-shadow .3s}
.tl__c:hover{box-shadow:0 2px 0 rgba(20,50,42,.05),0 40px 70px -44px rgba(20,50,42,.6)}
/* Подпись встречи — тем же приёмом, что «Этап 1» в карточках главной. */
.tl__step{display:flex;align-items:center;gap:8px;margin-bottom:8px;
  font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.tl__step::before{content:"";flex:none;width:15px;height:15px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 4 32 32'%3E%3Cg fill='none' stroke='%231F6B57' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M16 28 V21'/%3E%3Cpath d='M16 21 L9.5 15'/%3E%3Cpath d='M13 18.2 L11.8 11.8'/%3E%3Cpath d='M9.5 15 L5.4 11.2'/%3E%3Cpath d='M16 21 L22.5 15'/%3E%3Cpath d='M19 18.2 L20.2 11.8'/%3E%3Cpath d='M22.5 15 L26.6 11.2'/%3E%3C/g%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;background-position:center}
.tl__c h3{font-size:clamp(19px,1.65vw,23px);letter-spacing:-.025em;line-height:1.2;margin-bottom:8px}
.tl__c p{font-size:16.5px;line-height:1.55;color:var(--ink2)}
.tl__out{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:15.5px!important}
.tl__out b{font-weight:700;color:var(--teal)}

/* Диагностика и план — начало и конец программы, оба в тёплом
   цвете; между ними рабочие встречи в зелёном. */
.tl__i:first-child .tl__step,.tl__i--final .tl__step{color:var(--accent-ink)}
.tl__i:first-child .tl__step::before,.tl__i--final .tl__step::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 4 32 32'%3E%3Cg fill='none' stroke='%23A8431A' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M16 28 V21'/%3E%3Cpath d='M16 21 L9.5 15'/%3E%3Cpath d='M13 18.2 L11.8 11.8'/%3E%3Cpath d='M9.5 15 L5.4 11.2'/%3E%3Cpath d='M16 21 L22.5 15'/%3E%3Cpath d='M19 18.2 L20.2 11.8'/%3E%3Cpath d='M22.5 15 L26.6 11.2'/%3E%3C/g%3E%3C/svg%3E")}
.tl__i--final .tl__c{box-shadow:inset 0 0 0 1.5px rgba(188,82,39,.32),0 30px 60px -44px rgba(188,82,39,.5)}
.tl__i--final .tl__out b{color:var(--accent-ink)}

/* Контрольная точка — уже после программы, поэтому карточка
   пунктиром, а над кружком отбивка «+30 дней». */
.tl__i--check{margin-top:clamp(22px,2.6vw,34px)}
.tl__i--check .tl__c{background:rgba(255,255,255,.5);box-shadow:none;
  border:1.5px dashed rgba(31,107,87,.38)}
.tl__i--check .tl__step{color:var(--accent-ink)}
.tl__i--check::before{content:"+30 дней";position:absolute;z-index:2;
  left:calc(-1 * var(--pad) - 10px);width:calc(var(--node) + 20px);top:calc(-1 * clamp(22px,2.6vw,34px) - 6px);
  text-align:center;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--accent-ink);
  background:#F7FBF8;padding:3px 0}
.tl__more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;
  font-size:15px;font-weight:700;color:var(--accent-ink);text-decoration:none;
  padding:6px 12px;border-radius:100px;background:var(--accent-soft);border:1px solid var(--accent-soft);
  transition:background .16s,border-color .16s}
.tl__more svg{width:14px;height:14px;transition:transform .18s}
.tl__more:hover{background:#F7DCC9;border-color:#F1CBB0}
.tl__more:hover svg{transform:translateX(2px)}

@media(max-width:640px){
  .tl{--pad:50px;--node:38px}
  .tl__n{top:20px;font-size:15px}
  .tl__n svg{width:19px;height:19px}
  .tl::before,.tl::after{top:var(--start,39px);bottom:var(--end,39px)}
  .tl__c{padding:18px 18px 20px}
  .tl__c p{font-size:16.5px}
  .tl__more{padding-top:11px;padding-bottom:11px}
}

/* ── правила работы ───────────────────────────────────────────
   Тёмный блок с главной (.honest). Два правила рядом, между ними
   та же тонкая линия, что делит колонки в «Других способах». */
/* Ширину держит сам заголовок: ch у .shead считается от кегля
   абзаца (17px), и 30ch там — это 290px, заголовок ломался
   на пять строк. */
.rules .shead{max-width:none}
.rules .shead h2{font-size:clamp(28px,3.7vw,52px);max-width:24ch}
.rules__list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(228,240,234,.18);border-bottom:1px solid rgba(228,240,234,.18)}
.rule{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,1.8vw,28px);
  padding:clamp(26px,2.8vw,42px) clamp(20px,3vw,56px) clamp(26px,2.8vw,42px) 0}
.rule + .rule{border-left:1px solid rgba(228,240,234,.18);padding-left:clamp(24px,3vw,56px)}
/* Номер контуром: заливкой он спорил бы с белым заголовком правила. */
/* Ширина номера фиксирована: каждое правило — своя сетка, и «02»
   шире «01» — текст второго правила съезжал вправо. */
.rule__n{min-width:1.2em;font-size:clamp(38px,3.6vw,54px);font-weight:800;line-height:.9;letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;color:transparent;-webkit-text-stroke:1.4px #8FD8B8}
.rule__t{font-size:clamp(20px,1.9vw,27px);line-height:1.2;letter-spacing:-.028em;color:#fff;margin-bottom:10px}
.rule__p{font-size:17.5px;line-height:1.55;color:rgba(228,240,234,.9)}
@media(max-width:860px){
  .rules__list{grid-template-columns:1fr}
  .rule{padding:24px 0}
  .rule + .rule{border-left:0;border-top:1px solid rgba(228,240,234,.18);padding-left:0}
}

/* ── что на выходе ────────────────────────────────────────────
   Лист с главной, но разделы рядом, а не друг под другом: пунктов
   шесть, и в одну колонку лист вытягивался на два экрана. */
.result{position:relative;overflow:hidden;padding-top:clamp(78px,8vw,140px)}
.result > .wrap{max-width:1260px}
.paper__h .paper__tag{margin-left:auto;padding:5px 12px;border-radius:100px;
  background:var(--accent-soft);color:var(--accent-ink);
  font-size:13.5px;letter-spacing:.02em;text-transform:none}
.paper__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.paper__cols > .oc:first-child{padding-right:clamp(24px,3.4vw,56px)}
/* разделитель — тот же пунктир, что .paper__split, только вертикальный */
.paper__cols > .oc + .oc{padding-left:clamp(24px,3.4vw,56px);
  background-image:linear-gradient(180deg,var(--line) 0 8px,transparent 8px 16px);
  background-size:1px 16px;background-repeat:repeat-y;background-position:left top}
@media(max-width:900px){
  .paper__cols{grid-template-columns:1fr}
  .paper__cols > .oc:first-child{padding-right:0;padding-bottom:26px}
  .paper__cols > .oc + .oc{padding-left:0;padding-top:26px;
    background-image:linear-gradient(90deg,var(--line) 0 8px,transparent 8px 16px);
    background-size:16px 1px;background-repeat:repeat-x}
  .paper__h{flex-wrap:wrap;row-gap:8px}
}
/* Когда плашка падает на вторую строку, у левого края ей место:
   прижатая вправо, она висела отдельно от подписи. */
@media(max-width:560px){.paper__h .paper__tag{margin-left:0}}

/* ── как это окупится ─────────────────────────────────────────
   Коромысло весов: слева консультация, справа цена ошибки. Когда
   блок доходит до кадра, перекладина наклоняется в сторону ошибки,
   чаши расходятся по высоте. Цифр нет намеренно — цену называют
   на диагностической встрече, а выдумывать «стоимость ошибки»
   нельзя. */
.payoff{position:relative;overflow:hidden}
/* Перекладина идёт от центра одной чаши до центра другой, чаши
   висят на подвесах. Смещение чаш (±12px) подобрано под наклон
   2.6° на ширине блока 900–1080px: конец перекладины уходит на
   11–13px. Подвес заходит под перекладину на пару пикселей
   с запасом, поэтому стык не расходится и на краях диапазона. */
.scale{--g:clamp(18px,3vw,56px);--pt:clamp(60px,5.4vw,78px);
  position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--g);max-width:1080px;margin:0 auto clamp(40px,4.4vw,70px);padding-top:var(--pt)}
/* стойка под осью */
.scale::before{content:"";position:absolute;left:50%;top:26px;width:2px;height:calc(var(--pt) - 6px);
  margin-left:-1px;background:rgba(28,74,62,.28)}
.scale__beam{position:absolute;z-index:2;top:22px;height:4px;border-radius:4px;
  left:calc((100% - var(--g)) / 4);right:calc((100% - var(--g)) / 4);
  background:var(--ink);transition:transform 1.6s cubic-bezier(.34,1.3,.5,1) .25s}
.scale__pivot{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;
  border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--paper)}
.scale__side{position:relative;background:var(--card);border:1px solid var(--line);border-radius:24px;
  padding:clamp(24px,2.6vw,40px);
  box-shadow:0 2px 0 rgba(20,50,42,.03),0 30px 56px -44px rgba(20,50,42,.5);
  transition:transform 1.6s cubic-bezier(.34,1.3,.5,1) .25s}
/* подвес */
.scale__side::before{content:"";position:absolute;left:50%;bottom:100%;width:2px;margin-left:-1px;
  height:calc(var(--pt) - 20px);background:rgba(28,74,62,.35)}
.scale__side--heavy{background:var(--ink);border-color:var(--ink);color:#E4F0EA;
  box-shadow:0 46px 84px -50px rgba(20,50,42,.75)}
.scale.is-in .scale__beam{transform:rotate(2.6deg)}
.scale.is-in .scale__side:not(.scale__side--heavy){transform:translateY(-12px)}
.scale.is-in .scale__side--heavy{transform:translateY(12px)}
/* У .reveal свой transform; для весов его отменяем, иначе
   появление снизу перебивает наклон. */
.js .scale.reveal{transform:none}
.scale__lt{display:block;margin-bottom:12px;font-size:13px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--teal)}
.scale__side--heavy .scale__lt{color:#F2A983}
.scale__big{display:block;margin-bottom:12px;font-size:clamp(34px,3.8vw,54px);font-weight:800;
  line-height:1;letter-spacing:-.045em;color:var(--ink)}
.scale__side--heavy .scale__big{color:#fff}
.scale__d{display:block;font-size:17px;line-height:1.5;color:var(--ink2)}
.scale__side--heavy .scale__d{color:rgba(228,240,234,.9)}
.payoff .bigquote{margin-bottom:clamp(28px,3vw,44px)}
.payoff__cta{display:flex;justify-content:center}
@media(max-width:760px){
  .scale{grid-template-columns:1fr;padding-top:0;gap:14px}
  .scale::before,.scale__beam,.scale__side::before{display:none}
  .scale.is-in .scale__side,.scale.is-in .scale__side--heavy{transform:none}
}
@media(max-width:640px){.payoff__cta .btn{width:100%}}
@media (prefers-reduced-motion:reduce){
  .scale__beam,.scale__side{transition:none}
}

/* ── контрольная точка ────────────────────────────────────────
   Раскладка «Родителям» с главной; слева под текстом — листок
   календаря. Без наклона: повёрнутый текст рендерится мыльно,
   см. комментарий у .pill-fire в style.css. */
.kontrol h2{font-size:clamp(30px,3.6vw,50px)}
.kdate{display:inline-flex;flex-direction:column;align-items:center;min-width:180px;margin-top:30px;
  background:var(--card);border-radius:20px;overflow:hidden;
  box-shadow:0 2px 0 rgba(20,50,42,.04),0 30px 60px -40px rgba(20,50,42,.55)}
.kdate__top{align-self:stretch;padding:9px 0;text-align:center;background:var(--accent);color:#fff;
  font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.kdate__n{margin-top:12px;font-size:72px;font-weight:800;line-height:1;letter-spacing:-.05em;color:var(--ink)}
.kdate__u{margin-top:2px;font-size:15px;font-weight:600;color:var(--muted)}
.kdate__bot{align-self:stretch;margin-top:14px;padding:10px 0;text-align:center;
  border-top:1px dashed var(--line);font-size:14.5px;font-weight:700;color:var(--teal)}
@media(max-width:900px){.kdate{display:none}}

/* ── форма ── */
.fdur{margin-top:-6px;font-size:14.5px;line-height:1.45;color:var(--muted);text-align:center}
@media(max-width:640px){.fdur{font-size:15px}}
/* Заголовок здесь — вопрос из ТЗ, он длиннее «Записаться на встречу»
   и на общем кегле шёл в четыре строки. */
.page-adult .formsec h2{font-size:clamp(28px,3.4vw,46px)}
