:root {
  --navy: #0b2f5b;
  --navy-deep: #082544;
  --teal: #0a7f8c;
  --aqua: #39c5cf;
  --silver: #e8eef2;
  --base: #f5fbfc;
  --ink: #132b43;
  --muted: #587084;
  --white: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; max-width: 100%; overflow-x: clip; }
body {
  margin: 0;
  background: var(--base);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  max-width: 100%;
  overflow-x: clip;
}
a { color: inherit; text-decoration: none; }
main:focus { outline: none; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.mobile-action-bar { display: none; }
.shell { width: min(1180px, 88%); margin-inline: auto; }
.topline { background: var(--navy); color: white; font-size: .75rem; letter-spacing: .035em; }
.topline-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.topline-detail { color: #c9e8ed; }
.site-header { background: rgba(255,255,255,.95); border-bottom: 1px solid rgba(11,47,91,.09); position: relative; z-index: 20; }
.nav-wrap { min-height: 86px; display: grid; grid-template-columns: 240px 1fr auto; align-items: center; gap: 2rem; }
.brand img { display: block; width: 220px; height: auto; }
.desktop-nav { display: flex; justify-content: center; gap: clamp(.3rem, 1vw, .9rem); font-size: .9rem; color: #294860; }
.desktop-nav > a, .nav-dropdown > a { position: relative; padding: .7rem .78rem; border-radius: 10px; }
.desktop-nav > a::after, .nav-dropdown > a::after { content: ''; position: absolute; right: .78rem; bottom: .34rem; left: .78rem; height: 2px; border-radius: 999px; background: var(--aqua); transform: scaleX(0); transition: transform .18s ease; }
.desktop-nav > a:hover, .nav-dropdown > a:hover { color: var(--teal); background: #f0f9fa; }
.desktop-nav > a:hover::after, .nav-dropdown > a:hover::after { transform: scaleX(.45); }
.desktop-nav a[aria-current="page"], .nav-dropdown > a[aria-current="page"] { color: var(--teal); background: #e8f7f8; font-weight: 700; }
.desktop-nav a[aria-current="page"]::after, .nav-dropdown > a[aria-current="page"]::after { transform: scaleX(1); }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .85rem 1.45rem; border-radius: 999px; background: var(--teal); color: white; font-weight: 700; font-size: .9rem; box-shadow: 0 12px 30px rgba(10,127,140,.18); transition: transform .2s ease, background .2s ease; }
.button:hover { background: #086b76; transform: translateY(-2px); }
.button-small { min-height: 44px; padding: .75rem 1.2rem; }
.hero { min-height: calc(100vh - 120px); display: grid; align-items: center; overflow: hidden; position: relative; padding: 5.5rem 0 6rem; background: radial-gradient(circle at 82% 22%, rgba(57,197,207,.13), transparent 25%), linear-gradient(135deg, #f9fdfd 0%, #f2fafb 60%, #eaf6f7 100%); }
.hero::before { content: ''; position: absolute; width: 420px; height: 420px; border: 1px solid rgba(10,127,140,.12); border-radius: 50%; right: -210px; bottom: -150px; }
.hero-grid { display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.4rem; color: var(--teal); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.eyebrow span { width: 34px; height: 1px; background: var(--aqua); }
h1 { margin: 0; max-width: 700px; color: var(--navy); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3rem, 5.7vw, 5.4rem); line-height: .98; letter-spacing: -.045em; font-weight: 400; }
.hero-lede { max-width: 630px; margin: 1.75rem 0 0; color: var(--muted); font-size: clamp(1rem, 1.45vw, 1.16rem); line-height: 1.72; }
.hero-actions { display: flex; align-items: center; gap: 1.6rem; margin-top: 2rem; }
.text-link { color: var(--navy); font-weight: 700; font-size: .91rem; border-bottom: 1px solid rgba(11,47,91,.22); padding-bottom: .35rem; }
.text-link span { color: var(--teal); margin-left: .25rem; }
.trust-list { display: flex; flex-wrap: wrap; gap: .7rem 1.3rem; margin: 2.25rem 0 0; padding: 0; list-style: none; color: #456277; font-size: .78rem; }
.trust-list span { color: var(--teal); font-weight: 800; margin-right: .26rem; }
.hero-visual { position: relative; padding: 1.2rem 1rem 2.5rem 0; }
.hero-visual::before { content: ''; position: absolute; inset: -1.4rem -2rem 1rem 3rem; border-radius: 49% 51% 44% 56% / 57% 47% 53% 43%; background: rgba(57,197,207,.13); transform: rotate(4deg); }
.image-frame { position: relative; z-index: 1; aspect-ratio: 4 / 5; max-height: 650px; overflow: hidden; border-radius: 48% 48% 14% 14% / 34% 34% 12% 12%; box-shadow: 0 28px 70px rgba(11,47,91,.16); }
.image-frame img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 54% center; }
.availability-card { position: absolute; z-index: 3; left: -1.8rem; bottom: .2rem; display: flex; align-items: flex-start; gap: .85rem; width: min(330px, 78%); padding: 1.15rem 1.25rem; border-radius: 16px; background: rgba(255,255,255,.96); border: 1px solid rgba(11,47,91,.08); box-shadow: 0 20px 55px rgba(11,47,91,.15); }
.availability-card strong, .availability-card span { display: block; }
.availability-card strong { color: var(--navy); font-family: Georgia, serif; font-size: 1.05rem; margin-bottom: .22rem; }
.availability-card div > span { color: var(--muted); font-size: .74rem; line-height: 1.45; }
.pulse { flex: 0 0 10px; width: 10px; height: 10px; margin-top: .3rem; border-radius: 50%; background: var(--aqua); box-shadow: 0 0 0 5px rgba(57,197,207,.17); }

@media (max-width: 940px) {
  .nav-wrap { grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .hero { padding-top: 4rem; }
  .hero-grid { grid-template-columns: 1fr 43%; gap: 2.4rem; }
  h1 { font-size: clamp(2.8rem, 7vw, 4.3rem); }
}
@media (max-width: 720px) {
  .shell { width: min(88%, 620px); }
  .topline-detail { display: none; }
  .topline-inner { justify-content: center; }
  .nav-wrap { min-height: 75px; }
  .brand img { width: 190px; }
  .nav-wrap > .button { display: none; }
  .hero { min-height: auto; padding: 3.7rem 0 5rem; }
  .hero-grid { grid-template-columns: 1fr; }
  h1 { font-size: clamp(2.7rem, 13vw, 4.3rem); }
  .hero-lede { font-size: 1rem; }
  .hero-visual { margin-top: 1rem; padding-right: 0; }
  .image-frame { aspect-ratio: 5 / 4; border-radius: 140px 140px 30px 30px; }
  .availability-card { left: 50%; bottom: -.8rem; transform: translateX(-50%); width: 86%; }
}
@media (max-width: 480px) {
  h1 { overflow-wrap: anywhere; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 1rem; }
  .hero-actions .button { width: 100%; }
  .text-link { align-self: center; }
  .trust-list { display: grid; gap: .65rem; }
}

@media (max-width: 940px) {
  body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
  .mobile-action-bar { position: fixed; z-index: 90; inset: auto 0 0; display: grid; grid-template-columns: .9fr 1.1fr; padding: .55rem max(.75rem, env(safe-area-inset-right)) calc(.55rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left)); background: rgba(255,255,255,.97); border-top: 1px solid rgba(11,47,91,.12); box-shadow: 0 -12px 35px rgba(11,47,91,.12); }
  .mobile-action-bar a { min-height: 48px; display: grid; place-items: center; border-radius: 999px; color: var(--navy); font-size: .82rem; font-weight: 800; }
  .mobile-action-bar a:last-child { background: var(--teal); color: white; }
}

@media (min-width: 941px) and (max-height: 820px) {
  .hero { min-height: auto; padding: 2.5rem 0 3rem; }
  .hero h1 { font-size: clamp(3rem, 4.7vw, 4.5rem); }
  .hero-lede { margin-top: 1.15rem; line-height: 1.55; }
  .hero-actions { margin-top: 1.25rem; }
  .trust-list { margin-top: 1.25rem; }
  .image-frame { max-height: 485px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Digital extension of the WheelHouse Health brand deck */
::selection { background: rgba(57,197,207,.28); color: var(--navy); }
img { max-width: 100%; height: auto; }
picture { display: block; }
.image-frame picture, .page-hero-image picture, .service-thumb picture, .home-service-card > div:not(.e-con-inner) picture, .how-image > picture, .clinician-image > picture, .article-card > div:not(.e-con-inner) picture, .article-hero-grid > div:not(.e-con-inner):last-child picture { width: 100%; height: 100%; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; border-radius: 4px; box-shadow: 0 0 0 6px #0b2f5b; }
.desktop-nav > a:focus-visible, .nav-dropdown > a:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 10px; box-shadow: none; }
.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .75rem 1rem; border: 1px solid var(--navy); border-radius: 8px; background: white; color: var(--navy); font-weight: 700; cursor: pointer; transform: translateY(-180%); box-shadow: 0 12px 30px rgba(11,47,91,.2); }
.skip-link:focus { transform: translateY(0); }
.topline-phone { color: white; font-weight: 700; }
.nav-dropdown { position: relative; }
.nav-dropdown > a { display: flex; gap: .35rem; }
.dropdown-panel { position: absolute; top: calc(100% + 18px); left: 50%; width: 285px; padding: .75rem; border: 1px solid rgba(11,47,91,.1); border-radius: 18px; background: white; box-shadow: 0 24px 60px rgba(11,47,91,.16); transform: translate(-50%, 8px); opacity: 0; pointer-events: none; transition: .2s ease; }
.dropdown-panel::before { content: ''; position: absolute; inset: -20px 0 auto; height: 20px; }
.dropdown-panel a { display: flex; justify-content: space-between; padding: .8rem .9rem; border-radius: 10px; color: #2c4a62; }
.dropdown-panel a:hover { background: var(--base); color: var(--teal); }
.dropdown-panel span { color: var(--teal); }
.nav-dropdown:hover .dropdown-panel, .nav-dropdown:focus-within .dropdown-panel { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.mobile-menu { display: none; position: relative; }
.mobile-menu-toggle { width: 44px; height: 44px; display: grid; place-content: center; padding: 0; border: 1px solid var(--silver); border-radius: 50%; background: white; cursor: pointer; }
.mobile-menu-toggle .menu-bars { display: grid; place-content: center; gap: 5px; }
.mobile-panel { position: absolute; right: 0; top: calc(100% + 14px); width: min(340px, 88vw); max-height: calc(100vh - 120px); overflow: auto; padding: 1.1rem; border: 1px solid var(--silver); border-radius: 20px; background: white; box-shadow: 0 24px 60px rgba(11,47,91,.2); }
.mobile-panel > a:not(.button) { display: block; padding: .8rem .7rem; border-bottom: 1px solid #eef3f5; color: var(--navy); font-weight: 700; }
.mobile-panel > a[aria-current="page"] { color: var(--teal); background: var(--base); }
.mobile-panel .mobile-sub { padding-left: 1.5rem !important; color: var(--muted) !important; font-size: .88rem; font-weight: 400 !important; }
.mobile-panel .button { width: 100%; margin-top: 1rem; }

ul, ol { list-style: none; }
p { margin: 0; }
h2, h3 { color: var(--navy); }
h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.25rem, 4.2vw, 4.15rem); line-height: 1.04; letter-spacing: -.035em; font-weight: 400; }
h3 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.section-heading { max-width: 760px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading.centered .eyebrow { justify-content: center; }
.section-heading > p:not(.eyebrow) { margin: 1.2rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.button-outline { background: transparent; color: var(--teal); border: 1px solid rgba(10,127,140,.35); box-shadow: none; }
.button-outline:hover { color: white; }

/* Footer */
.site-footer { background: var(--navy-deep); color: #d6e6ec; }
.emergency-strip { background: #071d35; border-bottom: 1px solid rgba(255,255,255,.08); }
.emergency-strip .shell { min-height: 58px; display: flex; justify-content: center; align-items: center; gap: .85rem; font-size: .78rem; text-align: center; }
.emergency-strip strong { color: white; }
.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); gap: 4rem; padding: 5rem 0 3.5rem; }
.footer-brand img { width: 240px; filter: brightness(0) invert(1); opacity: .95; }
.footer-brand p { max-width: 420px; margin: 1.4rem 0 .8rem; color: #c1d5de; line-height: 1.7; }
.footer-brand > span { display: block; color: #75cfd6; font-size: .76rem; line-height: 1.55; }
.footer-grid h2 { margin: .4rem 0 1.25rem; color: white; font-family: Arial, sans-serif; font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid > div:not(.footer-brand) a, .footer-grid > div:not(.footer-brand) > span { display: block; margin: .78rem 0; color: #c1d5de; font-size: .84rem; line-height: 1.5; }
.footer-grid a:hover { color: var(--aqua) !important; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; padding: 1.5rem 0 2rem; border-top: 1px solid rgba(255,255,255,.1); color: #9ab4c0; font-size: .72rem; }
.footer-bottom div { display: flex; gap: 1.4rem; }

/* Shared inner-page hero */
.page-hero { position: relative; overflow: hidden; padding: 2.2rem 0 5.5rem; background: radial-gradient(circle at 85% 20%, rgba(57,197,207,.13), transparent 24%), linear-gradient(135deg, #f9fdfd, #eef8f9); }
.page-hero::after { content: ''; position: absolute; width: 430px; height: 430px; right: -240px; top: -190px; border: 1px solid rgba(10,127,140,.14); border-radius: 50%; }
.breadcrumbs { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: .45rem; margin-bottom: 3.7rem; color: var(--muted); font-size: .72rem; }
.breadcrumbs span { display: flex; align-items: center; gap: .45rem; }
.breadcrumbs a { padding: 0; border: 0; }
.breadcrumbs a:hover { color: var(--teal); }
.breadcrumbs i { opacity: .5; font-style: normal; }
.page-hero-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.page-hero-grid > *, .article-hero-grid > * { min-width: 0; }
.page-hero h1 { font-size: clamp(3.25rem, 5.7vw, 5.7rem); }
.page-lede { max-width: 660px; margin: 1.6rem 0 0; color: var(--muted); font-size: clamp(1rem, 1.45vw, 1.16rem); line-height: 1.75; }
.page-hero-image { position: relative; z-index: 2; aspect-ratio: 5/4; overflow: hidden; border-radius: 44% 44% 10% 10% / 32% 32% 9% 9%; box-shadow: 0 26px 65px rgba(11,47,91,.15); }
.page-hero-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.page-hero-text .page-hero-grid { grid-template-columns: 1fr; }

/* Content primitives */
.content-section { padding: 6.5rem 0; background: white; }
.section-tint { background: var(--base); }
.credential-section { padding: 6rem 0; background: white; border-top: 1px solid var(--silver); }
.credential-section .button { margin-top: 1.8rem; }
.credential-section .content-narrow > p { max-width: 720px; margin-top: 1.2rem; color: var(--muted); line-height: 1.7; }
.content-narrow { max-width: 940px; }
.content-copy { margin: 1.35rem 0 0; color: #466277; font-size: 1rem; line-height: 1.82; }
.check-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .85rem 2.5rem; margin: 2.3rem 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; display: flex; gap: .7rem; color: #3e5b70; line-height: 1.55; font-size: .91rem; }
.check-list li > span { flex: 0 0 24px; width: 24px; height: 24px; display: grid; place-items: center; margin-top: -.1rem; border-radius: 50%; background: rgba(57,197,207,.14); color: var(--teal); font-weight: 800; font-size: .75rem; }
.mini-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.1rem; margin-top: 2.5rem; }
.mini-card { min-height: 210px; padding: 1.8rem; border: 1px solid var(--silver); border-radius: 20px; background: white; }
.mini-card > span { color: var(--teal); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.mini-card h3 { margin-top: 1rem; font-size: 1.45rem; }
.mini-card p { margin: .7rem 0 0; color: var(--muted); font-size: .89rem; line-height: 1.65; }
.inline-note { margin-top: 2.2rem; padding: 1.2rem 1.35rem; border-left: 3px solid var(--aqua); background: #edf8f9; }
.inline-note strong { color: var(--teal); font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }
.inline-note p { margin: .4rem 0 0; color: #466277; line-height: 1.65; font-size: .88rem; }
.steps { margin: 2.5rem 0 0; padding: 0; list-style: none; }
.steps li { display: grid; grid-template-columns: 60px 1fr; gap: 1.1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--silver); }
.steps li > span { color: var(--teal); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.steps h3 { font-size: 1.28rem; }
.steps p { margin: .45rem 0 0; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.safety-section { padding: 3.5rem 0; background: #fff; }
.safety-note { display: grid; grid-template-columns: 46px 1fr; gap: 1rem; align-items: start; padding: 1.4rem; border: 1px solid #efd9d7; border-radius: 16px; background: #fff8f7; }
.safety-note > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #f4dedb; color: #903e39; font-family: Georgia, serif; font-size: 1.2rem; }
.safety-note h3 { color: #6e302d; font-family: Arial, sans-serif; font-size: .9rem; font-weight: 700; }
.safety-note p { margin: .35rem 0 0; color: #73504d; line-height: 1.6; font-size: .84rem; }
.faq-section, .faq-page-section { padding: 7rem 0; background: #f2f9fa; }
.faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.faq-list details { border-bottom: 1px solid rgba(11,47,91,.14); }
.faq-list summary { display: flex; justify-content: space-between; gap: 1.5rem; padding: 1.35rem 0; color: var(--navy); font-family: Georgia, serif; font-size: 1.17rem; line-height: 1.3; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(10,127,140,.25); border-radius: 50%; color: var(--teal); font-family: Arial, sans-serif; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 700px; margin: -.2rem 3rem 1.3rem 0; color: var(--muted); line-height: 1.7; font-size: .9rem; }
.cta-band { background: var(--teal); color: white; }
.cta-band-inner { min-height: 315px; display: flex; justify-content: space-between; align-items: center; gap: 4rem; padding-block: 4rem; }
.cta-band-inner > div:not(.e-con-inner):first-child { max-width: 750px; }
.cta-band p { margin: 0 0 .9rem; color: white; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.cta-band h2 { color: white; font-size: clamp(2.4rem, 4.4vw, 4.6rem); }
.cta-band-inner > div:not(.e-con-inner):first-child > span { display: block; max-width: 650px; margin-top: 1rem; color: white; line-height: 1.65; }
.cta-band-actions { flex: 0 0 250px; display: grid; gap: 1.2rem; text-align: center; }
.button-light { background: white; color: var(--teal); box-shadow: 0 16px 40px rgba(0,0,0,.12); }
.button-light:hover { background: var(--navy); }
.cta-band-actions > a:not(.button) { color: white; font-size: .85rem; font-weight: 700; }
.split-copy { display: grid; grid-template-columns: .9fr 1.1fr; gap: 7rem; }

/* Homepage */
.trust-band { border-top: 1px solid rgba(11,47,91,.08); border-bottom: 1px solid rgba(11,47,91,.08); background: white; }
.trust-band-grid { min-height: 94px; display: grid; grid-template-columns: auto auto 1px auto auto 1px auto auto; gap: 1.1rem; align-items: center; }
.trust-band-grid span { color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .09em; }
.trust-band-grid strong { color: var(--navy); font-family: Georgia, serif; font-weight: 400; font-size: .98rem; }
.trust-band-grid i { width: 1px; height: 36px; background: var(--silver); }
.home-intro { padding: 8rem 0; background: white; }
.home-intro-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(4rem, 10vw, 10rem); }
.home-intro-grid p:not(.eyebrow) { color: var(--muted); line-height: 1.82; margin: 0 0 1.15rem; }
.home-intro-grid .text-link { display: inline-block; margin-top: .8rem; }
.home-services { padding: 7.5rem 0; background: var(--base); }
.home-services > .shell > .section-heading { max-width: 850px; }
.home-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; margin-top: 3.2rem; }
.home-service-card { position: relative; min-height: 510px; padding: 1rem; border: 1px solid rgba(11,47,91,.09); border-radius: 24px; background: white; transition: transform .25s ease, box-shadow .25s ease; }
.home-service-card:hover { transform: translateY(-6px); box-shadow: 0 22px 50px rgba(11,47,91,.12); }
.home-service-card > div:not(.e-con-inner) { aspect-ratio: 5/4; overflow: hidden; border-radius: 17px; }
.home-service-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.home-service-card:hover img { transform: scale(1.04); }
.home-service-card > span { display: block; margin: 1.4rem .65rem .75rem; color: var(--teal); font-size: .65rem; text-transform: uppercase; letter-spacing: .09em; }
.home-service-card h3 { margin-inline: .65rem; font-size: 1.65rem; }
.home-service-card p { margin: .65rem; color: var(--muted); line-height: 1.55; font-size: .86rem; }
.home-service-card > i { display: block; margin: 1.2rem .65rem .4rem; color: var(--navy); font-style: normal; font-size: .8rem; font-weight: 700; }
.home-service-card > i b { color: var(--teal); margin-left: .3rem; }
.home-service-wide { grid-column: span 2; display: grid; grid-template-columns: 1.1fr .9fr; grid-template-rows: auto auto auto 1fr; gap: 0 1.2rem; }
.home-service-wide > div:not(.e-con-inner) { grid-row: 1 / -1; aspect-ratio: auto; }
.home-service-wide > span { align-self: end; }
.all-services-link { display: table; margin: 2rem auto 0; color: var(--navy); border-bottom: 1px solid rgba(11,47,91,.25); padding: .6rem; font-size: .83rem; font-weight: 700; }
.all-services-link span { color: var(--teal); }
.how-section { padding: 8rem 0; background: white; }
.how-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(4rem, 9vw, 9rem); align-items: center; }
.how-image { position: relative; height: 680px; }
.how-image > picture img { width: 100%; height: 100%; object-fit: cover; border-radius: 220px 220px 30px 30px; }
.how-image > div:not(.e-con-inner) { position: absolute; right: -2rem; bottom: 2rem; width: 270px; padding: 1.2rem; border-radius: 16px; background: white; box-shadow: 0 18px 50px rgba(11,47,91,.16); }
.how-image strong, .how-image span { display: block; }
.how-image strong { color: var(--navy); font-family: Georgia, serif; font-size: 1.05rem; }
.how-image span { margin-top: .4rem; color: var(--teal); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.prescribing-section { padding: 5.5rem 0; background: var(--navy); color: white; }
.prescribing-grid { display: grid; grid-template-columns: 105px 1fr auto; gap: 2.5rem; align-items: center; }
.prescribing-grid > div:not(.e-con-inner):first-child > span { width: 90px; height: 90px; display: grid; place-items: center; border: 1px solid rgba(57,197,207,.45); border-radius: 50%; color: var(--aqua); font-family: Georgia, serif; font-size: 2rem; }
.prescribing-grid h2 { color: white; font-size: clamp(2rem, 3.4vw, 3.3rem); }
.prescribing-grid p:not(.eyebrow) { max-width: 700px; color: #c7dbe3; line-height: 1.7; }
.prescribing-grid > a { color: white; font-size: .82rem; font-weight: 700; white-space: nowrap; }
.prescribing-grid > a span { color: var(--aqua); }
.clinician-section { padding: 8rem 0; background: #eff8f9; }
.clinician-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(4rem, 9vw, 9rem); align-items: center; }
.clinician-grid > div:not(.e-con-inner):first-child > p:not(.eyebrow) { color: var(--muted); line-height: 1.78; }
.clinician-grid .button { margin-top: 1.2rem; }
.clinician-image { position: relative; height: 610px; }
.clinician-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 26px 210px 26px 26px; }
.clinician-image blockquote { position: absolute; left: -2rem; bottom: 2rem; max-width: 320px; margin: 0; padding: 1.4rem; border-radius: 16px; background: var(--navy); color: white; font-family: Georgia, serif; font-size: 1.2rem; line-height: 1.45; box-shadow: 0 20px 50px rgba(11,47,91,.2); }
.clinician-image small { position: absolute; z-index: 2; right: 1rem; top: 1rem; padding: .45rem .65rem; border-radius: 999px; background: rgba(7,29,53,.86); color: white; font-size: .65rem; }
.service-area-section { padding: 7rem 0; background: white; }
.service-area-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7rem; align-items: center; }
.service-area-grid > div:not(.e-con-inner):first-child { position: relative; aspect-ratio: 1; display: grid; place-content: center; border: 1px solid rgba(10,127,140,.2); border-radius: 50%; text-align: center; background: radial-gradient(circle, rgba(57,197,207,.13), transparent 64%); }
.service-area-grid > div:not(.e-con-inner):first-child span { color: var(--navy); font-family: Georgia, serif; font-size: clamp(5rem, 10vw, 9rem); line-height: .9; }
.service-area-grid > div:not(.e-con-inner):first-child i { width: 55px; height: 1px; margin: 1rem auto; background: var(--aqua); }
.service-area-grid > div:not(.e-con-inner):first-child strong { color: var(--teal); font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; }
.service-area-grid > div:not(.e-con-inner):last-child > p:not(.eyebrow) { color: var(--muted); line-height: 1.78; }
.service-area-grid .text-link { display: inline-block; margin-top: .8rem; }
.faq-more { margin-top: 2rem; display: flex; justify-content: flex-end; }
.faq-more a { color: var(--navy); font-weight: 700; font-size: .82rem; }
.faq-more span { color: var(--teal); }

/* Services index */
.services-index { padding: 8rem 0; background: white; }
.service-list { margin-top: 4rem; border-top: 1px solid var(--silver); }
.service-row { display: grid; grid-template-columns: 55px 150px 1fr 45px; gap: 1.5rem; align-items: center; padding: 1.4rem 0; border-bottom: 1px solid var(--silver); transition: .2s ease; }
.service-row:hover { padding-inline: 1rem; background: var(--base); }
.service-number { color: var(--teal); font-size: .68rem; font-weight: 800; }
.service-thumb { height: 90px; overflow: hidden; border-radius: 12px; }
.service-thumb img { width: 100%; height: 100%; object-fit: cover; }
.service-row > div:not(.e-con-inner):nth-child(3) > span { color: var(--teal); font-size: .65rem; text-transform: uppercase; letter-spacing: .09em; }
.service-row h2 { margin-top: .3rem; font-size: 1.65rem; }
.service-row p { margin: .35rem 0 0; color: var(--muted); font-size: .85rem; line-height: 1.55; }
.service-row > i { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(10,127,140,.25); border-radius: 50%; color: var(--teal); font-style: normal; }
.decision-section { padding: 8rem 0; background: var(--navy); color: white; }
.decision-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7rem; }
.decision-section h2 { color: white; }
.decision-cards { display: grid; gap: 1rem; }
.decision-cards article { padding: 1.5rem; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.05); }
.decision-cards span { color: var(--aqua); font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; }
.decision-cards h3 { margin-top: .6rem; color: white; font-size: 1.35rem; }
.decision-cards p { margin: .5rem 0 0; color: #c5dae2; line-height: 1.6; font-size: .87rem; }

/* Membership */
.membership-intro { padding: 5rem 0 2rem; background: white; }
.membership-intro .section-heading { margin-bottom: 2rem; }
.important-banner { display: flex; align-items: center; gap: 1rem; padding: 1.2rem 1.4rem; border-radius: 14px; background: #fff8e9; border: 1px solid #f1dfb7; }
.important-banner strong { color: #715119; }
.important-banner span { color: #806b44; font-size: .86rem; line-height: 1.5; }
.membership-intro .steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 3rem; }
.membership-intro .steps li { display: block; padding: 1.2rem; border: 1px solid var(--silver); border-radius: 16px; }
.membership-intro .steps li > span { display: block; margin-bottom: 1.5rem; }
.pricing-section { padding: 6rem 0 8rem; background: white; }
.pricing-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; margin-top: 4rem; align-items: start; }
.price-card { position: relative; grid-column: span 2; min-width: 0; padding: 1.6rem; border: 1px solid var(--silver); border-radius: 22px; background: #fbfefe; }
.price-card:nth-child(4), .price-card:nth-child(5) { grid-column: span 3; }
.price-card.featured { border: 2px solid var(--teal); box-shadow: 0 22px 50px rgba(10,127,140,.13); }
.price-card-kicker { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; min-height: 2.1rem; margin-bottom: .65rem; }
.price-card-kicker p { flex: 1 1 auto; min-width: 0; margin: 0; color: var(--teal); font-size: .67rem; line-height: 1.45; text-transform: uppercase; letter-spacing: .08em; }
.popular { display: inline-block; flex: 0 0 auto; padding: .35rem .65rem; border-radius: 999px; background: rgba(57,197,207,.16); color: var(--teal); font-size: .62rem; font-weight: 800; line-height: 1.2; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.price-card h2 { font-size: 1.7rem; }
.price { display: flex; align-items: baseline; gap: .45rem; margin: 1.2rem 0; }
.price strong { color: var(--navy); font-family: Georgia, serif; font-size: 2.7rem; font-weight: 400; }
.price span { color: var(--muted); font-size: .74rem; }
.price-card .check-list { grid-template-columns: 1fr; margin-top: 1.5rem; gap: .7rem; }
.price-card .check-list li { font-size: .8rem; }
.price-card details { margin: 1.3rem 0; border-top: 1px solid var(--silver); border-bottom: 1px solid var(--silver); }
.price-card summary { display: flex; justify-content: space-between; padding: .8rem 0; color: var(--navy); font-size: .75rem; font-weight: 700; cursor: pointer; list-style: none; }
.price-card details p { color: var(--muted); line-height: 1.6; font-size: .74rem; }
.price-card .button { width: 100%; min-height: 46px; margin-top: .4rem; }

@media (max-width: 1180px) and (min-width: 941px) {
  .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-card, .price-card:nth-child(4), .price-card:nth-child(5) { grid-column: auto; }
  .price-card:last-child { grid-column: span 2; }
}

@media (min-width: 941px) and (max-width: 1079px) {
  .nav-wrap { min-height: 78px; grid-template-columns: 1fr auto; }
  .desktop-nav, .nav-wrap > .button { display: none; }
  .mobile-menu { display: block; }
}

/* Contact */
.contact-routes { padding: 7rem 0; background: white; }
.care-router { max-width: 760px; margin: 3rem auto 0; padding: 1.5rem; border: 1px solid rgba(10,127,140,.22); border-radius: 20px; background: var(--base); box-shadow: 0 18px 45px rgba(11,47,91,.08); }
.care-router > label { display: block; margin-bottom: .55rem; color: var(--navy); font-weight: 800; }
.care-router select { width: 100%; min-height: 52px; padding: .75rem 2.8rem .75rem .9rem; border: 1px solid #b9cbd3; border-radius: 12px; background: white; color: var(--ink); }
.care-router > div:not(.e-con-inner) { display: grid; grid-template-columns: 1fr auto; gap: .45rem 1.2rem; align-items: center; margin-top: 1.2rem; }
.care-router h3, .care-router p { margin: 0; }
.care-router h3 { font-size: 1.35rem; }
.care-router p { color: var(--muted); line-height: 1.55; }
.care-router .button { grid-column: 2; grid-row: 1 / span 2; }
.care-router .button-emergency { background: #b42318; box-shadow: 0 12px 30px rgba(180,35,24,.18); }
.care-router .router-privacy { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--silver); font-size: .76rem; }
.admin-contact { max-width: 760px; display: flex; gap: .65rem 1rem; margin: 1rem auto 0; padding: 1rem 1.2rem; border-radius: 14px; background: white; border: 1px solid var(--silver); color: var(--muted); font-size: .82rem; line-height: 1.55; }
.admin-contact strong { color: var(--navy); white-space: nowrap; }
.admin-contact a { color: var(--teal); text-decoration: underline; text-underline-offset: .2em; }
.route-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 3.5rem; }
.route-card { min-height: 310px; display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid var(--silver); border-radius: 20px; background: var(--base); transition: .2s ease; }
.route-card:hover { transform: translateY(-5px); border-color: rgba(10,127,140,.35); box-shadow: 0 18px 45px rgba(11,47,91,.1); }
.route-card > span { color: var(--teal); font-size: .67rem; font-weight: 800; }
.route-card h2 { margin-top: 3rem; font-size: 1.65rem; }
.route-card p { color: var(--muted); line-height: 1.6; font-size: .86rem; }
.route-card i { margin-top: auto; color: var(--navy); font-style: normal; font-size: .79rem; font-weight: 700; }
.contact-details { padding: 7rem 0; background: var(--base); }
.contact-detail-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.contact-detail-grid > div:not(.e-con-inner) { padding: 2rem; border-radius: 20px; background: white; border: 1px solid var(--silver); }
.contact-detail-grid h2 { font-size: 2rem; }
.contact-detail-grid h3 { margin-top: .7rem; font-size: 1.45rem; }
.contact-detail-grid a, .contact-detail-grid > div:not(.e-con-inner):first-child > p:not(.eyebrow) { display: block; margin-top: .7rem; color: var(--muted); font-size: .9rem; }
.contact-detail-grid > div:not(.e-con-inner) > span { color: var(--teal); font-size: .67rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.contact-detail-grid > div:not(.e-con-inner) > p { color: var(--muted); line-height: 1.65; font-size: .86rem; }
.privacy-card { background: var(--navy) !important; }
.privacy-card h3 { color: white; }
.privacy-card p { color: #c6dbe3 !important; }

/* Resource hub */
.topic-strip { background: var(--navy); color: white; }
.topic-grid { min-height: 95px; display: grid; grid-template-columns: repeat(6,1fr); align-items: center; }
.topic-grid span { display: flex; align-items: center; gap: .6rem; font-size: .74rem; }
.topic-grid i { color: var(--aqua); font-size: .62rem; font-style: normal; }
.articles-section { padding: 8rem 0; background: white; }
.article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.3rem; margin-top: 3.5rem; }
.article-card { display: flex; flex-direction: column; padding: 1rem; border: 1px solid var(--silver); border-radius: 21px; transition: .2s ease; }
.article-card:hover { transform: translateY(-5px); box-shadow: 0 20px 50px rgba(11,47,91,.1); }
.article-card > div:not(.e-con-inner) { aspect-ratio: 16/10; overflow: hidden; border-radius: 14px; }
.article-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.article-card:hover img { transform: scale(1.04); }
.article-card > span { margin: 1.2rem .5rem .5rem; color: var(--teal); font-size: .65rem; text-transform: uppercase; letter-spacing: .07em; }
.article-card h2 { margin: .2rem .5rem; font-size: 1.45rem; }
.article-card p { margin: .6rem .5rem; color: var(--muted); line-height: 1.6; font-size: .84rem; }
.article-card > i { margin: auto .5rem .4rem; padding-top: 1rem; color: var(--navy); font-style: normal; font-size: .77rem; font-weight: 700; }
.article-card > i b { color: var(--teal); margin-left: .2rem; }
.article-featured { grid-column: span 2; display: grid; grid-template-columns: 1.05fr .95fr; grid-template-rows: auto auto auto 1fr; gap: 0 1rem; }
.article-featured > div:not(.e-con-inner) { grid-row: 1/-1; aspect-ratio: auto; min-height: 350px; }
.article-featured > span { align-self: end; }
.editorial-section { padding: 7rem 0; background: var(--base); }

/* Articles */
.article-hero { padding: 2.2rem 0 5.5rem; background: linear-gradient(135deg,#f9fdfd,#edf8f9); }
.article-hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 5rem; align-items: center; }
.article-hero-grid > div:not(.e-con-inner):first-child > span { color: var(--teal); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.article-hero h1 { margin-top: 1rem; font-size: clamp(3rem,5vw,5rem); }
.article-hero-grid > div:not(.e-con-inner):first-child > p { color: var(--muted); line-height: 1.7; font-size: 1.05rem; }
.article-hero-grid > div:not(.e-con-inner):last-child { aspect-ratio: 5/4; overflow: hidden; border-radius: 42% 42% 12% 12% / 32% 32% 10% 10%; }
.article-hero-grid img { width: 100%; height: 100%; object-fit: cover; }
.author-line { display: flex; align-items: center; gap: .8rem; margin-top: 1.7rem; }
.author-line > i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--navy); color: white; font-style: normal; font-size: .7rem; }
.author-line strong, .author-line span { display: block; }
.author-line strong { color: var(--navy); font-size: .79rem; }
.author-line span { margin-top: .2rem; color: var(--muted); font-size: .7rem; }
.article-body { padding: 7rem 0; background: white; }
.article-layout { display: grid; grid-template-columns: 230px minmax(0,760px); justify-content: center; gap: 6rem; }
.article-layout > aside, .legal-layout > aside { position: sticky; top: 2rem; height: fit-content; padding: 1.2rem; border-left: 1px solid var(--silver); }
.article-layout > aside strong, .legal-layout > aside strong { display: block; margin-bottom: 1rem; color: var(--navy); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }
.article-layout > aside a, .legal-layout > aside a { display: block; margin: .7rem 0; color: var(--muted); font-size: .75rem; line-height: 1.35; }
.article-layout > aside a:hover, .legal-layout > aside a:hover { color: var(--teal); }
.article-disclaimer { padding: 1.2rem; border-radius: 14px; background: #edf8f9; }
.article-disclaimer strong { color: var(--teal); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.article-disclaimer p { margin: .4rem 0 0; color: var(--muted); font-size: .84rem; line-height: 1.6; }
.article-content > section { padding: 3.5rem 0; border-bottom: 1px solid var(--silver); scroll-margin-top: 2rem; }
.article-content h2 { font-size: 2.35rem; }
.article-content h3 { margin-top: 2rem; font-size: 1.45rem; }
.article-content > section > p { color: #405d72; line-height: 1.85; font-size: 1rem; }
.article-content .check-list { grid-template-columns: 1fr; }
.article-content > .safety-note { margin-top: 2.5rem; }
.review-note { margin-top: 2rem; padding: 1.2rem 0; border-top: 1px solid var(--silver); }
.review-note span { color: var(--teal); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.review-note p { color: var(--muted); font-size: .8rem; line-height: 1.6; }
.review-note .text-link { display: inline-block; min-height: 44px; margin-top: .35rem; padding-top: .75rem; }
.article-sources ul { padding-left: 1.2rem; }
.article-sources a { color: var(--teal); text-decoration: underline; text-underline-offset: .2em; }
.related-resources > div:not(.e-con-inner) { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin-top: 1.5rem; }
.related-resources a { display: flex; flex-direction: column; min-height: 180px; padding: 1.2rem; border: 1px solid var(--silver); border-radius: 16px; background: var(--base); }
.related-resources span { color: var(--teal); font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; }
.related-resources strong { margin-top: .7rem; color: var(--navy); line-height: 1.35; }
.related-resources i { margin-top: auto; padding-top: 1rem; color: var(--teal); font-size: .75rem; font-style: normal; font-weight: 700; }

/* Legal */
.legal-hero { padding: 6rem 0 5rem; background: var(--base); }
.legal-shell { max-width: 900px; }
.legal-hero h1 { font-size: clamp(3.8rem,7vw,6.7rem); }
.legal-hero .legal-shell > p:last-child { color: var(--muted); font-size: .8rem; }
.legal-body { padding: 6rem 0 8rem; background: white; }
.legal-layout { display: grid; grid-template-columns: 230px minmax(0,760px); justify-content: center; gap: 6rem; }
.legal-copy section { padding: 0 0 2.5rem; scroll-margin-top: 2rem; }
.legal-copy h2 { font-size: 2rem; }
.legal-copy p { color: #405d72; line-height: 1.8; }
.legal-copy a { color: var(--teal); text-decoration: underline; }
.legal-warning { margin-top: 2rem; padding: 1.2rem; border: 1px solid #eddbb8; border-radius: 14px; background: #fff9ec; }
.legal-highlight { margin-bottom: 3rem; padding: 1.5rem; border-radius: 16px; background: #edf8f9; border-left: 4px solid var(--teal); }
.legal-highlight strong { color: var(--navy); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.legal-highlight p { margin-bottom: 0; }
.legal-copy li { margin: .7rem 0; color: #405d72; line-height: 1.7; }
.legal-warning strong { color: #72531c; }
.legal-warning p { margin-bottom: 0; color: #7d6947; font-size: .82rem; }

/* Long-form patient guides */
.longform-guide { padding: 7.5rem 0 8rem; background: linear-gradient(180deg, #f5fbfc 0, #fff 20rem); border-top: 1px solid rgba(11,47,91,.08); }
.longform-heading { max-width: 820px; margin-bottom: 3rem; }
.longform-heading .section-heading { margin-bottom: 1rem; }
.longform-reading-note { max-width: 620px; margin: 0; padding-left: 1rem; border-left: 2px solid var(--aqua); color: var(--muted); font-size: .9rem; line-height: 1.7; }
.editorial-gallery { display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: repeat(2, 250px); gap: 1rem; margin: 0 0 5rem; }
.editorial-gallery figure { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: 22px; background: #e8f3f5; box-shadow: 0 18px 45px rgba(11,47,91,.08); }
.editorial-gallery-featured { grid-row: span 2; }
.editorial-gallery picture, .editorial-gallery img { display: block; width: 100%; height: 100%; }
.editorial-gallery img { object-fit: cover; }
.editorial-gallery figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; padding: .75rem .9rem; border: 1px solid rgba(255,255,255,.32); border-radius: 12px; background: rgba(8,37,68,.82); color: white; font-size: .76rem; line-height: 1.5; backdrop-filter: blur(10px); }
.longform-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.longform-toc { position: sticky; top: 1.5rem; padding: 1.2rem 0; border-top: 2px solid var(--teal); border-bottom: 1px solid var(--silver); }
.longform-toc > strong { display: block; margin-bottom: 1rem; color: var(--navy); font-family: Georgia, serif; font-size: 1.18rem; font-weight: 400; }
.longform-toc ol { display: grid; gap: .72rem; margin: 0; padding-left: 1.25rem; color: var(--teal); }
.longform-toc a { color: #3d5c72; font-size: .78rem; line-height: 1.4; }
.longform-toc a:hover { color: var(--teal); text-decoration: underline; text-underline-offset: .2rem; }
.longform-copy { min-width: 0; }
.longform-section { scroll-margin-top: 2rem; padding: 0 0 4rem; margin: 0 0 4rem; border-bottom: 1px solid var(--silver); }
.longform-section:last-child { margin-bottom: 0; border-bottom: 0; }
.longform-section h3 { max-width: 760px; margin: 0 0 1.4rem; color: var(--navy); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 3.2vw, 3rem); font-weight: 400; line-height: 1.08; letter-spacing: -.025em; }
.longform-section > p:not(.eyebrow) { max-width: 800px; margin: 0 0 1.25rem; color: #405d72; font-size: 1rem; line-height: 1.82; }
.longform-section > ul { display: grid; gap: .8rem; max-width: 760px; margin: 1.75rem 0; padding-left: 1.3rem; }
.longform-section > ul li { padding-left: .25rem; color: #34546b; line-height: 1.65; }
.longform-section > ul li::marker { color: var(--teal); }
.longform-callout { max-width: 780px; margin-top: 2rem; padding: 1.2rem 1.3rem; border: 1px solid rgba(10,127,140,.18); border-left: 4px solid var(--teal); border-radius: 0 14px 14px 0; background: #edf8f9; }
.longform-callout strong { color: var(--navy); }
.longform-callout p { margin: .35rem 0 0; color: #47657a; line-height: 1.65; }
.longform-sources { max-width: 780px; margin-top: 2rem; padding-top: 1.1rem; border-top: 1px dashed #cbdbe1; }
.longform-sources > strong { color: var(--navy); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.longform-sources ul { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.longform-sources a { color: var(--teal); font-size: .82rem; text-decoration: underline; text-underline-offset: .2rem; }

@media (max-width: 1080px) {
  .nav-wrap { grid-template-columns: 210px 1fr auto; gap: 1.2rem; }
  .brand img { width: 200px; }
  .desktop-nav { gap: 1.15rem; font-size: .82rem; }
  .header-cta { font-size: .78rem; padding-inline: 1rem; }
  .trust-band-grid { grid-template-columns: repeat(3,1fr); }
  .trust-band-grid span { display: none; }
  .trust-band-grid i { display: none; }
  .footer-grid { gap: 2rem; }
  .route-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 940px) {
  .nav-wrap { grid-template-columns: 1fr auto; }
  .header-cta { display: none; }
  .mobile-menu { display: block; }
  .page-hero-grid, .article-hero-grid { grid-template-columns: 1fr 42%; gap: 2.5rem; }
  .page-hero h1 { font-size: clamp(2.8rem,6.8vw,4.4rem); }
  .home-service-grid { grid-template-columns: repeat(2,1fr); }
  .home-service-wide { grid-column: span 2; }
  .how-grid, .clinician-grid, .service-area-grid, .decision-grid, .split-copy { gap: 4rem; }
  .faq-grid { grid-template-columns: 1fr; gap: 3rem; }
  .membership-intro .steps { grid-template-columns: repeat(2,1fr); }
  .pricing-grid { grid-template-columns: repeat(2,1fr); }
  .price-card, .price-card:nth-child(4), .price-card:nth-child(5) { grid-column: auto; }
  .price-card:last-child { grid-column: span 2; }
  .article-grid { grid-template-columns: repeat(2,1fr); }
  .article-layout, .legal-layout { grid-template-columns: 190px minmax(0,1fr); gap: 3rem; }
  .longform-layout { grid-template-columns: 190px minmax(0,1fr); gap: 3rem; }
}

@media (max-width: 760px) {
  .topline-phone { display: none; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
  .footer-brand { grid-column: span 2; }
  .footer-bottom { flex-direction: column; }
  .page-hero { padding-bottom: 4rem; }
  .breadcrumbs { margin-bottom: 2.5rem; }
  .page-hero-grid, .article-hero-grid { grid-template-columns: 1fr; }
  .page-hero-image { max-height: 390px; }
  .content-section { padding: 5rem 0; }
  .check-list { grid-template-columns: 1fr; }
  .mini-card-grid { grid-template-columns: 1fr; }
  .cta-band-inner { min-height: 370px; flex-direction: column; align-items: flex-start; gap: 2rem; }
  .cta-band-actions { width: 100%; flex: 0 0 auto; }
  .trust-band-grid { grid-template-columns: 1fr; padding: 1.4rem 0; text-align: center; gap: .6rem; }
  .home-intro { padding: 6rem 0; }
  .home-intro-grid, .how-grid, .clinician-grid, .service-area-grid, .decision-grid, .split-copy { grid-template-columns: 1fr; gap: 3rem; }
  .home-service-grid { grid-template-columns: 1fr; }
  .home-service-wide { grid-column: auto; display: block; }
  .how-image, .clinician-image { height: 520px; }
  .how-image > div:not(.e-con-inner), .clinician-image blockquote { right: 1rem; left: 1rem; width: auto; max-width: none; }
  .prescribing-grid { grid-template-columns: 75px 1fr; }
  .prescribing-grid > div:not(.e-con-inner):first-child > span { width: 65px; height: 65px; }
  .prescribing-grid > a { grid-column: 2; }
  .service-area-grid > div:not(.e-con-inner):first-child { max-width: 430px; width: 100%; margin: auto; }
  .service-row { grid-template-columns: 40px 100px 1fr; }
  .service-row > i { display: none; }
  .membership-intro .steps { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }
  .price-card:last-child { grid-column: auto; }
  .contact-detail-grid { grid-template-columns: 1fr; }
  .care-router > div:not(.e-con-inner) { grid-template-columns: 1fr; }
  .care-router .button { grid-column: auto; grid-row: auto; margin-top: .5rem; }
  .topic-grid { grid-template-columns: repeat(2,1fr); gap: .9rem; padding: 1.4rem 0; }
  .article-grid { grid-template-columns: 1fr; }
  .article-featured { grid-column: auto; display: flex; }
  .article-featured > div:not(.e-con-inner) { min-height: 0; aspect-ratio: 16/10; }
  .article-layout, .legal-layout { grid-template-columns: 1fr; }
  .article-layout > aside, .legal-layout > aside { display: none; }
  .longform-guide { padding: 5.5rem 0 6rem; }
  .editorial-gallery { grid-template-columns: 1fr; grid-template-rows: 360px repeat(2, 260px); margin-bottom: 3.5rem; }
  .editorial-gallery-featured { grid-row: auto; }
  .longform-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .longform-toc { position: static; padding: 1.2rem; border: 1px solid var(--silver); border-top: 3px solid var(--teal); border-radius: 14px; background: white; }
  .longform-toc ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 480px) {
  .editorial-gallery { grid-template-rows: repeat(3, 240px); }
  .editorial-gallery figcaption { right: .65rem; bottom: .65rem; left: .65rem; font-size: .7rem; }
  .longform-toc ol { grid-template-columns: 1fr; }
  .longform-section h3 { overflow-wrap: anywhere; }
}

@media (min-width: 941px) and (max-height: 820px) {
  .page-hero, .article-hero { padding: 1.25rem 0 2.7rem; }
  .breadcrumbs { margin-bottom: 1.5rem; }
  .page-hero h1, .article-hero h1 { font-size: clamp(2.9rem, 4.5vw, 4.35rem); }
  .page-lede, .article-hero-grid > div:not(.e-con-inner):first-child > p { margin-top: 1rem; line-height: 1.55; }
  .page-hero .hero-actions { margin-top: 1.25rem; }
  .page-hero-image, .article-hero-grid > div:not(.e-con-inner):last-child { max-height: 405px; }
}

@media (max-width: 520px) {
  .brand img { width: 170px; }
  .emergency-strip .shell { align-items: flex-start; flex-direction: column; gap: .25rem; padding: .9rem 0; text-align: left; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom div { flex-wrap: wrap; }
  .page-hero h1 { font-size: clamp(2.65rem,12vw,4rem); }
  .page-hero-image { aspect-ratio: 5/4; }
  .route-grid { grid-template-columns: 1fr; }
  .route-card { min-height: 260px; }
  .service-row { grid-template-columns: 35px 1fr; }
  .service-thumb { display: none; }
  .price-card { padding: 1.3rem; }
  .faq-list summary { font-size: 1.05rem; }
  .related-resources > div:not(.e-con-inner) { grid-template-columns: 1fr; }
  .admin-contact { flex-direction: column; }
}

@media (forced-colors: active) {
  :focus-visible { outline: 3px solid Highlight; box-shadow: none; }
  .button, .mobile-action-bar a:last-child { border: 1px solid ButtonText; }
}


/* WordPress and Elementor integration */
.wheelhouse-health-theme .elementor { width: 100%; }
.wheelhouse-health-theme .shell,
.wheelhouse-health-theme .elementor-element.shell,
.wheelhouse-health-theme .e-con.shell { width: min(1600px, 90%) !important; max-width: none !important; margin-inline: auto !important; padding-inline: 0; }
.wheelhouse-health-theme .elementor-widget { margin-block-end: 0; min-width: 0; }
.wheelhouse-health-theme main .e-con > .e-con-inner { width: 100%; max-width: none; padding: 0; gap: 0; }
.wheelhouse-health-theme main > .elementor > .e-con > .e-con-inner { display: contents; }
.wheelhouse-health-theme main > .elementor > .e-con,
.wheelhouse-health-theme main .e-con.article-hero,
.wheelhouse-health-theme main .e-con.article-body,
.wheelhouse-health-theme main .e-con.longform-guide,
.wheelhouse-health-theme main .e-con.editorial-section,
.wheelhouse-health-theme main .e-con.cta-band { padding-left: 0 !important; padding-right: 0 !important; }
/* Elementor gives nested containers a default inline padding, which compounds at
   every wrapper level and narrows the measured content columns. The design owns its
   own padding, so the container default starts from zero. */
.wheelhouse-health-theme main .e-con { --padding-inline-start: 0px; --padding-inline-end: 0px; }

/* Elementor renders every heading as `.elementor-widget-heading > hN.elementor-heading-title`.
   That selector outranks the reference component rules such as `.service-row h2`, so a single
   global size and colour used to flatten every semantic level. Each heading now reads its scale,
   colour, and rhythm from inherited custom properties instead. Component containers set those
   properties, so the nearest semantic ancestor always wins no matter how many wrappers Elementor
   injects, and no component rule has to fight for specificity. */
.wheelhouse-health-theme .elementor-widget-heading .elementor-heading-title {
  color: var(--whh-h-color, var(--navy));
  font-family: var(--whh-h-ff, Georgia, 'Times New Roman', serif);
  font-weight: var(--whh-h-fw, 400);
}
.wheelhouse-health-theme .elementor-widget-heading h1.elementor-heading-title {
  max-width: var(--whh-h1-mw, 700px);
  margin: var(--whh-h1-margin, 0);
  font-size: var(--whh-h1-size, clamp(3rem, 5.7vw, 5.4rem));
  line-height: var(--whh-h1-lh, .98);
  letter-spacing: var(--whh-h1-ls, -.045em);
}
.wheelhouse-health-theme .elementor-widget-heading h2.elementor-heading-title {
  max-width: var(--whh-h2-mw, none);
  margin: var(--whh-h2-margin, 0);
  font-size: var(--whh-h2-size, clamp(2.25rem, 4.2vw, 4.15rem));
  line-height: var(--whh-h2-lh, 1.04);
  letter-spacing: var(--whh-h2-ls, -.035em);
}
.wheelhouse-health-theme .elementor-widget-heading h3.elementor-heading-title {
  max-width: var(--whh-h3-mw, none);
  margin: var(--whh-h3-margin, 0);
  font-size: var(--whh-h3-size, 1.45rem);
  line-height: var(--whh-h3-lh, 1.5);
  letter-spacing: var(--whh-h3-ls, normal);
}
.wheelhouse-health-theme main h1 { overflow-wrap: anywhere; }
.wheelhouse-health-theme .elementor-widget-button .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .85rem 1.45rem; border-radius: 999px; background: var(--teal); color: white; font-size: .9rem; font-weight: 700; line-height: 1.5; box-shadow: 0 12px 30px rgba(10,127,140,.18); }
.wheelhouse-health-theme .button-outline .elementor-button { border: 1px solid rgba(10,127,140,.35); background: transparent; color: var(--teal); box-shadow: none; }
/* The light variant sits on the teal CTA band. Without its own rule the button fell
   back to the default teal pill - teal on teal - and read as loose white text. */
.wheelhouse-health-theme .button-light .elementor-button { background: var(--white); color: var(--teal); box-shadow: 0 16px 40px rgba(0,0,0,.12); }
.wheelhouse-health-theme .button-light .elementor-button:hover, .wheelhouse-health-theme .button-light .elementor-button:focus-visible { background: var(--navy); color: var(--white); }
.wheelhouse-health-theme .button-emergency .elementor-button { background: #b42318; color: var(--white); box-shadow: 0 12px 30px rgba(180,35,24,.18); }
.wheelhouse-health-theme .text-link .elementor-button { min-height: auto; padding: 0 0 .35rem; border-bottom: 1px solid rgba(11,47,91,.22); border-radius: 0; background: transparent; color: var(--navy); box-shadow: none; }
.wheelhouse-health-theme .elementor-widget-toggle .elementor-toggle-item { border-bottom: 1px solid var(--silver); }
.wheelhouse-health-theme .elementor-widget-toggle .elementor-tab-title { padding: 1.35rem 0; color: var(--navy); font-family: Georgia, serif; font-size: 1.12rem; }
.wheelhouse-health-theme .elementor-widget-toggle .elementor-tab-content { padding: 0 0 1.35rem; border: 0; color: var(--muted); line-height: 1.75; }
.wp-default-content, .wp-article-layout, .not-found { padding-block: 6rem; }
.wp-default-content p, .wp-article-layout p, .resource-sidebar p { margin: 0 0 1rem; }
.wp-article-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 4rem; }
.resource-sidebar .widget { margin-bottom: 1rem; padding: 1.5rem; border: 1px solid var(--silver); border-radius: 16px; background: white; }

/* Editable WordPress menu, with a measured and vertically centered Services caret */
.desktop-navigation { justify-self: center; }
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(.3rem,1vw,.9rem); margin: 0; padding: 0; color: #294860; font-size: .9rem; list-style: none; }
.desktop-nav > li { position: relative; margin: 0; }
.desktop-nav > li > a { position: relative; display: inline-flex; align-items: center; gap: .35rem; padding: .7rem .78rem; border-radius: 10px; line-height: 1.2; }
.whh-menu-caret { display: inline-flex; flex: 0 0 16px; align-items: center; justify-content: center; width: 16px; height: 16px; margin: 0; font-size: 16px; line-height: 1; transform: translateY(0); }
.desktop-nav > li > a::after { position: absolute; right: .78rem; bottom: .34rem; left: .78rem; height: 2px; border-radius: 999px; background: var(--aqua); content: ''; transform: scaleX(0); transition: transform .18s ease; }
.desktop-nav > li > a:hover, .desktop-nav > li > a:focus-visible { background: #f0f9fa; color: var(--teal); }
.desktop-nav > li.current-menu-item > a, .desktop-nav > li.current-menu-ancestor > a { background: #e8f7f8; color: var(--teal); font-weight: 700; }
.desktop-nav > li.current-menu-item > a::after, .desktop-nav > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.desktop-nav .sub-menu { position: absolute; z-index: 30; top: calc(100% + 18px); left: 50%; width: 285px; margin: 0; padding: .75rem; border: 1px solid rgba(11,47,91,.1); border-radius: 18px; background: white; box-shadow: 0 24px 60px rgba(11,47,91,.16); list-style: none; opacity: 0; pointer-events: none; transform: translate(-50%,8px); transition: .2s ease; }
.desktop-nav .sub-menu::before { position: absolute; inset: -20px 0 auto; height: 20px; content: ''; }
.desktop-nav .sub-menu a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem .9rem; border-radius: 10px; color: #2c4a62; line-height: 1.35; }
.desktop-nav .sub-menu a:hover, .desktop-nav .sub-menu a:focus-visible { background: var(--base); color: var(--teal); }
.desktop-nav .menu-item-has-children:hover > .sub-menu, .desktop-nav .menu-item-has-children:focus-within > .sub-menu { opacity: 1; pointer-events: auto; transform: translate(-50%,0); }
.whh-menu-child-arrow { flex: 0 0 18px; width: 18px; height: 18px; color: var(--teal); font-size: 18px; line-height: 1; }
.mobile-menu-toggle { display: none; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(11,47,91,.15); border-radius: 50%; background: white; color: var(--navy); cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.mobile-menu-toggle:hover { border-color: rgba(10,127,140,.45); background: #f0f9fa; }
.mobile-menu-toggle .menu-bars { display: grid; gap: 5px; width: 18px; height: auto; background: none; }
.mobile-menu-toggle .menu-bars i { display: block; width: 18px; height: 1.5px; border-radius: 2px; background: currentColor; transition: transform .22s ease, opacity .15s ease; }
.mobile-menu-toggle[aria-expanded="true"] { border-color: rgba(10,127,140,.45); color: var(--teal); }
.mobile-menu-toggle[aria-expanded="true"] .menu-bars i:first-child { transform: translateY(6.5px) rotate(45deg); }
.mobile-menu-toggle[aria-expanded="true"] .menu-bars i:nth-child(2) { opacity: 0; }
.mobile-menu-toggle[aria-expanded="true"] .menu-bars i:last-child { transform: translateY(-6.5px) rotate(-45deg); }
.mobile-navigation { border-top: 1px solid var(--silver); background: white; }
.mobile-navigation-backdrop { display: none; }
.mobile-menu-list { display: grid; margin: 0; padding: 1rem 0 1.5rem; list-style: none; }
.mobile-menu-list a { display: flex; justify-content: space-between; padding: .85rem 0; border-bottom: 1px solid #edf3f5; color: var(--navy); font-weight: 700; }
.mobile-menu-list .sub-menu { margin: 0; padding: 0 0 0 1rem; list-style: none; }
.mobile-menu-list .sub-menu a { color: var(--muted); font-size: .9rem; font-weight: 500; }
.mobile-menu-open { overflow: hidden; }
.mobile-navigation .mobile-cta { display: block; margin: 1rem 0 1.25rem; }
.mobile-navigation .mobile-cta .button { width: 100%; }
.footer-menu { display: block; margin: 0; padding: 0; list-style: none; }
.footer-menu li { margin: 0; padding: 0; }
.footer-grid .footer-menu a { display: block; }
.footer-bottom .footer-menu { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .45rem 1rem; }
.footer-bottom .footer-menu a { display: inline-flex; }
.developer-credit { padding: 1rem 0 2rem; border-top: 1px solid rgba(255,255,255,.08); color: #b9ccd7; font-size: .76rem; text-align: right; }
.developer-credit a { text-decoration: underline; text-decoration-color: rgba(185,204,215,.35); text-underline-offset: .25em; }
.developer-credit a:hover, .developer-credit a:focus-visible { color: var(--aqua); text-decoration-color: currentColor; }

/* Elementor containers default to columns. These approved layout classes own their display mode. */
.wheelhouse-health-theme .e-con.hero,
.wheelhouse-health-theme .e-con.hero-grid,
.wheelhouse-health-theme .e-con.trust-band-grid,
.wheelhouse-health-theme .e-con.page-hero-grid,
.wheelhouse-health-theme .e-con.mini-card-grid,
.wheelhouse-health-theme .e-con.faq-grid,
.wheelhouse-health-theme .e-con.split-copy,
.wheelhouse-health-theme .e-con.home-intro-grid,
.wheelhouse-health-theme .e-con.home-service-grid,
.wheelhouse-health-theme .e-con.home-service-wide,
.wheelhouse-health-theme .e-con.how-grid,
.wheelhouse-health-theme .e-con.prescribing-grid,
.wheelhouse-health-theme .e-con.clinician-grid,
.wheelhouse-health-theme .e-con.service-area-grid,
.wheelhouse-health-theme .e-con.service-row,
.wheelhouse-health-theme .e-con.decision-grid,
.wheelhouse-health-theme .e-con.decision-cards,
.wheelhouse-health-theme .e-con.pricing-grid,
.wheelhouse-health-theme .e-con.route-grid,
.wheelhouse-health-theme .e-con.contact-detail-grid,
.wheelhouse-health-theme .e-con.topic-grid,
.wheelhouse-health-theme .e-con.article-grid,
.wheelhouse-health-theme .e-con.article-featured,
.wheelhouse-health-theme .e-con.article-hero-grid,
.wheelhouse-health-theme .e-con.article-layout,
.wheelhouse-health-theme .e-con.legal-layout,
.wheelhouse-health-theme .e-con.editorial-gallery,
.wheelhouse-health-theme .e-con.longform-layout,
.wheelhouse-health-theme .e-con.contact-form-grid,
.wheelhouse-health-theme .e-con.cta-band-actions,
.wheelhouse-health-theme .e-con.safety-note,
.wheelhouse-health-theme .e-con.wp-article-layout { display: grid !important; }
.wheelhouse-health-theme .e-con.hero-actions,
.wheelhouse-health-theme .e-con.availability-card,
.wheelhouse-health-theme .e-con.cta-band-inner,
.wheelhouse-health-theme .e-con.breadcrumbs,
.wheelhouse-health-theme .e-con.important-banner,
.wheelhouse-health-theme .e-con.author-line,
.wheelhouse-health-theme .e-con.price-card-kicker,
.wheelhouse-health-theme .e-con.price,
.wheelhouse-health-theme .e-con.admin-contact,
.wheelhouse-health-theme .e-con.faq-more { flex-direction: row !important; }
.wheelhouse-health-theme .e-con.route-card,
.wheelhouse-health-theme .e-con.article-card,
.wheelhouse-health-theme .e-con.related-resources { flex-direction: column !important; }
.wheelhouse-health-theme .e-con.hero > .e-con-inner,
.wheelhouse-health-theme .e-con.hero-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.trust-band-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.page-hero-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.mini-card-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.faq-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.split-copy > .e-con-inner,
.wheelhouse-health-theme .e-con.home-intro-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.home-service-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.home-service-wide > .e-con-inner,
.wheelhouse-health-theme .e-con.how-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.prescribing-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.clinician-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.service-area-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.service-row > .e-con-inner,
.wheelhouse-health-theme .e-con.decision-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.decision-cards > .e-con-inner,
.wheelhouse-health-theme .e-con.pricing-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.route-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.contact-detail-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.topic-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.article-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.article-featured > .e-con-inner,
.wheelhouse-health-theme .e-con.article-hero-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.article-layout > .e-con-inner,
.wheelhouse-health-theme .e-con.legal-layout > .e-con-inner,
.wheelhouse-health-theme .e-con.editorial-gallery > .e-con-inner,
.wheelhouse-health-theme .e-con.longform-layout > .e-con-inner,
.wheelhouse-health-theme .e-con.contact-form-grid > .e-con-inner,
.wheelhouse-health-theme .e-con.cta-band-actions > .e-con-inner,
.wheelhouse-health-theme .e-con.safety-note > .e-con-inner,
.wheelhouse-health-theme .e-con.wp-article-layout > .e-con-inner,
.wheelhouse-health-theme .e-con.hero-actions > .e-con-inner,
.wheelhouse-health-theme .e-con.availability-card > .e-con-inner,
.wheelhouse-health-theme .e-con.cta-band-inner > .e-con-inner,
.wheelhouse-health-theme .e-con.breadcrumbs > .e-con-inner,
.wheelhouse-health-theme .e-con.important-banner > .e-con-inner,
.wheelhouse-health-theme .e-con.author-line > .e-con-inner,
.wheelhouse-health-theme .e-con.price-card-kicker > .e-con-inner,
.wheelhouse-health-theme .e-con.price > .e-con-inner,
.wheelhouse-health-theme .e-con.admin-contact > .e-con-inner,
.wheelhouse-health-theme .e-con.faq-more > .e-con-inner { display: contents; }
.wheelhouse-health-theme .e-con.breadcrumbs > .e-con-inner > .e-con,
.wheelhouse-health-theme .e-con.breadcrumbs .elementor-widget { width: auto; flex: 0 0 auto; }
.wheelhouse-health-theme .e-con.breadcrumbs .elementor-widget-text-editor { line-height: 1.5; }
.wheelhouse-health-theme .elementor-widget-image, .wheelhouse-health-theme .elementor-widget-image .elementor-widget-container { width: 100%; height: 100%; }
.wheelhouse-health-theme .elementor-widget-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wheelhouse-health-theme .e-con.trust-band-grid > .e-con-inner > .elementor-widget { display: contents; }
.wheelhouse-health-theme .e-con.trust-band-grid { min-height: 94px !important; }
.wheelhouse-health-theme .hero-visual > .e-con-inner, .wheelhouse-health-theme .image-frame > .e-con-inner { width: 100%; }
.wheelhouse-health-theme .e-con.image-frame { overflow: hidden !important; padding: 0 !important; border-radius: 48% 48% 14% 14% / 34% 34% 12% 12% !important; }
.wheelhouse-health-theme .e-con.page-hero-image { overflow: hidden !important; padding: 0 !important; border-radius: 44% 44% 10% 10% / 32% 32% 9% 9% !important; }
.wheelhouse-health-theme .e-con.how-image,
.wheelhouse-health-theme .e-con.clinician-image,
.wheelhouse-health-theme .e-con.article-hero-grid,
.wheelhouse-health-theme .e-con.editorial-gallery { padding: 0 !important; }

/* Elementor card and editorial-image parity. The reference components are
   semantic anchors/figures; Elementor adds an edit wrapper around each child. */
.wheelhouse-health-theme .e-con.home-service-card { min-height: 510px !important; padding: 1rem !important; }
.wheelhouse-health-theme .e-con.home-service-card > .e-con-inner { aspect-ratio: auto !important; overflow: visible !important; border-radius: 0 !important; padding: 0 !important; gap: 0 !important; }
.wheelhouse-health-theme .e-con.home-service-card:not(.home-service-wide) > .e-con-inner { display: flex; flex-direction: column; }
.wheelhouse-health-theme .e-con.home-service-card .elementor-widget-image { width: 100%; height: auto; aspect-ratio: 5/4; overflow: hidden; border-radius: 17px; }
.wheelhouse-health-theme .e-con.home-service-card .elementor-widget-text-editor span { display: block; margin: 1.4rem .65rem .75rem; color: var(--teal); font-size: .65rem; text-transform: uppercase; letter-spacing: .09em; }
.wheelhouse-health-theme .e-con.home-service-card .elementor-widget-heading h3 { margin-inline: .65rem; }
.wheelhouse-health-theme .e-con.home-service-card .elementor-widget-text-editor i { display: block; margin: auto .65rem .4rem; padding-top: 1.2rem; color: var(--navy); font-style: normal; font-size: .8rem; font-weight: 700; }
.wheelhouse-health-theme .e-con.home-service-card .elementor-widget.whh-card-link { margin-top: auto; }
.wheelhouse-health-theme .e-con.home-service-card .whh-card-link a { display: block; margin: 1.2rem .65rem .4rem; color: var(--navy); font-size: .8rem; font-weight: 700; }
.wheelhouse-health-theme .e-con.home-service-wide > .e-con-inner > :first-child { grid-row: 1 / -1; min-height: 100%; }
.wheelhouse-health-theme .e-con.home-service-wide > .e-con-inner > :first-child .elementor-widget-image { height: 100%; aspect-ratio: auto; }

.wheelhouse-health-theme .e-con.article-card { padding: 1rem !important; }
.wheelhouse-health-theme .e-con.article-card > .e-con-inner { gap: 0 !important; }
.wheelhouse-health-theme .e-con.article-card .elementor-widget-image { width: 100%; height: auto; aspect-ratio: 16/10; overflow: hidden; border-radius: 14px; }
.wheelhouse-health-theme .e-con.article-card .elementor-widget-text-editor span { display: block; margin: 1.2rem .5rem .5rem; color: var(--teal); font-size: .65rem; text-transform: uppercase; letter-spacing: .07em; }
.wheelhouse-health-theme .e-con.article-card .elementor-widget-heading h2 { margin: .2rem .5rem; }
.wheelhouse-health-theme .e-con.article-card .elementor-widget-text-editor i { display: block; margin: auto .5rem .4rem; padding-top: 1rem; color: var(--navy); font-style: normal; font-size: .77rem; font-weight: 700; }
.wheelhouse-health-theme .e-con.article-card .elementor-widget.whh-card-link { margin-top: auto; }
.wheelhouse-health-theme .e-con.article-card .whh-card-link a { display: block; margin: 1rem .5rem .4rem; color: var(--navy); font-size: .77rem; font-weight: 700; }
.wheelhouse-health-theme .e-con.article-featured > .e-con-inner > :first-child { grid-row: 1 / -1; min-height: 350px; }
.wheelhouse-health-theme .e-con.article-featured > .e-con-inner > :first-child .elementor-widget-image { height: 100%; aspect-ratio: auto; }
.wheelhouse-health-theme .e-con.home-service-card,
.wheelhouse-health-theme .e-con.article-card,
.wheelhouse-health-theme .e-con.service-row { cursor: pointer; }
.wheelhouse-health-theme .e-con.service-row .elementor-widget.whh-card-link { align-self: center; }
.wheelhouse-health-theme .e-con.service-row .whh-card-link { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(10,127,140,.25); border-radius: 50%; color: var(--teal); }

.wheelhouse-health-theme .e-con.how-image { height: 680px !important; min-height: 680px !important; }
.wheelhouse-health-theme .e-con.clinician-image { height: 610px !important; min-height: 610px !important; }
.wheelhouse-health-theme .e-con.how-image > .e-con-inner,
.wheelhouse-health-theme .e-con.clinician-image > .e-con-inner { position: relative; display: block; width: 100%; height: 100%; padding: 0 !important; gap: 0 !important; }
.wheelhouse-health-theme .e-con.how-image > .e-con-inner { inset: auto !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.wheelhouse-health-theme .e-con.how-image .elementor-widget-image img { border-radius: 220px 220px 30px 30px; }
.wheelhouse-health-theme .e-con.how-image > .e-con-inner > .e-con { position: absolute !important; right: -2rem !important; bottom: 2rem !important; left: auto !important; width: 270px !important; padding: 1.2rem !important; border-radius: 16px !important; background: white; box-shadow: 0 18px 50px rgba(11,47,91,.16); }

/* Elementor parity: semantic classes own the geometry, not Elementor's
   default boxed widths, padding, gaps, or stretch behavior. */
.wheelhouse-health-theme .e-con.hero {
  min-height: clamp(700px, calc(100svh - 120px), 880px) !important;
  height: auto !important;
  padding: 5.5rem 0 6rem !important;
  align-items: center !important;
}
.wheelhouse-health-theme .e-con.hero-grid {
  height: auto !important;
  min-height: 0 !important;
  grid-template-columns: 1.03fr .97fr !important;
  gap: clamp(3rem,7vw,7rem) !important;
  align-items: center !important;
  align-self: center;
}
.wheelhouse-health-theme .e-con.hero-copy {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  align-self: center;
}
.wheelhouse-health-theme .e-con.hero-copy > .e-con-inner,
.wheelhouse-health-theme .e-con.hero-visual > .e-con-inner {
  height: auto !important;
  min-height: 0 !important;
  flex-grow: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
.wheelhouse-health-theme .e-con.hero-visual {
  height: auto !important;
  min-height: 0 !important;
  padding: 1.2rem 1rem 2.5rem 0 !important;
  align-self: center;
}
.wheelhouse-health-theme .e-con.hero-actions { padding: 0 !important; gap: 1.6rem !important; }
.wheelhouse-health-theme .e-con.availability-card {
  position: absolute !important;
  top: auto !important;
  right: auto !important;
  bottom: .2rem !important;
  left: -1.8rem !important;
  width: min(330px,78%) !important;
  padding: 1.15rem 1.25rem !important;
  gap: .85rem !important;
  flex-wrap: nowrap !important;
}
.wheelhouse-health-theme .e-con.image-frame > .e-con-inner,
.wheelhouse-health-theme .e-con.page-hero-image > .e-con-inner { height: 100% !important; min-height: 0 !important; padding: 0 !important; gap: 0 !important; }
.wheelhouse-health-theme .e-con.page-hero-grid { height: auto !important; min-height: 0 !important; grid-template-columns: 1.06fr .94fr !important; gap: clamp(3rem,7vw,7rem) !important; align-items: center !important; }
.wheelhouse-health-theme .e-con.article-hero-grid { height: auto !important; min-height: 0 !important; grid-template-columns: 1.08fr .92fr !important; gap: 5rem !important; align-items: center !important; }
.wheelhouse-health-theme .e-con.home-intro-grid { grid-template-columns: .95fr 1.05fr !important; gap: clamp(4rem,10vw,10rem) !important; }
.wheelhouse-health-theme .e-con.how-grid { grid-template-columns: .9fr 1.1fr !important; gap: clamp(4rem,9vw,9rem) !important; align-items: center !important; }
.wheelhouse-health-theme .e-con.clinician-grid { grid-template-columns: .9fr 1.1fr !important; gap: clamp(4rem,9vw,9rem) !important; align-items: center !important; }
.wheelhouse-health-theme .e-con.service-area-grid { grid-template-columns: .8fr 1.2fr !important; gap: 7rem !important; align-items: center !important; }
.wheelhouse-health-theme .e-con.decision-grid { grid-template-columns: .85fr 1.15fr !important; gap: 7rem !important; }
.wheelhouse-health-theme .e-con.split-copy { grid-template-columns: .9fr 1.1fr !important; gap: 7rem !important; }


/* Contact form */
.contact-form-section { padding: 7rem 0; background: #eef8f9; }
.contact-form-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem,8vw,8rem); align-items: start; }
.contact-form-intro { position: sticky; top: 1.5rem; }
.contact-form-intro h2 { margin: 0; color: var(--navy); font-family: Georgia,serif; font-size: clamp(2.3rem,4vw,3.8rem); font-weight: 400; line-height: 1.04; letter-spacing: -.03em; }
.contact-form-intro > p:last-child { margin-top: 1.4rem; color: var(--muted); line-height: 1.75; }
.whh-contact-form { position: relative; display: grid; gap: 1.25rem; padding: clamp(1.35rem,3vw,2.5rem); border: 1px solid rgba(11,47,91,.11); border-radius: 24px; background: white; box-shadow: 0 22px 65px rgba(11,47,91,.1); }
.whh-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.whh-contact-form label:not(.whh-consent) { display: block; margin-bottom: .45rem; color: var(--navy); font-size: .82rem; font-weight: 800; }
.whh-contact-form input:not([type=checkbox]), .whh-contact-form select, .whh-contact-form textarea { width: 100%; min-height: 50px; padding: .78rem .9rem; border: 1px solid #b9cbd4; border-radius: 10px; background: #fff; color: var(--ink); font: inherit; }
.whh-contact-form textarea { min-height: 150px; resize: vertical; }
.whh-contact-form input:focus-visible, .whh-contact-form select:focus-visible, .whh-contact-form textarea:focus-visible { border-color: var(--teal); outline: 3px solid rgba(57,197,207,.22); outline-offset: 1px; }
.whh-field-help, .whh-form-privacy, .whh-character-count { display: block; margin: 0 0 .55rem; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.whh-character-count { margin: .35rem 0 0; text-align: right; }
.whh-consent { display: flex; align-items: flex-start; gap: .7rem; color: #355269; font-size: .82rem; line-height: 1.55; }
.whh-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: .15rem; accent-color: var(--teal); }
.whh-contact-form .button { width: fit-content; border: 0; cursor: pointer; }
.whh-contact-form .button[disabled] { cursor: wait; opacity: .65; }
.whh-form-status { display: none; padding: 1rem 1.1rem; border-radius: 12px; font-size: .9rem; line-height: 1.55; }
.whh-form-status.is-visible { display: block; }
.whh-form-status.is-success { border: 1px solid #83c5a3; background: #edf9f2; color: #185b3b; }
.whh-form-status.is-error { border: 1px solid #e4aaa5; background: #fff2f1; color: #7f2621; }
.whh-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Final fluency and responsive safeguards */
.price-card { overflow: visible; }
.price-card-kicker { position: relative; z-index: 2; align-items: flex-start; }
.popular { align-self: flex-start; }
.longform-toc a { text-wrap: pretty; }
.not-found { min-height: 60vh; display: grid; align-items: center; }
.not-found p:not(.eyebrow) { max-width: 650px; color: var(--muted); line-height: 1.75; }
.wheelhouse-health-theme { padding-bottom: 0 !important; }
.wheelhouse-health-theme .mobile-action-bar { display: none !important; }

/* ===========================================================================
   Elementor design parity
   ---------------------------------------------------------------------------
   The reference implementation styles semantic elements directly
   (`.service-row h2`, `.longform-section > p`). Elementor wraps every widget in
   `.e-con > .e-con-inner > .elementor-widget-*`, which breaks direct-child
   selectors and lets Elementor's own widget styles win on specificity. The rules
   below restore the reference contract: shared typography tokens for headings,
   wrapper-aware equivalents for the direct-child text rules, and the measured
   geometry for the components Elementor reflowed.
   =========================================================================== */

/* Reference baseline rhythm. The reference document sets `line-height: 1.5` at
   the root, which every component inherits unless it opts out. */
.wheelhouse-health-theme { line-height: 1.5; }

/* Elementor styles the text widget itself (global colour, family, and rhythm from
   the kit). Neutralise the wrapper only, so its children inherit from the
   surrounding semantic component exactly as they do in the reference. */
.wheelhouse-health-theme .elementor-widget-text-editor { color: inherit; font: inherit; }

/* --- Heading tokens, one entry per reference component rule ---------------- */
.wheelhouse-health-theme .page-hero { --whh-h1-size: clamp(3.25rem, 5.7vw, 5.7rem); }
.wheelhouse-health-theme .article-hero { --whh-h1-size: clamp(3rem, 5vw, 5rem); --whh-h1-margin: 1rem 0 0; }
.wheelhouse-health-theme .legal-hero { --whh-h1-size: clamp(3.8rem, 7vw, 6.7rem); }
.wheelhouse-health-theme .cta-band { --whh-h-color: var(--white); --whh-h2-size: clamp(2.4rem, 4.4vw, 4.6rem); }
.wheelhouse-health-theme .prescribing-grid { --whh-h-color: var(--white); --whh-h2-size: clamp(2rem, 3.4vw, 3.3rem); }
.wheelhouse-health-theme .decision-section { --whh-h-color: var(--white); }
.wheelhouse-health-theme .decision-cards { --whh-h-color: var(--white); --whh-h3-size: 1.35rem; --whh-h3-margin: .6rem 0 0; }
.wheelhouse-health-theme .home-service-card { --whh-h3-size: 1.65rem; --whh-h3-margin: 0 .65rem; }
.wheelhouse-health-theme .service-row { --whh-h2-size: 1.65rem; --whh-h2-margin: .3rem 0 0; }
.wheelhouse-health-theme .price-card { --whh-h2-size: 1.7rem; }
.wheelhouse-health-theme .route-card { --whh-h2-size: 1.65rem; --whh-h2-margin: 3rem 0 0; }
.wheelhouse-health-theme .care-router { --whh-h3-size: 1.35rem; }
.wheelhouse-health-theme .contact-detail-grid { --whh-h2-size: 2rem; --whh-h3-size: 1.45rem; --whh-h3-margin: .7rem 0 0; }
.wheelhouse-health-theme .privacy-card { --whh-h-color: var(--white); }
.wheelhouse-health-theme .contact-form-intro { --whh-h2-size: clamp(2.3rem, 4vw, 3.8rem); --whh-h2-lh: 1.04; --whh-h2-ls: -.03em; }
.wheelhouse-health-theme .article-card { --whh-h2-size: 1.45rem; --whh-h2-margin: .2rem .5rem; }
.wheelhouse-health-theme .article-content { --whh-h2-size: 2.35rem; --whh-h3-size: 1.45rem; --whh-h3-margin: 2rem 0 0; }
.wheelhouse-health-theme .legal-copy { --whh-h2-size: 2rem; }
.wheelhouse-health-theme .mini-card { --whh-h3-margin: 1rem 0 0; }
.wheelhouse-health-theme .steps { --whh-h3-size: 1.28rem; }
.wheelhouse-health-theme .longform-section {
  --whh-h3-size: clamp(2rem, 3.2vw, 3rem);
  --whh-h3-lh: 1.08;
  --whh-h3-ls: -.025em;
  --whh-h3-mw: 760px;
  --whh-h3-margin: 0 0 1.4rem;
}
/* Warning headings keep the muted-red editorial voice on every surface. */
.wheelhouse-health-theme .safety-note {
  --whh-h-color: #6e302d;
  --whh-h-ff: Arial, Helvetica, sans-serif;
  --whh-h-fw: 700;
  --whh-h3-size: .9rem;
}
/* Inside an article body the deep-guide scale wins, exactly as the reference
   cascade resolves it, while the warning colour and family are retained. */
.wheelhouse-health-theme .article-content .safety-note { --whh-h3-size: 1.45rem; --whh-h3-margin: 2rem 0 0; }

/* --- Wrapper-aware equivalents of the reference direct-child text rules ---- */
.wheelhouse-health-theme .section-heading > .e-con-inner > .elementor-widget-text-editor > p:not(.eyebrow) {
  margin: 1.2rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.75;
}
.wheelhouse-health-theme .longform-section > .e-con-inner > .elementor-widget-text-editor > p:not(.eyebrow) {
  max-width: 800px; margin: 0 0 1.25rem; color: #405d72; font-size: 1rem; line-height: 1.82;
}
.wheelhouse-health-theme .longform-section > .e-con-inner > .elementor-widget-text-editor > ul {
  display: grid; gap: .8rem; max-width: 760px; margin: 1.75rem 0; padding-left: 1.3rem;
}
.wheelhouse-health-theme .longform-section > .e-con-inner > .elementor-widget-text-editor > ul li {
  padding-left: .25rem; color: #34546b; line-height: 1.65;
}
.wheelhouse-health-theme .longform-section > .e-con-inner > .elementor-widget-text-editor > ul li::marker { color: var(--teal); }
.wheelhouse-health-theme .article-content > .e-con-inner > section > .e-con-inner > .elementor-widget-text-editor > p:not(.eyebrow) {
  color: #405d72; font-size: 1rem; line-height: 1.85;
}
.wheelhouse-health-theme .clinician-grid > .e-con-inner > .e-con:first-child .elementor-widget-text-editor > p:not(.eyebrow),
.wheelhouse-health-theme .service-area-grid > .e-con-inner > .e-con:last-child .elementor-widget-text-editor > p:not(.eyebrow) {
  color: var(--muted); line-height: 1.78;
}
.wheelhouse-health-theme .article-hero-grid > .e-con-inner > .e-con:first-child .elementor-widget-text-editor > p:not(.eyebrow) {
  color: var(--muted); font-size: 1.05rem; line-height: 1.7;
}
.wheelhouse-health-theme .contact-detail-grid > .e-con-inner > .e-con .elementor-widget-text-editor > p:not(.eyebrow) {
  color: var(--muted); font-size: .86rem; line-height: 1.65;
}
.wheelhouse-health-theme .contact-detail-grid > .e-con-inner > .e-con:first-child .elementor-widget-text-editor > p:not(.eyebrow) {
  display: block; margin-top: .7rem; font-size: .9rem;
}
.wheelhouse-health-theme .service-row > .e-con-inner > .e-con .elementor-widget-text-editor > span {
  color: var(--teal); font-size: .65rem; letter-spacing: .09em; text-transform: uppercase;
}
.wheelhouse-health-theme .route-card > .e-con-inner > .elementor-widget-text-editor > span {
  color: var(--teal); font-size: .67rem; font-weight: 800;
}
.wheelhouse-health-theme .cta-band-inner > .e-con-inner > .e-con:first-child .elementor-widget-text-editor > span {
  display: block; max-width: 650px; margin-top: 1rem; color: var(--white); line-height: 1.65;
}
.wheelhouse-health-theme .legal-hero .legal-shell > .e-con-inner > .elementor-widget-text-editor:last-child > p {
  color: var(--muted); font-size: .8rem;
}



/* `.e-con.e-flex` also owns the `flex` shorthand, so a fixed-width flex track has to
   be restated at matching specificity or the CTA rail stretches to fill the row. */
.wheelhouse-health-theme .e-con.cta-band-actions { flex: 0 0 250px; }
@media (max-width: 760px) {
  .wheelhouse-health-theme .e-con.cta-band-actions { width: 100%; flex: 0 0 auto; }
}

/* Elementor declares `align-content`, `align-items`, `flex-wrap`, and `justify-content`
   on `.e-con-boxed.e-flex`, which outranks every bare semantic class. The approved
   alignment for each layout container is restated here at matching specificity. */
.wheelhouse-health-theme .e-con.hero { align-items: center; }
.wheelhouse-health-theme .e-con.hero-grid { align-items: center; }
.wheelhouse-health-theme .e-con.hero-actions { align-items: center; }
.wheelhouse-health-theme .e-con.availability-card { align-items: flex-start; }
.wheelhouse-health-theme .e-con.breadcrumbs { justify-content: flex-start; flex-wrap: wrap; }
.wheelhouse-health-theme .e-con.page-hero-grid { align-items: center; }
.wheelhouse-health-theme .e-con.safety-note { align-items: start; }
.wheelhouse-health-theme .e-con.faq-grid { align-items: start; }
.wheelhouse-health-theme .e-con.cta-band-inner { justify-content: space-between; align-items: center; }
.wheelhouse-health-theme .e-con.trust-band-grid { align-items: center; }
.wheelhouse-health-theme .e-con.how-grid { align-items: center; }
.wheelhouse-health-theme .e-con.prescribing-grid { align-items: center; }
.wheelhouse-health-theme .e-con.clinician-grid { align-items: center; }
.wheelhouse-health-theme .e-con.service-area-grid { align-items: center; }
.wheelhouse-health-theme .e-con.faq-more { justify-content: flex-end; }
.wheelhouse-health-theme .e-con.service-row { align-items: center; }
.wheelhouse-health-theme .e-con.important-banner { align-items: center; }
.wheelhouse-health-theme .e-con.pricing-grid { align-items: start; }
.wheelhouse-health-theme .e-con.price-card-kicker { align-items: flex-start; justify-content: space-between; }
.wheelhouse-health-theme .e-con.price { align-items: baseline; }
.wheelhouse-health-theme .e-con.topic-grid { align-items: center; }
.wheelhouse-health-theme .e-con.article-hero-grid { align-items: center; }
.wheelhouse-health-theme .e-con.author-line { align-items: center; }
.wheelhouse-health-theme .e-con.article-layout { justify-content: center; }
.wheelhouse-health-theme .e-con.legal-layout { justify-content: center; }
.wheelhouse-health-theme .e-con.longform-layout { align-items: start; }
.wheelhouse-health-theme .e-con.contact-form-grid { align-items: start; }
.wheelhouse-health-theme .e-con.price-card-kicker { align-items: flex-start; }
@media (max-width: 760px) {
  /* The closing CTA stacks its copy above the buttons. Without this the row direction
     forced for desktop survives, the copy column collapses to nothing, and the button
     rail overhangs the band. */
  .wheelhouse-health-theme .e-con.cta-band-inner {
    flex-direction: column !important;
    align-items: flex-start;
    min-height: 370px !important;
    gap: 2rem !important;
  }
}
@media (max-width: 520px) {
  .wheelhouse-health-theme .e-con.admin-contact { flex-direction: column !important; align-items: flex-start; }
}
@media (max-width: 480px) {
  .wheelhouse-health-theme .e-con.hero-actions { flex-direction: column !important; align-items: stretch; }
}

/* --- Geometry the Elementor wrappers displaced ---------------------------- */

/* Service-area proof circle: the reference styles the first column directly. */
.wheelhouse-health-theme .e-con.service-area-grid > .e-con-inner > .e-con:first-child {
  position: relative;
  display: grid !important;
  aspect-ratio: 1;
  place-content: center;
  padding: 0 !important;
  border: 1px solid rgba(10,127,140,.2);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(57,197,207,.13), transparent 64%);
  text-align: center;
}
.wheelhouse-health-theme .e-con.service-area-grid > .e-con-inner > .e-con:first-child > .e-con-inner { display: contents; }
.wheelhouse-health-theme .e-con.service-area-grid > .e-con-inner > .e-con:first-child .elementor-widget-text-editor > span {
  display: block; color: var(--navy); font-family: Georgia, serif; font-size: clamp(5rem, 10vw, 9rem); line-height: .9;
}
.wheelhouse-health-theme .e-con.service-area-grid > .e-con-inner > .e-con:first-child .elementor-widget-text-editor > i {
  display: block; width: 55px; height: 1px; margin: 1rem auto; background: var(--aqua);
}
.wheelhouse-health-theme .e-con.service-area-grid > .e-con-inner > .e-con:first-child .elementor-widget-text-editor > strong {
  color: var(--teal); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}

/* Prescribing badge, CTA band measure, and contact detail cards. */
.wheelhouse-health-theme .e-con.prescribing-grid > .e-con-inner > .e-con:first-child .elementor-widget-text-editor > span {
  display: grid; width: 90px; height: 90px; place-items: center;
  border: 1px solid rgba(57,197,207,.45); border-radius: 50%;
  color: var(--aqua); font-family: Georgia, serif; font-size: 2rem;
}
.wheelhouse-health-theme .e-con.cta-band-inner > .e-con-inner > .e-con:first-child { max-width: 750px; padding: 0 !important; }
.wheelhouse-health-theme .e-con.contact-detail-grid > .e-con-inner > .e-con {
  padding: 2rem !important; border: 1px solid var(--silver); border-radius: 20px; background: var(--white);
}
.wheelhouse-health-theme .e-con.contact-detail-grid > .e-con-inner > .e-con.privacy-card { background: var(--navy) !important; }

/* Article hero keeps its arched 5:4 mask on every guide. */
.wheelhouse-health-theme .e-con.article-hero-grid > .e-con-inner > .e-con:last-child {
  overflow: hidden !important;
  aspect-ratio: 5/4;
  padding: 0 !important;
  border-radius: 42% 42% 12% 12% / 32% 32% 10% 10% !important;
}
.wheelhouse-health-theme .e-con.article-hero-grid > .e-con-inner > .e-con:last-child > .e-con-inner { height: 100%; padding: 0 !important; }

/* Resource-hub topic strip keeps its measured band height. */
.wheelhouse-health-theme .e-con.topic-grid { min-height: 95px !important; }
.wheelhouse-health-theme .e-con.topic-grid .elementor-widget-text-editor > span {
  display: flex; align-items: center; gap: .6rem; font-size: .74rem;
}
.wheelhouse-health-theme .e-con.topic-grid .elementor-widget-text-editor > span i { color: var(--aqua); font-size: .62rem; font-style: normal; }

/* Trust band dividers and labels sit on the reference baseline. */
.wheelhouse-health-theme .e-con.trust-band-grid .elementor-widget-text-editor > i {
  display: block; width: 1px; height: 36px; background: var(--silver);
}

/* Buttons size to their content instead of stretching with the grid track. */
.wheelhouse-health-theme .elementor-widget-button { width: auto; max-width: 100%; }
/* Size the widget to its label without opting out of the parent row's alignment:
   `align-self` here would top-align the link beside the pill button in the hero. */
.wheelhouse-health-theme .text-link.elementor-widget-button,
.wheelhouse-health-theme .all-services-link.elementor-widget-button { width: fit-content; justify-self: start; }
.wheelhouse-health-theme .text-link .elementor-button,
.wheelhouse-health-theme .all-services-link .elementor-button {
  width: fit-content; min-height: 0; font-size: .91rem; line-height: 1.5;
}
.wheelhouse-health-theme .all-services-link .elementor-button {
  border-bottom: 1px solid rgba(11,47,91,.25); border-radius: 0; background: transparent;
  color: var(--navy); font-size: .83rem; box-shadow: none;
}


/* The reference shrinks hero type on short desktop viewports; the Elementor
   templates need the same tokens, not just the same padding. */
@media (min-width: 941px) and (max-height: 820px) {
  .wheelhouse-health-theme .e-con.hero { --whh-h1-size: clamp(3rem, 4.7vw, 4.5rem); }
  .wheelhouse-health-theme .e-con.page-hero,
  .wheelhouse-health-theme .e-con.article-hero { --whh-h1-size: clamp(2.9rem, 4.5vw, 4.35rem); }
  .wheelhouse-health-theme .e-con.page-hero .page-lede,
  .wheelhouse-health-theme .e-con.article-hero .elementor-widget-text-editor > p:not(.eyebrow) { margin-top: 1rem; line-height: 1.55; }
  .wheelhouse-health-theme .e-con.article-hero-grid > .e-con-inner > .e-con:last-child { max-height: 405px; }
}

/* The reference scales the hero headline down at each breakpoint through the bare
   `h1` rule; the Elementor templates take the same steps through their tokens. */
@media (max-width: 940px) {
  .wheelhouse-health-theme .e-con.hero { --whh-h1-size: clamp(2.8rem, 7vw, 4.3rem); }
  .wheelhouse-health-theme .e-con.page-hero { --whh-h1-size: clamp(2.8rem, 6.8vw, 4.4rem); }
}
@media (max-width: 720px) {
  .wheelhouse-health-theme .e-con.hero { --whh-h1-size: clamp(2.7rem, 13vw, 4.3rem); }
}
@media (max-width: 520px) {
  .wheelhouse-health-theme .e-con.page-hero { --whh-h1-size: clamp(2.65rem, 12vw, 4rem); }
}

/* A widget's custom class lands on Elementor's wrapper as well as reaching the control
   inside it, so a component like `.button` painted its pill twice - once around the
   real button - and `.text-link` drew a second, wider underline. The wrapper keeps only
   its role as a box; the control inside keeps the design. */
.wheelhouse-health-theme .elementor-widget-button.button,
.wheelhouse-health-theme .elementor-widget-button.button-light,
.wheelhouse-health-theme .elementor-widget-button.button-outline,
.wheelhouse-health-theme .elementor-widget-button.button-small,
.wheelhouse-health-theme .elementor-widget-button.button-emergency,
.wheelhouse-health-theme .elementor-widget-button.text-link,
.wheelhouse-health-theme .elementor-widget-button.all-services-link {
  display: block;
  width: fit-content;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  transition: none;
}
.wheelhouse-health-theme .elementor-widget-button.button:hover,
.wheelhouse-health-theme .elementor-widget-button.button-light:hover { background: none; transform: none; }

/* `.elementor a { box-shadow: none }` outranks the component class, so any button the
   theme renders as a plain anchor inside Elementor content lost its lift. */
.wheelhouse-health-theme .elementor a.button { box-shadow: 0 12px 30px rgba(10,127,140,.18); }
.wheelhouse-health-theme .elementor a.button-light { box-shadow: 0 16px 40px rgba(0,0,0,.12); }
.wheelhouse-health-theme .elementor a.button-outline { box-shadow: none; }
.wheelhouse-health-theme .elementor a.button-emergency { box-shadow: 0 12px 30px rgba(180,35,24,.18); }

/* Text links are flex children in the reference, so they blockify. Inside an Elementor
   text widget they stay inline, which drops the underline and its padding. */
.wheelhouse-health-theme .text-link { display: inline-block; }

/* Elementor pins its container pseudo-element to the top-left, which dragged the hero's
   decorative ring out of the bottom-right corner it is anchored to in the design. */
.wheelhouse-health-theme .e-con.hero::before { top: auto; left: auto; }

/* The FAQ accordion is an Elementor Toggle. Its stock chrome is a caret on the left of
   the question; the design puts a circled plus on the right that turns into a cross when
   the answer opens. The widget's own icon is replaced rather than merely hidden so the
   control keeps its accessible name and keyboard behaviour. */
.wheelhouse-health-theme .faq-list .elementor-toggle-item { border-bottom: 1px solid rgba(11,47,91,.14); }
.wheelhouse-health-theme .faq-list .elementor-tab-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.35rem 0;
  color: var(--navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.17rem;
  font-weight: 400;
  line-height: 1.3;
}
.wheelhouse-health-theme .faq-list .elementor-toggle-icon {
  flex: 0 0 28px;
  order: 2;
  width: 28px;
  margin: 0;
  float: none;
}
.wheelhouse-health-theme .faq-list .elementor-toggle-icon svg,
.wheelhouse-health-theme .faq-list .elementor-toggle-icon i { display: none; }
.wheelhouse-health-theme .faq-list .elementor-toggle-icon .elementor-toggle-icon-opened { display: none; }
.wheelhouse-health-theme .faq-list .elementor-toggle-icon .elementor-toggle-icon-closed { display: block; }
.wheelhouse-health-theme .faq-list .elementor-toggle-icon .elementor-toggle-icon-closed {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(10,127,140,.25);
  border-radius: 50%;
  color: var(--teal);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1;
  transition: transform .2s ease;
}
.wheelhouse-health-theme .faq-list .elementor-toggle-icon .elementor-toggle-icon-closed::before { content: '+'; }
.wheelhouse-health-theme .faq-list .elementor-tab-title.elementor-active .elementor-toggle-icon .elementor-toggle-icon-closed { transform: rotate(45deg); }
.wheelhouse-health-theme .faq-list .elementor-tab-content > p { max-width: 700px; margin: -.2rem 3rem 1.3rem 0; color: var(--muted); font-size: .9rem; line-height: 1.7; }
.wheelhouse-health-theme .faq-list .elementor-tab-content {
  max-width: 700px;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.7;
}

/* Card footer links sit at the bottom of the card in the design. The class that used to
   anchor them lives on the anchor itself, not on Elementor's wrapper, so the wrapper is
   addressed by position instead: pushed down in the stacked cards, end-aligned in the
   two-column featured cards where the media spans every row. */
.wheelhouse-health-theme .e-con.article-card > .e-con-inner > .elementor-widget:last-child,
.wheelhouse-health-theme .e-con.home-service-card > .e-con-inner > .elementor-widget:last-child { margin-top: auto; }
.wheelhouse-health-theme .e-con.article-featured > .e-con-inner > .elementor-widget:last-child,
.wheelhouse-health-theme .e-con.home-service-wide > .e-con-inner > .elementor-widget:last-child { align-self: end; margin-top: 0; }
.wheelhouse-health-theme .e-con.article-card a.whh-card-link { display: block; margin: 1rem .5rem .4rem; color: var(--navy); font-size: .77rem; font-weight: 700; }
.wheelhouse-health-theme .e-con.home-service-card a.whh-card-link { display: block; margin: 1.2rem .65rem .4rem; color: var(--navy); font-size: .8rem; font-weight: 700; }

/* --- Direct-child text rules, restated against Elementor's wrappers ---------
   Each of these styles an element the reference addresses as a direct child of its
   component. Elementor puts a container inner and a widget wrapper in between, so the
   original selector stops matching and the element falls back to plain body text. */

/* Long-form and article side rails */
.wheelhouse-health-theme .longform-toc > .e-con-inner > .elementor-widget-text-editor > strong {
  display: block; margin-bottom: 1rem; color: var(--navy);
  font-family: Georgia, 'Times New Roman', serif; font-size: 1.18rem; font-weight: 400;
}
.wheelhouse-health-theme .longform-sources > .e-con-inner > .elementor-widget-text-editor > strong {
  color: var(--navy); font-size: .82rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
}
.wheelhouse-health-theme .article-layout > .e-con-inner > aside strong,
.wheelhouse-health-theme .legal-layout > .e-con-inner > aside strong {
  display: block; margin-bottom: 1rem; color: var(--navy);
  font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
}
.wheelhouse-health-theme .article-layout > .e-con-inner > aside a,
.wheelhouse-health-theme .legal-layout > .e-con-inner > aside a {
  display: block; margin: .7rem 0; color: var(--muted); font-size: .75rem; line-height: 1.35;
}
.wheelhouse-health-theme .article-layout > .e-con-inner > aside a:hover,
.wheelhouse-health-theme .legal-layout > .e-con-inner > aside a:hover { color: var(--teal); }

/* Warning badge and article byline marks */
.wheelhouse-health-theme .safety-note > .e-con-inner > .elementor-widget-text-editor > span {
  display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%;
  background: #f4dedb; color: #903e39; font-family: Georgia, serif; font-size: 1.2rem;
}
.wheelhouse-health-theme .author-line > .e-con-inner > .elementor-widget-text-editor > i {
  display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%;
  background: var(--navy); color: var(--white); font-size: .7rem; font-style: normal;
}
.wheelhouse-health-theme .author-line > .e-con-inner > .elementor-widget-text-editor > strong {
  display: block; color: var(--navy); font-size: .79rem;
}
.wheelhouse-health-theme .author-line > .e-con-inner > .elementor-widget-text-editor > span {
  display: block; margin-top: .2rem; color: var(--muted); font-size: .7rem;
  letter-spacing: normal; text-transform: none;
}

/* Card and section labels */
.wheelhouse-health-theme .mini-card > .e-con-inner > .elementor-widget-text-editor > span {
  color: var(--teal); font-size: .68rem; font-weight: 700; letter-spacing: .12em;
}
.wheelhouse-health-theme .contact-detail-grid > .e-con-inner > .e-con > .e-con-inner > .elementor-widget-text-editor > span {
  display: block; color: var(--teal); font-size: .67rem; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase;
}
.wheelhouse-health-theme .cta-band-actions > .e-con-inner > .elementor-widget-text-editor > a {
  display: block; color: var(--white); font-size: .85rem; font-weight: 700;
}
.wheelhouse-health-theme .price > .e-con-inner > .elementor-widget-text-editor > strong {
  color: var(--navy); font-family: Georgia, serif; font-size: 2.7rem; font-weight: 400;
}
.wheelhouse-health-theme .price > .e-con-inner > .elementor-widget-text-editor > span {
  color: var(--muted); font-size: .74rem;
}
.wheelhouse-health-theme .related-resources .elementor-widget-text-editor > i {
  display: block; margin-top: auto; padding-top: 1rem;
  color: var(--teal); font-size: .75rem; font-style: normal; font-weight: 700;
}
.wheelhouse-health-theme .review-note > .e-con-inner > .elementor-widget-text-editor > span {
  color: var(--teal); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase;
}

/* The article-hero label rule must not reach the byline block nested inside it. */
.wheelhouse-health-theme .article-hero-grid > .e-con-inner > .e-con:first-child > .e-con-inner > .elementor-widget-text-editor > span {
  color: var(--teal); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase;
}

/* Remaining direct-child text rules. */
.wheelhouse-health-theme .prescribing-grid > .e-con-inner > .elementor-widget-text-editor > a {
  color: var(--white); font-size: .82rem; font-weight: 700; white-space: nowrap;
}
.wheelhouse-health-theme .prescribing-grid > .e-con-inner > .elementor-widget-text-editor > a span { color: var(--aqua); }
.wheelhouse-health-theme .credential-section .content-narrow > .e-con-inner > .elementor-widget-text-editor > p {
  max-width: 720px; margin-top: 1.2rem; color: var(--muted); line-height: 1.7;
}
.wheelhouse-health-theme .content-narrow > .e-con-inner > .elementor-widget-text-editor > p.content-copy {
  margin: 1.35rem 0 0; color: #466277; font-size: 1rem; line-height: 1.82;
}
.wheelhouse-health-theme .price-card > .e-con-inner > .elementor-widget-text-editor > span,
.wheelhouse-health-theme .price-card summary span {
  color: var(--navy); font-size: .75rem; font-weight: 700;
}

/* The plan CTA spans the card in the design, so this button opts out of the
   fit-to-content sizing the other wrapped buttons need. */
.wheelhouse-health-theme .price-card .elementor-widget-button,
.wheelhouse-health-theme .price-card .elementor-widget-button .elementor-button { width: 100%; }
.wheelhouse-health-theme .price-card .elementor-widget-button .elementor-button { min-height: 46px; }
.wheelhouse-health-theme .price-card .elementor-widget-button { margin-top: .4rem; }

/* In the CTA band the button is a grid item that spans the 250px rail, so this one
   opts out of the fit-to-content sizing the inline buttons use. */
.wheelhouse-health-theme .cta-band-actions .elementor-widget-button,
.wheelhouse-health-theme .cta-band-actions .elementor-widget-button .elementor-button { width: 100%; }

/* The clinician portrait is a square headshot dropped into a tall panel and a 5:4 hero,
   so the crop is biased upward to keep her face in frame rather than centring on the
   coat. */
.wheelhouse-health-theme .clinician-image img,
.wheelhouse-health-theme .about-wheelhouse-health .page-hero-image img { object-position: 50% 22%; }

/* The topic ribbon now indexes every group in the library, so it flows onto a second
   row and each label is a link to its section rather than static text. */
.wheelhouse-health-theme .e-con.topic-grid {
  min-height: 0 !important;
  padding-block: 1.6rem !important;
  row-gap: 1.1rem;
  align-items: start;
}
.wheelhouse-health-theme .topic-grid .elementor-widget-text-editor > span { align-items: flex-start; }
.wheelhouse-health-theme .topic-grid a {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  padding-right: .75rem;
  color: inherit;
  font-size: .74rem;
  line-height: 1.45;
  text-decoration: none;
  transition: color .18s ease;
}
.wheelhouse-health-theme .topic-grid a i {
  flex: 0 0 auto;
  color: var(--aqua);
  font-size: .62rem;
  font-style: normal;
  line-height: 1.6;
}
.wheelhouse-health-theme .topic-grid a:hover,
.wheelhouse-health-theme .topic-grid a:focus-visible { color: var(--aqua); text-decoration: underline; text-underline-offset: .25em; }

/* An anchored section should not land under the sticky-free header edge. */
.wheelhouse-health-theme .e-con.topic-block { scroll-margin-top: 2rem; }

/* --- Measures, rhythm, and backgrounds Elementor took over ------------------ */

/* The 90 % shell is applied with `!important` so it beats Elementor's container
   width. That also outranked the narrower editorial measures some sections layer
   on top of the same element, so those are restated here. */
.wheelhouse-health-theme .shell.content-narrow,
.wheelhouse-health-theme .e-con.shell.content-narrow { max-width: 940px !important; }
.wheelhouse-health-theme .shell.legal-shell,
.wheelhouse-health-theme .e-con.shell.legal-shell { max-width: 900px !important; }
.wheelhouse-health-theme .home-services .e-con.shell > .e-con-inner > .section-heading { max-width: 850px; }

/* Article body rhythm. The reference styles `.article-content > section` directly;
   under Elementor the sections sit one wrapper deeper, so every guide lost its
   section padding and hairline dividers. */
.wheelhouse-health-theme .article-content > .e-con-inner > section {
  padding: 3.5rem 0;
  border-bottom: 1px solid var(--silver);
  scroll-margin-top: 2rem;
}
.wheelhouse-health-theme .article-content > .e-con-inner > .safety-note { margin-top: 2.5rem; }
.wheelhouse-health-theme .article-content > .e-con-inner > .review-note { margin-top: 2rem; padding: 1.2rem 0; border-top: 1px solid var(--silver); }

/* Contact detail cards keep the reference's muted body voice on their lead line. */
.wheelhouse-health-theme .contact-detail-grid > .e-con-inner > .e-con .elementor-widget-text-editor > p.eyebrow {
  color: var(--muted); font-size: .86rem; line-height: 1.65;
}

/* Elementor defers container background images below the third container and blanks
   them with `!important` until it marks them loaded. The design's section gradients
   are CSS, not Elementor backgrounds, so they were simply erased. */
.wheelhouse-health-theme .elementor .e-con.longform-guide:not(.e-lazyloaded):not(.e-no-lazyload),
.wheelhouse-health-theme .e-con.longform-guide {
  background-image: linear-gradient(180deg, #f5fbfc 0, #fff 20rem) !important;
}
.wheelhouse-health-theme .e-con.hero {
  background-image: radial-gradient(circle at 82% 22%, rgba(57,197,207,.13), transparent 25%), linear-gradient(135deg, #f9fdfd 0%, #f2fafb 60%, #eaf6f7 100%) !important;
}
.wheelhouse-health-theme .e-con.page-hero {
  background-image: radial-gradient(circle at 85% 20%, rgba(57,197,207,.13), transparent 24%), linear-gradient(135deg, #f9fdfd, #eef8f9) !important;
}
.wheelhouse-health-theme .e-con.article-hero {
  background-image: linear-gradient(135deg, #f9fdfd, #edf8f9) !important;
}
.wheelhouse-health-theme .e-con.service-area-grid > .e-con-inner > .e-con:first-child {
  background-image: radial-gradient(circle, rgba(57,197,207,.13), transparent 64%) !important;
}

/* ===========================================================================
   Campaign article template
   ---------------------------------------------------------------------------
   The SEO library ships as finished semantic articles, so the design is applied
   to that markup directly rather than rebuilt widget by widget. Every block is
   its own Elementor text widget, which means these rules address the element
   inside the widget and the widget wrapper only where it owns the spacing.
   =========================================================================== */

.wheelhouse-health-theme .e-con.campaign-article-hero { padding: 2.2rem 0 0 !important; }
.wheelhouse-health-theme .e-con.article-body { padding: 3rem 0 6.5rem !important; background: var(--white); }

/* A single editorial column. Wide blocks break out a little for emphasis. */
.wheelhouse-health-theme .e-con.campaign-article > .e-con-inner {
  display: block;
  width: 100%;
  max-width: 820px;
  margin-inline: auto;
}
.wheelhouse-health-theme .campaign-article > .e-con-inner > .elementor-widget { display: block; margin: 0 0 2.25rem; }
.wheelhouse-health-theme .campaign-article > .e-con-inner > .elementor-widget:last-child { margin-bottom: 0; }

.wheelhouse-health-theme .whh-article,
.wheelhouse-health-theme .campaign-article p,
.wheelhouse-health-theme .campaign-article li { color: #405d72; }
.wheelhouse-health-theme .campaign-article p { margin: 0 0 1.15rem; font-size: 1rem; line-height: 1.82; }
.wheelhouse-health-theme .campaign-article p:last-child { margin-bottom: 0; }
.wheelhouse-health-theme .campaign-article a { color: var(--teal); text-decoration: underline; text-underline-offset: .2em; }
.wheelhouse-health-theme .campaign-article a:hover { color: var(--navy); }
.wheelhouse-health-theme .campaign-article ul,
.wheelhouse-health-theme .campaign-article ol { display: grid; gap: .7rem; margin: 1.4rem 0; padding-left: 1.3rem; list-style: revert; }
.wheelhouse-health-theme .campaign-article li { padding-left: .25rem; line-height: 1.7; }
.wheelhouse-health-theme .campaign-article li::marker { color: var(--teal); }
.wheelhouse-health-theme .campaign-article strong { color: var(--navy); }

/* Masthead */
.wheelhouse-health-theme .article-header { margin-bottom: .5rem; }
.wheelhouse-health-theme .article-kicker {
  margin: 0 0 1.1rem !important;
  color: var(--teal); font-size: .72rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
}
.wheelhouse-health-theme .article-header h1 {
  max-width: none; margin: 0; color: var(--navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.6rem, 4.4vw, 3.9rem); font-weight: 400;
  line-height: 1.06; letter-spacing: -.03em;
}
.wheelhouse-health-theme .article-dek {
  margin: 1.3rem 0 0 !important; color: var(--muted);
  font-size: 1.12rem !important; line-height: 1.7 !important;
}
.wheelhouse-health-theme .article-meta {
  margin: 1.5rem 0 0 !important; padding-top: 1.1rem;
  border-top: 1px solid var(--silver);
  color: var(--muted); font-size: .78rem !important; line-height: 1.6 !important;
}

/* Imagery */
.wheelhouse-health-theme .article-image { margin: 0; }
.wheelhouse-health-theme .article-image img { display: block; width: 100%; height: auto; border-radius: 20px; }
.wheelhouse-health-theme .article-image--featured img {
  aspect-ratio: 5 / 4; object-fit: cover;
  border-radius: 42% 42% 12% 12% / 32% 32% 10% 10%;
}
.wheelhouse-health-theme .article-image figcaption {
  margin-top: .9rem; color: var(--muted); font-size: .82rem; line-height: 1.6;
}

/* Direct answer */
.wheelhouse-health-theme .quick-answer {
  padding: 1.6rem 1.75rem; border: 1px solid rgba(10,127,140,.18);
  border-left: 4px solid var(--teal); border-radius: 0 18px 18px 0; background: #edf8f9;
}
.wheelhouse-health-theme .quick-answer h2 {
  margin: 0 0 .8rem; color: var(--navy); font-family: Arial, Helvetica, sans-serif;
  font-size: .74rem; font-weight: 700; letter-spacing: .12em; line-height: 1.4;
  text-transform: uppercase;
}
.wheelhouse-health-theme .quick-answer p { color: #35576d; }
.wheelhouse-health-theme .quick-answer ul { margin-bottom: 0; }

/* Contents */
.wheelhouse-health-theme .article-toc {
  padding: 1.4rem 1.6rem; border-top: 2px solid var(--teal);
  border-bottom: 1px solid var(--silver); background: var(--base);
}
.wheelhouse-health-theme .article-toc h2 {
  margin: 0 0 .9rem; color: var(--navy); font-family: Georgia, serif;
  font-size: 1.18rem; font-weight: 400; letter-spacing: normal; line-height: 1.3;
}
.wheelhouse-health-theme .article-toc ol {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem 2rem; margin: 0; padding-left: 1.15rem;
}
.wheelhouse-health-theme .article-toc a {
  color: #3d5c72; font-size: .82rem; line-height: 1.45; text-decoration: none;
}
.wheelhouse-health-theme .article-toc a:hover { color: var(--teal); text-decoration: underline; text-underline-offset: .2rem; }

/* Body sections */
.wheelhouse-health-theme .campaign-article section { scroll-margin-top: 2rem; }
.wheelhouse-health-theme .campaign-article section > h2 {
  max-width: 760px; margin: 0 0 1.2rem; color: var(--navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.85rem, 2.9vw, 2.5rem); font-weight: 400;
  line-height: 1.14; letter-spacing: -.022em;
}
.wheelhouse-health-theme .campaign-article section > h3,
.wheelhouse-health-theme .campaign-article section h3 {
  margin: 1.9rem 0 .7rem; color: var(--navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.3rem; font-weight: 400; line-height: 1.35;
}

/* Facts table */
.wheelhouse-health-theme .fast-facts {
  padding: 1.7rem 1.75rem; border: 1px solid var(--silver);
  border-radius: 20px; background: #fbfefe;
}
.wheelhouse-health-theme .fast-facts > h2 { font-size: 1.5rem; margin-bottom: 1rem; }
.wheelhouse-health-theme .campaign-article table {
  width: 100%; margin: 1.2rem 0 0; border-collapse: collapse; font-size: .88rem;
}
.wheelhouse-health-theme .campaign-article caption {
  margin-bottom: .9rem; color: var(--muted); font-size: .82rem;
  line-height: 1.6; text-align: left;
}
.wheelhouse-health-theme .campaign-article th,
.wheelhouse-health-theme .campaign-article td {
  padding: .8rem .9rem; border-bottom: 1px solid var(--silver);
  text-align: left; vertical-align: top; line-height: 1.6;
}
.wheelhouse-health-theme .campaign-article thead th {
  border-bottom: 2px solid rgba(10,127,140,.25); color: var(--navy);
  font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.wheelhouse-health-theme .campaign-article tbody th { color: var(--navy); font-weight: 700; white-space: nowrap; }
.wheelhouse-health-theme .campaign-article tbody tr:last-child th,
.wheelhouse-health-theme .campaign-article tbody tr:last-child td { border-bottom: 0; }

/* Deeper context, checklist, questions */
.wheelhouse-health-theme .topic-depth,
.wheelhouse-health-theme .decision-checklist,
.wheelhouse-health-theme .reader-questions {
  padding: 1.7rem 1.75rem; border: 1px solid var(--silver);
  border-radius: 20px; background: var(--base);
}
.wheelhouse-health-theme .topic-depth > h2,
.wheelhouse-health-theme .decision-checklist > h2,
.wheelhouse-health-theme .reader-questions > h2 { font-size: 1.5rem; margin-bottom: 1rem; }
.wheelhouse-health-theme .decision-checklist ul,
.wheelhouse-health-theme .reader-questions ul { list-style: none; padding-left: 0; }
.wheelhouse-health-theme .decision-checklist li,
.wheelhouse-health-theme .reader-questions li {
  position: relative; padding-left: 1.9rem; color: #3e5b70; line-height: 1.65;
}
.wheelhouse-health-theme .decision-checklist li::before,
.wheelhouse-health-theme .reader-questions li::before {
  position: absolute; left: 0; top: .1rem;
  display: grid; width: 22px; height: 22px; place-items: center;
  border-radius: 50%; background: rgba(57,197,207,.16);
  color: var(--teal); font-size: .7rem; font-weight: 800; content: '✓';
}
.wheelhouse-health-theme .reader-questions li::before { content: '?'; }

/* Questions. `.faq-section` is also the page-level FAQ band elsewhere on the site, so
   inside an article the band's padding and tint are reset back to plain flow. */
.wheelhouse-health-theme .campaign-article .faq-section {
  padding: 0; background: none;
}
.wheelhouse-health-theme .campaign-article .faq-section > h2 {
  margin-bottom: 1.4rem; font-size: clamp(1.85rem, 2.9vw, 2.5rem);
}
.wheelhouse-health-theme .campaign-article .faq-section h3 {
  margin: 0; padding: 1.25rem 0 .4rem; border-top: 1px solid var(--silver);
  color: var(--navy); font-family: Georgia, serif; font-size: 1.1rem; line-height: 1.4;
}
.wheelhouse-health-theme .campaign-article .faq-section h3:first-of-type { border-top: 0; padding-top: 0; }
.wheelhouse-health-theme .campaign-article .faq-section p { margin-bottom: 1.1rem; font-size: .94rem; }

/* Closing call to action */
.wheelhouse-health-theme .article-cta {
  padding: 2rem 1.9rem; border: 1px solid rgba(10,127,140,.22);
  border-radius: 22px; background: linear-gradient(135deg, #f4fbfc, #e9f6f7);
}
.wheelhouse-health-theme .article-cta h2 { margin: 0 0 .7rem; font-size: 1.65rem; }
.wheelhouse-health-theme .article-cta p { margin-bottom: 1.4rem; }
.wheelhouse-health-theme .article-cta .button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 50px; margin: 0 .7rem .6rem 0; padding: .8rem 1.4rem;
  border-radius: 999px; background: var(--teal); color: var(--white);
  font-size: .88rem; font-weight: 700; text-decoration: none;
  box-shadow: 0 12px 30px rgba(10,127,140,.18);
}
.wheelhouse-health-theme .article-cta .button:hover { background: #086b76; color: var(--white); }
.wheelhouse-health-theme .article-cta .button--secondary {
  border: 1px solid rgba(10,127,140,.35); background: transparent;
  color: var(--teal); box-shadow: none;
}
.wheelhouse-health-theme .article-cta .button--secondary:hover { background: rgba(10,127,140,.08); color: var(--teal); }

/* Safety and provenance */
.wheelhouse-health-theme .medical-disclaimer {
  padding: 1.4rem 1.6rem; border: 1px solid #efd9d7;
  border-radius: 16px; background: #fff8f7;
}
.wheelhouse-health-theme .medical-disclaimer h2 {
  margin: 0 0 .5rem; color: #6e302d; font-family: Arial, Helvetica, sans-serif;
  font-size: .9rem; font-weight: 700; letter-spacing: normal; line-height: 1.4;
}
.wheelhouse-health-theme .medical-disclaimer p { margin-bottom: 0; color: #73504d; font-size: .87rem; line-height: 1.65; }

.wheelhouse-health-theme .article-sources { padding-top: 1.3rem; border-top: 1px dashed #cbdbe1; }
.wheelhouse-health-theme .article-sources h2 {
  margin: 0 0 .8rem; color: var(--navy); font-family: Arial, Helvetica, sans-serif;
  font-size: .78rem; font-weight: 700; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase;
}
.wheelhouse-health-theme .article-sources ul { display: grid; gap: .5rem; margin: 0; padding-left: 0; list-style: none; }
.wheelhouse-health-theme .article-sources a { font-size: .85rem; }
.wheelhouse-health-theme .article-sources p { margin: 1rem 0 0; color: var(--muted); font-size: .8rem; }

/* Resource hub topic blocks */
.wheelhouse-health-theme .e-con.topic-block { padding-block: 0 !important; margin-top: 5.5rem; }
.wheelhouse-health-theme .topic-block > .e-con-inner > .section-heading { margin-bottom: 2.75rem; }
.wheelhouse-health-theme .topic-block > .e-con-inner > .article-grid { margin-top: 0; }

@media (max-width: 940px) {
  .wheelhouse-health-theme .article-toc ol { grid-template-columns: 1fr; }
  .wheelhouse-health-theme .e-con.article-body { padding: 2rem 0 4.5rem !important; }
}
@media (max-width: 720px) {
  .wheelhouse-health-theme .quick-answer,
  .wheelhouse-health-theme .fast-facts,
  .wheelhouse-health-theme .topic-depth,
  .wheelhouse-health-theme .decision-checklist,
  .wheelhouse-health-theme .reader-questions,
  .wheelhouse-health-theme .article-cta { padding: 1.25rem 1.2rem; }
  .wheelhouse-health-theme .article-image--featured img { aspect-ratio: 5 / 4; border-radius: 140px 140px 30px 30px; }
  /* Wide tables scroll inside their own box rather than stretching the page. */
  .wheelhouse-health-theme .campaign-article table { display: block; overflow-x: auto; white-space: nowrap; }
  .wheelhouse-health-theme .campaign-article th,
  .wheelhouse-health-theme .campaign-article td { white-space: normal; min-width: 8rem; }
}

@media (max-width: 1100px) {
  .nav-wrap { grid-template-columns: 210px 1fr auto; gap: 1rem; }
  .brand img { width: 200px; }
  .desktop-nav { font-size: .82rem; gap: .15rem; }
  .desktop-nav > li > a { padding-inline: .58rem; }
}
@media (min-width: 721px) and (max-width: 1100px) {
  .site-header { position: relative; }
  .nav-wrap { min-height: 0; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: .7rem 1rem; padding: .9rem 0 0; }
  .brand { grid-column: 1; grid-row: 1; }
  .brand img { width: 180px; }
  .header-cta { display: inline-flex !important; grid-column: 2; grid-row: 1; justify-self: end; min-height: 42px; padding: .65rem 1rem; font-size: .78rem; }
  .desktop-navigation { display: block !important; grid-column: 1 / -1; grid-row: 2; justify-self: stretch; width: 100%; border-top: 1px solid rgba(11,47,91,.08); }
  .desktop-nav { display: flex !important; width: 100%; justify-content: space-between; gap: 0; font-size: clamp(.72rem,1.35vw,.82rem); }
  .desktop-nav > li > a { padding: .72rem clamp(.35rem,1vw,.65rem); }
  .mobile-menu-toggle, .mobile-navigation, .mobile-navigation-backdrop { display: none !important; }
  .wheelhouse-health-theme .e-con.hero { min-height: auto !important; padding: 4rem 0 5rem !important; }
  .wheelhouse-health-theme .e-con.page-hero,
  .wheelhouse-health-theme .e-con.article-hero { padding-top: 3rem !important; padding-bottom: 4rem !important; }
  .footer-grid { grid-template-columns: 1.35fr repeat(3,minmax(0,1fr)); gap: clamp(1rem,2.5vw,2rem); padding: 4rem 0 3rem; }
  .footer-brand img { width: 190px; }
  .footer-grid > * { min-width: 0; }
  .footer-grid a, .footer-grid span { overflow-wrap: anywhere; }
}
@media (max-width: 940px) {
  .contact-form-grid, .wp-article-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .wheelhouse-health-theme .e-con.hero-grid { grid-template-columns: 1fr 43% !important; gap: 2.4rem !important; }
  .wheelhouse-health-theme .e-con.page-hero-grid,
  .wheelhouse-health-theme .e-con.article-hero-grid { grid-template-columns: 1fr 42% !important; gap: 2.5rem !important; }
  .contact-form-intro { position: static; }
  .developer-credit { text-align: left; }
}
@media (max-width: 720px) {
  .site-header { z-index: 50; }
  .nav-wrap { min-height: 75px; grid-template-columns: 1fr auto; grid-template-rows: auto; padding: 0; }
  .brand { grid-column: 1; grid-row: 1; }
  .brand img { width: 190px; }
  .desktop-navigation, .header-cta { display: none !important; }
  .mobile-menu-toggle { display: inline-grid !important; grid-column: 2; grid-row: 1; place-items: center; justify-self: end; }
  .mobile-navigation { position: absolute; z-index: 60; top: calc(100% + .65rem); right: 5%; left: 5%; max-height: calc(100svh - 145px); overflow: auto; border: 1px solid rgba(11,47,91,.12); border-radius: 18px; background: white; box-shadow: 0 24px 70px rgba(8,37,68,.28); }
  .mobile-navigation[hidden], .mobile-navigation-backdrop[hidden] { display: none !important; }
  .mobile-navigation > .shell { width: 100% !important; padding: 0 1.1rem; }
  .mobile-navigation-backdrop { position: fixed; z-index: 40; inset: 0; display: block; width: 100%; height: 100%; border: 0; background: rgba(8,37,68,.34); backdrop-filter: blur(2px); cursor: pointer; }
  .mobile-menu-list { padding: .5rem 0 1rem; }
  .mobile-menu-list a { min-height: 48px; align-items: center; }
  .wheelhouse-health-theme .e-con.hero { min-height: auto !important; padding: 3.7rem 0 5rem !important; }
  .wheelhouse-health-theme .e-con.hero-grid,
  .wheelhouse-health-theme .e-con.page-hero-grid,
  .wheelhouse-health-theme .e-con.article-hero-grid,
  .wheelhouse-health-theme .e-con.home-intro-grid,
  .wheelhouse-health-theme .e-con.how-grid,
  .wheelhouse-health-theme .e-con.clinician-grid,
  .wheelhouse-health-theme .e-con.service-area-grid,
  .wheelhouse-health-theme .e-con.decision-grid,
  .wheelhouse-health-theme .e-con.split-copy { grid-template-columns: 1fr !important; gap: 3rem !important; }
  .wheelhouse-health-theme .e-con.hero-visual { margin-top: 1rem; padding-right: 0 !important; }
  .wheelhouse-health-theme .e-con.availability-card { right: auto !important; bottom: -.8rem !important; left: 50% !important; width: 86% !important; transform: translateX(-50%); }
  .wheelhouse-health-theme .e-con.home-service-wide,
  .wheelhouse-health-theme .e-con.article-featured { grid-template-columns: 1fr !important; grid-template-rows: auto !important; }
  .wheelhouse-health-theme .e-con.home-service-wide > .e-con-inner > :first-child,
  .wheelhouse-health-theme .e-con.article-featured > .e-con-inner > :first-child { grid-row: auto; min-height: 260px; }
  .wheelhouse-health-theme .e-con.home-service-wide > .e-con-inner > :first-child .elementor-widget-image,
  .wheelhouse-health-theme .e-con.article-featured > .e-con-inner > :first-child .elementor-widget-image { height: auto; aspect-ratio: 5/4; }
  .wheelhouse-health-theme .e-con.how-image,
  .wheelhouse-health-theme .e-con.clinician-image { height: 520px !important; min-height: 520px !important; }
  .wheelhouse-health-theme .e-con.how-image > .e-con-inner > .e-con { right: 1rem !important; left: 1rem !important; width: auto !important; }
  .wheelhouse-health-theme .e-con.service-row .elementor-widget.whh-card-link { display: none; }
  .contact-form-section { padding: 5rem 0; }
  .whh-form-row { grid-template-columns: 1fr; }
  .whh-contact-form .button { width: 100%; }
}
@media (min-width: 721px) and (max-height: 820px) {
  .wheelhouse-health-theme .e-con.hero { min-height: auto !important; padding: 2.5rem 0 3rem !important; }
  .wheelhouse-health-theme .e-con.image-frame { max-height: 485px !important; }
  .wheelhouse-health-theme .e-con.page-hero, .wheelhouse-health-theme .e-con.article-hero { padding-top: 1.25rem !important; padding-bottom: 2.7rem !important; }
}
