/* PackDrop typography, verified against its live stylesheet on 2026-09-13.
   Loaded by the shared HTML template for both React and first-response pages.
   This adapter overrides legacy Poppins declarations, not their component logic. */
@font-face {
  font-family: "Instrument Sans Fallback";
  src: local("Arial");
  ascent-override: 93.97%;
  descent-override: 24.22%;
  line-gap-override: 0%;
  size-adjust: 103.22%;
}
:root {
  --cw-font-sans: "Instrument Sans", "Instrument Sans Fallback", Arial, sans-serif;
  --cw-type-page-title: clamp(2.375rem, 5vw, 4.25rem);
  --cw-type-section-title: clamp(2.375rem, 5vw, 4rem);
  --cw-type-card-title: clamp(1.5625rem, 2.3vw, 2.125rem);
}
body.cw-type {
  font-family: var(--cw-font-sans);
  font-weight: 400;
  font-optical-sizing: auto;
  font-kerning: normal;
  font-synthesis: none;
}
/* Include inline legacy wrappers and the cookie notice without replacing
   intentional monospace code, license-code and private dashboard styles. */
body.cw-type :is(.cw-chrome, .cw-content-page, .participation-site, .cw-static-content, .cw-portal, .cw-account-page, .analytics-consent, .cw-task-navigation, [style*="Poppins"]),
body.cw-type :is(button, input, select, textarea) {
  font-family: var(--cw-font-sans) !important;
}
body.cw-type :is(.cw-content-page, .participation-site, .cw-static-content) :is(h1, h2, h3) {
  font-family: var(--cw-font-sans) !important;
  font-weight: 700 !important;
  text-wrap: balance;
}
body.cw-type :is(.cw-content-page, .participation-site, .cw-static-content) h1 {
  font-size: var(--cw-type-page-title) !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
}
body.cw-type .cw-home .cw-home-copy h1 {
  font-size: clamp(3.375rem, 7vw, 5.75rem) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
}
body.cw-type :is(.cw-content-page, .participation-site, .cw-static-content) h2 {
  font-size: var(--cw-type-section-title) !important;
  line-height: 1 !important;
  letter-spacing: -.06em !important;
}
body.cw-type :is(.cw-content-page, .participation-site, .cw-static-content) h3 {
  font-size: var(--cw-type-card-title) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: -.05em !important;
}
/* Compact subheadings remain distinct from section/hero headlines. */
body.cw-type .cw-home .cw-home-steps h3 {
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
}
body.cw-type .cw-content-page .cw-page-hero .cw-hero-panel :is(h2, h3),
body.cw-type .participation-site .participation-card :is(h2, h3) {
  font-size: var(--cw-type-card-title) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: -.05em !important;
}
body.cw-type .cw-home .cw-home-copy .cw-home-intro {
  font-size: clamp(1.0625rem, 1.5vw, 1.25rem) !important;
  line-height: 1.7 !important;
  letter-spacing: normal !important;
}
/* Keep the existing 16px reading text and smaller disclosures, with the
   reference's regular body / medium labels / semibold action hierarchy. */
body.cw-type :is(.cw-content-page, .participation-site, .cw-static-content) p:not([class*="uppercase"]):not(.participation-eyebrow) {
  font-weight: 400;
}
body.cw-type .cw-header :is(nav, .cw-nav-group summary, .cw-nav-panel a),
body.cw-type :is(.participation-eyebrow, .cw-task-navigation, .cw-menu-toggle),
body.cw-type :is(.cw-content-page, .cw-portal, .cw-account-page) label {
  font-weight: 500 !important;
}
body.cw-type .cw-header :is(nav, .cw-nav-group summary) {
  font-size: .8125rem;
  line-height: 1.5;
}
body.cw-type .cw-header .cw-brand {
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1;
}
body.cw-type :is(.participation-button, .cw-primary-action, .cw-request-submit, .cw-license-button),
body.cw-type :is(.cw-content-page, .participation-site, .cw-portal, .cw-account-page) button {
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}
body.cw-type :is(.participation-button, .cw-primary-action, .cw-request-submit) {
  font-size: 1rem !important;
}
body.cw-type .cw-portal .cw-portal-login h1 {
  font-family: var(--cw-font-sans);
  font-size: clamp(2.125rem, 6vw, 3.25rem);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.05em;
}
@media (max-width: 700px) {
  :root { --cw-type-section-title: clamp(2.25rem, 11vw, 3.0625rem); }
  body.cw-type .cw-home .cw-home-copy h1 {
    font-size: clamp(2.75rem, 11vw, 4.25rem) !important;
  }
}
/* Preserve the existing mobile form anti-zoom rule. */
@media (max-width: 767px) {
  body.cw-type :is(input, select, textarea) { font-size: 16px !important; }
}
