/* Typography refinement. Approved section grids and imagery stay in style.css. */
@font-face {
  font-family: Barlow;
  src: url('assets/fonts/barlow-semi-condensed-medium.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
:root {
  --type-display: clamp(62px, 5.55vw, 88px);
  --type-heading: clamp(42px, 3.6vw, 54px);
  --type-lead: 21px;
  --type-body: 17px;
  --type-label: 16px;
  --type-action: 14px;
  --type-caption: 11px;
  --text-secondary: #455f76;
}
body { font-weight: 450; }
h1, h2 { font-weight: 500; }
.hero h1 {
  font-size: var(--type-display);
  line-height: 1.04;
  letter-spacing: -.018em;
}
.hero-description {
  font-size: 22px;
  line-height: 1.55;
  letter-spacing: -.018em;
}
.eyebrow, .hero .eyebrow, .applications .eyebrow {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .105em;
}
.site-header nav { font-size: 14px; font-weight: 550; }
.technology h2, .technology-air h2 {
  font-size: var(--type-heading);
  line-height: 1.08;
  letter-spacing: -.015em;
}
.product-name {
  font-size: var(--type-label);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .015em;
}
.lead {
  font-size: var(--type-lead);
  font-weight: 450;
  line-height: 1.55;
  letter-spacing: -.015em;
}
.body-copy {
  font-size: var(--type-body);
  font-weight: 450;
  line-height: 1.75;
  letter-spacing: 0;
  color: var(--text-secondary);
}
.button, .hero .button, .contact .button {
  font-size: var(--type-action);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .005em;
}
.hero .button { font-size: 16px; }
.inline-link {
  font-size: var(--type-action);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0;
}
.technology-media figcaption {
  font-size: var(--type-caption);
  font-weight: 450;
  line-height: 1.5;
  letter-spacing: .015em;
}
.applications h2 {
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.application-links strong { font-size: 16px; font-weight: 600; line-height: 1.5; }
.application-links span { font-size: 12px; line-height: 1.6; color: var(--text-secondary); }
.contact h2 { font-size: clamp(48px, 4.5vw, 68px); line-height: 1.07; letter-spacing: -.015em; }
.contact p { font-size: 21px; line-height: 1.6; }
.contact-email { font-size: 18px; font-weight: 500; line-height: 1.5; }
.site-footer { font-size: 12px; line-height: 1.6; }
@media (min-width: 761px) and (max-width: 1100px) {
  :root { --type-display: clamp(46px, 5.9vw, 65px); --type-heading: clamp(36px, 3.8vw, 42px); --type-lead: 19px; --type-body: 16px; --type-label: 15px; }
  .hero-description { font-size: 19px; }
  .hero .eyebrow { font-size: 10px; letter-spacing: .07em; }
  .hero .button { font-size: 13px; }
  .site-header nav { font-size: 14px; }
  .contact p { font-size: 19px; }
}
@media (max-width: 760px) {
  :root { --type-display: clamp(50px, 14vw, 62px); --type-heading: clamp(34px, 9.25vw, 40px); --type-lead: 19px; --type-body: 16px; --type-label: 15px; --type-action: 14px; }
  .hero-description { font-size: 19px; line-height: 1.55; }
  .hero .eyebrow { font-size: 10px; letter-spacing: .09em; }
  .hero .button { font-size: 14px; }
  .menu-toggle { font-size: 13px; font-weight: 550; }
  .site-header nav { font-size: 16px; }
  .technology h2, .technology-air h2 { line-height: 1.1; }
  .applications h2 { font-size: 29px; line-height: 1.15; }
  .contact h2 { font-size: clamp(44px, 12.3vw, 52px); line-height: 1.08; }
  .contact p { font-size: 18px; }
  .contact-email { font-size: 17px; }
}
