/* ==========================================================================
   SKINNOVATION v4.6 — Typography system
   ========================================================================== */

:root {
  --sn-step--1: clamp(0.84rem, 0.82rem + 0.1vw, 0.9rem);
  --sn-step-0: clamp(0.98rem, 0.95rem + 0.14vw, 1.06rem);
  --sn-step-1: clamp(1.06rem, 1.02rem + 0.2vw, 1.18rem);
  --sn-step-2: clamp(1.2rem, 1.1rem + 0.45vw, 1.42rem);
  --sn-step-3: clamp(1.38rem, 1.22rem + 0.72vw, 1.74rem);
  --sn-step-4: clamp(1.7rem, 1.42rem + 1.15vw, 2.3rem);
  --sn-step-5: clamp(2.05rem, 1.6rem + 1.8vw, 3rem);

  --sn-lh-tight: 1.1;
  --sn-lh-head: 1.2;
  --sn-lh-copy: 1.72;
  --sn-lh-copy-relaxed: 1.82;
}

body.skinnov-v4 {
  font-size: var(--sn-step-0);
  line-height: var(--sn-lh-copy);
  letter-spacing: -0.004em;
  overflow-wrap: break-word;
}

body.skinnov-v4 p,
body.skinnov-v4 li {
  max-width: 72ch;
}

body.skinnov-v4 h1,
body.skinnov-v4 h2,
body.skinnov-v4 h3,
body.skinnov-v4 h4,
body.skinnov-v4 .sn-title {
  line-height: var(--sn-lh-head);
}

body.skinnov-v4 h1,
body.skinnov-v4 .sn-hero__title,
body.skinnov-v4 .sn-service-hero__title {
  letter-spacing: -0.024em;
  line-height: var(--sn-lh-tight);
}

body.skinnov-v4 h2,
body.skinnov-v4 .sn-title {
  letter-spacing: -0.018em;
}

body.skinnov-v4 h3 {
  letter-spacing: -0.012em;
}

body.skinnov-v4 .sn-title {
  font-size: var(--sn-step-5);
  margin-bottom: 1.1rem;
}

body.skinnov-v4 .sn-lead,
body.skinnov-v4 .sn-service-hero__excerpt,
body.skinnov-v4 .sn-cat-section__copy,
body.skinnov-v4 .sn-prestation {
  font-size: var(--sn-step-0);
  line-height: var(--sn-lh-copy-relaxed);
}

body.skinnov-v4 .sn-nav__link {
  font-size: 0.82rem;
  font-weight: 520;
  letter-spacing: 0.005em;
}

body.skinnov-v4 .sn-nav__link--child {
  font-size: 0.81rem;
  font-weight: 500;
  line-height: 1.45;
}

body.skinnov-v4 .sn-label,
body.skinnov-v4 .sn-pill,
body.skinnov-v4 .sn-breadcrumb__list,
body.skinnov-v4 .sn-service-bar__label,
body.skinnov-v4 .sn-btn {
  font-family: var(--sn-sans);
  text-transform: uppercase;
}

body.skinnov-v4 .sn-label {
  font-size: 0.64rem;
  letter-spacing: 0.17em;
}

body.skinnov-v4 .sn-pill {
  font-size: 0.64rem;
  letter-spacing: 0.12em;
}

body.skinnov-v4 .sn-btn {
  font-size: 0.79rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}

body.skinnov-v4 .sn-btn--lg {
  font-size: 0.84rem;
}

body.skinnov-v4 .sn-service-hero__subtitle,
body.skinnov-v4 .sn-hero__title-row--serif em {
  font-size: var(--sn-step-2);
  letter-spacing: -0.008em;
}

body.skinnov-v4 .sn-cat-intro p,
body.skinnov-v4 .sn-head__sub {
  font-size: var(--sn-step-0);
  line-height: var(--sn-lh-copy-relaxed);
}

body.skinnov-v4 .sn-aside-card h3,
body.skinnov-v4 .sn-footer h4,
body.skinnov-v4 .sn-catalog-nav__link,
body.skinnov-v4 .sn-home-showcase__index,
body.skinnov-v4 .sn-related__cat {
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  font-weight: 620;
}

body.skinnov-v4 .sn-aside-card > p,
body.skinnov-v4 .sn-aside-list,
body.skinnov-v4 .sn-aside-links a,
body.skinnov-v4 .sn-footer li,
body.skinnov-v4 .sn-footer__desc {
  font-size: 0.9rem;
  line-height: 1.65;
}

body.skinnov-v4 .sn-testimonial blockquote p {
  font-size: var(--sn-step-1);
  line-height: 1.65;
}

body.skinnov-v4 .sn-testimonial cite {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}

body.skinnov-v4 .sn-faq__q {
  font-size: var(--sn-step-1);
  line-height: 1.35;
  letter-spacing: -0.01em;
}

body.skinnov-v4 .sn-faq__a {
  font-size: 0.95rem;
  line-height: var(--sn-lh-copy-relaxed);
}

body.skinnov-v4 .sn-prestation h2.wp-block-heading,
body.skinnov-v4 .sn-cat-section--chapter .sn-cat-section__title {
  font-size: var(--sn-step-4);
  line-height: 1.2;
}

body.skinnov-v4 .sn-prestation h3.wp-block-heading,
body.skinnov-v4 .sn-cat-section--card .sn-cat-section__title {
  font-size: var(--sn-step-2);
  line-height: 1.24;
}

body.skinnov-v4 .sn-prestation .wp-block-button__link {
  font-size: 0.78rem !important;
  letter-spacing: 0.06em;
}

body.is-home .sn-hero--editorial .sn-hero__title {
  font-size: clamp(2.45rem, 6.9vw, 4.5rem);
}

body.is-home .sn-home-showcase__card h3 {
  line-height: 1.14;
}

body.is-home .sn-home-showcase__card p {
  font-size: 0.91rem;
  line-height: 1.6;
}

body.is-home .sn-cta--editorial .sn-cta__title {
  line-height: 1.06;
}

@media (max-width: 991.98px) {
  body.skinnov-v4 {
    line-height: 1.7;
  }

  body.skinnov-v4 .sn-nav__link {
    font-size: 0.92rem;
    letter-spacing: 0;
  }
}

@media (max-width: 767.98px) {
  body.skinnov-v4 {
    font-size: 0.96rem;
  }

  body.skinnov-v4 .sn-title,
  body.skinnov-v4 .sn-service-hero__title,
  body.skinnov-v4 .sn-hero__title {
    letter-spacing: -0.015em;
  }

  body.skinnov-v4 .sn-label {
    letter-spacing: 0.13em;
  }

  body.skinnov-v4 .sn-btn,
  body.skinnov-v4 .sn-btn--lg {
    font-size: 0.78rem;
  }

  body.skinnov-v4 .sn-faq__q {
    font-size: 1rem;
  }
}
