/* Inner pages: font scales aligned with index.css (body.landing-page) defaults and large-screen bumps. */

/* ----- Base (page titles: larger than homepage section title + all caps) ----- */

body.page-products .p-title,
body.page-cases .c-title,
body.page-news .n-title,
body.page-about .a-title,
body.page-service .s-title,
body.page-contact .ct-title {
  font-size: clamp(34px, 3.8vw, 48px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.page-products .pl-content-head .pl-page-title {
  font-size: clamp(34px, 3.8vw, 48px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.page-products .p-h1,
body.page-cases .c-h1,
body.page-news .n-h1 {
  font-size: clamp(28px, 2.8vw, 40px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.page-about .a-h2,
body.page-service .s-h2,
body.page-contact .ct-h2 {
  font-size: clamp(22px, 1.9vw, 30px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.page-service .s-feature__t,
body.page-service .s-step__t {
  font-size: clamp(16px, 1.15vw, 18px);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

body.page-products .p-card__title,
body.page-cases .c-card__title,
body.page-news .n-card__title {
  font-size: clamp(15px, 1vw, 18px);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

body.page-products .p-sibling__t,
body.page-cases .c-sibling__t,
body.page-news .n-sibling__t {
  font-size: clamp(14px, 1.1vw, 18px);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

body.page-cases .c-lightbox__cap-title {
  font-size: clamp(14px, 1.15vw, 18px);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

body.page-products .p-subtitle,
body.page-cases .c-subtitle,
body.page-news .n-subtitle,
body.page-about .a-subtitle,
body.page-service .s-subtitle,
body.page-contact .ct-subtitle {
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 1.55;
}

body.page-products .pl-content-head .pl-tab {
  font-size: clamp(13px, 1vw, 15px);
}

body.page-products .p-count,
body.page-cases .c-count {
  font-size: clamp(13px, 1vw, 15px);
}

body.page-products .p-card__desc,
body.page-cases .c-card__desc,
body.page-news .n-card__desc {
  font-size: clamp(14px, 1.05vw, 16px);
}

body.page-products .p-card__cta {
  font-size: clamp(14px, 1.1vw, 18px);
}

body.page-products .p-card__cta i {
  font-size: clamp(12px, 0.95vw, 14px);
}

body.page-cases .c-card__meta {
  font-size: clamp(13px, 1vw, 15px);
}

body.page-news .n-card__date {
  font-size: clamp(13px, 1vw, 15px);
}

body.page-products .p-meta,
body.page-cases .c-meta,
body.page-news .n-meta {
  font-size: clamp(13px, 1vw, 15px);
}

body.page-products .p-content__inner,
body.page-cases .c-content__inner,
body.page-news .n-lead,
body.page-news .n-rich,
body.page-about .a-rich,
body.page-service .s-rich,
body.page-contact .ct-rich {
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.65;
}

body.page-service .s-feature__d,
body.page-service .s-step__d {
  font-size: clamp(14px, 1.05vw, 16px);
}

body.page-service .s-step__n {
  font-size: clamp(11px, 1.1vw, 14px);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

body.page-about .a-stat__k {
  font-size: clamp(11px, 1.1vw, 14px);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

body.page-contact .ct-cardmini__k {
  font-size: clamp(14px, 1.15vw, 18px);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

body.page-contact .ct-cardmini__v {
  font-size: clamp(13px, 1vw, 15px);
}

body.page-contact .ct-input,
body.page-contact .ct-textarea {
  font-size: clamp(14px, 1.05vw, 16px);
}

body.page-contact .ct-note {
  font-size: clamp(13px, 1vw, 15px);
}

body.page-contact .ct-map__hint {
  font-size: clamp(14px, 1.05vw, 16px);
}

body.page-products .p-sibling__k,
body.page-cases .c-sibling__k,
body.page-news .n-sibling__k {
  font-size: clamp(11px, 1.1vw, 14px);
}

body.page-products .p-btn,
body.page-cases .c-btn,
body.page-about .a-btn,
body.page-service .s-btn,
body.page-contact .ct-submit {
  font-size: clamp(14px, 1.1vw, 18px);
}

body.page-cases .c-lightbox__cap-desc {
  font-size: clamp(13px, 1vw, 15px);
}

body.page-cases .c-lightbox__cap-meta {
  font-size: clamp(11px, 1.1vw, 14px);
}

body.page-products .site-pagination a,
body.page-products .site-pagination .page-num,
body.page-cases .site-pagination a,
body.page-cases .site-pagination .page-num,
body.page-news .site-pagination a,
body.page-news .site-pagination .page-num {
  font-size: clamp(13px, 1vw, 15px);
}

body.page-products .site-pagination .page-status,
body.page-cases .site-pagination .page-status,
body.page-news .site-pagination .page-status {
  font-size: clamp(13px, 1vw, 15px);
}

/* ----- Large screens (match index.css @media min-width 2000px) ----- */

@media (min-width: 2200px) {
  body.page-products .p-title,
  body.page-cases .c-title,
  body.page-news .n-title,
  body.page-about .a-title,
  body.page-service .s-title,
  body.page-contact .ct-title {
    font-size: clamp(42px, 3.05vw, 78px);
  }

  body.page-products .pl-content-head .pl-page-title {
    font-size: clamp(42px, 3.05vw, 78px);
  }

  body.page-products .p-subtitle,
  body.page-cases .c-subtitle,
  body.page-news .n-subtitle,
  body.page-about .a-subtitle,
  body.page-service .s-subtitle,
  body.page-contact .ct-subtitle {
    font-size: clamp(19px, 1.25vw, 31px);
  }

  body.page-products .pl-content-head .pl-tab {
    font-size: clamp(15px, 1.02vw, 24px);
  }

  body.page-products .p-card__title,
  body.page-cases .c-card__title,
  body.page-news .n-card__title {
    font-size: clamp(18px, 1.0vw, 30px);
  }

  body.page-products .p-card__desc,
  body.page-cases .c-card__desc,
  body.page-news .n-card__desc {
    font-size: clamp(16px, 1.08vw, 24px);
  }

  body.page-news .n-card__date {
    font-size: clamp(15px, 0.95vw, 23px);
  }

  body.page-products .p-h1,
  body.page-cases .c-h1,
  body.page-news .n-h1 {
    font-size: clamp(34px, 2.35vw, 56px);
  }

  body.page-products .p-meta,
  body.page-cases .c-meta,
  body.page-news .n-meta {
    font-size: clamp(15px, 0.95vw, 23px);
  }

  body.page-products .p-content__inner,
  body.page-cases .c-content__inner,
  body.page-news .n-lead,
  body.page-news .n-rich,
  body.page-about .a-rich,
  body.page-service .s-rich,
  body.page-contact .ct-rich {
    font-size: clamp(16px, 1.0vw, 26px);
  }

  body.page-about .a-h2,
  body.page-service .s-h2,
  body.page-contact .ct-h2 {
    font-size: clamp(24px, 1.32vw, 36px);
  }

  body.page-service .s-feature__t,
  body.page-service .s-step__t {
    font-size: clamp(19px, 1.18vw, 29px);
  }

  body.page-service .s-feature__d,
  body.page-service .s-step__d {
    font-size: clamp(16px, 1.08vw, 24px);
  }

  body.page-service .s-step__n {
    font-size: clamp(14px, 1.12vw, 23px);
  }

  body.page-about .a-stat__v {
    font-size: clamp(25px, 1.92vw, 43px);
  }

  body.page-about .a-stat__k {
    font-size: clamp(14px, 1.12vw, 23px);
  }

  body.page-products .p-btn,
  body.page-cases .c-btn,
  body.page-about .a-btn,
  body.page-service .s-btn,
  body.page-contact .ct-submit {
    font-size: clamp(17px, 1.12vw, 27px);
  }

  body.page-products .p-card__cta {
    font-size: clamp(17px, 1.02vw, 27px);
  }

  body.page-products .p-sibling__t,
  body.page-cases .c-sibling__t,
  body.page-news .n-sibling__t {
    font-size: clamp(16px, 1.08vw, 24px);
  }

  body.page-cases .c-lightbox__cap-title {
    font-size: clamp(22px, 1.25vw, 34px);
  }

  body.page-cases .c-lightbox__cap-desc {
    font-size: clamp(16px, 1.08vw, 24px);
  }

  body.page-cases .c-lightbox__cap-meta {
    font-size: clamp(15px, 0.95vw, 23px);
  }

  body.page-contact .ct-input,
  body.page-contact .ct-textarea {
    font-size: clamp(16px, 1.08vw, 24px);
  }

  body.page-contact .ct-note {
    font-size: clamp(15px, 0.95vw, 23px);
  }

  body.page-contact .ct-cardmini__v {
    font-size: clamp(15px, 0.95vw, 23px);
  }

  body.page-contact .ct-cardmini__k {
    font-size: clamp(16px, 1.05vw, 22px);
  }

  body.page-contact .ct-map__hint {
    font-size: clamp(16px, 1.08vw, 24px);
  }
}

/* ----- Ultra-wide (match index.css @media min-width 2800px section titles) ----- */

@media (min-width: 2800px) {
  body.page-products .p-title,
  body.page-cases .c-title,
  body.page-news .n-title,
  body.page-about .a-title,
  body.page-service .s-title,
  body.page-contact .ct-title {
    font-size: clamp(48px, 3.1vw, 92px);
  }

  body.page-products .pl-content-head .pl-page-title {
    font-size: clamp(48px, 3.1vw, 92px);
  }

  body.page-products .p-h1,
  body.page-cases .c-h1,
  body.page-news .n-h1 {
    font-size: clamp(40px, 2.85vw, 72px);
  }

  body.page-about .a-h2,
  body.page-service .s-h2,
  body.page-contact .ct-h2 {
    font-size: clamp(28px, 1.45vw, 42px);
  }
}
