/* Shared public-site design. Deliberately scoped away from the member UI. */
.public-body {
  --accent:#245747; --accent-hover:#193f33; --accent-soft:#e8ede6;
  --bg-page:#f7f4ed; --bg-card:#fff; --ink-1:#242824; --ink-2:#59615b;
  --ink-3:#667063; --line:#deded4; --font-ui:Inter,Arial,sans-serif;
  background:#f7f4ed; color:#242824; font-family:Inter,Arial,sans-serif;
  line-height:1.65; color-scheme:light;
}
.public-body * { box-sizing:border-box; }
.public-body .marketing-shell { background:transparent; }
.public-body h1,.public-body h2,.public-body h3 { color:#242824; }
.public-body :is(.m-section-title,.blog-title,.legal-title,.m-contact-title,.registration-title) {
  font:400 clamp(36px,4.2vw,56px)/1.1 Georgia,serif; letter-spacing:-.045em;
  margin:0 0 22px; text-wrap:balance;
}
.public-body :is(.m-eyebrow,.blog-eyebrow) { font:500 11px/1.6 Inter,Arial,sans-serif; letter-spacing:2px; text-transform:uppercase; color:#806634; display:block; margin:0 0 18px; }
.public-body :is(.m-section-sub,.blog-sub,.m-contact-sub) { font:400 16px/1.8 Inter,Arial,sans-serif; color:#59615b; max-width:640px; margin:0; }
.public-body .btn { border-radius:5px; font-family:Inter,Arial,sans-serif; font-size:13px; padding:12px 19px; min-height:44px; box-shadow:none; }
.public-body .btn-primary { background:#245747; border:1px solid #245747; color:#fff; }
.public-body .btn-primary:hover { background:#193f33; border-color:#193f33; }
.public-body :focus-visible { outline:3px solid #96752e; outline-offset:4px; }
.public-body :is(input,textarea,select) { font-family:Inter,Arial,sans-serif; }
.public-body :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { background:#fff; border:1px solid #b5bdb2; border-radius:5px; color:#242824; font-size:16px; padding:12px; }
.public-body .field-label { color:#242824; font-size:13px; font-weight:500; }
.public-body :is(.field-help,.m-contact-fineprint,.auth-trust-line,.auth-plan-note) { color:#59615b; font-family:Inter,Arial,sans-serif; line-height:1.7; }
.public-body :is(.auth-trust-line,.auth-plan-note) a { color:#245747; text-decoration:underline; }
.public-body main { min-width:0; }
.public-body .m-nav { background:#f7f4ed; border-bottom:1px solid #deded4; backdrop-filter:none; position:relative; box-shadow:none; }
.public-body .m-nav-inner { max-width:1288px; padding:22px 32px; min-height:83px; gap:25px; }
.public-body .m-brand { gap:10px; }
.public-body .m-brand-name { font:400 26px/1.2 Georgia,serif; letter-spacing:-1px; color:#242824; }
.public-body .public-brand-mark { display:grid; place-items:center; width:31px; height:35px; border-radius:5px 5px 13px 5px; background:#245747; color:#fff; font:italic 23px Georgia,serif; text-transform:lowercase; }
.public-body .m-nav-links { gap:24px; }
.public-body .m-nav-links>a { color:#424b43; font:400 13px/1.6 Inter,Arial,sans-serif; }
.public-body .m-nav-links>a.is-active { color:#245747; text-decoration:underline; text-underline-offset:7px; }
.public-body .m-nav-links>a.btn-primary { color:#fff; font-weight:500; padding:10px 16px; }
.public-body .m-nav-toggle { color:#245747; border-color:#cbd2c6; flex-direction:column; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.public-body .m-foot { background:#eeeee5; border-top:1px solid #deded4; color:#59615b; padding:48px 32px 26px; margin-top:0; }
.public-body .m-foot-inner { max-width:1160px; gap:32px; }
.public-body .m-foot-col h2 { font:500 11px/1.6 Inter,Arial,sans-serif; letter-spacing:1.5px; color:#806634; }
.public-body .m-foot-col a { color:#424b43; font:400 13px/1.7 Inter,Arial,sans-serif; }
.public-body .m-foot-tagline { font:400 13px/1.8 Inter,Arial,sans-serif; color:#59615b; }
.public-body .m-foot-fineprint { color:#59615b; font:400 11px/1.7 Inter,Arial,sans-serif; }
.public-body :is(.blog-main,.m-tools-main,.mk-new-main) { width:calc(100% - 64px); max-width:1160px; padding:64px 0 80px; margin:0 auto; }
.public-body :is(.blog-head,.m-tools-main>.m-section-head,.mk-new-main>.m-section-head) { text-align:left; margin-bottom:44px; padding-top:0!important; max-width:none; }
.public-body .blog-taglist { justify-content:flex-start; gap:9px; margin-top:26px; }
.public-body .blog-tag-link { border-radius:5px; padding:7px 11px; background:transparent; color:#59615b; border-color:#ccd2c7; font-size:12px; }
.public-body .blog-tag-link.is-active { background:#245747; border-color:#245747; color:#fff; }
.public-body .blog-tag-more { color:#245747; }
.public-body .blog-hero { border:1px solid #deded4; border-radius:8px; background:#fff; box-shadow:none; margin-bottom:30px; overflow:hidden; }
.public-body .blog-hero-link { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.public-body .blog-hero-link:not(:has(.blog-hero-image)) { grid-template-columns:1fr; }
.public-body .blog-hero-image { aspect-ratio:4/3; min-height:0; }
.public-body .blog-hero-image img { width:100%; height:100%; object-fit:cover; }
.public-body .blog-hero-meta { padding:36px; display:flex; flex-direction:column; justify-content:center; }
.public-body .blog-hero-title { font:400 clamp(28px,3vw,39px)/1.16 Georgia,serif; letter-spacing:-.035em; margin:15px 0; }
.public-body .blog-hero-excerpt { color:#59615b; font:400 15px/1.8 Inter,Arial,sans-serif; }
.public-body .blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.public-body .blog-card { border-radius:7px; border:1px solid #deded4; background:#fff; box-shadow:none; overflow:hidden; }
.public-body .blog-card:hover { transform:none; border-color:#9cae9b; box-shadow:0 8px 22px #243c2410; }
.public-body .blog-card-image { aspect-ratio:16/10; }
.public-body .blog-card-image img { width:100%; height:100%; object-fit:cover; }
.public-body .blog-card-body { padding:25px; }
.public-body .blog-card-title { font:400 25px/1.25 Georgia,serif; letter-spacing:-.03em; }
.public-body .blog-card-excerpt { font:400 13px/1.8 Inter,Arial,sans-serif; color:#59615b; }
.public-body .blog-card-tag { border-radius:3px; background:#e8ede6; color:#245747; font:500 10px/1.6 Inter,Arial,sans-serif; }
.public-body .blog-card-byline { color:#59615b; font:400 11px/1.7 Inter,Arial,sans-serif; }
.public-body .blog-pager { margin-top:35px; }
.public-body .article-main { background:transparent; }
.public-body .article-title { font-family:Georgia,serif; font-weight:400; letter-spacing:-.035em; }
.public-body .article-body { color:#343c34; }
.public-body .article-body a { color:#245747; }
.public-body .m-tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.public-body .m-tool-card { background:#fff; border:1px solid #deded4; border-radius:7px; padding:30px; box-shadow:none; min-width:0; display:flex; flex-direction:column; }
.public-body .m-tool-card:last-child:nth-child(odd) { grid-column:1/-1; }
.public-body .m-tool-card:hover { transform:none; border-color:#9cae9b; box-shadow:0 8px 22px #243c2410; }
.public-body .m-tool-card h2 { font:400 28px/1.2 Georgia,serif; letter-spacing:-.035em; }
.public-body .m-tool-card p { color:#59615b; font:400 14px/1.8 Inter,Arial,sans-serif; max-width:640px; }
.public-body .m-tool-card-go { color:#245747; margin-top:auto; padding-top:18px; font-size:13px; }
.public-body .m-tool-number { color:#806634; font:italic 20px Georgia,serif; margin-bottom:22px; }
.public-body .mk-new-list { gap:48px; }
.public-body .mk-new-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:38px; align-items:center; padding:32px 0 48px; border-bottom:1px solid #deded4; }
.public-body .mk-new-row:nth-child(even) .mk-new-media { order:0; }
.public-body .mk-new-media { background:#e8ede6; border:1px solid #d1d9ca; border-radius:8px; aspect-ratio:16/10; min-width:0; }
.public-body .mk-new-media>img { object-fit:contain; height:auto; width:100%; display:block; }
.public-body .mk-new-title { font:400 32px/1.18 Georgia,serif; letter-spacing:-.035em; }
.public-body :is(.mk-new-body,.mk-new-bullets) { color:#59615b; font:400 14px/1.8 Inter,Arial,sans-serif; }
.public-body .mk-badge-new { background:#e8ede6; color:#245747; border-color:#d1d9ca; }
.public-body .mk-new-date { color:#59615b; font-size:11px; }
.public-body .mk-new-more { color:#245747; }
.public-body .mk-new-cta { background:#e8ede6; border:1px solid #d1d9ca; border-radius:8px; padding:36px; margin-top:45px; }
.public-body .mk-new-cta-title { font:400 30px/1.25 Georgia,serif; color:#242824; }
.public-body .mk-new-cta-label { color:#59615b; }
.public-body .m-contact-main { padding:64px 32px 80px; }
.public-body .m-contact-wrap { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:55px; width:100%; max-width:1100px; margin:auto; }
.public-body .m-contact-head { padding-top:10px; margin:0; text-align:left; }
.public-body .m-contact-form { margin:0; padding:32px; background:#fff; border:1px solid #deded4; border-radius:8px; box-shadow:none; }
.public-body .m-contact-fields { min-width:0; }
.public-body .m-contact-form .field-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
.public-body .m-contact-wrap>.m-flash { grid-column:1/-1; }
.public-body .m-contact-wrap>.m-flash+.m-contact-form { grid-column:2; }
.public-body .m-contact-aside { margin-top:30px; padding-top:25px; border-top:1px solid #deded4; color:#59615b; font-size:13px; }
.public-body .m-contact-aside a { color:#245747; text-decoration:underline; }
.public-body .m-contact-actions { align-items:flex-start; flex-direction:column; gap:14px; }
.public-body .legal-main { padding:64px 32px 80px; }
.public-body .legal-doc { max-width:860px; margin:auto; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.public-body .legal-head { text-align:left; padding:0 0 35px; margin:0 0 34px; border-bottom:1px solid #deded4; }
.public-body .legal-title { font-size:clamp(36px,4.2vw,52px); }
.public-body .legal-meta { font:400 13px Inter,Arial,sans-serif; color:#59615b; }
.public-body .legal-prose { font:400 15px/1.9 Inter,Arial,sans-serif; color:#424b43; }
.public-body .legal-prose h2 { font:400 27px/1.3 Georgia,serif; letter-spacing:-.025em; margin:38px 0 15px; padding:0; border:0; }
.public-body .legal-prose h3 { font:500 18px/1.5 Inter,Arial,sans-serif; color:#242824; }
.public-body .legal-prose a,.public-body .legal-partner-link { color:#245747; overflow-wrap:anywhere; }
.public-body .legal-prose :is(h2,h3) { scroll-margin-top:24px; }
.public-body .legal-foot { border-top:1px solid #deded4; margin-top:36px; padding-top:24px; }
.public-body .registration-main { width:calc(100% - 64px); max-width:1050px; margin:auto; padding:64px 0 80px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:70px; }
.public-body .registration-intro { padding-top:35px; }
.public-body .registration-intro>p { color:#59615b; font-size:16px; }
.public-body .registration-benefits { list-style:none; padding:0; margin:30px 0; font-size:14px; color:#424b43; }
.public-body .registration-benefits li { margin:15px 0; }
.public-body .registration-benefits li::before { content:'✓'; color:#245747; margin-right:12px; }
.public-body .registration-note { border-top:1px solid #deded4; padding-top:23px; font-size:12px!important; }
.public-body .auth-card { width:100%; max-width:none; padding:32px; background:#fff; border:1px solid #deded4; border-radius:8px; box-shadow:0 10px 28px #243c2408; }
.public-body .auth-brand { text-align:left; margin-bottom:25px; }
.public-body .auth-brand h2 { font:400 29px/1.2 Georgia,serif; letter-spacing:-.03em; margin:0 0 10px; }
.public-body .auth-brand p { color:#59615b; font:400 13px/1.6 Inter,Arial,sans-serif; }
.public-body .auth-form { gap:18px; }
.public-body .auth-footer { font:400 13px/1.7 Inter,Arial,sans-serif; }
.public-body .auth-footer a { color:#245747; }
.public-body .field-reveal input { padding-right:46px!important; }
@media(max-width:900px) {
  .public-body .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-body .m-contact-wrap,.public-body .registration-main { gap:30px; }
  .public-body .m-contact-form,.public-body .auth-card { padding:24px; }
  .public-body .m-nav-links { gap:16px; }
}
@media(max-width:760px) {
  .public-body .m-nav-inner { padding:18px 22px; }
  .public-body .m-nav-links { background:#f7f4ed; border:1px solid #deded4; border-radius:0 0 7px 7px; padding:18px 22px; }
  .public-body :is(.blog-main,.m-tools-main,.mk-new-main,.registration-main) { width:calc(100% - 40px); padding:42px 0 55px; }
  .public-body .m-contact-main,.public-body .legal-main { padding:42px 20px 55px; }
  .public-body .blog-hero-link,.public-body .mk-new-row,.public-body .m-contact-wrap,.public-body .registration-main { grid-template-columns:1fr; }
  .public-body .blog-hero-image { aspect-ratio:16/9; }
  .public-body .blog-hero-meta { padding:26px; }
  .public-body .mk-new-row { gap:24px; padding-top:0; }
  .public-body .mk-new-copy { order:-1; }
  .public-body .m-contact-wrap>.m-flash+.m-contact-form { grid-column:1; }
  .public-body .registration-intro { padding-top:0; }
  .public-body .registration-main { gap:28px; }
  .public-body .m-foot { padding:35px 22px 24px; }
}
@media(max-width:500px) {
  .public-body .blog-grid,.public-body .m-tool-grid,.public-body .m-contact-form .field-row { grid-template-columns:1fr; }
  .public-body .m-tool-card { padding:25px; }
  .public-body .m-contact-form,.public-body .auth-card { padding:23px 20px; }
  .public-body .mk-new-cta { padding:26px 22px; }
}
