/* Typography mapped from the supplied original HTML; layout and colors remain intact. */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/poppins-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/poppins-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/poppins-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:900;font-display:swap;src:url('fonts/poppins-latin-900-normal.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url('fonts/playfair-display-latin-wght-italic.woff2') format('woff2')}
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/lato-latin-300-normal.woff2') format('woff2')}

:root {
  --type-body: 1rem;
  --type-small: .82rem;
  --type-h2: clamp(1.4rem, 3vw, 2rem);
  --type-display: calc(clamp(2.2rem, 5.6vw, 4rem) - 2px);
}
html body, html body * { font-family:'Lato','Poppins',system-ui,sans-serif !important; }
html body { font-size:16px !important; line-height:1.65; }
html body :is(h1,h1 *,h2,h2 *,h3,h3 *,h4,h4 *,.steps-title,.phase-name,.phase-num strong,.price strong,.oflip-stat .stat-num,.program-facts > div > span) {
  font-family:'Poppins',system-ui,sans-serif !important;
}
html body[data-page] :is(h2,h2 *, .steps-title) {
  font-size:var(--type-h2) !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  letter-spacing:normal !important;
}
html body :is(h3,h4,.phase-name) { font-weight:700 !important; }
html body[data-page] .hero h1, html body[data-page] .hero h1 * {
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:var(--type-display) !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:-.010em !important;
}
html body[data-page] h1 .sage-phrase {
  font-style:italic !important;
  font-weight:400 !important;
}
html body .hero-lead {
  font-family:'Lato',sans-serif !important;
  font-size:clamp(.95rem,1.8vw,1.1rem) !important;
  font-weight:300 !important;
  line-height:1.0 !important;
}
html body :is(.button,.button *,.core-cta,.akut-bruecke-btn,.quote-pause,.cookie-button,.cookie-save) {
  font-family:'Poppins',sans-serif !important;
  font-size:.9rem !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}
html body :is(.hero-cta,.price-cta) { font-size:1rem !important; }
html body :is(.eyebrow,.product-label,.hybrid-eyebrow,.hero-eyebrow,.faq-kicker,.program-kicker,.akut-bruecke-eyebrow) {
  font-family:'Poppins',sans-serif !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.2em !important;
}
html body .hero-eyebrow { font-weight:700 !important; letter-spacing:.1em !important; }
html body[data-page] :is(.slogan-h2,.slogan-h2 *) {
  font-family:'Poppins',sans-serif !important;
  font-weight:400 !important;
  font-size:clamp(.95rem,2.35vw,1.75rem) !important;
  line-height:1.2 !important;
  letter-spacing:-.02em !important;
}
html body .slogan-sub {
  font-family:'Poppins',sans-serif !important;
  font-weight:300 !important;
  font-size:clamp(.95rem,1.6vw,1.1rem) !important;
  line-height:1.6 !important;
}
html body[data-page] .slogan-h2 strong { font-weight:400 !important; }
html body .oflip-back h3 { font-size:1.05rem !important; font-weight:800 !important; }
html body[data-page] .price strong { font-size:2.4rem !important; font-weight:900 !important; }
html body[data-page] .pricing-section h2 { font-size:clamp(1.5rem,3.5vw,2.2rem) !important; }
html body :is(.faq-question,.faq-question *) {
  font-family:'Poppins',sans-serif !important;
  font-weight:300 !important;
  font-size:17px !important;
  line-height:1.3 !important;
}
html body :is(.faq-answer,.faq-answer p) { font-size:15.5px !important; line-height:1.5 !important; }
/* Compact supporting copy, without shrinking button hit areas or changing type sizes. */
html body[data-page] :is(.hero-format,.checkout-note,.hero-safety-line,.trust-note,
  .safe-space-mini,.safe-space-mini *,.final-safety,.final-safety *,
  .akut-bruecke-txt,.akut-bruecke-note) { line-height:1.4 !important; }
html body[data-page] .faq-list summary { min-height:80px; }
html body[data-page] .faq-answer { padding-bottom:16px; }
html body .faq-number { font-family:'Poppins',sans-serif !important; font-weight:800 !important; font-size:28px !important; }
@media(max-width:480px) {
  html body[data-page] .hero h1, html body[data-page] .hero h1 * { font-size:calc(1.9rem - 2px) !important; }
}
@media(max-width:520px) {
  html body[data-page] :is(.slogan-h2,.slogan-h2 *) { font-size:1.2rem !important; line-height:1.35 !important; }
}