/* Typography and alignment audit: unified reading scale, consistent card rhythm and clearer secondary information. */
:root {
  --reading-copy: clamp(1rem, .975rem + .14vw, 1.125rem);
  --support-copy: clamp(.9375rem, .92rem + .12vw, 1.0625rem);
  --utility-copy: .8125rem;
}

body { letter-spacing: -.006em; }
p { text-wrap: pretty; }
h2, h3 { text-wrap: balance; }

.desktop-nav { align-items: center; font-size: .9375rem; }
.nav-cta { min-height: 46px; font-size: .9375rem; }
.eyebrow, .section-index, .detail-tag { font-size: var(--utility-copy); letter-spacing: .07em; }
.text-link { min-height: 46px; font-size: .96875rem; }
.button { min-height: 50px; font-size: .96875rem; }

.section-head { align-items: flex-end; }
.section-head > p { align-self: end; margin: 0 0 .4rem; color: var(--muted); font-size: var(--reading-copy); line-height: 1.6; }
.section-head.inverse > p, .scientific-head > p { color: #c7d9e4; }
.intro-main p, .about-copy p:not(.eyebrow), .contact-copy p { font-size: var(--reading-copy); line-height: 1.64; }
.intro-list div, .about-list div { align-items: start; }
.intro-list p, .about-list p { font-size: 1rem; line-height: 1.58; }

.application-layout, .product-layout { align-items: stretch; }
.application-tab { min-height: 72px; grid-template-columns: 3.2rem minmax(0, 1fr) 1.5rem; }
.application-tab span { font-size: var(--utility-copy); }
.application-tab b { font-size: 1.0625rem; line-height: 1.25; }
.application-content { max-width: 28rem; padding: 2.1rem; }
.application-content .detail-tag { margin-bottom: 5.6rem; }
.application-content h3 { font-size: clamp(2rem, 2.5vw, 2.35rem); }
.application-content p { max-width: 23rem; font-size: var(--reading-copy); line-height: 1.6; }
.application-content a { min-height: 46px; display: inline-flex; align-items: center; font-size: .96875rem; }

.data-line { grid-template-columns: minmax(11rem, 1fr) minmax(18rem, 1.15fr) 2.5rem; gap: clamp(1.5rem, 2.5vw, 2.4rem); }
.data-line p, .data-rail b { font-size: var(--support-copy); }
.data-rail { min-height: 40px; }
.range-strip div { align-content: start; }
.range-strip span { font-size: .9375rem; }.range-strip em { font-size: .875rem; line-height: 1.55; }
.evidence-cta { align-items: center; }.evidence-cta span { font-size: var(--support-copy); line-height: 1.58; }

.product-tab { min-height: 122px; align-content: center; }
.product-tab span, .product-tab em { font-size: var(--utility-copy); }
.product-tab b { font-size: 1.8rem; line-height: 1.1; }
.product-detail-content { max-width: 33rem; padding: 2.35rem; }
.product-detail h3 { font-size: clamp(3.25rem, 4.25vw, 4.6rem); }
.product-detail p:not(.detail-tag) { font-size: 1.0625rem; line-height: 1.6; }

.journey-brief > p:not(.journey-brief-label), .journey-stages p { font-size: var(--support-copy); line-height: 1.58; }
.journey-brief ul { font-size: .875rem; }
.production-use-head > div > p { font-size: var(--reading-copy); line-height: 1.6; }
.use-step { display: flex; flex-direction: column; }.use-step h3 { font-size: 1.6rem; }.use-step p { font-size: var(--support-copy); line-height: 1.58; }
.production-use-note { align-items: center; }.production-use-note p { font-size: var(--support-copy); }

.contact-details > a { font-size: 1.15rem; }.contact-details p { font-size: .9375rem; line-height: 1.62; }
.contact-form { gap: 1.35rem; }.form-title { font-size: 1.25rem; }.contact-form label { font-size: var(--utility-copy); }.form-note, .form-status { font-size: .875rem; }
.footer-top > p, .footer-top > div { font-size: .875rem; line-height: 1.58; }.footer-top > div span, .footer-bottom { font-size: .75rem; }

@media (max-width: 720px) {
  .section-head { display: block; margin-bottom: 2.3rem; }
  .section-head > p { max-width: 23rem; margin: 1rem 0 0; font-size: 1rem; line-height: 1.62; }
  .eyebrow, .section-index, .detail-tag { font-size: .7rem; }
  .button { min-height: 52px; font-size: 1rem; }
  .text-link { min-height: 44px; font-size: .9375rem; }
  .intro-list div, .about-list div { grid-template-columns: 2.7rem 1fr; gap: .85rem; }
  .intro-list p, .about-list p { font-size: .96875rem; line-height: 1.58; }

  .application-tab { min-height: 68px; grid-template-columns: 3rem minmax(0, 1fr) 1.25rem; gap: .65rem; }
  .application-tab span { font-size: .7rem; }.application-tab b { font-size: 1rem; }
  .mobile-application-detail > p, .mobile-product-detail > p { font-size: .7rem; letter-spacing: .065em; }
  .mobile-application-detail h3, .mobile-product-detail h3 { font-size: 1.85rem; }
  .mobile-detail-copy > span { font-size: 1rem; line-height: 1.58; }
  .mobile-detail-copy a { min-height: 46px; font-size: .96875rem; }

  .data-line { display: block; padding: 1.5rem 0; }.data-line p, .data-rail b { font-size: .96875rem; }.data-line > span { font-size: .7rem; }
  .range-strip div { min-height: 106px; padding: 1.2rem; }.range-strip span { font-size: .9375rem; }.range-strip em { font-size: .875rem; }
  .product-tab { min-height: 106px; padding: 1.2rem 1.25rem; }.product-tab span, .product-tab em { font-size: .7rem; }.product-tab b { font-size: 1.5rem; }
  .journey-brief ul { font-size: .875rem; }.journey-stages p { font-size: .9375rem; }.use-step h3 { font-size: 1.45rem; }.use-step p { font-size: .96875rem; }
  .contact-form { gap: 1.25rem; padding: 1.45rem; }.contact-form input, .contact-form select, .contact-form textarea { font-size: 1rem; }.footer-top > p, .footer-top > div { font-size: .8125rem; }
}

@media (max-width: 390px) {
  .application-tab b { font-size: .96875rem; }
  .mobile-application-detail h3, .mobile-product-detail h3 { font-size: 1.65rem; }
  .mobile-detail-copy > span { font-size: .9375rem; }
}

/* Readability correction from live viewport metrics. */
.journey-stages p { font-size: .96875rem; }
@media (max-width: 720px) {
  .hero-intro { font-size: 1rem; line-height: 1.6; }
  .journey-stages p { font-size: .96875rem; }
}
@media (max-width: 390px) {
  .hero-intro { font-size: .96875rem; line-height: 1.6; }
}

/* Persistent navigation: keep primary controls available through the full page. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  isolation: isolate;
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid rgba(199, 216, 226, .72);
  box-shadow: 0 3px 14px rgba(9, 36, 57, .045);
}
@supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
  .site-header { background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
}
@media (max-width: 720px) {
  .site-header { position: sticky; }
  .mobile-menu { z-index: 1001; }
}

/* Form privacy disclosure. */
.form-privacy { margin: -.45rem 0 0; color: #6c8494; font-size: .75rem; line-height: 1.55; }
@media (max-width: 720px) { .form-privacy { font-size: .75rem; line-height: 1.58; } }

/* Typeface consistency guard: Manrope carries reading content; DM Mono is reserved for compact technical metadata. */
body,
button,
input,
select,
textarea { font-family: var(--sans); }
.eyebrow,
.section-index,
.detail-tag,
.hero-context,
.hero-measure,
.application-tab span,
.product-tab span,
.product-tab em,
.contact-form label,
.footer-top > div span,
.footer-bottom { font-family: var(--mono); font-weight: 400; }

/* Performance rails: preserve a clear visual pause between each statement and its indicator line. */
.data-rail { min-height: 56px; padding-bottom: 16px; }
