/* Empower Med shared site chrome and typography */
:root {
  --em-navy: #0f1820;
  --em-cream: #f5f3f0;
  --em-emerald: #4b9c8e;
  --em-orange: #ff6b35;
  --em-line: rgba(245,243,240,.16);
  --taupe: #5f5a4d;
  --ff-display: "DM Serif Display", Georgia, serif;
  --ff-serif: "Fraunces", "DM Serif Display", Georgia, serif;
  --ff-body: "Lora", Georgia, serif;
  --ff-ui: "Lora", Georgia, serif;
}
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body, button, input, select, textarea { font-family: Lora, Georgia, serif; }
body p, body li, body dd, body td, body blockquote { font-family: Lora, Georgia, serif; }
h1, h2, h3, h4, h5, h6 { font-family: "DM Serif Display", Georgia, serif; }
h1 em, h2 em, h3 em { font-family: Fraunces, Georgia, serif; }
.site-header {
  position: sticky; top: 0; z-index: 10000;
  width: 100%; color: var(--em-cream); background: rgba(15,24,32,.97);
  border-bottom: 1px solid var(--em-line); backdrop-filter: blur(14px);
}
.site-nav-inner {
  min-height: 86px; max-width: 1440px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: minmax(180px,.72fr) minmax(560px,1.65fr) auto;
  gap: 30px; align-items: center;
}
.site-brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; min-width:0; }
.site-brand img { width:36px; height:43px; object-fit:contain; flex:0 0 auto; }
.site-brand-name { font-family:"DM Serif Display",Georgia,serif; font-size:22px; line-height:.95; white-space:nowrap; }
.site-brand-name small { display:block; margin-top:6px; color:var(--em-emerald); font:600 9px/1.1 Lora,Georgia,serif; letter-spacing:.14em; text-transform:uppercase; }
.site-links { display:flex; justify-content:center; align-items:center; gap:clamp(18px,2vw,34px); }
.site-links a {
  color:rgba(245,243,240,.8); text-decoration:none; white-space:nowrap;
  font:600 11px/1.2 Lora,Georgia,serif; letter-spacing:.11em; text-transform:uppercase;
}
.site-links a:hover, .site-links a:focus-visible, .site-links a.current { color:var(--em-cream); }
.site-links a.current { box-shadow:0 2px 0 var(--em-emerald); padding-bottom:8px; }
.site-nav-cta {
  display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:0 20px;
  color:var(--em-navy); background:var(--em-orange); border:1px solid rgba(255,255,255,.55);
  text-decoration:none; white-space:nowrap; font:700 10px/1.2 Lora,Georgia,serif;
  letter-spacing:.12em; text-transform:uppercase;
}
.site-menu-toggle {
  display:none; justify-self:end; width:48px; height:48px; padding:12px;
  border:1px solid var(--em-line); background:transparent; color:var(--em-cream); cursor:pointer;
}
.site-menu-toggle span { display:block; height:1px; margin:5px 0; background:currentColor; transition:transform .2s,opacity .2s; }
.site-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.site-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.site-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.site-mobile-nav {
  display:none; padding:12px 24px 26px; background:var(--em-navy); border-top:1px solid var(--em-line);
}
.site-mobile-nav a {
  display:block; padding:14px 2px; color:var(--em-cream); border-bottom:1px solid var(--em-line);
  text-decoration:none; font:600 13px/1.3 Lora,Georgia,serif; letter-spacing:.07em; text-transform:uppercase;
}
.site-mobile-nav .site-nav-cta { margin-top:18px; border-bottom:0; text-align:center; }
.site-mobile-nav.is-open { display:block; }
.site-header a:focus-visible, .site-menu-toggle:focus-visible { outline:3px solid var(--em-orange); outline-offset:4px; }

.hero h1 { font-size:clamp(76px,9.5vw,132px) !important; line-height:.94 !important; letter-spacing:-.03em !important; }
.hero { min-height:auto !important; padding-top:clamp(96px,10vw,138px) !important; padding-bottom:clamp(74px,8vw,108px) !important; }
.hero-sub, .hero-desc, .page-lead { font-family:Lora,Georgia,serif !important; }
.programs, .physician, .howworks, .pricing-snap { padding-top:clamp(68px,7vw,92px) !important; padding-bottom:clamp(68px,7vw,92px) !important; }

.reveal { opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion:no-preference) {
  html.motion-ready .reveal:not(.in-view):not(.visible) { opacity:0 !important; transform:translateY(18px) !important; }
  html.motion-ready .reveal.in-view, html.motion-ready .reveal.visible { opacity:1 !important; transform:none !important; transition:opacity .55s ease,transform .55s ease !important; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
@media (max-width:1180px) {
  .site-nav-inner { grid-template-columns:1fr auto auto; min-height:72px; padding:0 20px; gap:10px; }
  .site-links { display:none; }
  .site-nav-inner > .site-nav-cta { min-height:44px; padding:0 12px; font-size:9px; letter-spacing:.06em; }
  .site-menu-toggle { display:block; }
}
@media (min-width:1181px) { .site-mobile-nav { display:none !important; } }
@media (max-width:640px) {
  .site-nav-inner { min-height:64px; padding:0 14px; gap:8px; }
  .site-brand { gap:8px; }
  .site-brand img { width:26px; height:31px; }
  .site-brand-name { font-size:15px; }
  .site-brand-name small { font-size:7px; }
  .site-nav-inner > .site-nav-cta { padding:0 8px; font-size:8px; letter-spacing:.03em; }
  .hero h1 { font-size:clamp(52px,16vw,68px) !important; line-height:.96 !important; }
  .hero { padding-top:72px !important; padding-bottom:64px !important; }
  .programs, .physician, .howworks, .pricing-snap { padding-top:56px !important; padding-bottom:56px !important; }
}

.form-feedback.error, .form-error { color:#9f1830 !important; }

.footer-inner--journal li:not(:last-child) {
  margin-bottom: 16px;
}
