/**
 * SMNET Core 1.17.24 — Global Editorial Typography Scale
 * Readability-first enterprise typography. No external webfont dependency.
 */

:root {
  --smnet-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --smnet-type-body: 16px;
  --smnet-type-body-lg: 17px;
  --smnet-type-lead: 17px;
  --smnet-type-ui: 14px;
  --smnet-type-nav: 15px;
  --smnet-type-meta: 13px;
  --smnet-type-small: 13px;
  --smnet-type-card-title: 20px;
  --smnet-type-h3: clamp(20px, 1.55vw, 23px);
  --smnet-type-h4: 19px;
  --smnet-reading-line: 1.72;
}

html { font-size: 100%; }
body.smnet-core {
  font-family: var(--smnet-font-sans);
  font-size: var(--smnet-type-body);
  line-height: 1.68;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.smnet-core button,
body.smnet-core input,
body.smnet-core textarea,
body.smnet-core select { font-family: inherit; }

/* Keep the established H1/H2 scale; refine weight and rhythm only. */
body.smnet-core main h1 {
  font-weight: 780;
  line-height: 1.06;
  letter-spacing: -.035em;
  text-wrap: balance;
}
body.smnet-core main h2:not(.woocommerce-loop-product__title) {
  font-weight: 760;
  line-height: 1.16;
  letter-spacing: -.025em;
  text-wrap: balance;
}
body.smnet-core main h3 {
  font-size: var(--smnet-type-h3);
  font-weight: 720;
  line-height: 1.30;
  letter-spacing: -.018em;
  text-wrap: balance;
}
body.smnet-core main h4 {
  font-size: var(--smnet-type-h4);
  font-weight: 720;
  line-height: 1.38;
}

/* Reading copy: normal pages, long-form content and corporate copy. */
body.smnet-core main :where(.smnet-entry-content,.smnet-corp-copy,.smnet-brand-richtext,.smnet-page-article,.smnet-single-article) :where(p,li),
body.smnet-core main :where(.smnet-landing-v160-section-copy,.smnet-landing-v160-faq-list,.smnet-contact-hours-box) :where(p,li) {
  font-size: var(--smnet-type-body-lg);
  line-height: var(--smnet-reading-line);
}
body.smnet-core main .smnet-section > .smnet-container > p,
body.smnet-core main .smnet-section-head + p {
  font-size: var(--smnet-type-body);
  line-height: 1.70;
}

/* Hero and section lead copy must never feel like micro text. */
body.smnet-core :is(.smnet-home-hero,.smnet-brand-hero,.smnet-corp-hero,.smnet-landing-v160-hero,.smnet-hub-hero,.smnet-commerce-hero,.smnet-transaction-hero,.smnet-search-page-hero) p,
body.smnet-core :is(.smnet-landing-v160-lead,.smnet-brand-tagline,.smnet-archive-description) {
  font-size: var(--smnet-type-lead) !important;
  line-height: 1.70 !important;
}

/* Editorial label / kicker floor. */
body.smnet-core .smnet-kicker,
body.smnet-core .smnet-hub-eyebrow,
body.smnet-core .smnet-landing-v160-type {
  font-size: 11.5px !important;
  line-height: 1.35;
  letter-spacing: .14em;
}

/* Primary interaction typography. */
body.smnet-core .smnet-button,
body.smnet-core .smnet-header-cta {
  font-size: 14px;
  font-weight: 760;
  line-height: 1.2;
}
body.smnet-core .smnet-enterprise-menu > li > a {
  font-size: var(--smnet-type-nav);
  font-weight: 720;
}
body.smnet-core .smnet-topbar-inner { font-size: var(--smnet-type-meta); }
body.smnet-core .smnet-mega-column h3 { font-size: 11.5px; }
body.smnet-core .smnet-mega-column li a { font-size: 13.5px; line-height: 1.4; }
body.smnet-core .smnet-mega-feature p { font-size: 14px; line-height: 1.62; }
body.smnet-core .smnet-mega-cta,
body.smnet-core .smnet-product-mega-head > a { font-size: 13.5px; }

/* Search / form controls. */
body.smnet-core main :where(input[type="search"],input[type="text"],input[type="email"],input[type="tel"],select,textarea) {
  font-size: 15px;
  line-height: 1.5;
}
body.smnet-core .smnet-search-result-meta,
body.smnet-core .smnet-search-result-type,
body.smnet-core .smnet-search-page-pagination,
body.smnet-core .smnet-commerce-empty { font-size: var(--smnet-type-meta); }

/* Card titles: one consistent enterprise reading size across key modules. */
body.smnet-core :is(
  .smnet-service-card,
  .smnet-solution-card,
  .smnet-corp-card-grid,
  .smnet-corp-service-grid,
  .smnet-hub-card,
  .smnet-landing-v160-cap-card,
  .smnet-landing-v161-model-card,
  .smnet-landing-v160-method-card,
  .smnet-landing-v161-scope-card,
  .smnet-brand-family-card,
  .smnet-brand-solution-card,
  .smnet-contact-card,
  .smnet-commerce-category-card
) :is(h3,h4,strong) {
  font-size: var(--smnet-type-card-title);
  line-height: 1.32;
  font-weight: 720;
}

/* Card/descriptive copy: raise the floor without bloating compact UI. */
body.smnet-core :is(
  .smnet-service-card-copy,
  .smnet-solution-card,
  .smnet-corp-card-grid article,
  .smnet-corp-service-grid article,
  .smnet-hub-card,
  .smnet-landing-v160-cap-card,
  .smnet-landing-v161-model-card,
  .smnet-landing-v160-method-card,
  .smnet-landing-v161-scope-card,
  .smnet-brand-family-card,
  .smnet-brand-solution-card,
  .smnet-contact-card
) p {
  font-size: 15px;
  line-height: 1.65;
}

/* Homepage reading hierarchy. */
body.smnet-core .smnet-why-item strong,
body.smnet-core .smnet-showcase-featured-copy h3,
body.smnet-core .smnet-intelligence-featured-copy h3,
body.smnet-core .smnet-intelligence-signal h3 {
  font-size: var(--smnet-type-card-title);
  line-height: 1.32;
}
body.smnet-core .smnet-why-item p,
body.smnet-core .smnet-ecosystem-copy p,
body.smnet-core .smnet-home-closing-copy p {
  font-size: 15.5px;
  line-height: 1.68;
}
body.smnet-core :is(.smnet-intelligence-meta,.smnet-intelligence-label,.smnet-showcase-eyebrow) {
  font-size: var(--smnet-type-meta);
  line-height: 1.45;
}

/* Brand pages and history timeline. */
body.smnet-core .smnet-history-event h3 { font-size: 20px; line-height: 1.28; }
body.smnet-core .smnet-history-event p { font-size: 15px; line-height: 1.64; }
body.smnet-core .smnet-history-event-top,
body.smnet-core .smnet-history-index,
body.smnet-core .smnet-brand-evolution-name { font-size: 12.5px; }
body.smnet-core .smnet-brand-directory-copy p,
body.smnet-core .smnet-brand-feature-copy p,
body.smnet-core .smnet-brand-product-body p { font-size: 14.5px; line-height: 1.6; }

/* Generic archive cards (News Hub owns news taxonomy separately). */
body.smnet-core .smnet-post-grid article h2 { font-size: 20px !important; line-height: 1.32 !important; }
body.smnet-core .smnet-post-grid article p { font-size: 15px; line-height: 1.65; }
body.smnet-core .smnet-pagination { font-size: 14px; }

/* Footer readability: preserve hierarchy but avoid 12px-style microcopy. */
body.smnet-core .smnet-footer-column h3 { font-size: 15px; line-height: 1.35; }
body.smnet-core .smnet-footer-column a,
body.smnet-core .smnet-footer-brand p { font-size: 14.5px; line-height: 1.58; }
body.smnet-core .smnet-footer-bottom { font-size: 13px; }

@media (max-width: 1050px) {
  :root {
    --smnet-type-card-title: 19px;
    --smnet-type-lead: 16.5px;
  }
}

@media (max-width: 700px) {
  :root {
    --smnet-type-body: 15.5px;
    --smnet-type-body-lg: 16.5px;
    --smnet-type-lead: 15.5px;
    --smnet-type-card-title: 18px;
    --smnet-type-h3: 21px;
    --smnet-type-h4: 18px;
  }
  body.smnet-core .smnet-enterprise-menu > li > a { font-size: 14px; }
  body.smnet-core .smnet-button { font-size: 14px; }
  body.smnet-core .smnet-footer-column a,
  body.smnet-core .smnet-footer-brand p { font-size: 14px; }
}
