@layer reset, base, components;
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  body, h1, h2, h3, p, figure { margin: 0; }
  img { display: block; max-width: 100%; }
  button, input, textarea { font: inherit; }
}
@layer base {
  :root { --ink: #171d4b; --muted: #5d667d; --red: #b82343; --line: #e2e6ee; --paper: #f5f8fc; --navy: #06141e; --width: 1280px; font-family: "Aptos", "Segoe UI", system-ui, -apple-system, sans-serif; color: var(--ink); background: white; }
  body { font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  h1, h2, h3 { line-height: 1.18; font-weight: 650; text-wrap: balance; }
  h1 { font-size: clamp(2.3rem, 3.6vw, 3.4rem); letter-spacing: -.045em; }
  h2 { font-size: clamp(1.75rem, 2.5vw, 2.25rem); letter-spacing: -.035em; }
  h3 { font-size: 1.15rem; letter-spacing: -.025em; }
  p { color: var(--muted); }
  a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
  a:hover { text-decoration-thickness: 2px; }
  :focus-visible { outline: 3px solid #147e9c; outline-offset: 5px; }
  [id] { scroll-margin-top: 24px; }
  #main:focus { outline: none; }
  ::selection { background: #ead5dc; }
}
@layer components {
  .container { width: min(var(--width), calc(100% - 64px)); margin-inline: auto; }
  .section { padding-block: 64px; }
  .eyebrow { color: var(--muted); font-size: .66rem; font-weight: 650; letter-spacing: .19em; margin-bottom: 16px; }
  .draft-note { padding: 5px 16px; text-align: center; background: #f4f5f8; color: #636477; font-size: .66rem; }
  .draft-note span { margin-inline: 8px; }
  .header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 102px; }
  .brand { flex: 0 0 212px; }
  .brand img { width: 212px; height: auto; }
  .site-header-dark { background: var(--navy); color: #e9edf5; border-bottom: 1px solid #26343e; }
  .site-header-dark nav a:hover { color: #ff8097; }
  nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 7px; text-decoration-color: var(--red); }
  nav { display: flex; align-items: center; gap: 32px; font-size: .86rem; font-weight: 600; }
  nav a { text-decoration: none; padding-block: 12px; }
  nav a:hover { color: var(--red); }
  .nav-cta { border-radius: 6px; padding: 12px 19px; background: linear-gradient(105deg, #cc163b, #282057); color: white; }
  nav .nav-cta:hover { color: white; background: #2a2354; }
  .nav-cta span { margin-left: 20px; }
  .hero { background: linear-gradient(110deg, #fff 20%, #f2f7fb 60%, #d5e6f2); overflow: hidden; }
  .hero-inner { position: relative; min-height: 535px; display: flex; align-items: center; }
  .hero-copy { position: relative; z-index: 1; width: 58%; padding-block: 72px 52px; }
  .hero h1 { max-width: 680px; }
  .hero h1 span { display: block; color: var(--red); margin-top: 4px; }
  .hero .lead { margin-top: 23px; max-width: 560px; font-size: 1.05rem; }
  .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; align-items: center; }
  .button { display: inline-flex; justify-content: center; align-items: center; gap: 18px; min-height: 48px; padding: 12px 20px; background: linear-gradient(105deg, #cc163b, #282057); color: white; border: 1px solid transparent; border-radius: 6px; font-size: .84rem; font-weight: 600; text-decoration: none; }
  .button:hover { background: #2a2354; }
  .button-outline { color: var(--ink); border-color: #707897; background: #ffffffc9; }
  .button-outline:hover { background: white; }
  .text-link { display: inline-flex; gap: 15px; align-items: center; min-height: 44px; font-size: .86rem; font-weight: 600; }
  .hero-visual { position: absolute; inset: 0 -32px 0 auto; width: 62%; }
  .hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
  .hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #f7fafc 0%, #f6f9fcde 12%, #f3f8fc33 28%, transparent 44%); pointer-events: none; }
  .hero-visual figcaption { position: absolute; bottom: 12px; right: 16px; padding: 3px 8px; color: var(--ink); background: #ffffffde; font-size: .7rem; z-index: 1; }
  .hero-topics { display: flex; flex-wrap: wrap; gap: 24px; padding: 0; margin: 36px 0 0; list-style: none; }
  .hero-topics li { display: flex; align-items: center; gap: 10px; color: #485776; font-size: .73rem; line-height: 1.35; white-space: pre-line; }
  .hero-topics .line-icon { width: 38px; height: 38px; padding: 7px; border: 1px solid #818ba3; border-radius: 50%; flex: 0 0 38px; }
  .section-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 28px; }
  .section-heading > .rich-text { max-width: 365px; font-size: .85rem; }
  .patient-section { padding-bottom: 36px; }
  .body-areas { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
  .body-areas li { border: 1px solid #e7ebf1; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 3px 9px #172f5410; }
  .body-areas img { width: 100%; height: auto; aspect-ratio: 204 / 183; object-fit: cover; }
  .body-areas h3 { padding: 16px 14px; font-size: .9rem; line-height: 1.3; }
  .context-note { font-size: .73rem; margin-top: 20px; max-width: 900px; color: #697184; }
  .therapy-section { padding-top: 18px; padding-bottom: 54px; }
  .therapy-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
  .therapy-card { padding: 24px 18px; border: 1px solid #e7ebf1; border-radius: 8px; background: white; box-shadow: 0 3px 9px #172f540b; }
  .therapy-card > .line-icon { color: #d42145; width: 36px; height: 36px; margin-bottom: 18px; }
  .therapy-card h3 { font-size: 1.05rem; margin-bottom: 10px; }
  .therapy-card p { font-size: .8rem; line-height: 1.5; }
  .about-section { padding-block: 32px; background: #f2f6fa; border-block: 1px solid #e9edf4; }
  .about-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 36px; }
  .about-grid .eyebrow { margin-bottom: 10px; }
  .about-grid h2 { font-size: 1.4rem; margin-bottom: 12px; }
  .about-grid p { font-size: .81rem; }
  .audience-link { display: block; border-left: 1px solid #d5dce8; padding: 4px 0 4px 28px; text-decoration: none; }
  a.audience-link:hover h3 { color: var(--red); text-decoration: underline; text-underline-offset: 5px; }
  .small-label { display: flex; justify-content: space-between; gap: 12px; color: var(--red); font-size: .63rem; font-weight: 700; letter-spacing: .12em; margin-bottom: 12px; }
  .audience-link h3 { margin-bottom: 12px; font-size: 1.14rem; }
  .journey-section { background: linear-gradient(120deg, #fff 35%, #f2f6fb); }
  .journey-section .section-heading { display: block; text-align: center; }
  .journey-section .section-heading > .rich-text { max-width: 650px; margin: 16px auto 0; }
  .journey-list { list-style: none; padding: 0; margin: 38px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; text-align: center; }
  .step-top { position: relative; display: flex; justify-content: center; align-items: center; margin-bottom: 24px; }
  .step-top::after { content: ''; position: absolute; left: calc(50% + 47px); right: calc(-50% - 36px + 47px); height: 1px; background: #d7cede; }
  .journey-list li:last-child .step-top::after { display: none; }
  .step-number { position: absolute; left: 6%; color: #e2e7f0; font-size: 3.1rem; font-weight: 650; line-height: 1; letter-spacing: -.055em; }
  .step-icon { width: 70px; height: 70px; display: grid; place-items: center; border: 1px solid #efe5ec; border-radius: 50%; color: var(--red); background: white; box-shadow: 0 4px 20px #6e3c5c12; }
  .journey-list h3 { font-size: 1.03rem; margin-bottom: 12px; }
  .journey-list p { font-size: .83rem; }
  .professional-section { background: var(--navy); color: #fff; overflow: hidden; }
  .professional-hero { position: relative; min-height: 420px; display: flex; align-items: center; }
  .professional-copy { position: relative; z-index: 1; width: 56%; padding: 64px 0; }
  .professional-copy :is(h1, h2) { font-size: clamp(2.2rem, 4vw, 3.75rem); max-width: 620px; letter-spacing: -.045em; }
  .professional-copy :is(h1, h2) span { display: block; color: #ef3357; }
  .page-audience { color: #ff8097; font-size: .68rem; font-weight: 700; letter-spacing: .16em; margin-bottom: 22px; }
  .professional-return { color: #e4eaf3; font-size: .79rem; }
  .professional-section .eyebrow { color: #c6cfdd; }
  .professional-intro { margin-top: 24px; max-width: 500px; font-size: 1rem; }
  .professional-intro p { color: #bdc9d6; }
  .professional-visual { position: absolute; inset: 0 -15px 0 auto; width: 54%; }
  .professional-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
  .professional-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--navy), transparent 45%), linear-gradient(0deg, var(--navy), transparent 22%); }
  .professional-pillars { padding: 34px 0 62px; border-top: 1px solid #26343e; }
  .professional-pillars > .eyebrow { margin-bottom: 30px; }
  .pillars { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; text-align: center; }
  .pillar-icon { position: relative; width: 76px; height: 76px; display: grid; place-items: center; margin: 0 auto 24px; border: 1px solid #68717b; border-radius: 50%; color: #f22f55; }
  .pillar-icon .line-icon { width: 35px; height: 35px; }
  .pillar-icon > span { position: absolute; bottom: -10px; padding: 0 8px; font-size: 1.1rem; color: white; background: var(--navy); }
  .pillars h3 { font-size: .9rem; color: #ff8097; margin-bottom: 12px; }
  .pillars p { font-size: .8rem; color: #b8c3d0; }
  .faq-section { display: grid; grid-template-columns: 1fr 1.6fr; gap: 70px; }
  .faq-list details { border-bottom: 1px solid var(--line); }
  .faq-list details:first-child { border-top: 1px solid var(--line); }
  .faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 22px; cursor: pointer; padding: 22px 0; list-style: none; font-size: .97rem; font-weight: 600; line-height: 1.45; }
  .faq-list summary::-webkit-details-marker { display: none; }
  .faq-list summary span { font-size: 1.6rem; color: var(--red); font-weight: 400; }
  .faq-list details[open] summary span { transform: rotate(45deg); }
  .faq-list details p { padding: 0 26px 24px 0; font-size: .9rem; }
  .contact-section { background: #f1f5fa; padding: 42px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center; border-radius: 8px; margin-bottom: 56px; border: 1px solid #e3e8f0; }
  .contact-section h2 { margin-bottom: 18px; font-size: 1.8rem; }
  .contact-status { border-left: 1px solid #d2d9e4; padding-left: 36px; }
  .status-label { font-size: .67rem; font-weight: 700; letter-spacing: .13em; color: var(--red); }
  .contact-status p { font-size: .88rem; margin-top: 14px; }
  address { font-style: normal; display: grid; gap: 12px; overflow-wrap: anywhere; }
  .site-footer { border-top: 1px solid var(--line); padding-block: 26px; }
  .footer-inner { display: flex; justify-content: space-between; gap: 30px; font-size: .76rem; }
  .footer-inner > a { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; }
  .skip-link { position: fixed; top: -100px; left: 16px; padding: 12px 18px; background: white; z-index: 10; }
  .skip-link:focus { top: 12px; }
  .reading-width { max-width: 740px; margin-top: 24px; }
  .reading-width h2 { margin-bottom: 24px; }
  .page-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 40px; }
  .article-header { padding-block: 56px 30px; max-width: 820px; }
  .article-header h1 { margin-block: 30px; }
  .rich-text > * + * { margin-top: 1em; }
  .rich-text h2, .rich-text h3 { margin-top: 1.25em; }
  .rich-text ul, .rich-text ol { padding-left: 1.3em; color: var(--muted); }
  .rich-text img { height: auto; }
  .image-text { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
  .image-text h2 { margin-bottom: 24px; }
  .image-text.image-left figure { order: -1; }
  .image-text img { width: 100%; height: auto; border-radius: 8px; }
  .image-text figcaption { font-size: .8rem; color: var(--muted); margin-top: 12px; }
  @media (min-width: 1400px) {
    .hero-visual { right: calc((1280px - 100vw) / 2); width: calc(62% + (100vw - 1344px) / 2); }
  }
  @media (max-width: 1080px) {
    nav { gap: 20px; }
    .hero-copy { width: 62%; }
    .hero-inner { min-height: 510px; }
    .hero-topics { gap: 16px; }
    .hero-topics li { font-size: .68rem; }
    .body-areas, .therapy-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .body-areas img { aspect-ratio: 1.45; object-fit: contain; background: #f6f9fc; }
    .about-grid { gap: 26px; }
    .pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
    .step-number { left: 0; font-size: 2.4rem; }
  }
  @media (max-width: 760px) {
    .container { width: calc(100% - 36px); }
    .section { padding-block: 44px; }
    .header-inner { flex-direction: column; align-items: flex-start; gap: 8px; padding-block: 14px; }
    .brand { flex-basis: auto; }
    .brand img { width: 162px; }
    nav { width: 100%; gap: 4px 18px; flex-wrap: wrap; font-size: .76rem; }
    nav a { min-height: 42px; display: inline-flex; align-items: center; }
    .nav-cta { margin-left: auto; padding: 7px 12px; }
    .nav-cta span { margin-left: 8px; }
    .hero-inner { display: flex; flex-direction: column; min-height: 0; }
    .hero-copy { width: 100%; padding: 38px 0 24px; order: -1; }
    .hero h1 { max-width: 620px; }
    .hero .lead { max-width: 540px; font-size: 1rem; }
    .hero-actions { gap: 12px; margin-top: 24px; }
    .hero-topics { margin-top: 26px; justify-content: space-between; gap: 14px; }
    .hero-topics .line-icon { width: 30px; height: 30px; flex-basis: 30px; padding: 5px; }
    .hero-visual { position: relative; inset: auto; width: calc(100% + 36px); height: 350px; }
    .hero-visual img { object-position: center 36%; }
    .hero-visual::after { background: linear-gradient(180deg, #edf5fa 0%, transparent 20%); }
    .section-heading { display: block; margin-bottom: 24px; }
    .section-heading > .rich-text { margin-top: 14px; max-width: 560px; }
    .eyebrow { margin-bottom: 12px; }
    .body-areas { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .body-areas img { aspect-ratio: 204 / 183; object-fit: cover; }
    .body-areas h3 { padding: 13px 12px; font-size: .83rem; }
    .therapy-section { padding-top: 0; }
    .therapy-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .therapy-card { padding: 22px 16px; }
    .about-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .about-grid > div { grid-column: 1 / -1; max-width: 540px; }
    .audience-link { padding-left: 18px; }
    .journey-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
    .journey-list li:nth-child(2) .step-top::after { display: none; }
    .professional-hero { min-height: 0; display: flex; flex-direction: column; }
    .professional-copy { width: 100%; padding-block: 42px 12px; }
    .professional-copy :is(h1, h2) { font-size: 2.6rem; }
    .professional-visual { position: relative; inset: auto; width: calc(100% + 36px); height: 320px; }
    .professional-visual img { object-position: center 40%; }
    .professional-visual::after { background: linear-gradient(180deg, var(--navy), transparent 22%), linear-gradient(0deg, var(--navy), transparent 25%); }
    .professional-pillars { padding-block: 26px 44px; }
    .faq-section, .contact-section { grid-template-columns: 1fr; gap: 28px; }
    .contact-section { padding: 28px 24px; margin-bottom: 40px; }
    .contact-status { border-left: 0; border-top: 1px solid #d2d9e4; padding: 24px 0 0; }
    .page-links { grid-template-columns: 1fr; }
    .image-text { grid-template-columns: 1fr; gap: 24px; }
  }
  @media (max-width: 480px) {
    h1 { font-size: 2.28rem; }
    .draft-note { font-size: .6rem; }
    nav { gap: 3px 14px; }
    .nav-cta { margin-left: 0; }
    .hero-actions { display: grid; grid-template-columns: 1fr; }
    .hero-actions .button { justify-content: space-between; }
    .hero-topics { gap: 14px 10px; }
    .hero-topics li { flex: 1 1 42%; }
    .hero-topics li:last-child { flex: 0 1 100%; }
    .hero-visual { height: 300px; }
    .body-areas, .therapy-grid, .pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-grid { grid-template-columns: 1fr; }
    .about-grid > div { grid-column: auto; }
    .therapy-card h3 { font-size: 1rem; }
    .therapy-card p { font-size: .82rem; }
    .step-number { font-size: 2.2rem; left: -3px; }
    .step-icon { width: 60px; height: 60px; }
    .step-top::after { left: calc(50% + 38px); right: calc(-50% - 30px + 38px); }
    .journey-list h3 { font-size: .98rem; }
    .footer-inner { flex-direction: column; gap: 16px; }
  }
}

@layer components {
  .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  [hidden] { display: none !important; }
  .section-heading h2 span, .story-copy h2 span { color: var(--red); }
  .section-heading .text-link { flex-shrink: 0; color: var(--red); font-weight: 500; }
  .context-note:empty, .eyebrow:empty, .rich-text:empty { display: none; }
  .header-inner { gap: 24px; }
  nav { gap: clamp(12px, 1.7vw, 26px); font-size: .78rem; }
  .brand { flex-basis: 205px; }
  .brand img { width: 205px; }
  .hero-copy { width: 60%; }
  .hero h1 { font-size: clamp(2.3rem, 3.9vw, 3.7rem); }
  .hero .lead { max-width: 510px; }
  .hero-visual { width: 58%; }
  .hero-topics { max-width: 660px; }
  .hero-topics li { font-size: .74rem; }
  .hero .button { font-size: .8rem; }
  .journey-section .section-heading { text-align: left; margin-bottom: 16px; }
  .journey-intro { max-width: 910px; font-size: .94rem; }
  .journey-action { text-align: center; margin-top: 35px; }
  .journey-action .button { min-width: 300px; cursor: pointer; }
  .journey-action > p { margin-top: 10px; font-size: .8rem; }
  .availability { max-width: 660px; margin-inline: auto; }
  .availability > .rich-text { margin: 18px 0; padding: 18px; background: white; border: 1px solid var(--line); border-radius: 8px; font-size: .86rem; }
  details summary { cursor: pointer; }
  details summary::-webkit-details-marker { display: none; }
  .benefit-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; }
  .benefit-list li { display: flex; gap: 18px; align-items: center; font-size: .93rem; line-height: 1.45; white-space: pre-line; }
  .benefit-list .line-icon { width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid currentColor; padding: 9px; border-radius: 50%; }
  .gateway { position: relative; min-height: calc(100svh - 27px); overflow: hidden; background: linear-gradient(90deg,#f5f7f7 35%,#06141e 65%); isolation: isolate; }
  .gateway-header { position: relative; z-index: 2; padding: 25px 4.3vw 18px; display: flex; justify-content: space-between; align-items: flex-start; }
  .gateway-header .brand { flex-basis: 235px; }
  .gateway-header .brand img { width: 235px; }
  .gateway-header nav { color: white; gap: 16px; letter-spacing: .15em; }
  .gateway-visual { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; overflow: hidden; }
  .gateway-visual img { position: absolute; left: 50%; transform: translateX(-50%); width: min(100%,2000px); max-width: none; height: 100%; object-fit: cover; object-position: center; mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
  .gateway-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#f5f7f7ed 0%,#f5f7f7cd 22%,#f5f7f700 39%,#06141e00 65%,#06141e88 83%,#06141ee8 100%); pointer-events: none; }
  .gateway-visual figcaption { position: absolute; bottom: 26px; left: 0; right: 0; text-align: center; font-size: .6rem; line-height: 1.9; letter-spacing: .3em; white-space: pre-line; color: #fff; text-shadow: 0 1px 4px #06141e; z-index: 1; }
  .gateway-audiences { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 27%; padding: 48px 4.3vw 25px; }
  .gateway-side { flex: 0 0 35%; max-width: 465px; min-width: 0; }
  .gateway-side > .eyebrow { font-size: .62rem; letter-spacing: .16em; line-height: 1.7; margin-bottom: 20px; }
  .gateway-side h2 { font-size: clamp(1.8rem,2.55vw,2.9rem); letter-spacing: -.035em; line-height: 1.14; margin-bottom: 17px; text-wrap: initial; }
  .gateway-side h2 span { display: block; color: #dc1b3e; }
  .gateway-intro { font-size: clamp(.88rem,1.13vw,1.1rem); line-height: 1.55; max-width: 370px; }
  .gateway-intro p { color: #202c40; }
  .gateway-button { margin-block: 30px 34px; min-height: 59px; width: min(100%,340px); justify-content: space-between; padding-inline: 25px; border-radius: 13px; font-size: .88rem; letter-spacing: .07em; }
  .gateway-professional { color: #f4f6f9; }
  .gateway-professional .eyebrow, .gateway-professional p { color: #edf1f5; }
  .gateway-professional .gateway-button { background: #020b12b3; border: 2px solid #e21b3a; }
  .gateway-professional .gateway-button:hover { background: #182630; }
  .gateway-footnote { font-size: .58rem; letter-spacing: .23em; line-height: 1.9; white-space: pre-line; margin-top: 50px; }
  .gateway-professional .gateway-footnote { text-align: right; }
  .gateway-footnote::after { content: ''; display: block; width: 40px; height: 1px; background: currentColor; margin-top: 10px; opacity: .5; }
  .gateway-professional .gateway-footnote::after { margin-left: auto; }
  .clinic-locator { background: linear-gradient(105deg,#fff,#edf4fb); border-block: 1px solid #e9edf3; }
  .locator-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 45px; align-items: center; }
  .locator-copy h2 { margin-bottom: 20px; }
  .locator-copy > .rich-text { font-size: .95rem; }
  .clinic-search { display: flex; align-items: center; margin-block: 26px 20px; min-height: 60px; border: 1px solid #cdd6e8; border-radius: 6px; background: white; overflow: hidden; }
  .clinic-search > .line-icon { width: 23px; margin-left: 18px; flex-shrink: 0; }
  .clinic-search input { min-width: 0; width: 100%; border: 0; padding: 15px 12px; background: transparent; color: var(--ink); font-size: .88rem; }
  .clinic-search input:focus-visible { outline-offset: -4px; }
  .clinic-search button { align-self: stretch; background: linear-gradient(100deg,#d9193e,#362258); border: 0; padding: 15px 20px; color: white; cursor: pointer; }
  .clinic-search button .line-icon { width: 25px; height: 25px; }
  .locator-copy .text-link { color: var(--red); }
  .locator-results { position: relative; min-height: 280px; display: flex; justify-content: flex-end; align-items: center; }
  .locator-map { position: absolute; width: 87%; left: -20px; top: 0; bottom: 0; }
  .locator-map img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; opacity: .72; }
  .clinic-cards { position: relative; display: grid; gap: 16px; width: 235px; }
  .clinic-card { background: white; border: 1px solid #e6eaf0; border-radius: 10px; padding: 12px; box-shadow: 0 5px 18px #10295d12; }
  .clinic-card img { width: 100%; height: 112px; object-fit: cover; border-radius: 5px; }
  .clinic-card h3 { font-size: .95rem; margin-block: 12px 7px; }
  .clinic-card p { font-size: .81rem; }
  .clinic-card summary { margin-top: 12px; color: var(--red); font-size: .8rem; }
  .clinic-card details .rich-text { margin-top: 12px; }
  .clinic-empty { margin-top: 20px; font-size: .86rem; }
  .clinics-page .hero h1 span { color: var(--ink); }
  .clinics-page .hero-copy { width: 60%; }
  .clinics-page .hero-visual { width: 51%; }
  .clinics-page .hero-visual img { object-position: center; }
  .clinics-page .hero-inner { min-height: 455px; }
  .clinics-page .hero-copy { padding-block: 52px; }
  .clinics-page .clinic-cards { width: 255px; }
  .story-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 30px; }
  .story-copy { position: relative; padding: 28px 0 28px 30%; min-height: 400px; }
  .story-copy > img { position: absolute; inset: 0 auto 0 0; width: 50%; height: 100%; object-fit: cover; object-position: left; mask-image: linear-gradient(90deg,#000 40%,transparent); }
  .story-copy > div { position: relative; }
  .story-copy h2 { font-size: 1.85rem; margin-bottom: 18px; }
  .story-copy h2 span { display: block; }
  .story-copy .eyebrow { font-size: .59rem; }
  .story-copy .rich-text { font-size: .87rem; }
  .story-copy .button { margin-top: 20px; }
  .story-copy blockquote { margin: 28px 0 0; font-family: Georgia,serif; font-style: italic; font-size: 1.08rem; line-height: 1.45; color: #515c76; }
  .story-copy cite { display: block; margin-top: 10px; font: .8rem system-ui; }
  .story-copy .context-note { font-size: .66rem; margin-top: 12px; }
  .region-card { position: relative; overflow: hidden; align-self: center; border-radius: 16px; color: white; background: #0a2537; padding: 32px; }
  .region-card > img { position: absolute; right: 0; top: 0; width: 49%; height: 70%; object-fit: cover; opacity: .65; mask-image: linear-gradient(90deg,transparent,#000 55%); }
  .region-card > div { position: relative; max-width: 310px; }
  .region-card h2 { font-size: 1.75rem; margin-bottom: 20px; }
  .region-card .rich-text p { color: #dae3ed; font-size: .88rem; }
  .region-card .button { margin-top: 22px; background: white; }
  .region-card .benefit-list { position: relative; grid-template-columns: repeat(3,1fr); border-top: 1px solid #ffffff22; margin: 34px -10px -6px; padding-top: 24px; gap: 12px; }
  .region-card .benefit-list li { display: block; font-size: .68rem; }
  .region-card .benefit-list .line-icon { margin-bottom: 8px; width: 35px; height: 35px; padding: 7px; }
  .professional-hero { min-height: 510px; }
  .professional-copy { width: 52%; padding-block: 48px; }
  .professional-copy :is(h1,h2) { font-size: clamp(2.5rem,4.2vw,4.3rem); line-height: .99; }
  .professional-copy :is(h1,h2) span { margin-top: 4px; color: #ed233e; }
  .professional-subtitle { color: white; font-size: 1.18rem; margin-top: 16px; line-height: 1.4; }
  .professional-intro { margin-top: 18px; max-width: 470px; font-size: .94rem; }
  .professional-visual { width: 49%; right: 10%; }
  .professional-visual img { object-position: center; }
  .professional-visual::after { background: linear-gradient(90deg,var(--navy),transparent 25%,transparent 75%,var(--navy)),linear-gradient(0deg,var(--navy),transparent 16%); }
  .professional-section .button-outline { background: #07131c88; border-color: #7d8891; color: white; }
  .professional-statistics { display: flex; gap: 24px; align-items: center; margin-top: 32px; }
  .professional-statistics > div { border-right: 1px solid #75818c; padding-right: 24px; }
  .professional-statistics strong { display: block; font-size: 1.9rem; line-height: 1.2; }
  .professional-statistics span { font-size: .81rem; color: #d3dce6; }
  .professional-statistics > p { font-size: .55rem; letter-spacing: .14em; white-space: pre-line; color: #c4d1dc; }
  .professional-aside { position: absolute; right: 0; top: 48px; bottom: 25px; width: 14%; display: flex; flex-direction: column; justify-content: space-between; z-index: 1; }
  .professional-aside ul { border-left: 1px solid #7a8490; padding: 0 0 0 18px; list-style: none; font-size: .52rem; letter-spacing: .07em; line-height: 1.8; }
  .professional-aside li + li { margin-top: 8px; }
  .professional-aside blockquote { margin: 30px 0; font: italic 1.65rem/1.5 Georgia,serif; }
  .collaboration-section { padding-block: 28px; background: #f6f9fd; border-bottom: 1px solid #e2e7f0; }
  .collaboration-grid { display: grid; grid-template-columns: 270px 1fr 210px; gap: 28px; align-items: center; }
  .collaboration-grid > img { width: 100%; height: auto; mix-blend-mode: multiply; }
  .collaboration-grid > div { border-left: 1px solid #9ba8bf; padding-left: 28px; }
  .collaboration-grid h2 { font-size: 1.25rem; margin-bottom: 10px; }
  .collaboration-grid .eyebrow { margin-bottom: 8px; }
  .collaboration-grid .rich-text { font-size: .8rem; }
  .collaboration-grid aside { border-left: 1px solid var(--red); padding-left: 26px; }
  .collaboration-grid aside .rich-text { font-size: .95rem; }
  .collaboration-grid .text-link { font-size: .79rem; margin-top: 18px; }
  .experts-section { padding-block: 34px 42px; background: #fafcfe; }
  .expert-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
  .expert-card { border-radius: 6px; overflow: hidden; box-shadow: 0 3px 14px #365c9210; background: white; }
  .expert-card img { width: 100%; height: auto; aspect-ratio: 356 / 226; object-fit: cover; }
  .expert-card > div { padding: 14px; }
  .expert-card h3 { font-size: .98rem; margin-bottom: 6px; }
  .expert-country { border-bottom: 1px solid #dbe3ed; padding-bottom: 10px; margin-bottom: 10px; font-size: .8rem; }
  .expert-focus { font-size: .76rem; white-space: pre-line; line-height: 1.5; }
  .standards-section { background: radial-gradient(ellipse at 50% 150%,#124568,transparent 70%),var(--navy); }
  .standards-heading { display: grid; grid-template-columns: 1.6fr 1fr; gap: 50px; margin-bottom: 42px; }
  .standards-heading .rich-text p { color: #c5ced8; font-size: .85rem; }
  .standards-heading .text-link { color: white; font-size: .79rem; margin-top: 14px; }
  .standards-section .pillars h3 { color: #ff3554; font-size: 1rem; }
  .standards-section .pillars p { white-space: pre-line; font-size: .83rem; }
  .programme-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
  .programme-card { border: 1px solid #e5eaf2; border-radius: 7px; overflow: hidden; background: #fcfdff; }
  .programme-card > img { width: 100%; height: 170px; object-fit: cover; }
  .programme-card:nth-child(2) > img { object-position: center 36%; }
  .programme-card > div { padding: 22px; }
  .programme-card .eyebrow { margin-bottom: 10px; font-size: .62rem; }
  .programme-card h2 { font-size: 1.5rem; }
  .programme-card ul { padding: 0; margin: 22px 0; list-style: none; display: grid; gap: 8px; }
  .programme-card li { display: flex; gap: 12px; font-size: .82rem; color: #586682; }
  .programme-card li .line-icon { color: #e92247; width: 18px; height: 18px; flex-shrink: 0; }
  .programme-card .text-link { color: #cb1739; font-size: .86rem; }
  .programme-card details .rich-text { margin-top: 15px; font-size: .82rem; }
  @media(min-width:1600px) { .gateway-audiences { padding-top: 65px; } .gateway-side { flex-basis: 34%; } .gateway-footnote { margin-top: 65px; } }
  @media(max-width:1150px) {
    .professional-aside { display: none; }
    .professional-visual { right: -20px; width: 52%; }
    .professional-copy { width: 62%; }
    .collaboration-grid { grid-template-columns: 210px 1fr; }
    .collaboration-grid aside { grid-column: 2; border-left: 0; padding-left: 28px; }
    .gateway-audiences { gap: 22%; }
    .gateway-side { flex-basis: 38%; }
    .gateway-visual::after { background: linear-gradient(90deg,#f5f7f7f5 0%,#f5f7f7dc 26%,#f5f7f700 44%,#06141e00 59%,#06141ec9 76%,#06141ef0 100%); }
    .gateway-side > .eyebrow { font-size: .55rem; }
    .gateway-side .benefit-list li { font-size: .84rem; }
    .story-grid { grid-template-columns: 1fr; }
    .region-card { min-height: 320px; }
    .region-card > div { max-width: 60%; }
    .region-card .benefit-list li { display: flex; }
    .expert-grid { gap: 10px; }
    .expert-card > div { padding: 10px; }
  }
  @media(max-width:900px) {
    .header-inner { flex-wrap: wrap; padding-block: 12px; }
    .header-inner nav { flex: 1 1 100%; justify-content: space-between; }
    .locator-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .hero-copy { width: 65%; }
    .expert-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .programme-grid { grid-template-columns: 1fr; }
    .programme-card { display: grid; grid-template-columns: 36% 1fr; }
    .programme-card > img { height: 100%; }
    .programme-card:nth-child(2) > img { object-fit: contain; background: var(--navy); }
    .standards-heading { grid-template-columns: 1fr; gap: 24px; }
  }
  @media(max-width:760px) {
    .hero-copy,.clinics-page .hero-copy { width: 100%; }
    .hero-visual,.clinics-page .hero-visual { width: calc(100% + 36px); }
    .hero h1 { font-size: 2.7rem; }
    .header-inner nav { justify-content: flex-start; }
    .gateway { display: grid; grid-template-areas: 'header' 'patient' 'anatomy' 'professional'; background: #f5f7f7; }
    .gateway-header { grid-area: header; padding: 22px 24px 12px; align-items: center; }
    .gateway-header nav { color: var(--ink); width: auto; gap: 12px; }
    .gateway-header .brand { flex-basis: 185px; }
    .gateway-header .brand img { width: 185px; }
    .gateway-audiences { display: contents; }
    .gateway-side { max-width: none; padding: 30px 28px; }
    .gateway-patient { grid-area: patient; }
    .gateway-professional { grid-area: professional; background: var(--navy); padding-top: 34px; }
    .gateway-side h2 { font-size: 2.3rem; }
    .gateway-side > .eyebrow { font-size: .57rem; }
    .gateway-intro { font-size: 1rem; max-width: 480px; }
    .gateway-side .benefit-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
    .gateway-side .benefit-list li { display: block; font-size: .77rem; }
    .gateway-side .benefit-list .line-icon { display: block; margin-bottom: 12px; }
    .gateway-side .benefit-list span { white-space: normal; }
    .gateway-button { width: 100%; max-width: 400px; margin-block: 25px; }
    .gateway-footnote { margin-top: 30px; font-size: .53rem; }
    .gateway-visual { grid-area: anatomy; position: relative; inset: auto; width: 100%; height: 460px; background: linear-gradient(90deg,#f5f7f7 35%,#06141e 65%); }
    .gateway-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; mask-image: none; }
    .gateway-visual::after { background: linear-gradient(180deg,#f5f7f7 0%,#f5f7f700 20%,#06141e00 75%,#06141e 100%); }
    .gateway-visual figcaption { bottom: 12px; font-size: .48rem; }
    .gateway-professional .gateway-footnote { text-align: left; }
    .gateway-professional .gateway-footnote::after { margin-left: 0; }
    .locator-grid { grid-template-columns: 1fr; }
    .locator-results { min-height: 310px; }
    .locator-map { width: 90%; left: 0; }
    .clinics-page .hero-inner { min-height: 0; }
    .clinics-page .hero-copy { padding-block: 35px; }
    .clinics-page .hero-visual { height: 320px; }
    .clinic-cards,.clinics-page .clinic-cards { width: 55%; min-width: 200px; }
    .story-copy { padding-left: 24%; }
    .story-copy h2 { font-size: 1.7rem; }
    .region-card { padding: 26px; }
    .region-card > div { max-width: 100%; }
    .region-card > img { opacity: .25; }
    .region-card .benefit-list li { display: block; }
    .professional-copy { width: 100%; padding-block: 40px 0; }
    .professional-copy :is(h1,h2) { font-size: clamp(2rem,7.8vw,3.3rem); }
    .professional-visual { width: calc(100% + 36px); right: auto; height: 350px; }
    .professional-statistics { gap: 18px; }
    .professional-statistics > div { padding-right: 18px; }
    .professional-statistics > p { font-size: .47rem; }
    .professional-statistics strong { font-size: 1.8rem; }
    .collaboration-grid { grid-template-columns: 1fr; gap: 20px; }
    .collaboration-grid > img { max-width: 240px; }
    .collaboration-grid > div,.collaboration-grid aside { grid-column: auto; padding-left: 0; border: 0; }
    .collaboration-grid h2 { font-size: 1.4rem; }
    .expert-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .section-heading .text-link { margin-top: 16px; }
    .programme-card { display: block; }
    .programme-card > img { height: 190px; }
    .programme-card:nth-child(2) > img { object-fit: cover; }
    .journey-action .button { min-width: 0; width: min(100%,360px); }
  }
  @media(max-width:380px) {
    .hero h1 { font-size: 2.3rem; }
    .gateway-header .brand img { width: 155px; }
    .gateway-header .brand { flex-basis: 155px; }
    .gateway-side { padding-inline: 20px; }
    .gateway-side h2 { font-size: 2.05rem; }
    .professional-statistics { gap: 13px; }
    .professional-statistics > div { padding-right: 13px; }
    .professional-statistics > p { display: none; }
    .story-copy { padding-left: 17%; }
  }
}
@layer components {
  @media(min-width:1151px) { .gateway-side { flex-basis: 31%; } .gateway-audiences { gap: 32%; } }
  .story-copy blockquote .rich-text p { color: inherit; }
}
@layer components {
  .story-copy { padding-left: 40%; }
  .story-copy > img { width: 38%; mask-image: linear-gradient(90deg,#000 70%,transparent); }
  @media(max-width:760px) {
    .story-copy { padding: 0; }
    .story-copy > img { position: relative; width: 100%; height: 300px; object-position: center 27%; mask-image: linear-gradient(180deg,#000 83%,transparent); }
    .story-copy > div { padding-top: 20px; }
  }
}
@layer components {
  @media(min-width:901px) {
    .programme-card:nth-child(2) { display: grid; grid-template-columns: 31% 1fr; }
    .programme-card:nth-child(2) > img { height: 100%; object-position: center; }
    .programme-card:nth-child(2) > div { padding: 22px 17px; }
    .programme-card:nth-child(2) h2 { font-size: 1.45rem; }
    .programme-card:nth-child(2) li { gap: 8px; font-size: .77rem; }
  }
}
@layer components {
  .skip-link:not(:focus) { visibility: hidden; }
}
@layer components {
  @media(max-width:760px) {
    .header-inner { gap: 8px; }
    .header-inner .brand { flex-basis: auto; }
    .header-inner .brand img { width: 175px; }
    .header-inner nav { flex: none; }
    .professional-aside { display: flex; position: relative; inset: auto; width: 100%; padding-block: 22px 30px; flex-direction: row; align-items: center; gap: 24px; }
    .professional-aside ul { width: 54%; font-size: .49rem; padding-left: 12px; }
    .professional-aside blockquote { width: 46%; font-size: 1.25rem; margin: 0; }
    .professional-statistics { flex-wrap: wrap; }
    .professional-statistics > p { display: block; font-size: .52rem; }
  }
}
@layer components {
  @media(min-width:1600px) {
    .gateway-header,.gateway-audiences { width: min(100%,1780px); margin-inline: auto; }
  }
}
