/* hygihero.com – static site (design/hygihero-landing.html). Fonts self-hosted (SIL OFL 1.1, see fonts/LICENSE-*.txt). */
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-display: swap; font-weight: 200 800; src: url('/assets/fonts/bricolage-grotesque-latin-opsz-normal.woff2') format('woff2-variations'), url('/assets/fonts/bricolage-grotesque-latin-opsz-normal.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-display: swap; font-weight: 400; src: url('/assets/fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-display: swap; font-weight: 500; src: url('/assets/fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-display: swap; font-weight: 600; src: url('/assets/fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-display: swap; font-weight: 700; src: url('/assets/fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Caveat'; font-style: normal; font-display: swap; font-weight: 500; src: url('/assets/fonts/caveat-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Caveat'; font-style: normal; font-display: swap; font-weight: 700; src: url('/assets/fonts/caveat-latin-700-normal.woff2') format('woff2'); }

body { margin: 0; background: #FBFAF6; }
.hd { font-family: 'Bricolage Grotesque', 'Plus Jakarta Sans', sans-serif; letter-spacing: -0.03em; font-optical-sizing: auto; }
.hh a { color: inherit; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 999px; font-weight: 700; font-size: 17px; text-decoration: none; }
details summary { cursor: pointer; list-style: none; }
details summary::-webkit-details-marker { display: none; }
a:focus-visible, .btn:focus-visible { outline: 3px solid #29B6E8; outline-offset: 3px; }

/* Legal pages */
.legal { max-width: 820px; margin: 0 auto; padding: 72px 24px 96px; font-size: 17px; line-height: 1.65; color: #0B2A4A; }
.legal h1 { margin: 0 0 8px; font-size: 56px; line-height: 1; font-weight: 800; }
.legal h2 { margin: 40px 0 8px; font-size: 26px; line-height: 1.15; font-weight: 800; }
.legal p { margin: 0 0 12px; color: #3A5068; }
.legal .ph { display: inline-block; background: #FFF6C9; border: 1px dashed #C9B24A; border-radius: 6px; padding: 2px 8px; color: #6B5A10; font-weight: 600; }
.legal .lead { font-size: 15px; color: #5A6B7D; margin-bottom: 32px; }

/* Phone (390 px): same design, sizes reduced so nothing overflows. */
@media (max-width: 720px) {
  .hh header nav { gap: 14px 18px !important; }
  .hh header nav .nav-anchor { display: none; }
  .hero-h1 { font-size: 56px !important; }
  .hero-sub { font-size: 18px !important; }
  .hero-cards { min-height: 470px !important; transform: scale(.9); transform-origin: top center; }
  .h2 { font-size: 40px !important; }
  .feat-title { font-size: 30px !important; }
  .step-num { font-size: 64px !important; }
  .price-num { font-size: 80px !important; }
  .price-disc { width: 280px !important; height: 280px !important; }
  .foot-logo { font-size: 48px !important; }
  .note-paper { font-size: 23px !important; padding: 24px 22px 28px !important; }
  .legal h1 { font-size: 40px; }
  .ticker { white-space: normal !important; font-size: 15px !important; }
}
