/* ScanLex — стили страницы /program.php. Общая часть — css/ui.css.
   Оформление намеренно совпадает с /free.php: те же hero по центру, стеклянные
   карточки и рамка скриншота. */

/* HERO — по центру, крупный скриншот под ним (как на /free.php) */
.hero{padding:60px 0 8px;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero h1{font-weight:600;font-size:clamp(28px,3.1vw,42px);line-height:1.1;letter-spacing:-.03em;
         max-width:900px;margin:22px 0 0}
.hero h1 .g{color:var(--accent)}
.hero .lead{font-size:18px;line-height:1.6;color:var(--mute);max-width:66ch;margin:18px 0 0}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:28px}
.btn-xl{font-size:18px;padding:19px 38px}
.shot{margin:40px auto 0;max-width:940px;width:100%;padding:12px;border-radius:22px;
      background:var(--glass);border:1px solid var(--glassb);
      box-shadow:0 34px 80px -38px rgba(16,20,26,.42),0 2px 6px -2px rgba(16,20,26,.12)}
.shot img{width:100%;height:auto;border-radius:14px;display:block;border:1px solid var(--line)}

/* Возможности: 7 карточек, последняя — во всю ширину ряда (иначе висела бы одна) */
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}
.features .card{padding:26px 24px 28px}
.features .card.wide{grid-column:1 / -1}
.features .ic{width:44px;height:44px;border-radius:12px;background:rgba(37,99,235,.10);
              color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.features h3{font-weight:600;font-size:17px;line-height:1.3;margin-bottom:8px}
.features p{margin:0;font-size:14.5px;line-height:1.55;color:var(--mute)}

/* Три шага */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}
.steps .card{padding:30px 26px 34px}
.steps .n{font-weight:600;font-size:44px;line-height:1;letter-spacing:-.04em;color:var(--accent);
          margin-bottom:22px}
.steps h3{font-weight:600;font-size:19px;line-height:1.25;margin-bottom:9px}
.steps p{margin:0;font-size:14.5px;line-height:1.6;color:var(--mute)}

/* Цены: два тарифа, второй выделен */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px;
       max-width:840px}
.plan{padding:30px;display:flex;flex-direction:column;position:relative}
.plan h3{font-weight:600;font-size:17px;line-height:1.3;margin-bottom:14px}
.plan .price{font-weight:600;font-size:38px;line-height:1.05;letter-spacing:-.035em}
.plan .price em{font-style:normal;font-size:15px;font-weight:400;letter-spacing:0;color:var(--mute);
                display:block;margin-top:8px}
.plan .sub{font-family:var(--mono);font-size:12.5px;line-height:1.5;color:var(--mute);margin-top:10px}
.plan ul{list-style:none;padding:0;margin:20px 0 26px;display:flex;flex-direction:column;gap:10px}
.plan li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.45;color:var(--mute)}
.plan li:before{content:"·";position:absolute;left:3px;top:-2px;color:var(--accent);
                font-weight:700;font-size:20px}
.plan .btn{width:100%;margin-top:auto}
.plan.best{background:rgba(255,255,255,.92);border:1.5px solid var(--accent);
           box-shadow:0 24px 56px -34px rgba(37,99,235,.7);
           box-shadow:0 24px 56px -34px color-mix(in oklab,var(--accent) 70%,transparent)}
.plan .flag{position:absolute;top:-12px;left:30px;font-weight:600;font-size:11.5px;letter-spacing:.04em;
            color:#fff;background:var(--accent);padding:6px 11px;border-radius:999px;white-space:nowrap}
.trial-band{margin:26px 0 0;max-width:74ch;font-size:15px;line-height:1.6;color:var(--mute)}
.trial-act{margin-top:18px}

/* Для юр. лиц: два тарифа (уже дороже физлиц) + компактная лид-форма заявки */
.legal-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px;
             max-width:840px}
/* Форма показывается ТОЛЬКО по кнопке «Оставить заявку» (она — ссылка на #legal-form).
   Раскрытие на :target — чистый CSS: работает без JS и по прямой ссылке с главной
   (/program.php#legal-form). Класс .open ставит PHP после отправки, чтобы ошибка и
   панель «заявка отправлена» не остались в скрытом блоке; JS его же добавляет по клику,
   чтобы форма не закрылась, если пользователь потом уйдёт по другому якорю. */
.legal-form{display:none}
.legal-form:target,.legal-form.open{display:block}
.formwrap{max-width:800px;margin:34px auto 0;padding:36px 38px;border-radius:26px;
          background:var(--glass);border:1px solid var(--glassb)}
.formwrap h2{font-weight:600;font-size:clamp(22px,2.2vw,28px);line-height:1.15;
             letter-spacing:-.02em;text-align:center;margin:0}
.formwrap .fsub{text-align:center;color:var(--mute);margin:12px 0 26px;font-size:15.5px;line-height:1.6}
form.lead{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.lead .full{grid-column:1 / -1}
form.lead label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px}
form.lead input,form.lead select,form.lead textarea{width:100%;padding:13px 15px;
      border-radius:12px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink)}
form.lead input:focus,form.lead select:focus,form.lead textarea:focus{outline:none;
      border-color:var(--accent)}
form.lead textarea{min-height:88px;resize:vertical}
form.lead .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form.lead .submit button{width:100%}
.formnote{text-align:center;font-size:13px;line-height:1.5;color:var(--mute);margin-top:16px}
.alert{border-radius:14px;padding:14px 18px;margin-bottom:20px;font-size:15px;line-height:1.5}
.alert.err{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B}
.ok-panel{max-width:800px;margin:34px auto 0;text-align:center;padding:44px 38px;border-radius:26px;
          background:var(--glass);border:1px solid var(--glassb)}
.ok-panel .ico{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;
               display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.ok-panel h2{font-weight:600;font-size:26px;letter-spacing:-.02em;margin-bottom:10px}
.ok-panel p{margin:0;font-size:16px;line-height:1.6;color:var(--mute)}

/* Тёмный блок приватности: тут в ячейках не цифры, а короткие утверждения */
.biz .stats b{font-size:16px;line-height:1.3;letter-spacing:-.01em}
.biz .stats span{margin-top:6px}

@media(max-width:1120px){
  .features{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .steps{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .plan.best{order:-1}
  .legal-plans{grid-template-columns:1fr}
}
@media(max-width:680px){
  .hero{padding-top:44px}
  .hero h1{max-width:none;font-size:clamp(26px,7vw,34px)}
  .hero .acts .btn{width:100%}
  .btn-xl{font-size:17px;padding:17px 20px}
  .features{grid-template-columns:1fr}
  .shot{padding:8px;border-radius:18px}
  .plan{padding:26px 22px}
  .formwrap,.ok-panel{padding:28px 22px;border-radius:22px}
  form.lead{grid-template-columns:1fr}
}
