/* Vital: active aging. Warm ivory and plum, large readable type, strong contrast, big buttons and clear one-row offers. */
.coach-site.vital{
  --cs-bg:#fffaf3;--cs-alt:#f6eee2;--cs-ink:#1c1f2a;--cs-soft:#41455a;--cs-line:#e0d6c6;--cs-card:#ffffff;
  --cs-head:'Lexend',sans-serif;--cs-body:'Atkinson Hyperlegible',sans-serif;--cs-head-weight:600;--cs-head-track:-0.02em;--cs-head-case:none;
  --cs-radius:16px;--cs-photo-radius:24px;--cs-button-radius:12px;--cs-photo-pos:62% 28%;
  --cs-shadow:0 20px 44px -30px rgba(28,31,42,.38);font-size:19px;line-height:1.65
}
.vital h1{font-size:clamp(40px,5vw,68px);line-height:1.08}
.vital h2{font-size:clamp(32px,3.6vw,48px);line-height:1.12}
.vital h3{font-size:25px}
.vital :focus-visible{outline-width:4px}
.vital .cs-kicker{font-size:18px;font-weight:700}
.vital .cs-lede{font-size:21px;color:var(--cs-ink)}
.vital .cs-button{min-height:62px;padding:0 32px;font-size:19px;font-weight:700}
.vital .cs-button-sm{min-height:50px;padding:0 22px;font-size:17px}
.vital .cs-link{font-size:19px;text-decoration-thickness:3px}
.vital .cs-header-inner{min-height:88px}
.vital .cs-brand{font-size:23px}
.vital .cs-nav{font-size:17px}
.vital .cs-nav a,.vital .cs-login{color:var(--cs-ink);font-size:17px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--cs-line);text-decoration-thickness:2px}
.vital .cs-nav a:hover,.vital .cs-login:hover{text-decoration-color:var(--coach-accent)}

/* Header with an information bar on top */
.vt-header{border-bottom:2px solid var(--cs-line)}
.vt-topbar{background:var(--cs-ink);color:var(--cs-bg);font-size:16px}
.vt-topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:46px}
.vt-topbar a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* Hero: a friendly wide photo first, then the words in two clear columns */
.vt-hero{padding:36px 0 96px}
.vt-hero-photo{margin:0 0 48px;padding:12px;border-radius:calc(var(--cs-photo-radius) + 12px);background:var(--cs-accent-soft)}
.vt-hero-photo img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:var(--cs-photo-pos);border-radius:var(--cs-photo-radius)}
.vt-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.vt-hero .cs-lede{margin-top:0}

.vital .cs-proof{font-size:18px;color:var(--cs-ink);gap:14px}
.vital .cs-proof .icon,.vital .cs-includes .icon,.vital .cs-quals .icon{width:26px;height:26px;margin-top:1px;padding:4px;border-radius:50%;background:var(--coach-accent);color:var(--design-button-ink);stroke-width:2.6}

.vital .cs-step{border-width:2px}
.vital .cs-step-num{width:58px;height:58px;font-size:24px;background:var(--coach-accent);color:var(--design-button-ink)}
.vital .cs-step p,.vital .cs-offer-desc,.vital .cs-faq-list details p{font-size:18px;color:var(--cs-soft)}

/* Offers as clear full-width rows */
.vital .cs-offer-grid{grid-template-columns:minmax(0,1fr);gap:18px}
.vital .cs-offer{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(220px,auto);grid-template-areas:"type includes price" "name includes price" "desc includes button";column-gap:44px;align-items:start;padding:34px 38px;border-width:2px}
.vital .cs-offer-type{grid-area:type;font-size:16px}
.vital .cs-offer h3{grid-area:name;font-size:30px}
.vital .cs-offer-desc{grid-area:desc}
.vital .cs-offer .cs-price{grid-area:price;margin:0;text-align:right}
.vital .cs-offer .cs-price span{display:block;margin:8px 0 0}
.vital .cs-offer .cs-includes{grid-area:includes;margin:0;padding:0;border:0;font-size:18px}
.vital .cs-offer .cs-button{grid-area:button;margin-top:18px}
.vital .cs-story blockquote{font-size:20px}
.vital .cs-story figcaption{font-size:17px;color:var(--cs-ink)}
.vt-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;margin:0}
.vt-faq div{padding:28px 30px;border:2px solid var(--cs-line);border-radius:var(--cs-radius);background:var(--cs-card)}
.vt-faq dt{font:600 22px/1.3 var(--cs-head);margin-bottom:10px}
.vt-faq dd{margin:0;font-size:18px;color:var(--cs-soft)}
.vital .cs-form label{font-size:17px}
.vital .cs-form input,.vital .cs-form textarea{padding:16px 18px;border-width:2px;font-size:18px}
.vital .cs-form-note{font-size:16px}

@media (max-width:960px){
  .vt-hero-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .vt-hero-photo img{aspect-ratio:16/10}
  .vital .cs-offer{grid-template-columns:minmax(0,1fr);grid-template-areas:"type" "name" "desc" "price" "includes" "button"}
  .vital .cs-offer .cs-price{margin:20px 0;text-align:left}
}
@media (max-width:600px){.vital{font-size:18px}.vital .cs-offer{padding:26px}}
