/* Approved 50+ typography shared by the public page and the owner editor. */
.readability-50plus {
  --reading-body: 20px;
  --reading-heading: 24px;
  font-size: var(--reading-body);
  line-height: 1.85;
  color: #20271c;
  padding-bottom: 120px;
}
.readability-50plus :is(.section-lead,.intro-copy p:not(.eyebrow),.product-details>p,.formulation p:not(.eyebrow),.situation-grid p,.objection-grid p,.benefit-grid p,.parents p:not(.eyebrow),.credential-grid p,.bridge p:not(.eyebrow),.offer p:not(.eyebrow),.founder-intro,.founder-message-heading>p,.testimonial-intro,.hero-product) {
  font-size: var(--reading-body);
  line-height: 1.85;
}
.readability-50plus :is(.section-lead,.intro-copy p:not(.eyebrow),.product-details>p,.formulation p:not(.eyebrow),.situation-grid p,.objection-grid p,.benefit-grid p,.credential-grid p,.founder-intro,.founder-message-heading>p,.testimonial-intro) { color: #444e3d; }
.readability-50plus :is(.parents p:not(.eyebrow),.bridge p:not(.eyebrow),.offer p:not(.eyebrow)) { color: #e9ecdf; }
.readability-50plus .hero-sub { font-size: 23px; line-height: 1.8; max-width: 500px; }
.readability-50plus .hero-product { color: #edf0e4; }
.readability-50plus :is(.hero-facts,.hero-kicker) { font-size: 16px; letter-spacing: .45px; line-height: 1.8; }
.readability-50plus .hero-facts { gap: 8px; }
.readability-50plus .opening-strip { font-size: 20px; line-height: 1.65; padding: 15px 20px; }
.readability-50plus main :is(h2,.intro-copy h2,.parents h2,.bridge h2,.offer h2,.formulation h2) { font-size: clamp(32px,3.5vw,46px); line-height: 1.3; letter-spacing: -.7px; }
.readability-50plus .product h2 { font-size: clamp(34px,5vw,65px); }
.readability-50plus :is(.situation-grid h3,.objection-grid h3,.benefit-grid h3,.ingredient-grid h3,.credential-grid h3) { font-size: var(--reading-heading); line-height: 1.5; letter-spacing: -.35px; }
.readability-50plus :is(.eyebrow,.small-pill,.situation-grid article>span) { font-size: 14px; line-height: 1.75; letter-spacing: 1px; }
.readability-50plus :is(.button,.hero .button,.bridge .button,.offer .button,.faq-cta,.package-card .button) { font-size: 18px; min-height: 58px; line-height: 1.5; letter-spacing: .15px; padding: 15px 22px; }
.readability-50plus :is(.text-link,.formulation .text-link,.founder-profile>.text-link,.parent-video-link,.parent-video-link+.text-link) { font-size: 16px!important; line-height: 1.75; letter-spacing: .3px; }
.readability-50plus :is(.source-line,.benefit-context,.testimonial-note,.package-footnote,.ingredient-grid p,.credential-grid a,.credential-grid button) { font-size: 16px; line-height: 1.85; color: #505a45; }
.readability-50plus .credential-grid :is(a,button) { min-height: 44px; display: inline-flex; align-items: center; }
.readability-50plus dl>div { font-size: 18px; gap: 18px; padding: 17px 0; }
.readability-50plus :is(.fact-table>div,.fact-table strong) { font-size: 18px; line-height: 1.7; }
.readability-50plus .fact-table span { color: #4d5844; }
.readability-50plus .founder-lead { font-size: 23px; }
.readability-50plus .founder-names h3 { font-size: 20px; line-height: 1.4; }
.readability-50plus :is(.founder-names p,.founder-names span) { font-size: 16px; line-height: 1.7; }
.readability-50plus .founder-names span { color: #d4dcc9; }
.readability-50plus .founder-video-caption { font-size: 18px; line-height: 1.8; }
.readability-50plus .video-caption-title { font-size: 22px; }
.readability-50plus :is(.founder-video-caption p>span,.founder-video-caption small,.founder-video-caption>a) { font-size: 16px; line-height: 1.8; }
.readability-50plus .founder-video-caption small { color: #d4ddc8; }
.readability-50plus .video-start>small { font-size: 11px; }
.readability-50plus .testimonial-card { padding: 18px; gap: 10px; }
.readability-50plus .testimonial-title { font-size: 22px; line-height: 1.5; letter-spacing: -.25px; }
.readability-50plus .testimonial-author { font-size: 17px; line-height: 1.6; color: #46513b; }
.readability-50plus .testimonial-badge { font-size: 15px; line-height: 1.7; padding: 4px 10px; }
.readability-50plus .testimonial-zoom { font-size: 16px; line-height: 1.7; color: #76551b; }
.readability-50plus :is(.cod-hero strong,.cod-hero>span) { font-size: 17px; line-height: 1.75; }
.readability-50plus .cod-banner-title { font-size: 21px; line-height: 1.6; }
.readability-50plus .cod-banner-copy { font-size: var(--reading-body); line-height: 1.8; }
.readability-50plus .cod-banner small { font-size: 16px; color: #505b43; }
.readability-50plus .cod-icon { width: 36px; height: 36px; }
.readability-50plus .package-heading h3 { font-size: 30px; }
.readability-50plus .package-heading p { font-size: 15px; line-height: 1.6; color: #47523d; }
.readability-50plus .package-price { font-size: 46px; }
.readability-50plus .package-price span { font-size: 23px; }
.readability-50plus :is(.package-unit,.package-saving,.package-card small,.package-card>.package-cod) { font-size: 16px; line-height: 1.7; }
.readability-50plus .package-unit { color: #46513b; }
.readability-50plus .package-card .button { gap: 8px; margin: 24px 14px 14px; padding: 13px 10px; }
.readability-50plus .package-ribbon { font-size: 14px; top: -36px; min-height: 36px; }
.readability-50plus .package-grid { gap: 24px; margin-top: 62px; }
.readability-50plus .package-card>.package-cod { margin: 0 14px 20px; padding: 8px 10px; }
.readability-50plus .faq summary { font-size: 21px; line-height: 1.65; padding: 23px 42px 23px 0; }
.readability-50plus .faq details>div { font-size: var(--reading-body); line-height: 1.85; color: #414d36; }
.readability-50plus .faq details a { font-size: 16px; min-height: 44px; line-height: 1.8; }
.readability-50plus :is(.disclaimer p,.disclaimer p strong) { font-size: 16px; line-height: 1.9; color: #49553c; }
.readability-50plus :is(.footer-inner p,.footer-inner>div,.footer-note) { font-size: 16px; line-height: 1.8; }
.readability-50plus .footer-note { color: #c2ccb4; }
.readability-50plus .footer-inner a { min-height: 44px; display: inline-flex; align-items: center; }
.readability-50plus .footer-brand b { font-size: 14px; }
.readability-50plus .sticky-cta { padding-top: 12px; padding-bottom: 12px; }
.readability-50plus .sticky-cta strong { font-size: 18px; }
.readability-50plus .sticky-cta>div>span { font-size: 16px; color: #46533b; }
.readability-50plus .sticky-cod { font-size: 14px; }
.readability-50plus .sticky-cta .button { font-size: 18px; min-height: 58px; }
.readability-50plus :is(.lightbox>p,.lightbox>#lightbox-open) { font-size: 18px; line-height: 1.75; }
.readability-50plus .lightbox>.close-dialog { min-width: 48px; min-height: 48px; }
/* Spacious situation cards with real photos and naturally wrapping headings. */
.readability-50plus .situation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.readability-50plus .situation-grid .situation-card { display: flex; flex-direction: column; min-width: 0; padding: 0; border: 1px solid #ded8c9; border-radius: 14px; background: #fffdf8; overflow: hidden; }
.readability-50plus .situation-copy { flex: 1; padding: 28px 30px; }
.readability-50plus .situation-label { display: block; font-size: 14px; line-height: 1.7; font-weight: 700; letter-spacing: 1.2px; color: #806024; }
.readability-50plus .situation-card h3 { margin: 12px 0 14px; font-size: 26px; line-height: 1.4; letter-spacing: -.4px; }
.readability-50plus .situation-card p { margin: 0; font-size: var(--reading-body); line-height: 1.85; color: #444e3d; }
.readability-50plus .situation-photo { position: relative; aspect-ratio: 3 / 2; overflow: hidden; }
.readability-50plus .situation-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
.readability-50plus .situation-card:last-child img { object-position: 50% 52%; }
/* Ingredient text comes first; each original ingredient image follows below. */
.readability-50plus .ingredient-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; text-align: left; }
.readability-50plus .ingredient-card { display: flex; flex-direction: column; min-width: 0; padding: 32px; background: #fffdf8; border: 1px solid #ded2b8; border-radius: 14px; }
.readability-50plus .ingredient-card h3 { color: #806024; font-size: 28px; line-height: 1.4; margin: 0 0 12px; }
.readability-50plus .ingredient-card .ingredient-tagline { font-size: 22px; line-height: 1.55; font-weight: 700; color: #20271c; margin: 0 0 16px; }
.readability-50plus .ingredient-card .ingredient-description { font-size: var(--reading-body); line-height: 1.85; color: #444e3d; margin: 0 0 24px; }
.readability-50plus .ingredient-card img { width: 180px; max-width: 75%; height: auto; aspect-ratio: 1; object-fit: contain; margin: auto auto 0; }
@media(max-width:760px) {
  .readability-50plus .ingredient-grid { grid-template-columns: minmax(0,1fr); }
  .readability-50plus .situation-grid { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:1000px) {
  .readability-50plus .package-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 50px 22px; }
  .readability-50plus .founder-video-layout { grid-template-columns: minmax(0,1fr); }
  .readability-50plus .portrait-player { max-width: 260px; margin: auto; }
  .readability-50plus .founder-video-caption { padding: 18px 8px 6px; }
}
@media(max-width:600px) {
  .readability-50plus { --reading-body: 18px; --reading-heading: 21px; padding-bottom: 140px; }
  .readability-50plus .wrap { width: calc(100% - 36px); }
  .readability-50plus .section { padding-top: 62px; padding-bottom: 62px; }
  .readability-50plus .opening-strip { font-size: 17px; }
  .readability-50plus .hero-sub { font-size: 20px; line-height: 1.8; }
  .readability-50plus :is(.hero-facts,.hero-kicker) { font-size: 14px; }
  .readability-50plus .founder-lead { font-size: 20px; }
  .readability-50plus .founder-names h3 { font-size: 18px; }
  .readability-50plus .founder-names { gap: 12px; }
  .readability-50plus .testimonial-grid { gap: 14px; }
  .readability-50plus .testimonial-card { padding: 12px; gap: 9px; }
  .readability-50plus .testimonial-title { font-size: 18px; }
  .readability-50plus .testimonial-author { font-size: 16px; }
  .readability-50plus .testimonial-badge { font-size: 14px; padding: 3px 8px; }
  .readability-50plus .testimonial-zoom { font-size: 14px; }
  .readability-50plus .situation-grid { grid-template-columns: 1fr; gap: 30px; }
  .readability-50plus .situation-copy { padding: 23px 22px 25px; }
  .readability-50plus .situation-card h3 { font-size: 24px; line-height: 1.45; }
  .readability-50plus .benefit-grid { grid-template-columns: 1fr; gap: 30px; }
  .readability-50plus .objection-grid { grid-template-columns: 1fr; gap: 22px; }
  .readability-50plus .ingredient-grid { gap: 20px; }
  .readability-50plus .ingredient-card { padding: 24px 22px; }
  .readability-50plus .ingredient-card h3 { font-size: 25px; }
  .readability-50plus .ingredient-card .ingredient-tagline { font-size: 21px; }
  .readability-50plus .ingredient-card img { width: 160px; }
  .readability-50plus .cod-banner { gap: 12px; padding: 20px 16px; }
  .readability-50plus .cod-banner-title { font-size: 19px; }
  .readability-50plus .cod-icon { width: 28px; height: 28px; }
  .readability-50plus .cod-hero strong { font-size: 16px; letter-spacing: 0; }
  .readability-50plus .cod-hero>span { font-size: 16px; }
  .readability-50plus .package-grid { grid-template-columns: 1fr; gap: 54px; }
  .readability-50plus .package-heading { padding: 24px 14px 12px; }
  .readability-50plus .package-product { height: 210px; aspect-ratio: auto; object-fit: cover; }
  .readability-50plus .package-price { margin-top: 18px; }
  .readability-50plus .package-card .button { margin-left: 20px; margin-right: 20px; font-size: 18px; }
  .readability-50plus .package-card>.package-cod { margin-left: 20px; margin-right: 20px; }
  .readability-50plus .faq summary { font-size: 20px; }
  .readability-50plus .sticky-cta { padding-left: 14px; padding-right: 14px; gap: 10px; }
  .readability-50plus .sticky-cta strong { font-size: 16px; }
  .readability-50plus .sticky-cta .button { font-size: 16px; padding: 12px 14px; gap: 8px; }
  .readability-50plus .sticky-cta>div>span { font-size: 14px; }
}
