/* Home page benefit section. Scoped to keep directory, pricing and about cards independent. */
@media (min-width: 1001px) {
  .m58-why-section .m50-split-head { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:36px; align-items:start; }
  .m58-why-section .m50-split-head h2 { font-size:clamp(30px,2.6vw,36px); white-space:nowrap; }
  .m58-why-section .m50-split-head > p { margin:2px 0 0; padding:0; max-width:none; font-size:16px; line-height:1.5; }
}
.m58-why-section { padding:42px 0 34px; }
.m58-why-section .m50-feature-grid { gap:16px; }
.m58-why-section .m50-feature-grid article { min-height:185px; padding:18px 19px 16px; }
.m58-why-section .m50-feature-grid i { width:66px; height:66px; font-size:31px; margin-bottom:9px; }
.m58-why-section .m50-feature-grid h3 { font-size:17px; line-height:1.2; margin-bottom:8px; }
.m58-why-section .m50-feature-grid p { font-size:14px; line-height:1.45; }
.m58-why-section .m50-promo-grid { gap:13px; margin-top:18px; }
.m58-why-section .m50-promo-grid article { position:relative; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); min-height:275px; padding:19px 17px 16px; border-radius:11px; isolation:isolate; }
.m58-why-section .m50-promo-grid article > div:first-child { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.m58-why-section .m50-promo-grid h3 { font-size:21px; line-height:1.16; margin-bottom:9px; }
.m58-why-section .m50-promo-grid p { font-size:13px; line-height:1.48; margin-bottom:5px; }
.m58-why-section .m50-promo-grid ul { margin:5px 0 12px; font-size:12px; line-height:1.65; }
.m58-why-section .m50-promo-grid li:first-letter { color:#0ca36b; }
.m58-why-section .m50-promo-grid .m50-btn { min-height:42px; padding:10px 18px; margin-top:auto; font-size:13px; border-radius:7px; }
.m58-why-section .m50-promo-grid article.green { background:linear-gradient(120deg,#f1fffa,#e9fff8); }
.m58-why-section .m50-promo-grid article.blue { background:linear-gradient(120deg,#f2f9ff,#e8f5ff); }
.m58-why-section .m50-promo-grid article.purple { background:linear-gradient(120deg,#f8f9ff,#f2f2ff); }
.m58-why-section .m50-promo-grid .m58-pricing-art { width:100%; height:204px; align-self:end; justify-self:end; object-fit:contain!important; object-position:bottom right; margin:0 -10px -12px 0; }
.m58-owner-art,.m58-support-art { position:relative; width:100%; height:100%; min-height:230px; display:flex; align-items:center; justify-content:center; }
.m58-why-section .m50-promo-grid .m58-owner-art img { width:160px; height:160px; object-fit:contain!important; border-radius:50%; border:5px solid #fff; background:#eaf4ff; box-shadow:0 7px 25px rgba(24,70,101,.10); align-self:center; }
.m58-owner-art span { position:absolute; right:-15px; bottom:-12px; width:96px; padding:8px 4px; background:#fff; border-radius:13px; box-shadow:0 8px 20px rgba(19,45,83,.10); font-family:'Segoe Print','Bradley Hand',cursive; color:#132e71; font-size:11px; line-height:1.08; font-weight:600; transform:rotate(-8deg); text-align:center; }
.m58-why-section .m50-promo-grid .m58-support-art img { width:165px; height:165px; object-fit:contain!important; align-self:center; }
.m58-support-art span { position:absolute; bottom:0; right:0; color:#087cf6; font-family:'Segoe Print','Bradley Hand',cursive; text-align:center; transform:rotate(-8deg); font-size:16px; line-height:1.05; }
.m58-why-section .m50-wide-cta { min-height:115px; grid-template-columns:195px minmax(0,1fr) auto 120px; gap:16px; padding:8px 18px; }
.m58-why-section .m50-wide-cta > img { height:96px; width:100%; object-fit:contain!important; }
.m58-why-section .m50-wide-cta h3 { font-size:19px; }
.m58-why-section .m50-wide-cta p { font-size:12px; }
.m58-why-section .m50-wide-cta > span { font-size:16px; }
@media (min-width:1001px) and (max-width:1210px) { .m58-why-section .m50-split-head { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:20px; } .m58-why-section .m50-split-head h2 { font-size:clamp(25px,2.5vw,30px); } }
@media (max-width:1000px) {
  .m58-why-section .m50-promo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .m58-why-section .m50-promo-grid article { min-height:275px; }
  .m58-why-section .m50-promo-grid article.purple { grid-column:1/-1; }
  .m58-why-section .m50-wide-cta { grid-template-columns:160px minmax(0,1fr) auto; }
}
@media (max-width:700px) {
  .m58-why-section .m50-split-head h2 { font-size:clamp(27px,6vw,34px); }
  .m58-why-section .m50-split-head > p { padding-top:8px; }
  .m58-why-section .m50-promo-grid { grid-template-columns:1fr; }
  .m58-why-section .m50-promo-grid article.purple { grid-column:auto; }
  .m58-why-section .m50-feature-grid article { min-height:0; }
  .m58-why-section .m50-wide-cta { grid-template-columns:1fr; text-align:center; gap:12px; padding:18px; }
  .m58-why-section .m50-wide-cta > img { height:100px; }
  .m58-why-section .m50-wide-cta > span { display:block; }
}

/* Public marketing typography: readable text starts at 14px. Illustration
   annotations and the text composed inside promotional banners keep their
   designed sizes. This stylesheet is loaded after the original page styles. */
body.marketing-page .m50-page .m50-section .m50-kicker,
body.marketing-page .m50-page .m50-pill,
body.marketing-page .m50-page .m50-location,
body.marketing-page .m50-page .m50-business-card p,
body.marketing-page .m50-page .m50-business-card > strong,
body.marketing-page .m50-page .m50-category-grid a,
body.marketing-page .m50-page .m50-feature-grid p,
body.marketing-page .m50-page .m50-searchbar input,
body.marketing-page .m50-page .m50-searchbar select,
body.marketing-page .m50-page .m50-directory-actions a,
body.marketing-page .m50-page .m50-filter-pills span,
body.marketing-page .m50-page .m50-billing-toggle span,
body.marketing-page .m50-page .m50-billing-toggle b,
body.marketing-page .m50-page .m50-plan-badge,
body.marketing-page .m50-page .m50-plan-card > p,
body.marketing-page .m50-page .m50-price small,
body.marketing-page .m50-page .m50-plan-card ul,
body.marketing-page .m50-page .m50-compare,
body.marketing-page .m50-page .m50-core-card ul,
body.marketing-page .m50-page .m50-stage-grid p,
body.marketing-page .m50-page .m50-faq-columns summary,
body.marketing-page .m50-page .m50-faq-list summary,
body.marketing-page .m50-page .m50-faq-columns details p,
body.marketing-page .m50-page .m50-faq-list details p,
body.marketing-page .m50-page .m50-impact-row strong,
body.marketing-page .m50-page .m50-impact-row small,
body.marketing-page .m50-page .m50-audience-grid p,
body.marketing-page .m50-page .m50-audience-grid ul,
body.marketing-page .m50-page .m50-mission > div p,
body.marketing-page .m50-page .m50-mission aside p,
body.marketing-page .m50-page .m50-contact-points span,
body.marketing-page .m50-page .m50-contact-form > p,
body.marketing-page .m50-page .m50-contact-form label,
body.marketing-page .m50-page .m50-contact-form input,
body.marketing-page .m50-page .m50-contact-form select,
body.marketing-page .m50-page .m50-contact-form textarea,
body.marketing-page .m50-page .m50-contact-form small,
body.marketing-page .m50-page .m50-contact-grid p,
body.marketing-page .m50-page .m50-contact-grid a,
body.marketing-page .m50-page .m50-contact-grid > article > span,
body.marketing-page .m50-page .m50-question-card p,
body.marketing-page .m50-footer-brand p,
body.marketing-page .m50-footer-col h4,
body.marketing-page .m50-footer-col > a,
body.marketing-page .m50-footer-bottom,
body.marketing-page .m50-footer-bottom small,
body.marketing-page .site-header .nav-actions .btn {
  font-size:14px;
}
body.marketing-page .m50-footer-col a { line-height:1.75; }
body.marketing-page .m50-footer-col h4 { margin-bottom:10px; }
body.marketing-page .m50-footer-social a { font-size:0!important; }
@media (max-width:620px) {
  body.marketing-page .m50-page .m50-section .m50-btn,
  body.marketing-page .m50-page .m50-business-card p,
  body.marketing-page .m50-page .m50-location,
  body.marketing-page .m50-page .m50-business-card > strong,
  body.marketing-page .site-header .nav-actions .btn { font-size:14px; }
  body.marketing-page .m50-page .m50-wide-cta .m50-btn,
  body.marketing-page .m50-page .m50-contact-cta .m50-btn { font-size:12px; }
  body.marketing-page .m50-footer-col a { overflow-wrap:anywhere; }
}

/* Subscription cards and interactive billing period. */
body.marketing-page .m50-billing-toggle { gap:3px; flex-wrap:wrap; }
body.marketing-page .m50-billing-toggle button { appearance:none; border:0; border-radius:999px; background:transparent; padding:10px 16px; color:#465f8b; font:inherit; font-size:14px; cursor:pointer; }
body.marketing-page .m50-billing-toggle button[aria-pressed="true"] { background:#087cf6; color:#fff; font-weight:600; }
body.marketing-page .m50-billing-toggle b { font-size:14px; white-space:nowrap; }
body.marketing-page .m50-plan-grid { align-items:stretch; }
body.marketing-page .m50-plan-card { min-width:0; min-height:520px; text-align:left; padding:24px 17px 17px; border-radius:12px; }
body.marketing-page .m50-plan-card .m50-plan-icon { margin:2px auto 10px; }
body.marketing-page .m50-plan-card h3,body.marketing-page .m50-plan-card .m61-plan-stage,body.marketing-page .m50-plan-card .m61-plan-desc,body.marketing-page .m50-plan-card .m50-price,body.marketing-page .m50-plan-card .m61-annual-note { text-align:center; }
body.marketing-page .m50-plan-card h3 { font-size:23px; }
body.marketing-page .m50-plan-card .m61-plan-stage { color:#0a9b67; font-size:14px; font-weight:600; margin:5px 0 7px; min-height:0; }
body.marketing-page .m50-plan-card .m61-plan-desc { font-size:14px; line-height:1.4; min-height:58px; }
body.marketing-page .m50-plan-card .m50-price { font-size:27px; margin:14px 0 2px; white-space:nowrap; }
body.marketing-page .m50-plan-card .m50-price small { font-size:14px; white-space:normal; }
body.marketing-page .m50-plan-card .m61-annual-note { font-size:14px; color:#0b9e67; min-height:22px; margin:2px 0 12px; }
body.marketing-page .m50-plan-card .m61-plan-features { font-size:14px; line-height:1.55; margin:0 0 18px; }
body.marketing-page .m50-plan-card .m61-plan-features li { padding:3px 0; }
body.marketing-page .m50-plan-card .m50-btn { font-size:14px; }
body.marketing-page .m50-compare td:first-child { white-space:nowrap; }
@media(max-width:1000px) {body.marketing-page .m50-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:620px) {body.marketing-page .m50-plan-grid { grid-template-columns:1fr; }body.marketing-page .m50-plan-card { min-height:0; }body.marketing-page .m50-billing-toggle { max-width:100%; }}
