/* =====================================================
   Typography — Clean Clinic design system
   Подключение шрифтов (вставить в <head> ДО этого файла):

   <link rel="preconnect" href="https://fonts.googleapis.com">
   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
   <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Raleway:wght@400;500;600;700;800&display=swap">
   ===================================================== */

:root{
  --font-display:'Oswald',sans-serif;
  --font-text:'Raleway',system-ui,sans-serif;

  /* отступы заголовков */
  --h1-mb:24px;
  --h2-my:24px;
  --h3-my:12px;

  /* ширина строки */
  --measure:66ch;

  /* размеры (для повторного использования) */
  --fs-h1:clamp(1.7rem,3.7vw,3.3rem);
  --fs-h2:clamp(2.05rem,4.4vw,3.35rem);
  --fs-h3:1.2rem;
  --fs-lead:clamp(1.05rem,1.6vw,1.22rem);
  --fs-hero-desc:clamp(1.08rem,1.7vw,1.3rem);
  --fs-sec-sub:1.08rem;
  --fs-small:.85rem;
}

/* ---------- База ---------- */
body{
  font-family:var(--font-text);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-variant-numeric:tabular-nums;
}
@media (max-width:480px){ body{font-size:16px} }
button,input,select,textarea{font-family:inherit}

/* ---------- Заголовки ---------- */
h1,h2{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.02;
  letter-spacing:.012em;
  text-transform:uppercase;
  text-wrap:balance;
  overflow-wrap:break-word;
}
h1{font-size:var(--fs-h1);margin:0 0 var(--h1-mb)}
h2{font-size:var(--fs-h2);margin:0 0 var(--h2-my)}
h3{
  font-family:var(--font-text);
  font-size:var(--fs-h3);
  font-weight:700;
  letter-spacing:-.005em;
  line-height:1.25;
  text-wrap:balance;
  margin:var(--h3-my) 0;
}

/* ---------- Текст ---------- */
.lead{font-size:var(--fs-lead);line-height:1.55;max-width:var(--measure)}
.hero-desc{font-size:var(--fs-hero-desc);line-height:1.5}
.sec-sub{font-size:var(--fs-sec-sub);max-width:60ch}
.text-sm{font-size:.95rem;line-height:1.5}
.text-xs{font-size:var(--fs-small);line-height:1.45}

/* ---------- Подписи (eyebrow) ---------- */
.eyebrow{
  font-family:var(--font-text);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.label-caps{
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* ---------- Заголовки компонентов (Raleway 700) ---------- */
.h3-sm{font-size:1.05rem}
.h3-md{font-size:1.12rem}
.h3-lg{font-size:1.35rem}
.h3-xl{font-size:1.5rem}
.h-question{font-size:1.4rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.h-faq{font-size:1.08rem;font-weight:600;line-height:1.3}

/* ---------- Цифры, цены, телефон, логотип (Oswald) ---------- */
.num-xl{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,2.9rem);font-weight:600;line-height:1;letter-spacing:.01em}
.num-lg{font-family:var(--font-display);font-size:2.6rem;font-weight:600;line-height:1}
.num-md{font-family:var(--font-display);font-size:1.7rem;font-weight:600;line-height:1.1}
.price{font-family:var(--font-display);font-size:1.5rem;font-weight:600}
.price-sm{font-family:var(--font-display);font-size:1.16rem;font-weight:600;letter-spacing:.01em}
.phone{font-family:var(--font-display);font-size:1.12rem;font-weight:500;letter-spacing:.01em}
.phone-lg{font-family:var(--font-display);font-size:1.28rem;font-weight:600}
.logo{font-family:var(--font-display);font-size:1.28rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.mlink{font-family:var(--font-display);font-size:1.5rem;font-weight:500}

/* ---------- Навигация, кнопки, формы ---------- */
.nav a{font-size:.9rem;font-weight:600}
.btn{font-size:1rem;font-weight:700;line-height:1}
.btn--sm{font-size:.92rem}
.input{font-size:1rem}
.field label{font-size:.86rem;font-weight:700}
.err-msg{font-size:.82rem;font-weight:600}
.consent,.form-note{font-size:.85rem;line-height:1.45}
.disclaimer{font-size:.88rem;line-height:1.5}
