/* NarmCare — публичная часть сайта. */
:root{
  --brand:#0f9d76; --brand-dark:#0a7d5c; --brand-soft:#e8f6f1; --brand-deep:#0b6b52;
  --ink:#111c1a; --body:#4a5c58; --muted:#7b8d89; --line:#e6ecea; --bg:#ffffff; --soft:#f6faf8;
  --radius:14px;
  --shadow:0 1px 2px rgba(17,28,26,.04), 0 12px 32px rgba(17,28,26,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px; line-height:1.6;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
.wrap{max-width:1240px; margin:0 auto; padding:0 24px}

/* --- Шапка --- */
header.site{
  position:sticky; top:0; z-index:40; background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; gap:30px; height:76px}
.brand{display:flex; align-items:center; gap:11px}
.brand-mark{
  width:42px; height:42px; border-radius:12px; background:var(--brand-soft);
  display:grid; place-items:center; color:var(--brand); flex:none;
}
.brand b{display:block; font-size:19px; letter-spacing:-.01em; color:var(--brand-dark)}
.brand span{display:block; font-size:11.5px; color:var(--muted); margin-top:-2px}
.menu{display:flex; gap:26px; margin-left:18px}
.menu a{font-size:14.5px; color:var(--body); font-weight:500}
.menu a:hover, .menu a.active{color:var(--brand-dark)}
.nav-right{margin-left:auto; display:flex; align-items:center; gap:14px}
.phone{display:flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; white-space:nowrap}
.phone svg{color:var(--brand)}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:12px 22px; border-radius:11px; border:0; cursor:pointer;
  font-family:inherit; font-size:14.5px; font-weight:600; white-space:nowrap;
  background:var(--brand); color:#fff; transition:background .15s;
}
.btn:hover{background:var(--brand-dark)}
.btn.outline{background:#fff; color:var(--brand-dark); border:1.5px solid var(--brand)}
.btn.outline:hover{background:var(--brand-soft)}
.btn.ghost{background:#fff; color:var(--body); border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--brand); color:var(--brand-dark)}
.btn.lg{padding:15px 28px; font-size:15.5px}
.btn:disabled{opacity:.6; cursor:not-allowed}

.burger{display:none; background:none; border:0; padding:8px; cursor:pointer; color:var(--ink)}

/* --- Первый экран --- */
.hero{display:grid; grid-template-columns:1fr 1.02fr; gap:52px; align-items:center; padding:60px 0 54px}
.pill{
  display:inline-flex; align-items:center; gap:9px; background:var(--brand-soft);
  color:var(--brand-dark); font-size:13.5px; font-weight:600;
  padding:9px 16px; border-radius:999px; margin-bottom:26px;
}
.hero h1{
  font-size:clamp(32px,4.4vw,50px); line-height:1.12; margin:0 0 20px;
  letter-spacing:-.025em; text-wrap:balance;
}
.hero p.lede{font-size:17px; color:var(--body); margin:0 0 30px; max-width:52ch}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px}
.hero-media{
  border-radius:22px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3;
  background:linear-gradient(140deg,var(--brand-soft) 0%,#d7ede5 55%,#eef7f4 100%);
  display:grid; place-items:center; position:relative;
}
.hero-media img{width:100%; height:100%; object-fit:cover}
.media-fallback{text-align:center; color:var(--brand-dark); padding:26px}
.media-fallback svg{opacity:.55; margin-bottom:10px}
.media-fallback span{font-size:13.5px; display:block; opacity:.75}

.advantages{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.adv{display:flex; gap:11px; align-items:flex-start}
.adv-icon{
  width:38px; height:38px; border-radius:10px; background:var(--brand-soft); color:var(--brand);
  display:grid; place-items:center; flex:none;
}
.adv b{display:block; font-size:13.5px; line-height:1.3}
.adv span{font-size:12.5px; color:var(--muted); line-height:1.4}

/* --- Секции --- */
section{padding:64px 0}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:32px}
.section-head h2{font-size:clamp(24px,3vw,32px); margin:0; letter-spacing:-.02em; text-wrap:balance}
.section-head p{margin:8px 0 0; color:var(--body); font-size:15.5px}
.link-more{color:var(--brand-dark); font-weight:600; font-size:14.5px; white-space:nowrap}
.link-more:hover{text-decoration:underline}
.center{text-align:center}
.center .section-head{flex-direction:column; align-items:center; text-align:center}

/* --- Курсы --- */
.courses{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:22px}
.course{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  display:flex; flex-direction:column; transition:box-shadow .18s, transform .18s;
}
.course:hover{box-shadow:var(--shadow); transform:translateY(-2px)}
.course-media{
  aspect-ratio:16/10; background:linear-gradient(135deg,var(--brand-soft),#dcefe8);
  position:relative; display:grid; place-items:center;
}
.course-media img{width:100%; height:100%; object-fit:cover}
.course-badge{
  position:absolute; left:14px; bottom:-18px; width:38px; height:38px; border-radius:11px;
  background:#fff; color:var(--brand); display:grid; place-items:center; box-shadow:var(--shadow);
}
.course-body{padding:28px 18px 20px}
.course-body h3{margin:0 0 10px; font-size:16.5px; line-height:1.3}
.course-meta{display:flex; align-items:center; gap:7px; color:var(--muted); font-size:13px; margin-bottom:8px}
.course-price{font-weight:700; font-size:15.5px}
.course-desc{color:var(--body); font-size:13.5px; margin:10px 0 0; display:-webkit-box;
  -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.course-foot{margin-top:auto; padding:0 18px 18px}

/* --- Показатели --- */
.stats{background:var(--brand-dark); color:#fff; border-radius:22px; padding:36px 40px;
  display:grid; grid-template-columns:repeat(4,auto) 1fr; gap:36px; align-items:center}
.stat b{display:block; font-size:34px; line-height:1; font-variant-numeric:tabular-nums}
.stat span{font-size:13.5px; opacity:.85}
.quote{
  background:#fff; color:var(--ink); border-radius:16px; padding:18px 20px;
  display:flex; gap:14px; align-items:center; margin-left:auto; max-width:430px;
}
.quote p{margin:0 0 8px; font-size:13.5px; line-height:1.5}
.quote b{display:block; font-size:13.5px}
.quote span{font-size:12.5px; color:var(--muted)}
.quote-avatar{
  width:52px; height:52px; border-radius:50%; flex:none; overflow:hidden;
  background:var(--brand-soft); display:grid; place-items:center; color:var(--brand);
}

/* --- О центре --- */
.about{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center}
.checks{display:flex; flex-direction:column; gap:14px; margin-top:22px}
.check{display:flex; gap:12px; align-items:flex-start}
.check-icon{
  width:26px; height:26px; border-radius:8px; background:var(--brand-soft); color:var(--brand);
  display:grid; place-items:center; flex:none; margin-top:2px;
}
.check b{display:block; font-size:15px}
.check span{font-size:14px; color:var(--body)}

/* --- Форма заявки --- */
.apply{background:var(--soft); border-radius:22px; padding:44px; display:grid;
  grid-template-columns:1fr 1.1fr; gap:44px; align-items:center}
.apply h2{margin:0 0 12px; font-size:clamp(22px,2.6vw,30px); letter-spacing:-.02em}
.apply p{margin:0; color:var(--body); font-size:15.5px}
.form-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; box-shadow:var(--shadow)}
.field{display:flex; flex-direction:column; gap:6px; margin-bottom:14px}
.field label{font-size:13px; font-weight:600}
.field input, .field select, .field textarea{
  padding:12px 14px; border:1px solid var(--line); border-radius:11px; font-size:15px;
  font-family:inherit; background:#fbfdfc; color:var(--ink);
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-soft);
}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form-note{font-size:12.5px; color:var(--muted); margin:12px 0 0; text-align:center}
.form-msg{display:none; border-radius:11px; padding:12px 14px; font-size:14.5px; margin-bottom:14px}
.form-msg.ok{display:block; background:var(--brand-soft); color:var(--brand-deep)}
.form-msg.err{display:block; background:#fdecea; color:#a93a2e}

/* --- Подвал --- */
footer.site{background:#0d1a17; color:#c9d8d4; padding:52px 0 30px; margin-top:20px}
footer.site .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px}
footer.site h4{color:#fff; font-size:15px; margin:0 0 14px}
footer.site a, footer.site p{color:#c9d8d4; font-size:14px}
footer.site a:hover{color:#fff}
footer.site .flist{display:flex; flex-direction:column; gap:9px}
.copyright{border-top:1px solid rgba(255,255,255,.1); margin-top:34px; padding-top:20px;
  font-size:13px; color:#8fa5a0; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}

@media (max-width:1000px){
  .hero{grid-template-columns:1fr; gap:34px}
  .advantages{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr); gap:26px}
  .quote{grid-column:1/-1; margin-left:0; max-width:none}
  .about, .apply{grid-template-columns:1fr; gap:28px}
  .apply{padding:28px}
  footer.site .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .menu, .phone{display:none}
  .burger{display:block}
  .menu.open{
    display:flex; position:absolute; top:76px; left:0; right:0; background:#fff;
    flex-direction:column; padding:18px 24px; gap:16px; border-bottom:1px solid var(--line);
  }
  .advantages{grid-template-columns:1fr}
  section{padding:44px 0}
}
