/* Open Sans, self-hosted (SIL Open Font License 1.1) */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('../fonts/open-sans-latin-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url('../fonts/open-sans-latin-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* EZhealth Weight Clinic: shared styles. Most layout lives inline in each page. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: 'Open Sans', 'Segoe UI', Arial, sans-serif; color: #27352e; background: #ffffff; }
img { max-width: 100%; height: auto; }
a { color: #234d3b; }
a:hover { color: #9c5a2e; }
[id] { scroll-margin-top: 110px; }

/* Sticky header: the green band slides away on scroll down and returns on scroll up */
.site-top { position: sticky; top: 0; z-index: 50; transition: transform .25s ease; will-change: transform; }
.site-top.band-hidden { transform: translateY(calc(-1 * var(--band-h, 0px))); }
.site-top.is-stuck .site-header { box-shadow: 0 6px 20px rgba(23, 61, 48, 0.08); }

/* Keyboard focus */
:focus-visible { outline: 3px solid #ad6334; outline-offset: 3px; border-radius: 4px; }

/* Skip link */
.skip-link { position: absolute; left: 16px; top: -60px; z-index: 100; background: #173d30; color: #ffffff; padding: 12px 18px; border-radius: 7px; font-weight: 700; text-decoration: none; }
.skip-link:focus { top: 16px; color: #ffffff; }

/* Buttons and links styled as buttons */
a[style*="background: #ad6334"]:hover { background: #8f5129 !important; color: #ffffff !important; }

/* Eligibility check */
.choice { min-height: 48px; padding: 0 22px; border-radius: 99px; font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; background: #ffffff; color: #234d3b; border: 1px solid #b5c9b8; }
.choice:hover { background: #e7efe8; }
.choice[aria-pressed="true"] { background: #234d3b; color: #ffffff; border-color: #234d3b; }
.result { border-radius: 12px; padding: 16px 18px; }
.result-neutral { background: #ffffff; border: 1px dashed #d1d9d4; }
.result-go { background: #e7efe8; border: 1px solid #a8c0aa; }
.result-stop { background: #fbeee4; border: 1px solid #e5c2a5; }
#check-cta[hidden] { display: none !important; }

/* Accordions (FAQs and policies) */
.acc > summary { list-style: none; }
.acc > summary::-webkit-details-marker { display: none; }
.acc-icon { flex: none; width: 18px; height: 18px; position: relative; margin-top: 4px; }
.acc-icon::before, .acc-icon::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: #9c5a2e; border-radius: 2px; transition: transform .2s ease; }
.acc-icon::after { transform: rotate(90deg); }
.acc[open] .acc-icon::after { transform: rotate(0deg); }

/* Hero floating cards: keep them inside the screen on small devices */
@media (max-width: 760px) {
  .hero [style*="left: -20px"] { left: 12px !important; right: 12px; max-width: none !important; }
  .hero [style*="right: -12px"] { right: 12px !important; top: 12px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
