/* ---------- Base and 1170px container ---------- */
:root {
  --green-dark: #10371b;
  --green: #287329;
  --orange: #ff975e;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; color: #101010; background: #fff; font-family: var(--sans); -webkit-font-smoothing: antialiased; }
h1, h2, h3, p { margin: 0; }
a { color: inherit; }
svg { display: block; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.container { width: calc(100% - 48px); max-width: 990px; margin-inline: auto;    background: linear-gradient(0deg, #fefefe, #fcfaf9); }
.page-artwork img { display: block; width: 100%; height: auto; }
.svg-definitions { position: absolute; width: 0; height: 0; overflow: hidden; }
.sr-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus { position: absolute; z-index: 10; top: 8px; left: 8px; padding: 12px 18px; background: white; color: var(--green-dark); }
a:focus-visible { outline: 3px solid #123d1e; outline-offset: 5px; }

/* ---------- Main closure notice ---------- */
.notice { text-align: center; padding-top: 0; }
.notice h1 { color: #092d18; font: 700 clamp(30px, 5.47vw, 48px)/1.06 var(--serif); letter-spacing: 0; }
.closure { margin-top: 2px; color: #102f1c; font-size: clamp(24px, 3.52vw, 29.5px); line-height: 1.02; }
.closure strong { display: block; color: var(--orange); font-size: clamp(32px, 4.3vw, 40px); line-height: 1;margin: 10px 0px;display: inline-block;width: 100%; }
.notice-description { margin: 6px auto 0; font-size: clamp(17px, 2.15vw, 21px); line-height: 1.22; }

/* ---------- Two action cards ---------- */
.action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 34px 26px 18px; }
.action-card { display: flex; flex-direction: column; align-items: center; min-width: 0; min-height: 320px; padding: 8px 36px 17px; border-radius: 26px; text-align: center; background: radial-gradient(ellipse at 50% 40%, #fff 0%, #f8f7f3 60%, #f1f1e9 100%); }
.action-icon { width: 78px; height: 78px; flex-shrink: 0; stroke-width: 6; }
.action-card--records .action-icon { color: #327d2c; padding: 3px 5px; }
.action-card--account .action-icon { color: #ff9256; stroke-width: 5.5; }
.action-card h2 { margin-top: 1px; color: #092d18; font: 700 clamp(28px, 3.52vw, 30px)/.96 var(--serif); letter-spacing: 0;line-height: 30px;margin-top: 20px; }
.action-card p { margin-top: 10px; margin-bottom: 4px; font-size: clamp(18px, 2.34vw, 20px); line-height: 1.12; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 100%; max-width: min(33.6vw, 390px); min-height: 52px; margin-top: auto; padding: 8px 16px; border: 1px solid transparent; border-radius: 21px; color: white; font-size: clamp(20px, 2.73vw, 26px); font-weight: 700; line-height: 1.15; text-decoration: none; box-shadow: inset 0 1px 0 #ffffff40; transition: filter .15s ease; }
.button svg { width: 26px; height: 26px; flex-shrink: 0; stroke-width: 2; }
.button--green { background: linear-gradient(175deg, #669855 0%, #407e35 48%, #24551f 100%); }
.button--orange { background: linear-gradient(175deg, #ffb084 0%, #fa955a 55%, #de743a 100%); }
.button:hover { filter: brightness(.93); }

/* ---------- Patient support ---------- */
.support { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; min-height: 174px; padding: 30px 30px; border-radius: 26px; background: linear-gradient(115deg, #eff3e9, #f9faf5 53%, #edf2e6); }
.support-intro { display: flex; align-items: center; gap: 17px; padding-right: 22px; }
.headset-icon { width: 88px; height: 94px; flex-shrink: 0; color: #105818; stroke-width: 6; }
.support-heading { border-left: 1px solid #7b9e71; padding: 0 0 0 18px; }
.support h2 { color: #0b4914; font: 700 clamp(28px, 4.3vw, 36px)/1.12 var(--serif); letter-spacing: 0; white-space: nowrap; }
.support-heading p { margin-top: 5px; font-size: clamp(16px, 2.05vw, 18px); line-height: 1.2; white-space: nowrap; }
.support-contacts { padding-left: 35px; border-left: 1px solid #739367; }
.contact-row { display: flex; align-items: center; gap: 18px;margin-bottom: 10px; }
.contact-row > svg { width: 37px; height: 38px; flex-shrink: 0; color: #1d6b21; }
.contact-label { font-size: clamp(14px, 1.76vw, 20px); line-height: 1.1; font-weight: 600; }
.phone-number { display: inline-block; color: #2a7325; font-size: clamp(28px, 4.1vw, 32px); line-height: 1.02; font-weight: 700; white-space: nowrap; text-decoration: none; }
.contact-row--email { margin-top: 3px; }
.contact-row--email > svg { height: 28px; stroke-width: 2.5; }
.contact-row--email a { font-size: clamp(17px, 2.34vw, 27px); line-height: 1.15; text-decoration: none; overflow-wrap: anywhere; }
.phone-number:hover, .contact-row--email a:hover { text-decoration: underline; }

/* ---------- Key information ---------- */
.key-information { padding: 24px 30px 24px; }
.section-title { display: flex; align-items: center; gap: 22px; color: #185218; font: 700 clamp(30px, 4.3vw, 48px)/1.15 var(--serif); text-align: center; white-space: nowrap; }
.section-title::before, .section-title::after { content: ""; height: 2px; background: #fa945a; flex: 1; }
.information-list { max-width: 810px; margin: 30px auto 15px auto; padding: 0 0 0 76px; list-style: none; }
.information-list li { display: flex; align-items: flex-start; gap: 32px; margin-bottom: 6px; }
.information-list li:last-child { margin-bottom: 0; }
.check-icon { width: 56px; height: 56px; flex-shrink: 0; margin-top: 2px; }
.check-icon circle { stroke: #ff9b62; stroke-width: 4; }
.check-icon path { stroke: #23672b; stroke-width: 5; }
.information-list h3 { color: #10371b; font-size: clamp(21px, 2.54vw, 29px); line-height: 1.08; font-weight: 700; letter-spacing: -.4px; }
.information-list p { font-size: clamp(17px, 2.05vw, 20px); line-height: 1.12; }
footer.page-artwork { margin-top: 0; }

/* ---------- Tablet ---------- */
@media (min-width: 1200px) {
  .action-card { min-height: 360px; padding-top: 15px; padding-bottom: 22px; }
  .support { min-height: 195px; }
  .information-list { max-width: 920px; }
  .information-list li { margin-bottom: 20px; }
}
@media (max-width: 991px) {
  .container { width: calc(100% - 36px); }
  .notice h1 { letter-spacing: -1.2px; }
  .action-grid { margin: 28px 12px 18px; gap: 18px; }
  .action-card { padding-inline: 22px; min-height: 305px; }
  .support { padding: 16px 20px; }
  .support-intro { gap: 10px; padding-right: 15px; }
  .headset-icon { width: 63px; height: 75px; }
  .support-heading { padding-left: 12px; }
  .support-contacts { padding-left: 18px; }
  .contact-row { gap: 12px; }
  .contact-row > svg { width: 29px; height: 32px; }
  .key-information { padding-inline: 15px; }
  .information-list { padding-left: 35px; }
  .information-list li { gap: 22px; }
  .desktop-break { display: none; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .container { width: calc(100% - 32px); }
  .notice { padding-top: 8px; }
  .notice h1 { max-width: 570px; margin-inline: auto; font-size: clamp(29px, 6vw, 40px); line-height: 1.05; letter-spacing: -.8px; }
  .closure { margin-top: 12px; font-size: 23px; }
  .closure strong { margin-top: 3px; font-size: 32px; }
  .notice-description { max-width: 550px; margin-top: 12px; font-size: 17px; line-height: 1.4; }
  .action-grid { grid-template-columns: 1fr; max-width: 490px; margin: 24px auto 18px; gap: 16px; }
  .action-card { min-height: 0; padding: 18px 25px 22px; border-radius: 22px; }
  .action-icon { width: 67px; height: 67px; }
  .action-card h2 { margin-top: 8px; font-size: 32px; line-height: 1; }
  .action-card p { margin: 12px 0 20px; font-size: 21px; line-height: 1.2; }
  .button { max-width: 390px; font-size: 24px; min-height: 51px; border-radius: 18px; }
  .support { grid-template-columns: 1fr; max-width: 540px; margin-inline: auto; padding: 22px; border-radius: 22px; }
  .support-intro { justify-content: center; gap: 16px; padding: 0 0 20px; }
  .headset-icon { width: 63px; height: 73px; }
  .support-heading { padding-left: 14px; }
  .support h2 { font-size: clamp(27px, 6.7vw, 38px); letter-spacing: -1px; }
  .support-heading p { font-size: clamp(13px, 3.4vw, 17px); white-space: normal; }
  .support-contacts { border-left: 0; border-top: 1px solid #a0b396; padding: 18px 0 0; }
  .contact-row { max-width: 360px; margin-inline: auto; gap: 12px; }
  .contact-row + .contact-row { margin-top: 10px; }
  .contact-row > svg { width: 30px; height: 34px; }
  .contact-label { font-size: clamp(12px, 3.4vw, 16px); }
  .phone-number { font-size: clamp(25px, 7.4vw, 35px); line-height: 1.1; }
  .contact-row--email a { font-size: clamp(16px, 4.4vw, 21px); }
  .key-information { padding: 22px 0 16px; }
  .section-title { gap: 12px; font-size: clamp(29px, 6.7vw, 38px); }
  .information-list { max-width: 540px; margin-top: 20px; padding: 0; }
  .information-list li { gap: 14px; margin-bottom: 20px; }
  .check-icon { width: 40px; height: 40px; margin-top: 0; }
  .information-list h3 { font-size: 21px; line-height: 1.15; }
  .information-list p { margin-top: 3px; font-size: 17px; line-height: 1.35; }
  /* Preserve the complete supplied footer artwork on every screen. */
  footer.page-artwork img { width: 100%; height: auto; }
}
@media (prefers-reduced-motion: reduce) { .button { transition: none; } }
