/*
Theme Name: NHC ACO Lander
Theme URI: https://example.com/
Author: ChatGPT
Author URI: https://openai.com/
Description: A custom single-page WordPress landing page theme for National Holistic Consulting's physician-governed Medicare ACO recruitment campaign.
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nhc-aco-lander
*/

:root {
  --nhc-green: #174d2a;
  --nhc-green-2: #2e6540;
  --nhc-sage: #e8ecdd;
  --nhc-sage-2: #f2f5eb;
  --nhc-cream: #faf7ef;
  --nhc-cream-2: #fffdf8;
  --nhc-charcoal: #15231d;
  --nhc-muted: #637069;
  --nhc-line: rgba(21, 35, 29, 0.12);
  --nhc-shadow: 0 24px 80px rgba(21, 35, 29, 0.10);
  --nhc-soft-shadow: 0 12px 36px rgba(21, 35, 29, 0.08);
  --nhc-radius: 24px;
  --nhc-radius-sm: 16px;
  --nhc-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--nhc-charcoal);
  background:
    radial-gradient(circle at top left, rgba(232,236,221,.8), transparent 36rem),
    linear-gradient(180deg, var(--nhc-cream-2), #fff 34%, var(--nhc-cream));
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
body.admin-bar .site-header { top: 32px; }

img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }

.site-wrap { overflow: hidden; }
.container { width: min(calc(100% - 40px), var(--nhc-max)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 253, 248, 0.86);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--nhc-line);
}
.header-inner {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 240px;
}
.brand-logo {
  width: 72px;
  height: auto;
  display: block;
  mix-blend-mode: multiply;
}
.brand-text {
  display: grid;
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 750;
}
.brand-sub { font-size: 12px; color: var(--nhc-muted); font-weight: 650; letter-spacing: .06em; text-transform: uppercase; margin-top: 5px; }
.main-nav { display: flex; align-items: center; gap: 26px; font-size: 14px; font-weight: 650; color: rgba(21,35,29,.82); }
.main-nav a { padding: 10px 0; }
.main-nav a:hover { color: var(--nhc-green); }
.header-cta,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-weight: 750;
  letter-spacing: -0.01em;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  cursor: pointer;
}
.header-cta,
.btn-primary {
  background: linear-gradient(135deg, var(--nhc-green), #0f3b20);
  color: #fff;
  box-shadow: 0 14px 32px rgba(23,77,42,.20);
}
.btn-secondary {
  color: var(--nhc-charcoal);
  background: rgba(255,255,255,.78);
  border-color: rgba(21,35,29,.22);
}
.btn-light {
  background: #fffdf8;
  color: var(--nhc-charcoal);
  border-color: rgba(255,255,255,.45);
}
.header-cta:hover,
.btn:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(23,77,42,.18); }
.mobile-toggle { display: none; background: transparent; border: 0; padding: 8px; }
.mobile-toggle span { display: block; width: 24px; height: 2px; background: var(--nhc-charcoal); margin: 5px 0; }

.hero { padding: 68px 0 34px; position: relative; }
.hero-grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: 46px;
  align-items: center;
}
.eyebrow {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--nhc-green);
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 18px;
}
.eyebrow::before { content: ""; width: 34px; height: 2px; background: currentColor; border-radius: 999px; }
h1, h2, h3 { margin: 0; letter-spacing: -0.055em; line-height: .98; }
h1 { font-size: clamp(44px, 6vw, 82px); max-width: 720px; }
h2 { font-size: clamp(34px, 4.2vw, 58px); }
h3 { font-size: 24px; letter-spacing: -0.035em; line-height: 1.08; }
.hero-subtitle {
  margin-top: 20px;
  color: var(--nhc-green-2);
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.18;
  font-weight: 750;
  letter-spacing: -0.03em;
  max-width: 680px;
}
.hero-copy { margin-top: 18px; color: rgba(21,35,29,.76); max-width: 650px; font-size: 17px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.meta-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
  max-width: 700px;
}
.meta-pill {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px 15px;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--nhc-line);
  border-radius: 16px;
  box-shadow: var(--nhc-soft-shadow);
  font-size: 13px;
  line-height: 1.25;
}
.meta-pill strong { display: block; color: var(--nhc-charcoal); font-size: 14px; }
.icon-circle {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--nhc-green);
  background: var(--nhc-sage);
}
.icon-circle svg { width: 22px; height: 22px; }

.hero-visual {
  position: relative;
  min-height: 560px;
  border-radius: 34px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(250,247,239,.75), rgba(250,247,239,0) 42%),
    radial-gradient(circle at 20% 20%, #fff, rgba(255,255,255,0) 24rem),
    linear-gradient(135deg, #edf1e4, #f8f5ec 44%, #e2eadb);
  box-shadow: var(--nhc-shadow);
}
.hero-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 22%, rgba(23,77,42,.16), transparent 22rem),
    linear-gradient(120deg, transparent 55%, rgba(255,255,255,.4));
}
.practice-room {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.05)),
    url("data:image/svg+xml,%3Csvg width='760' height='560' viewBox='0 0 760 560' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='760' height='560' fill='none'/%3E%3Crect x='470' y='58' width='230' height='132' rx='16' fill='%23fffdf8' opacity='.82'/%3E%3Crect x='498' y='84' width='74' height='84' rx='5' fill='%23dfe7d8'/%3E%3Crect x='590' y='84' width='74' height='84' rx='5' fill='%23dfe7d8'/%3E%3Crect x='98' y='345' width='560' height='74' rx='18' fill='%23d5decf' opacity='.82'/%3E%3Crect x='142' y='292' width='138' height='94' rx='23' fill='%23fffdf8' opacity='.9'/%3E%3Crect x='478' y='286' width='130' height='102' rx='24' fill='%23fffdf8' opacity='.92'/%3E%3Ccircle cx='360' cy='202' r='88' fill='%23fffdf8' opacity='.68'/%3E%3Cpath d='M298 211c36 21 81 21 124 0' stroke='%23174d2a' stroke-width='9' opacity='.18' fill='none'/%3E%3Cpath d='M235 390h272' stroke='%2315231d' opacity='.08' stroke-width='18'/%3E%3C/svg%3E") center/cover no-repeat;
  opacity: .9;
}
.hero-card {
  position: absolute;
  right: 34px;
  top: 58px;
  width: min(390px, calc(100% - 68px));
  padding: 26px;
  border-radius: 24px;
  background: rgba(255,253,248,.88);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 30px 90px rgba(21,35,29,.16);
  backdrop-filter: blur(18px);
}
.hero-card h3 { margin-bottom: 18px; }
.support-list { display: grid; gap: 12px; }
.support-item { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: start; padding: 12px 0; border-top: 1px solid rgba(21,35,29,.08); }
.support-item:first-child { border-top: 0; }
.support-item strong { display: block; font-size: 15px; }
.support-item span { display: block; color: var(--nhc-muted); font-size: 13px; line-height: 1.35; }
.date-card { margin-top: 12px; padding: 14px; border-radius: 14px; background: var(--nhc-sage-2); display: flex; align-items: center; gap: 12px; font-weight: 800; }

.statement { padding: 26px 0; }
.statement-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 38px;
  align-items: center;
  padding: 38px 46px;
  border-radius: var(--nhc-radius);
  background: rgba(255,253,248,.78);
  border: 1px solid rgba(21,35,29,.08);
  box-shadow: var(--nhc-soft-shadow);
}
.statement-card h2 { font-size: clamp(28px, 3vw, 46px); }
.statement-card p { color: rgba(21,35,29,.75); font-size: 17px; }

section { scroll-margin-top: 105px; }
.section-pad { padding: 80px 0; }
.section-head { text-align: center; max-width: 780px; margin: 0 auto 44px; }
.section-head p { margin-top: 12px; color: var(--nhc-muted); font-size: 17px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.feature-card {
  padding: 32px;
  border-radius: var(--nhc-radius);
  background: rgba(255,255,255,.72);
  border: 1px solid var(--nhc-line);
  box-shadow: var(--nhc-soft-shadow);
}
.feature-card h3 { margin: 18px 0 10px; }
.feature-card p { color: var(--nhc-muted); }
.check-list { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 9px; }
.check-list li { position: relative; padding-left: 26px; color: rgba(21,35,29,.84); font-size: 15px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--nhc-green); font-weight: 900; }

.eligibility { background: linear-gradient(180deg, rgba(232,236,221,.55), rgba(255,255,255,.55)); }
.fit-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: 26px; align-items: stretch; }
.fit-copy { padding: 42px; border-radius: var(--nhc-radius); background: linear-gradient(135deg, rgba(255,253,248,.96), rgba(232,236,221,.45)); border: 1px solid var(--nhc-line); }
.fit-copy p { margin-top: 16px; color: var(--nhc-muted); font-size: 17px; }
.eligibility-panel { padding: 28px; border-radius: var(--nhc-radius); background: #fff; box-shadow: var(--nhc-shadow); border: 1px solid rgba(21,35,29,.08); }
.eligibility-row { display: flex; gap: 12px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--nhc-line); font-weight: 650; }
.eligibility-row:last-of-type { border-bottom: 0; }
.eligibility-panel .btn { width: 100%; margin-top: 18px; }

.review-strip { padding: 46px 0 20px; }
.review-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.review-card { display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 26px; border-radius: var(--nhc-radius-sm); background: rgba(255,253,248,.84); border: 1px solid var(--nhc-line); }
.review-card p { color: var(--nhc-muted); }

.process { padding: 70px 0; }
.process-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; position: relative; }
.process-step { position: relative; padding: 32px; border: 1px solid var(--nhc-line); border-radius: var(--nhc-radius); background: rgba(255,255,255,.72); }
.step-number { width: 38px; height: 38px; display: grid; place-items:center; background: var(--nhc-green); color:#fff; border-radius: 999px; font-weight: 850; margin-bottom: 18px; }
.process-step p { margin-top: 8px; color: var(--nhc-muted); }

.engagement-card {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 30px;
  align-items: center;
  padding: 36px 42px;
  border-radius: var(--nhc-radius);
  background: linear-gradient(135deg, #f6f3ea, #e9eedf);
  border: 1px solid var(--nhc-line);
}
.logo-mark-large { width: 136px; height: 136px; border-radius: 50%; display:grid; place-items:center; background:#fffdf8; border: 1px solid var(--nhc-line); }
.logo-mark-large img { width: 86px; mix-blend-mode: multiply; }
.engagement-card p { margin-top: 12px; color: var(--nhc-muted); }

.dates-faq { padding: 80px 0; }
.dates-faq-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 44px; align-items: start; }
.timeline { margin-top: 22px; display: grid; gap: 16px; }
.timeline-item { display: grid; grid-template-columns: 58px 1fr; gap: 14px; align-items: center; padding: 18px; border-radius: 18px; background: rgba(255,255,255,.72); border: 1px solid var(--nhc-line); }
.timeline-item strong { display:block; }
.timeline-item span { color: var(--nhc-muted); font-size: 14px; }
.faq-list { display: grid; gap: 10px; }
.faq-item { border: 1px solid var(--nhc-line); background: rgba(255,255,255,.72); border-radius: 14px; overflow: hidden; }
.faq-question { width:100%; border:0; background: transparent; padding: 18px 20px; display:flex; justify-content:space-between; gap:16px; text-align:left; font-weight: 750; color:var(--nhc-charcoal); cursor:pointer; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .2s ease; }
.faq-answer p { padding: 0 20px 18px; color: var(--nhc-muted); }
.faq-item.is-open .faq-answer { max-height: 180px; }

.final-cta { padding: 20px 0 76px; }
.cta-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 46px;
  border-radius: var(--nhc-radius);
  background:
    radial-gradient(circle at 90% 20%, rgba(255,255,255,.18), transparent 18rem),
    linear-gradient(135deg, #0f3b20, #1e5b33);
  color: #fff;
}
.cta-card::after { content:""; position:absolute; right:-60px; bottom:-80px; width:320px; height:320px; border:1px solid rgba(255,255,255,.22); border-radius: 50%; }
.cta-card h2 { font-size: clamp(32px, 4vw, 56px); }
.cta-card p { margin-top: 12px; color: rgba(255,255,255,.82); font-size: 18px; }
.cta-card > * { position:relative; z-index:2; }

.site-footer { background: #fffdf8; border-top: 1px solid var(--nhc-line); }
.footer-main { padding: 40px 0; display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.1fr; gap: 30px; }
.footer-brand img { width: 78px; mix-blend-mode: multiply; }
.footer-brand p { margin-top: 14px; color: var(--nhc-muted); max-width: 300px; }
.footer-col h4 { margin: 0 0 12px; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; color: var(--nhc-green); }
.footer-col a, .footer-col span { display: block; margin: 7px 0; color: var(--nhc-muted); font-size: 14px; }
.footer-bottom { border-top: 1px solid var(--nhc-line); padding: 18px 0; display:flex; justify-content:space-between; gap: 20px; color: var(--nhc-muted); font-size: 13px; }

@media (max-width: 980px) {
  .mobile-toggle { display: block; }
  .main-nav { position: fixed; top: 86px; left: 0; right: 0; padding: 22px; background: #fffdf8; border-bottom: 1px solid var(--nhc-line); box-shadow: var(--nhc-soft-shadow); display: none; flex-direction: column; align-items: flex-start; }
  .site-header.nav-open .main-nav { display: flex; }
  .header-cta { display:none; }
  .hero-grid, .statement-card, .fit-grid, .dates-faq-grid, .cta-card, .footer-main, .engagement-card { grid-template-columns: 1fr; }
  .hero-visual { min-height: 520px; }
  .feature-grid, .process-grid, .review-grid { grid-template-columns: 1fr; }
  .meta-row { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
}
@media (max-width: 640px) {
  .container { width: min(calc(100% - 28px), var(--nhc-max)); }
  .header-inner { min-height: 74px; }
  body.admin-bar .site-header { top: 0; }
  .brand { min-width: 0; gap: 10px; }
  .brand-logo { width: 52px; }
  .brand-text { font-size: 14px; }
  .brand-sub { display:none; }
  .main-nav { top: 74px; }
  .hero { padding-top: 42px; }
  .hero-actions { flex-direction: column; }
  .btn { width: 100%; }
  .hero-visual { min-height: 510px; border-radius: 22px; }
  .hero-card { right: 18px; left: 18px; width: auto; top: 30px; padding: 22px; }
  .statement-card, .fit-copy, .eligibility-panel, .feature-card, .cta-card, .engagement-card { padding: 26px; }
  .section-pad, .dates-faq { padding: 56px 0; }
}

/* Pods FAQ rich text support */
.faq-answer-inner { padding: 0 20px 18px; color: var(--nhc-muted); }
.faq-answer-inner p { padding: 0; margin: 0 0 10px; }
.faq-answer-inner p:last-child { margin-bottom: 0; }
.faq-item.is-open .faq-answer { max-height: 520px; }

/* 1.2 polish pass: keeps all existing Pods field names, improves spacing, hierarchy, and hero balance */
:root {
  --nhc-max: 1260px;
  --nhc-green: #124f2a;
  --nhc-green-2: #3c6847;
  --nhc-sage: #edf2e6;
  --nhc-sage-2: #f7f8f2;
  --nhc-cream: #f8f4eb;
  --nhc-cream-2: #fffdf8;
  --nhc-charcoal: #11221a;
  --nhc-muted: #5d6a63;
  --nhc-line: rgba(17, 34, 26, 0.105);
  --nhc-shadow: 0 26px 70px rgba(17, 34, 26, 0.105);
  --nhc-soft-shadow: 0 14px 34px rgba(17, 34, 26, 0.075);
}

body {
  background:
    radial-gradient(circle at 8% 4%, rgba(232, 236, 221, .72), transparent 31rem),
    radial-gradient(circle at 92% 10%, rgba(245, 247, 239, .92), transparent 28rem),
    linear-gradient(180deg, #fffdf8 0%, #fffaf1 46%, #f8f4eb 100%);
  font-size: 16px;
}

.site-header {
  background: rgba(255, 253, 248, .91);
  box-shadow: 0 12px 36px rgba(17,34,26,.035);
}
.header-inner { min-height: 78px; }
.brand { min-width: 290px; gap: 16px; }
.brand-logo { width: 74px; max-height: 62px; object-fit: contain; }
.brand-text { font-size: 17px; }
.brand-sub { font-size: 11px; letter-spacing: .08em; }
.main-nav { gap: 30px; font-size: 13px; }
.header-cta { min-height: 46px; border-radius: 13px; padding: 0 22px; }

.hero { padding: 82px 0 44px; }
.hero-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(430px, .82fr);
  gap: 74px;
  align-items: center;
}
.hero-content { min-width: 0; }
.eyebrow { font-size: 11px; letter-spacing: .16em; margin-bottom: 20px; }
.eyebrow::before { width: 28px; }
h1, h2, h3 { text-wrap: balance; }
h1 {
  font-size: clamp(44px, 4.55vw, 68px);
  max-width: 760px;
  line-height: .96;
  letter-spacing: -.065em;
  hyphens: none;
  overflow-wrap: normal;
}
h2 { letter-spacing: -.055em; }
.hero-subtitle {
  font-size: clamp(19px, 1.6vw, 25px);
  max-width: 690px;
  margin-top: 22px;
  line-height: 1.22;
}
.hero-copy { max-width: 720px; font-size: 16px; line-height: 1.65; color: rgba(17,34,26,.72); }
.hero-actions { margin-top: 30px; }
.btn, .header-cta {
  border-radius: 14px;
  letter-spacing: -.015em;
}
.btn-primary { box-shadow: 0 18px 38px rgba(18,79,42,.22); }
.btn-secondary { background: rgba(255,253,248,.92); }
.meta-row {
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  max-width: 760px;
  gap: 12px;
}
.meta-pill {
  padding: 13px 14px;
  border-radius: 15px;
  background: rgba(255,253,248,.86);
}
.icon-circle { width: 40px; height: 40px; background: #eef3e7; }

.hero-visual {
  min-height: 500px;
  border-radius: 34px;
  overflow: visible;
  box-shadow: none;
  background:
    radial-gradient(circle at 62% 50%, rgba(18,79,42,.10), transparent 17rem),
    linear-gradient(135deg, rgba(237,242,230,.8), rgba(255,253,248,.35));
}
.hero-visual::before {
  inset: 42px 0 42px 58px;
  border-radius: 34px;
  box-shadow: var(--nhc-shadow);
  background:
    linear-gradient(90deg, rgba(255,253,248,.72), rgba(255,253,248,.12)),
    radial-gradient(circle at 72% 21%, rgba(18,79,42,.16), transparent 17rem),
    linear-gradient(135deg, #f5f7ef, #e6eddf);
}
.practice-room {
  inset: 42px 0 42px 58px;
  border-radius: 34px;
  overflow: hidden;
  opacity: .78;
}
.hero-card {
  right: 36px;
  top: 68px;
  width: min(430px, calc(100% - 62px));
  padding: 28px;
  border-radius: 26px;
  background: rgba(255,253,248,.94);
  box-shadow: 0 34px 80px rgba(17,34,26,.15);
}
.hero-card h3 { font-size: 25px; max-width: 300px; }
.support-item { padding: 13px 0; }
.support-item strong { font-size: 15px; }
.support-item span { font-size: 13px; }
.date-card { border: 1px solid rgba(17,34,26,.08); }

.statement { padding: 36px 0 54px; }
.statement-card {
  padding: 44px 52px;
  border-radius: 28px;
  background: rgba(255,253,248,.92);
  box-shadow: 0 22px 60px rgba(17,34,26,.075);
}
.statement-card h2 { font-size: clamp(30px, 3vw, 48px); }
.statement-card p { max-width: 520px; }

.section-pad { padding: 92px 0; }
.section-head { margin-bottom: 50px; }
.section-head .eyebrow { margin-bottom: 14px; }
.section-head h2 { max-width: 740px; margin: 0 auto; }
.feature-grid { gap: 26px; }
.feature-card {
  border-radius: 26px;
  padding: 34px;
  background: rgba(255,253,248,.88);
  box-shadow: 0 18px 48px rgba(17,34,26,.07);
  transition: transform .18s ease, box-shadow .18s ease;
}
.feature-card:hover { transform: translateY(-3px); box-shadow: 0 24px 60px rgba(17,34,26,.10); }
.feature-card h3 { font-size: 25px; }
.feature-card p { line-height: 1.6; }

.eligibility { padding-top: 88px; padding-bottom: 88px; background: linear-gradient(180deg, rgba(237,242,230,.72), rgba(255,253,248,.78)); }
.fit-grid { grid-template-columns: .88fr 1.12fr; gap: 28px; }
.fit-copy,
.eligibility-panel {
  border-radius: 28px;
}
.fit-copy { background: linear-gradient(135deg, #fffdf8, #eef3e7); }
.eligibility-panel { box-shadow: 0 24px 70px rgba(17,34,26,.10); }
.eligibility-row { padding: 18px 0; }
.eligibility-row .icon-circle { width: 32px; height: 32px; }
.eligibility-row .icon-circle svg { width: 17px; height: 17px; }

.review-strip { padding: 64px 0 36px; }
.review-card { border-radius: 22px; background: rgba(255,253,248,.9); }
.process { padding: 78px 0; }
.process-step { border-radius: 24px; background: rgba(255,253,248,.86); }
.engagement-card {
  border-radius: 28px;
  background:
    radial-gradient(circle at 94% 15%, rgba(18,79,42,.12), transparent 18rem),
    linear-gradient(135deg, #fffdf8, #e8eee0);
  box-shadow: 0 20px 54px rgba(17,34,26,.07);
}
.logo-mark-large { background: #fff; }

.dates-faq { padding: 92px 0; }
.dates-faq-grid { gap: 56px; grid-template-columns: .9fr 1.1fr; }
.timeline-item,
.faq-item {
  background: rgba(255,253,248,.88);
  box-shadow: 0 10px 28px rgba(17,34,26,.045);
}
.faq-question { padding: 20px 22px; }
.faq-answer-inner { padding: 0 22px 20px; }

.final-cta { padding-bottom: 86px; }
.cta-card {
  border-radius: 28px;
  padding: 52px 58px;
  background:
    radial-gradient(circle at 82% 32%, rgba(255,255,255,.16), transparent 18rem),
    linear-gradient(135deg, #0f3b20 0%, #15542c 55%, #234a32 100%);
}
.cta-card .btn { min-width: 225px; }

.footer-main { grid-template-columns: 1.35fr .9fr .9fr 1.1fr; padding: 46px 0; }
.site-footer { background: rgba(255,253,248,.95); }

@media (max-width: 1100px) {
  .hero-grid { grid-template-columns: 1fr; gap: 44px; }
  .hero-visual { min-height: 480px; max-width: 760px; width: 100%; }
  h1 { max-width: 820px; }
}

@media (max-width: 980px) {
  .brand { min-width: 0; }
  .main-nav { top: 78px; }
  .statement-card, .fit-grid, .dates-faq-grid, .cta-card, .footer-main, .engagement-card { grid-template-columns: 1fr; }
  .feature-grid, .process-grid, .review-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .hero { padding-top: 44px; }
  h1 { font-size: clamp(42px, 13vw, 56px); }
  .hero-subtitle { font-size: 20px; }
  .hero-visual { min-height: 500px; border-radius: 22px; }
  .hero-visual::before, .practice-room { inset: 22px 0 22px 0; border-radius: 22px; }
  .hero-card { left: 18px; right: 18px; width: auto; top: 44px; }
  .meta-row { grid-template-columns: 1fr; }
  .statement-card, .fit-copy, .eligibility-panel, .feature-card, .cta-card, .engagement-card { padding: 26px; }
  .section-pad, .dates-faq, .eligibility { padding: 58px 0; }
}


/* 1.0.1 hero card + icon alignment fix
   Keeps all existing Pods field names. */
.icon-circle,
.step-number,
.logo-mark-large {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  line-height: 0 !important;
  vertical-align: middle;
}

.icon-circle {
  position: relative;
  min-width: 40px;
  min-height: 40px;
  overflow: hidden;
}

.icon-circle svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px;
  margin: 0 !important;
  stroke-width: 2;
  transform: none !important;
}

.meta-pill .icon-circle,
.support-item .icon-circle,
.date-card .icon-circle,
.review-card .icon-circle,
.timeline-item .icon-circle {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
}

.meta-pill .icon-circle svg,
.support-item .icon-circle svg,
.date-card .icon-circle svg,
.review-card .icon-circle svg,
.timeline-item .icon-circle svg {
  width: 21px !important;
  height: 21px !important;
}

.feature-card .icon-circle {
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
}

.feature-card .icon-circle svg {
  width: 22px !important;
  height: 22px !important;
}

.eligibility-row .icon-circle {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
}

.eligibility-row .icon-circle svg {
  width: 16px !important;
  height: 16px !important;
}

/* Make the hero support card cleaner and less bulky. */
.hero-visual {
  min-height: 480px;
  background:
    radial-gradient(circle at 65% 42%, rgba(18,79,42,.08), transparent 16rem),
    linear-gradient(135deg, rgba(237,242,230,.78), rgba(255,253,248,.45));
}

.hero-visual::before,
.practice-room {
  inset: 52px 10px 52px 54px;
  border-radius: 32px;
}

.hero-card {
  top: 64px;
  right: 42px;
  width: min(410px, calc(100% - 78px));
  padding: 30px;
}

.hero-card h3 {
  margin-bottom: 16px;
}

.support-item {
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
}

.support-item strong,
.support-item span {
  line-height: 1.32;
}

.date-card {
  align-items: center;
}

@media (max-width: 1100px) {
  .hero-visual::before,
  .practice-room {
    inset: 36px 0 36px 36px;
  }
  .hero-card {
    right: 28px;
  }
}

@media (max-width: 640px) {
  .hero-visual::before,
  .practice-room {
    inset: 22px 0 22px 0;
  }
  .hero-card {
    left: 18px;
    right: 18px;
    width: auto;
  }
}

/* 1.0.2 hero overlap fix
   Keeps all existing Pods field names. Adds enough vertical room for the right-side support card
   so it no longer collides with the statement box below. */
@media (min-width: 1101px) {
  .hero {
    padding-bottom: 86px;
  }

  .hero-grid {
    align-items: start;
  }

  .hero-visual {
    min-height: 610px;
  }

  .hero-visual::before,
  .practice-room {
    inset: 42px 10px 42px 54px;
  }

  .hero-card {
    top: 58px;
    right: 42px;
  }

  .statement {
    padding-top: 12px;
  }
}

@media (max-width: 1100px) {
  .hero {
    padding-bottom: 64px;
  }

  .hero-visual {
    min-height: 600px;
  }
}

@media (max-width: 640px) {
  .hero {
    padding-bottom: 52px;
  }

  .hero-visual {
    min-height: 570px;
  }

  .hero-card {
    top: 32px;
  }
}

/* 1.0.3 mobile hero card collision fix
   Keeps all existing Pods field names. On small screens, the right-side support card
   becomes part of the normal layout flow so the hero section grows with it and no longer
   overlaps the section below. */
@media (max-width: 767px) {
  .hero {
    padding-bottom: 40px;
  }

  .hero-grid {
    gap: 28px;
  }

  .hero-visual {
    position: relative;
    min-height: 0 !important;
    padding: 22px 18px;
    overflow: hidden;
    border-radius: 22px;
  }

  .hero-visual::before,
  .practice-room {
    inset: 0 !important;
    border-radius: 22px;
  }

  .hero-card {
    position: relative;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 100% !important;
    margin: 22px 0 0;
    padding: 24px;
    z-index: 2;
  }

  .support-list {
    gap: 8px;
  }

  .support-item {
    align-items: start;
  }

  .date-card {
    margin-top: 16px;
  }

  .statement {
    padding-top: 12px;
  }
}

/* 1.0.4 iPhone hard fix for hero support-card collision
   The previous mobile rule could still leave the decorative visual area with an imposed height on some iPhone widths.
   This forces the hero card into document flow and removes all fixed/min-height behavior under tablet width. */
@media (max-width: 767px) {
  .hero {
    padding-bottom: 32px !important;
  }

  .hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 28px !important;
  }

  .hero-visual {
    display: block !important;
    height: auto !important;
    min-height: unset !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 16px !important;
    margin: 0 0 44px !important;
    border-radius: 22px !important;
  }

  .hero-visual::before,
  .practice-room {
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 22px !important;
    pointer-events: none !important;
  }

  .practice-room {
    opacity: .35 !important;
  }

  .hero-card {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 24px !important;
    z-index: 3 !important;
  }

  .hero-card h3 {
    font-size: clamp(28px, 8vw, 38px) !important;
    max-width: 100% !important;
  }

  .support-item {
    grid-template-columns: 42px 1fr !important;
    align-items: center !important;
  }

  .date-card {
    display: grid !important;
    grid-template-columns: 42px 1fr !important;
  }

  .statement {
    clear: both !important;
    padding-top: 20px !important;
  }
}

@media (max-width: 430px) {
  .hero-visual {
    padding: 12px !important;
    margin-bottom: 52px !important;
  }

  .hero-card {
    padding: 22px !important;
  }

  .support-item {
    padding: 13px 0 !important;
  }
}
