/* ForgeVita launch design: shared visual system. No operational flag changes. */
:root {
  --porcelain:#f6f4ee; --stone:#ece9df; --forge:#204f40; --forge-hover:#163d30;
  --ink:#182923; --ink-2:#43564d; --ink-3:#606b64;
  --hairline:#dedfd5; --hairline-2:#c9cec1;
  --f-editorial:Georgia,'Times New Roman',serif;
  --rad-md:8px; --rad-lg:16px; --rad-xl:20px;
  --container:1240px;
}
body { background:var(--porcelain); }
body #mainNav { background:rgba(246,244,238,.97); border-bottom-color:var(--hairline); }
body .nav-inner { max-width:1360px; }
body .logo-text { letter-spacing:-.05em; }
body .nav-cta,body .btn-forge { border-radius:8px; }
body .nav-panel { border-radius:14px; box-shadow:0 20px 50px -20px rgba(24,41,35,.22); }
body .nav-prog { border-radius:8px; }
body .tx-hero,body .page-hero { padding-top:64px; padding-bottom:64px; }
body .program-title,body .tx-hero h1,body .page-hero h1 {
  font-family:var(--f-editorial);font-weight:400;letter-spacing:-.055em;word-spacing:normal;
  color:var(--forge);font-size:clamp(44px,5.5vw,78px);line-height:1.04;
}
body .program-spread { gap:32px 56px; }
body .program-spread--photo .tx-hero-photo { border-radius:20px; aspect-ratio:1.15; }
body .program-spread--photo .program-copy { padding:16px 0; }
body .program-deck { font-weight:500;letter-spacing:-.035em; }
body .tx-hero-sub { max-width:48ch; }
body .program-decision { padding:20px; background:var(--stone);border-radius:12px;border:1px solid var(--hairline); }
body .tx-shell { background:rgba(246,244,238,.97); }
body .tx-sections a[aria-current=true] { color:var(--forge); }
body .tx-section h2,body .section-title,body .page-section h2 { letter-spacing:-.035em; }
body .checker-ask,body .custodian-card,body .related-card,body .eval-card {
  border-radius:16px;
}
body .related-card { background:var(--white);padding:24px;border:1px solid var(--hairline); }
body .related-card:hover { border-color:var(--forge); }
body .ea-card { border-radius:20px;box-shadow:0 16px 48px -28px rgba(24,41,35,.2); }
body .ea-aside h1 { font-family:var(--f-editorial);font-weight:400;line-height:1.08;letter-spacing:-.045em; }
body .contact-layout { gap:56px; }
body footer { background:var(--carbon);color:var(--on-carbon);border-top:0; }
body footer h3,body footer h4,body footer .logo,body footer .logo-text,body footer a { color:var(--on-carbon); }
body footer p,body footer .footer-bottom,body footer .footer-links a { color:var(--on-carbon-2); }
body footer .footer-bottom { border-color:var(--carbon-line); }
body footer .nl-input { background:var(--carbon-2);color:var(--on-carbon);border-color:#65766b; }
body footer .nl-input::placeholder { color:#c0c8c1; }
body footer .nl-btn { background:var(--porcelain);color:var(--ink); }
body footer a:focus-visible { outline-color:var(--forge-light); }
body a,body button { -webkit-tap-highlight-color:rgba(32,79,64,.15); }
@media(max-width:900px) {
 body .tx-hero,body .page-hero { padding-top:36px;padding-bottom:40px; }
 body .program-spread { gap:28px; }
 body .program-spread--photo .tx-hero-photo { aspect-ratio:1.6; }
 body .program-spread--photo .program-copy { padding:0; }
 body .contact-layout { gap:32px; }
}
@media(prefers-reduced-motion:reduce) {
 body .nav-panel,body .related-card { transition:none; }
}
