/* Apply the approved Butterfly visual language to the preserved legacy pages. */
@font-face { font-family: Onest; src: url('/assets/onest-300.woff2') format('woff2'), url('/assets/onest-300.ttf') format('truetype'); font-weight: 300; font-display: swap; }
@font-face { font-family: Onest; src: url('/assets/onest-400.woff2') format('woff2'), url('/assets/onest-400.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: Onest; src: url('/assets/onest-500.woff2') format('woff2'), url('/assets/onest-500.ttf') format('truetype'); font-weight: 500; font-display: swap; }
@font-face { font-family: Onest; src: url('/assets/onest-600.woff2') format('woff2'), url('/assets/onest-600.ttf') format('truetype'); font-weight: 600 900; font-display: swap; }
:root { --ink: #282b28; --ink-soft: #2e4038; --paper: #f3f0e9; --yellow: #e9eee8; --yellow-dark: #d2ddcf; --teal: #2e4038; --blue: #475d50; --line: #dedfd8; --muted: #696e66; --radius: 20px; --font-display: Onest, sans-serif; --font-body: Onest, sans-serif; }
body { font-weight: 400; }
h1, h2, h3 { font-weight: 400; }
.site-header { background: #f3f0e9f5; border-bottom: 1px solid var(--line); }
.brand__mark { font-size: 0; background: transparent; background-image: url('/assets/butterfly.svg'); background-repeat: no-repeat; background-position: center; background-size: contain; width: 42px; height: 42px; }
.brand__text strong { font-weight: 400; font-size: 28px; letter-spacing: -.06em; text-transform: lowercase; }
.brand__text small { letter-spacing: .1em; font-weight: 400; }
.button { border-radius: 999px; background: #2e4038; color: #fff; font-weight: 500; }
.button:hover { background: #40584b; color: #fff; }
.button--secondary, .button--dark-secondary { border: 1px solid #718077; background: transparent; color: inherit; }
.section--dark, .form-section, .site-footer { background: #2e4038; }
.hero__visual, .map-card, .doctor-card, .legal-toc, .price-table-wrap { border-radius: 20px; }
.privacy-page { padding-top: 70px; }
.privacy-page h1 { font-size: clamp(2.1rem, 5vw, 4rem); font-weight: 300; }
.privacy-page h2 { font-weight: 400; }
.privacy-page article { max-width: 1080px; }
.legal-toc { background: #e9eee8; padding: 24px; }
.doctor-card { background: #fff; padding: 28px; }
.legal-dl dd { overflow-wrap: anywhere; }
input, select, textarea { max-width: 100%; border: 1px solid #b2b8ae; border-radius: 12px; padding: 12px; font: inherit; background: #fff; color: #282b28; }
input[type='search'] { width: min(100%, 540px); }
select { min-height: 48px; }
.footer-links a, .footer-btn { min-height: 44px; display: inline-flex; align-items: center; }
.medical-warning, .footer-disclaimer { color: #e1e7e0; }
.site-footer .brand__mark { background-color: #f3f0e9; border-radius: 8px; }
@media (max-width: 720px) {
  .privacy-page { padding-top: 40px; }
  .site-header__inner { gap: 12px; flex-wrap: wrap; }
  .header-phone { white-space: nowrap; font-size: 14px; }
  .legal-toc { padding: 18px; }
  .doctor-card { padding: 20px; }
  .privacy-page p, .privacy-page li, .footer-grid p { overflow-wrap: anywhere; }
}
@media print {
  .site-header, .site-footer, .cookie-banner, .mobile-dock, [data-survey-print], button[type='submit'] { display: none !important; }
  .privacy-page { padding: 0; }
  body { color: #000; background: #fff; }
}
