/* ============================================================
   МАТРИЦА — общий стиль лендингов услуг/обучения
   Используется: obuchenie-sotrudnikov-pultruziya.html, izgotovlenie-master-modeley.html,
   zapusk-proizvodstva-pultruzii.html, consulting-pultruziya.html, (частично) consulting-leonid.html
   ============================================================ */

#hero { background:var(--paper); padding:56px 0 48px; position:relative; overflow:hidden; }
.hero-label { font-family:'IBM Plex Mono',monospace; font-size:0.65rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent-dark); margin-bottom:16px; }
.hero-title { font-family:'IBM Plex Sans Condensed',sans-serif; font-size:clamp(2rem,4vw,2.8rem); font-weight:600; color:var(--navy); margin-bottom:16px; line-height:1.1; }
.hero-sub { font-size:1.02rem; color:var(--muted); max-width:620px; line-height:1.75; }

.price-block { background:var(--paper); border:0.5px solid var(--gray-mid); border-left:3px solid var(--accent); border-radius:2px; padding:28px 32px; }
.price-block__title { font-family:'IBM Plex Sans Condensed',sans-serif; font-size:1.1rem; font-weight:600; color:var(--navy); margin-bottom:12px; }
.price-block__text { font-size:0.92rem; color:var(--muted); line-height:1.75; margin:0; }

.crosslink { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:24px 28px; background:var(--white); border:0.5px solid var(--gray-mid); border-radius:2px; }
.crosslink__label { font-family:'IBM Plex Sans Condensed',sans-serif; font-size:0.75rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent-dark); margin-bottom:6px; }
.crosslink__text { font-size:0.92rem; color:var(--muted); margin:0; }
.crosslink__btn { flex-shrink:0; font-family:'IBM Plex Sans Condensed',sans-serif; font-size:0.88rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; background:var(--navy); color:#fff; text-decoration:none; padding:12px 22px; border-radius:2px; white-space:nowrap; transition:background .18s,color .18s; }
.crosslink__btn:hover { background:var(--accent); color:#0f1a12; }

#cta { background:var(--navy); padding:56px 0; }
.cta-label { font-family:'IBM Plex Mono',monospace; font-size:0.65rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.cta-title { font-family:'IBM Plex Sans Condensed',sans-serif; font-size:clamp(1.6rem,3.5vw,2.2rem); font-weight:600; color:#fff; margin-bottom:12px; }
.cta-sub { font-size:0.97rem; color:rgba(255,255,255,.65); margin-bottom:28px; line-height:1.7; }
.form-wrap { background:rgba(255,255,255,0.04); border:0.5px solid rgba(255,255,255,0.1); border-radius:4px; padding:32px; max-width:580px; }
@media(max-width:580px){.form-wrap{padding:24px 18px;}}
textarea.form-control { resize:vertical; min-height:86px; }

.m-group{margin-bottom:16px;}
.m-label{display:block;font-size:0.82rem;font-weight:500;margin-bottom:6px;color:var(--muted);}
.m-control{width:100%;border:1px solid var(--gray-mid);border-radius:2px;padding:10px 12px;font-size:0.95rem;font-family:inherit;background:var(--white);}
.m-control:focus{outline:none;border-color:var(--accent);}
.m-check{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px;font-size:0.82rem;color:var(--muted);}
.m-check input{margin-top:3px;flex-shrink:0;}
.m-submit{width:100%;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:0.9rem;letter-spacing:0.04em;text-transform:uppercase;background:var(--navy);color:var(--white);border:none;border-radius:0;padding:14px;cursor:pointer;transition:background .18s;}
.m-submit:hover{background:var(--accent);color:#0f1a12;}

.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px; }
@media(max-width:640px) { .steps-grid { grid-template-columns:1fr 1fr; } }
.step { border-top:2.5px solid var(--navy); padding-top:16px; }
.step__num { font-family:'IBM Plex Sans Condensed',sans-serif; font-size:1.4rem; font-weight:600; color:var(--navy); margin-bottom:8px; }
.step__title { font-family:'IBM Plex Sans Condensed',sans-serif; font-size:0.95rem; font-weight:600; color:var(--navy); margin-bottom:6px; }
.step__text { font-size:0.85rem; color:var(--muted); line-height:1.6; margin:0; }
