/* =================================================================
   MEDUMOND — Marketing layout (light clinical)
   Two-column hero, 4 feature cards, pathway cards, story, faculty,
   intent pillars, closing CTA.
   ================================================================= */

/* ---- HERO ---- */
.hero {
  padding-top: calc(var(--nav-h) + var(--space-9));
  padding-bottom: var(--space-9);
  background:
    radial-gradient(circle at 85% 15%, rgba(63,163,125,0.08), transparent 55%),
    radial-gradient(circle at 5% 85%, rgba(124,200,168,0.06), transparent 50%),
    var(--bg);
}
.hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: var(--space-8);
  align-items: center;
}
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--fs-mono-label);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-deep);
  background: var(--green-soft);
  border: 1px solid rgba(63,163,125,0.2);
  border-radius: var(--radius-pill);
  padding: 6px 14px;
  margin-bottom: var(--space-5);
}
.hero__eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.hero h1 {
  font-size: var(--fs-hero);
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.03em;
  max-width: 16ch;
}
.hero h1 em {
  font-style: normal;
  background: var(--gradient-green, linear-gradient(135deg, #3FA37D 0%, #2F8761 100%));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
.hero__sub {
  margin-top: var(--space-5);
  font-size: var(--fs-lead);
  color: var(--text);
  max-width: 54ch;
}
.hero__ctas { margin-top: var(--space-7); display: flex; flex-wrap: wrap; gap: var(--space-4); }
.hero__points {
  margin-top: var(--space-7);
  display: grid;
  gap: var(--space-3);
}
.hero__points li {
  display: flex; gap: var(--space-3); align-items: flex-start;
  color: var(--ink-soft); font-size: 0.9375rem; font-weight: 500;
}
.hero__points li::before {
  content: ""; flex-shrink: 0; margin-top: 0.5em;
  width: 18px; height: 18px;
  background: var(--green);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Hero photo - seamless background blend */
.hero__media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3.3;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 4%, #000 96%, transparent 100%),
                      linear-gradient(to bottom, transparent 0%, #000 4%, #000 96%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 4%, #000 96%, transparent 100%),
              linear-gradient(to bottom, transparent 0%, #000 4%, #000 96%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
  filter: contrast(1.03) brightness(1.02);
}
.hero__media .badge {
  position: absolute; left: var(--space-3); bottom: var(--space-3);
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(8px);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: var(--space-3) var(--space-4);
  box-shadow: var(--shadow-card);
  display: flex; align-items: center; gap: var(--space-3);
  font-size: 0.8125rem; font-weight: 600; color: var(--ink);
}
.hero__media .badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(63,163,125,0.2); }

@media (max-width: 1023px) {
  .hero__grid { grid-template-columns: 1fr; gap: var(--space-7); }
  .hero__media { order: -1; aspect-ratio: 16/11; max-height: 380px; }
}

/* ---- FEATURE CARDS (4-up) ---- */
.features__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}
.feature-card {
  padding: var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-card);
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.feature-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--green-2); }
.feature-card .icon-wrap {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--green-soft);
  display: grid; place-items: center;
  margin-bottom: var(--space-4);
}
.feature-card .icon-wrap svg { width: 24px; height: 24px; stroke: var(--green-deep); fill: none; stroke-width: 1.7; }
.feature-card h3 { font-size: 1.05rem; color: var(--ink); margin-bottom: var(--space-2); }
.feature-card p { font-size: 0.9rem; color: var(--text); }
@media (max-width: 1023px) { .features__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .features__grid { grid-template-columns: 1fr; } }

/* ---- PATHWAY CARDS ---- */
.pathways__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}
.pathway-card {
  display: flex; flex-direction: column;
  padding: var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-card);
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.pathway-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--green-2); }
.pathway-card .tag {
  font-family: var(--font-mono);
  font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--green-deep);
  background: var(--green-soft);
  border-radius: var(--radius-pill);
  padding: 4px 10px;
  align-self: flex-start;
  margin-bottom: var(--space-4);
}
.pathway-card h3 { font-size: 1.15rem; color: var(--ink); margin-bottom: var(--space-2); }
.pathway-card .meta { color: var(--text); font-size: 0.9rem; margin-bottom: var(--space-3); }
.pathway-card .desc { color: var(--text); font-size: 0.9rem; }
.pathway-card .cpd-note {
  margin-top: auto; padding-top: var(--space-4);
  border-top: 1px solid var(--border);
  font-size: 0.82rem; color: var(--ink-soft); font-weight: 500;
}
@media (max-width: 1023px) { .pathways__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .pathways__grid { grid-template-columns: 1fr; } }

/* CPD callout (verbatim statement) */
.cpd-callout {
  margin-top: var(--space-7);
  padding: var(--space-6) var(--space-7);
  border: 1px solid var(--green);
  border-radius: var(--radius);
  background: var(--green-soft);
}
.cpd-callout .label {
  font-family: var(--font-mono);
  font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--green-deep); display: block; margin-bottom: var(--space-3);
}
.cpd-callout p { color: var(--ink); font-weight: 500; }

/* ---- STORY (patient moment) ---- */
.story {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 4px solid var(--green);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  padding: var(--space-7);
  position: relative;
}
.story__quote-mark {
  position: absolute; top: var(--space-3); right: var(--space-6);
  font-family: Georgia, serif; font-size: 64px; line-height: 1;
  color: var(--green); opacity: 0.25;
}
.story__label {
  font-family: var(--font-mono);
  font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--green-deep); display: block; margin-bottom: var(--space-3);
}
.story p.body { font-size: 1.0625rem; color: var(--ink); line-height: 1.6; }
.story p.caption { margin-top: var(--space-4); font-size: 0.875rem; color: var(--text-muted); font-style: italic; }

/* ---- FACULTY ---- */
.faculty__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
}
.faculty-card {
  padding: var(--space-7);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}
.faculty-card .head { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-5); }
.faculty-card .monogram {
  width: 64px; height: 64px; border-radius: 50%;
  border: 2px solid var(--green);
  background: var(--green-soft);
  display: grid; place-items: center;
  font-family: var(--font-sans); font-weight: 800; font-size: 1.4rem;
  color: var(--green-deep);
  flex-shrink: 0;
}
.faculty-card .tag { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-deep); }
.faculty-card h3 { font-size: 1.3rem; color: var(--ink); }
.faculty-card .role { font-size: 0.85rem; color: var(--text-muted); }
.faculty-card ul { display: grid; gap: var(--space-2); margin-top: var(--space-4); }
.faculty-card li {
  color: var(--text); font-size: 0.9375rem;
  padding-left: var(--space-5); position: relative;
}
.faculty-card li::before {
  content: ""; position: absolute; left: 0; top: 0.55em;
  width: 16px; height: 16px;
  background: var(--green);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (max-width: 1023px) { .faculty__grid { grid-template-columns: 1fr; } }

/* ---- INTENT PILLARS ---- */
.pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}
.pillar {
  padding: var(--space-6);
  border-radius: var(--radius);
  background: var(--surface);
  border: 1px solid var(--border);
}
.pillar .icon-wrap {
  width: 44px; height: 44px; border-radius: 10px;
  background: var(--green-soft); display: grid; place-items: center;
  margin-bottom: var(--space-4);
}
.pillar .icon-wrap svg { width: 22px; height: 22px; stroke: var(--green-deep); fill: none; stroke-width: 1.7; }
.pillar .label { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-deep); display: block; margin-bottom: var(--space-2); }
.pillar h3 { font-size: 1.1rem; color: var(--ink); margin-bottom: var(--space-2); }
.pillar p { font-size: 0.9rem; color: var(--text); }
@media (max-width: 1023px) { .pillars { grid-template-columns: 1fr; } }

/* ---- CLOSING CTA ---- */
.cta-block {
  margin-top: var(--space-9);
  padding: var(--space-9) var(--space-7);
  text-align: center;
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 50% 0%, rgba(63,163,125,0.16), transparent 60%),
    var(--ink);
  color: #fff;
}
.cta-block .label {
  font-family: var(--font-mono);
  font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--green-2); display: block; margin-bottom: var(--space-4);
}
.cta-block h2 { color: #fff; font-size: var(--fs-h2); }
.cta-block p { color: #C9D6E2; max-width: 54ch; margin: var(--space-4) auto var(--space-6); }
.cta-block .btn-row { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; }

/* utility */
.center-row { display: flex; justify-content: center; gap: var(--space-4); flex-wrap: wrap; }

/* =================================================================
   Staging-site sections: hero audience paths, credential widget, stats,
   audience tabs, program cards, why-grid, methodology, outcomes,
   deep-dive panels, case studies, insights, contact form, newsletter.
   ================================================================= */

/* ---- HERO: 3 audience path cards (under headline/sub) ---- */
.hero-paths {
  margin-top: var(--space-5);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}
.hero-path {
  display: flex; flex-direction: column; gap: var(--space-1);
  padding: var(--space-5);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.hero-path:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); border-color: var(--green-2); }
.hero-path strong { color: var(--ink); font-size: 1rem; }
.hero-path span { color: var(--text); font-size: 0.85rem; }
.hero-path .arrow { margin-top: auto; padding-top: var(--space-3); color: var(--green-deep); font-size: 0.8rem; font-weight: 600; }
@media (max-width: 1023px) { .hero-paths { grid-template-columns: 1fr; } }

/* trust strip line */
.trust-line {
  margin-top: var(--space-7);
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3);
  font-size: 0.85rem; color: var(--text-muted);
}
.trust-line .label { font-weight: 600; color: var(--ink-soft); }
.trust-line .geo { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.trust-line .geo span { color: var(--text); }

/* ---- Credential widget (program metadata bar) ---- */
.cred-widget {
  margin-top: var(--space-5);
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-5);
  padding: var(--space-5) var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}
.cred-widget .meta { display: flex; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
.cred-widget .meta-item { display: flex; flex-direction: column; }
.cred-widget .meta-item .k { font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.cred-widget .meta-item .v { font-weight: 700; color: var(--ink); font-size: 0.95rem; }
.cred-widget .meta-sep { width: 1px; height: 28px; background: var(--border); }
.cred-widget .badge-row { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.cred-widget .pill {
  font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.06em;
  color: var(--green-deep); background: var(--green-soft);
  border-radius: var(--radius-pill); padding: 4px 10px;
}
.cred-widget .btn { margin-left: auto; }
@media (max-width: 1023px) { .cred-widget .btn { margin-left: 0; } }

/* ---- Impact stats grid ---- */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}
.stat { text-align: center; }
.stat .num {
  font-size: clamp(2.2rem, 3.5vw, 3rem);
  font-weight: 800; color: var(--green-deep); letter-spacing: -0.03em; line-height: 1;
}
.stat .label { margin-top: var(--space-2); color: var(--text); font-size: 0.9rem; }
@media (max-width: 767px) { .stats-grid { grid-template-columns: 1fr 1fr; } }

/* ---- Compliance badges row ---- */
.compliance-row {
  display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3);
  margin-top: var(--space-7);
}
.compliance-badge {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: 8px 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--surface);
  font-size: 0.8rem; font-weight: 600; color: var(--ink-soft);
}
.compliance-badge .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }

/* ---- Audience tabs ---- */
.tabs { margin-top: var(--space-6); }
.tabs__list {
  display: flex; gap: var(--space-2); justify-content: center;
  border-bottom: 1px solid var(--border);
  margin-bottom: var(--space-7);
  flex-wrap: wrap;
}
.tabs__btn {
  padding: var(--space-3) var(--space-5);
  font-size: 0.95rem; font-weight: 600;
  color: var(--text-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.tabs__btn:hover { color: var(--ink); }
.tabs__btn.is-active { color: var(--green-deep); border-bottom-color: var(--green); }
.tabs__panel { display: none; }
.tabs__panel.is-active { display: block; }
.tab-head { max-width: 720px; margin-bottom: var(--space-6); }
.tab-head h3 { font-size: 1.5rem; color: var(--ink); margin-bottom: var(--space-3); }
.tab-head p { color: var(--text); }
.tab-challenges { margin-top: var(--space-5); }
.tab-challenges h4 { font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.tab-challenges li {
  padding: var(--space-3) 0; color: var(--ink-soft);
  border-bottom: 1px solid var(--border);
  display: flex; gap: var(--space-3); align-items: flex-start;
}
.tab-challenges li::before {
  content: ""; flex-shrink: 0; margin-top: 0.55em;
  width: 8px; height: 8px; border-radius: 50%; background: var(--green-2);
}
.tab-ctas { margin-top: var(--space-6); display: flex; gap: var(--space-3); flex-wrap: wrap; }
.tab-features {
  margin-top: var(--space-7);
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5);
}
.tab-feature .icon-wrap {
  width: 40px; height: 40px; border-radius: 10px; background: var(--green-soft);
  display: grid; place-items: center; margin-bottom: var(--space-3);
}
.tab-feature .icon-wrap svg { width: 20px; height: 20px; stroke: var(--green-deep); fill: none; stroke-width: 1.8; }
.tab-feature h4 { font-size: 0.95rem; color: var(--ink); margin-bottom: var(--space-1); }
.tab-feature p { font-size: 0.85rem; color: var(--text); }
@media (max-width: 1023px) { .tab-features { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .tab-features { grid-template-columns: 1fr; } }

/* ---- Program cards ---- */
.programs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
  margin-top: var(--space-7);
}
.program-card {
  position: relative;
  display: flex; flex-direction: column;
  padding: var(--space-7);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-card);
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.program-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }
.program-card.is-popular { border-color: var(--green); box-shadow: 0 8px 30px rgba(63,163,125,0.12); }
.program-card .tag-row { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); }
.program-card .popular-badge {
  background: var(--green); color: #fff;
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 4px 10px; border-radius: var(--radius-pill);
}
.program-card .tier { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.program-card h3 { font-size: 1.3rem; color: var(--ink); margin-bottom: var(--space-2); }
.program-card .tagline { color: var(--green-deep); font-size: 0.9rem; font-weight: 600; margin-bottom: var(--space-4); }
.program-card .specs { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-4); margin-bottom: var(--space-4); }
.program-card .spec { font-size: 0.8rem; color: var(--text); display: flex; align-items: center; gap: 6px; }
.program-card .spec::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.program-card .desc { color: var(--text); font-size: 0.9rem; margin-bottom: var(--space-5); }
.program-card h4 { font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); margin-top: var(--space-4); }
.program-card ul.bullets { display: grid; gap: var(--space-2); margin-bottom: var(--space-5); }
.program-card ul.bullets li { font-size: 0.85rem; color: var(--ink-soft); padding-left: var(--space-5); position: relative; }
.program-card ul.bullets li::before {
  content: ""; position: absolute; left: 0; top: 0.5em;
  width: 14px; height: 14px; background: var(--green);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.program-card .price-row { margin-top: auto; padding-top: var(--space-5); border-top: 1px solid var(--border); }
.program-card .price { font-size: 1.8rem; font-weight: 800; color: var(--ink); }
.program-card .price .per { font-size: 0.85rem; font-weight: 500; color: var(--text-muted); }
.program-card .price-note { font-size: 0.8rem; color: var(--text-muted); margin-top: 4px; }
.program-card .card-ctas { margin-top: var(--space-4); display: grid; gap: var(--space-2); }
@media (max-width: 1023px) { .programs-grid { grid-template-columns: 1fr; } }

/* Bundle band */
.bundle-band {
  margin-top: var(--space-7);
  padding: var(--space-7);
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--ink), #163b5e);
  color: #fff;
  display: flex; align-items: center; gap: var(--space-6); flex-wrap: wrap;
}
.bundle-band .bb-text { flex: 1; min-width: 280px; }
.bundle-band .bb-label { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-2); }
.bundle-band h3 { color: #fff; font-size: 1.5rem; margin: var(--space-2) 0 var(--space-3); }
.bundle-band p { color: #C9D6E2; max-width: 50ch; }
.bundle-band .bb-price { display: flex; align-items: baseline; gap: var(--space-3); margin-top: var(--space-3); }
.bundle-band .old { text-decoration: line-through; color: #9FB0C2; font-size: 1.1rem; }
.bundle-band .new { font-size: 2rem; font-weight: 800; color: #fff; }
.bundle-band .bb-note { font-size: 0.8rem; color: #9FB0C2; margin-top: 4px; }
.bundle-band .bb-cta { margin-left: auto; }

/* ---- Why MEDUMOND grid (6 features) ---- */
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}
.why-card {
  padding: var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}
.why-card .icon-wrap {
  width: 44px; height: 44px; border-radius: 10px; background: var(--green-soft);
  display: grid; place-items: center; margin-bottom: var(--space-4);
}
.why-card .icon-wrap svg { width: 22px; height: 22px; stroke: var(--green-deep); fill: none; stroke-width: 1.7; }
.why-card h3 { font-size: 1.05rem; color: var(--ink); margin-bottom: var(--space-2); }
.why-card p { font-size: 0.9rem; color: var(--text); }
@media (max-width: 1023px) { .why-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .why-grid { grid-template-columns: 1fr; } }

/* ---- Methodology steps ---- */
.method {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5);
}
.method-step { padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.method-step .num { font-family: var(--font-mono); font-size: 2rem; font-weight: 300; color: var(--green); line-height: 1; margin-bottom: var(--space-3); }
.method-step h4 { font-size: 1.05rem; color: var(--ink); margin-bottom: var(--space-2); }
.method-step p { font-size: 0.875rem; color: var(--text); }
@media (max-width: 1023px) { .method { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .method { grid-template-columns: 1fr; } }

/* ---- Outcomes (measurable) ---- */
.outcomes-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5);
}
.outcome-stat { text-align: center; padding: var(--space-6); }
.outcome-stat .num { font-size: clamp(2rem, 3vw, 2.6rem); font-weight: 800; color: var(--green-deep); letter-spacing: -0.03em; line-height: 1; }
.outcome-stat .label { margin-top: var(--space-2); color: var(--text); font-size: 0.85rem; }
@media (max-width: 1023px) { .outcomes-grid { grid-template-columns: 1fr 1fr; } }

/* ---- Deep-dive audience panels (split layout) ---- */
.audience-panel {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-8);
  align-items: center;
  padding-block: var(--space-8);
  border-bottom: 1px solid var(--border);
}
.audience-panel:last-child { border-bottom: 0; }
.audience-panel.flip .panel-text { order: 2; }
.audience-panel .panel-eyebrow { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-deep); display: block; margin-bottom: var(--space-3); }
.audience-panel h2 { font-size: var(--fs-h2); color: var(--ink); margin-bottom: var(--space-4); }
.audience-panel .lead { color: var(--text); font-size: var(--fs-lead); margin-bottom: var(--space-5); }
.audience-panel ul.points { display: grid; gap: var(--space-3); margin-bottom: var(--space-5); }
.audience-panel ul.points li { color: var(--ink-soft); padding-left: var(--space-5); position: relative; font-size: 0.95rem; }
.audience-panel ul.points li::before {
  content: ""; position: absolute; left: 0; top: 0.5em;
  width: 16px; height: 16px; background: var(--green);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.audience-panel .panel-ctas { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.audience-panel .panel-visual {
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--space-7);
}
.audience-panel .mini-stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
.audience-panel .mini-stat .num { font-size: 1.8rem; font-weight: 800; color: var(--green-deep); line-height: 1; }
.audience-panel .mini-stat .label { font-size: 0.82rem; color: var(--text); margin-top: 4px; }
.audience-panel .mini-badges { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-5); }
.audience-panel .mini-badges .b { font-size: 0.72rem; font-family: var(--font-mono); color: var(--green-deep); background: var(--green-soft); border-radius: var(--radius-pill); padding: 4px 10px; }
@media (max-width: 1023px) {
  .audience-panel { grid-template-columns: 1fr; gap: var(--space-6); }
  .audience-panel.flip .panel-text { order: 0; }
}

/* ---- Testimonials ---- */
.testi-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5);
}
.testi-card {
  padding: var(--space-7);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-card);
  display: flex; flex-direction: column;
}
.testi-card .quote { font-size: 1rem; color: var(--ink); line-height: 1.6; flex: 1; }
.testi-card .person { margin-top: var(--space-5); display: flex; align-items: center; gap: var(--space-3); }
.testi-card .avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--green-soft); color: var(--green-deep);
  display: grid; place-items: center;
  font-weight: 700; font-size: 0.9rem;
}
.testi-card .name { font-weight: 700; color: var(--ink); font-size: 0.9rem; }
.testi-card .role { font-size: 0.8rem; color: var(--text-muted); }
@media (max-width: 1023px) { .testi-grid { grid-template-columns: 1fr; } }

/* ---- Case studies ---- */
.cases-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5);
}
.case-card {
  display: flex; flex-direction: column;
  padding: var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}
.case-card .locale { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.case-card h3 { font-size: 1.05rem; color: var(--ink); margin-bottom: var(--space-4); }
.case-card .block { margin-bottom: var(--space-4); }
.case-card .block .k { font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--green-deep); font-weight: 700; }
.case-card .block p { font-size: 0.875rem; color: var(--text); margin-top: 4px; }
.case-card .results { display: flex; flex-wrap: wrap; gap: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--border); margin-bottom: var(--space-4); }
.case-card .result .num { font-size: 1.4rem; font-weight: 800; color: var(--green-deep); line-height: 1; }
.case-card .result .label { font-size: 0.75rem; color: var(--text-muted); }
.case-card .read { margin-top: auto; font-size: 0.85rem; color: var(--green-deep); font-weight: 600; }
@media (max-width: 1023px) { .cases-grid { grid-template-columns: 1fr; } }

/* ---- Insights ---- */
.insights-grid {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-6);
  margin-top: var(--space-7);
}
.insight-feature, .insight-list { display: flex; flex-direction: column; gap: var(--space-4); }
.insight-card {
  padding: var(--space-5);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.insight-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.insight-feature .insight-card { padding: var(--space-7); }
.insight-meta { display: flex; flex-wrap: wrap; gap: var(--space-2); font-size: 0.78rem; color: var(--text-muted); margin-bottom: var(--space-3); }
.insight-meta .cat { color: var(--green-deep); font-weight: 600; }
.insight-card h3, .insight-card h4 { color: var(--ink); }
.insight-feature .insight-card h3 { font-size: 1.3rem; }
.insight-card h4 { font-size: 1.02rem; }
.insight-card p { font-size: 0.875rem; color: var(--text); margin-top: var(--space-2); }
.insight-card .read { margin-top: var(--space-3); font-size: 0.85rem; color: var(--green-deep); font-weight: 600; }
@media (max-width: 1023px) { .insights-grid { grid-template-columns: 1fr; } }

/* ---- Contact form ---- */
.contact-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8);
}
.contact-info .info-block { margin-bottom: var(--space-5); }
.contact-info .info-block .k { font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.contact-info .info-block .v { color: var(--ink); font-weight: 600; }
.contact-info .info-block a.v { color: var(--green-deep); }
.contact-info .next-steps { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--border); }
.contact-info .next-steps h4 { font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.contact-info .next-steps li { display: flex; gap: var(--space-3); color: var(--text); font-size: 0.9rem; margin-bottom: var(--space-2); }
.contact-info .next-steps li .n { color: var(--green-deep); font-weight: 700; }
.form-card { padding: var(--space-7); border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-card); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.form-grid .full { grid-column: 1 / -1; }
.form-field { display: grid; gap: 6px; }
.form-field label { font-size: 0.8rem; font-weight: 600; color: var(--ink-soft); }
.form-field label .req { color: var(--green-deep); }
.form-field input, .form-field select, .form-field textarea {
  font: inherit; color: var(--ink);
  padding: 11px 13px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
  background: var(--bg); width: 100%;
  transition: border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(63,163,125,0.16);
}
.form-field textarea { min-height: 110px; resize: vertical; }
.form-consent { display: flex; gap: var(--space-3); align-items: flex-start; margin-top: var(--space-3); font-size: 0.82rem; color: var(--text); }
.form-consent input { margin-top: 3px; }
.form-card .btn { margin-top: var(--space-5); width: 100%; justify-content: center; }
.form-note { font-size: 0.8rem; color: var(--text-muted); text-align: center; margin-top: var(--space-3); }
@media (max-width: 1023px) { .contact-grid { grid-template-columns: 1fr; } .form-grid { grid-template-columns: 1fr; } }

/* ---- Newsletter (footer-top) ---- */
.newsletter {
  background: var(--ink);
  color: #fff;
  padding-block: var(--space-8);
}
.newsletter__inner { display: flex; align-items: center; gap: var(--space-6); flex-wrap: wrap; }
.newsletter__text { flex: 1; min-width: 280px; }
.newsletter__text h3 { color: #fff; font-size: 1.4rem; margin-bottom: var(--space-2); }
.newsletter__text p { color: #C9D6E2; font-size: 0.9rem; }
.newsletter__form { display: flex; gap: var(--space-2); min-width: 320px; }
.newsletter__form input {
  flex: 1; font: inherit; color: #fff;
  padding: 12px 16px; border: 1px solid rgba(255,255,255,0.2); border-radius: var(--radius-sm);
  background: rgba(255,255,255,0.06);
}
.newsletter__form input::placeholder { color: #9FB0C2; }
.newsletter__form input:focus { outline: none; border-color: var(--green-2); }
@media (max-width: 600px) { .newsletter__form { min-width: 0; flex-direction: column; } .newsletter__form .btn { width: 100%; justify-content: center; } }

