/* Global marketing-page type hierarchy. Keep this stylesheet last in <head>. */
:root {
  --site-page-title: clamp(52px, 4.2vw, 68px);
  --site-page-lead: clamp(22px, 1.65vw, 28px);
  --site-section-title: clamp(34px, 3vw, 44px);
  --site-section-lead: clamp(17px, 1.35vw, 20px);
  --site-card-title: clamp(20px, 1.55vw, 24px);
  --site-title-line-height: 1.18;
  --site-copy-line-height: 1.65;
}

/* Homepage */
body.home-page .ai-home__hero-content h1 {
  font-size: clamp(52px, 4.2vw, 68px) !important;
  line-height: var(--site-title-line-height) !important;
}

body.home-page .ai-home__hero-lead {
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  opacity: 0.92;
}

body.home-page .ai-home__hero-lead span {
  display: block;
}

body.home-page .home-product__heading h2,
body.home-page .innoctrl-industry-browser__heading h2,
body.home-page .innoctrl-industry-stage__heading h2,
body.home-page .ai-home__section-copy h2,
body.home-page .ai-home__solutions-heading h2,
body.home-page .ai-home__why-copy h2,
body.home-page .ai-home__footer-cta h2,
body.home-page .home-work-principle__heading h2,
body.home-page .home-product-explore__heading h2 {
  font-size: var(--site-section-title) !important;
  font-weight: 650 !important;
  line-height: var(--site-title-line-height) !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

body.home-page .home-product__heading p,
body.home-page .innoctrl-industry-browser__heading p,
body.home-page .innoctrl-industry-stage__heading p,
body.home-page .ai-home__section-copy > p,
body.home-page .ai-home__solutions-heading > p {
  font-size: var(--site-section-lead) !important;
  line-height: var(--site-copy-line-height) !important;
}

/* Standard page heroes */
body.filename_contact .contact-banner .banner h1,
.download-banner .banner .info h1,
.product-banner .banner .info h1,
.about-banner .banner .info h1,
.store-hero h1,
.product-center-page__banner-inner h1,
.remote-networking-hero h1,
body.product-page .detail-banner .banner .info h1,
body.product-page .hero-section .hero-title,
body.solution-page .solution-banner h1 {
  font-size: var(--site-page-title) !important;
  line-height: var(--site-title-line-height) !important;
  letter-spacing: 0 !important;
}

body.filename_contact .contact-banner .banner .feature,
.download-banner .banner .info .desc,
.product-banner .banner .info .desc,
.about-banner .banner .info .desc,
.store-hero__subtitle,
.product-center-page__banner-inner > p,
.remote-networking-subtitle,
body.product-page .detail-banner .banner .info .feature,
body.solution-page .solution-banner__content > p {
  font-size: var(--site-page-lead) !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

/* Homepage-like section headings on standalone pages */
.contact-card__heading h2,
.store-platforms__heading h2,
.product-center__intro h2,
.solution-showcase__heading h2,
.remote-networking-diagram__title,
.remote-networking-section-heading h2,
.remote-networking-experience__heading h2,
.remote-networking-stack__heading h2,
.about-native__profile-copy h2,
.about-native__focus-heading h2,
.about-native__news-heading h2 {
  font-size: var(--site-section-title) !important;
  line-height: var(--site-title-line-height) !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

.about-us .info h2,
.about-section-heading h2,
.remote-networking-solution__highlights h2,
.remote-networking-solution__composition h2,
.ai-home__footer-cta h2 {
  font-size: var(--site-section-title) !important;
  line-height: var(--site-title-line-height) !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

.contact-card__heading p,
.store-platforms__heading p,
.product-center__intro p,
.solution-showcase__heading p,
.remote-networking-experience__heading .remote-networking-experience__subtitle,
.remote-networking-stack__heading > span,
.about-native__focus-heading p {
  font-size: var(--site-section-lead) !important;
  line-height: var(--site-copy-line-height) !important;
}

/* Product pages share one visible heading scale without changing specification labels. */
body.product-page h2.section-title,
body.product-page .section-header h2.section-title,
body.solution-page h2.section-title,
body.solution-page .section-header h2.section-title,
body.product-page .product-overview > .feature > h2,
body.product-page .product-overview > .structure > h2,
body.product-page .product-overview > .scenarios > h2,
body.product-page .blade-overview-summary > h2,
body.product-page .blade-overview-summary + .highlight h2.title,
body.product-page .blade-overview-summary ~ .appearance h2.title,
body.product-page .blade-overview-summary ~ .interface-design h2.title,
body.product-page .blade-overview-summary ~ .comm-interface h2.title,
body.product-page .blade-overview-summary ~ .img-list > h2.title,
body.product-page .blade-overview-summary ~ .comm h2.title,
body.product-page .industrial-router-feature-copy h2 {
  font-size: var(--site-section-title) !important;
  line-height: var(--site-title-line-height) !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

body.product-page .section-subtitle {
  font-size: var(--site-section-lead) !important;
  line-height: var(--site-copy-line-height) !important;
}

body.solution-page .section-subtitle {
  font-size: var(--site-section-lead) !important;
  line-height: var(--site-copy-line-height) !important;
}

body.product-page .feature-card-title,
body.product-page .card-title,
.store-card__copy h3,
.solution-case h3,
.about-native__focus-card-copy h3,
.about-native__news-list h3,
.about-native__focus-list h3,
.about-strengths__item h3,
.remote-networking-solution__highlight-list h3 {
  font-size: var(--site-card-title) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

/* Legacy product overview templates and standalone scene index. */
body.product-page .product-overview > .highlight h2.title,
body.product-page .product-overview > .feature h2,
body.product-page .product-overview > .structure h2,
body.product-page .product-overview > .scenarios h2,
body.product-page .product-overview > .app-showcase h2,
body.product-page .blade-overview-summary h2,
body.product-page .industrial-router-overview-hero__copy h2,
body.product-page .industrial-router-feature-copy h2,
body.product-page .product-seo-summary h2 {
  font-size: var(--site-section-title) !important;
  line-height: var(--site-title-line-height) !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

body.filename_industry-scenes .industry-scenes-page h1 {
  font-size: var(--site-page-title) !important;
  line-height: var(--site-title-line-height) !important;
}

body.filename_industry-scenes .industry-scenes-page__card h2 {
  font-size: var(--site-card-title) !important;
  line-height: 1.35 !important;
}

/* About keeps its distinctive hero and closing statement, but within a controlled range. */
.about-native__hero h1 {
  font-size: clamp(56px, 5.2vw, 76px) !important;
  line-height: 1.1 !important;
}

.about-native__hero-desc {
  font-size: var(--site-page-lead) !important;
  line-height: 1.55 !important;
}

.about-native__closing h2 {
  font-size: clamp(42px, 4.2vw, 60px) !important;
  line-height: 1.12 !important;
}

/* Legal pages use a quieter editorial hierarchy. */
.legal-page__header h1 {
  font-size: clamp(40px, 3.6vw, 52px) !important;
  line-height: 1.2 !important;
}

.legal-page__content h2 {
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.3 !important;
}

@media (max-width: 1024px) {
  :root {
    --site-page-title: clamp(42px, 7vw, 56px);
    --site-page-lead: clamp(19px, 3vw, 24px);
    --site-section-title: clamp(30px, 4.6vw, 38px);
    --site-section-lead: 17px;
    --site-card-title: clamp(19px, 2.8vw, 22px);
  }

  body.home-page .ai-home__hero-content h1 {
    font-size: var(--site-page-title) !important;
  }

  .about-native__hero h1 {
    font-size: clamp(46px, 8vw, 62px) !important;
  }
}

@media (min-width: 1025px) and (max-width: 1439px) {
  body.home-page .ai-home__hero-lead {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}

@media (min-width: 601px) and (max-width: 1024px) {
  body.home-page .ai-home__hero-lead {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 600px) {
  :root {
    --site-page-title: clamp(30px, 9.4vw, 40px);
    --site-page-lead: clamp(17px, 5vw, 20px);
    --site-section-title: clamp(28px, 8vw, 34px);
    --site-section-lead: 16px;
    --site-card-title: clamp(18px, 5.6vw, 21px);
  }

  body.home-page .ai-home__hero-content h1,
  .about-native__hero h1 {
    font-size: var(--site-page-title) !important;
    line-height: 1.2 !important;
  }

  .about-native__hero-desc {
    font-size: var(--site-page-lead) !important;
  }

  body.home-page .ai-home__hero-lead {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .about-native__closing h2 {
    font-size: clamp(34px, 10vw, 44px) !important;
  }
}
