/* Editorial layout for imported pages and service pages. */
.ms-page { background: var(--ms-ivory); color: #242923; }
/* About: scoped editorial layout; shared spacing and card tokens. */
.ms-about .ms-page-hero { background: #111; border-bottom: 0; }
.ms-about .ms-page-hero-inner { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(32px, 5vw, 72px); padding-block: clamp(40px, 6vw, 80px); }
.ms-about .ms-about-intro h1 { font-size: clamp(34px, 4vw, 54px); line-height: 1.14; letter-spacing: -.025em; }
.ms-about .ms-page-deck { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.65; }
.ms-about-hero-link { display: inline-flex; gap: 14px; margin-top: 28px; color: #fff; font-weight: 700; text-underline-offset: 6px; }
.ms-about-hero-link:hover { color: var(--ms-lime); }
.ms-about-portrait { min-width: 0; margin: 0; }
.ms-about-portrait img { display: block; width: 100%; height: auto; border-radius: var(--ms-card-radius, 16px); background: #fff; }
.ms-about-portrait figcaption { margin-top: 14px; color: #c9c9c3; font-size: 14px; line-height: 1.5; }
.ms-about .ms-page-shell { width: min(100%, 1120px); padding: 0; background: transparent; border: 0; box-shadow: none; }
.ms-about .ms-page-content { max-width: none; }
.ms-about .ms-page-toc { max-width: none; background: #fff; border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); margin-bottom: 40px; }
.ms-about .ms-page-content .ms-about-section { margin: 0 0 clamp(32px, 5vw, 60px); padding: clamp(24px, 4vw, 48px); background: #fff; border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); box-shadow: var(--ms-card-shadow); }
.ms-about .ms-page-content .ms-about-section h2 { max-width: 820px; margin: 0 0 24px; padding: 0; border: 0; font-size: clamp(28px, 3vw, 38px); line-height: 1.25; scroll-margin-top: 110px; }
.ms-about .ms-page-content .ms-about-section > p { max-width: 760px; margin: 0 0 1.2em; }
.ms-about .ms-page-content .ms-about-section > :last-child { margin-bottom: 0; }
.ms-about .ms-about-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ms-card-gap, 28px); margin-top: 30px; }
.ms-about .ms-about-card { min-width: 0; padding: var(--ms-card-padding, 28px); border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); background: var(--ms-ivory); }
.ms-about .ms-page-content .ms-about-card h3 { margin: 0 0 14px; padding: 0; border: 0; font-size: 23px; line-height: 1.3; }
.ms-about .ms-about-card p { margin: 0 0 1em; font-size: 17px; line-height: 1.7; }
.ms-about .ms-about-card p:last-child { margin-bottom: 0; }
.ms-about .ms-about-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ms-card-gap, 28px); margin: 0 0 40px; }
.ms-about .ms-about-stat { padding: var(--ms-card-padding, 28px); border-radius: var(--ms-card-radius); border: 1px solid var(--ms-card-border); background: #fff; }
.ms-about .ms-about-stat strong { display: block; font-size: clamp(32px, 4vw, 48px); line-height: 1.15; color: #242923; margin-bottom: 12px; }
.ms-about .ms-about-stat span { display: block; font-size: 16px; line-height: 1.5; color: #50534c; }
.ms-about .ms-about-actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 28px; }
.ms-about .ms-page-content a.ms-about-button { display: inline-block; padding: 14px 22px; border-radius: 10px; color: #17220a; background: var(--ms-lime); font-weight: 700; text-decoration: none; }
.ms-about .ms-page-content a.ms-about-button:hover { background: #d4ff7b; }
.ms-about a:focus-visible { outline: 3px solid #64822b; outline-offset: 5px; }
@media (max-width: 800px) {
  .ms-about .ms-page-hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .ms-about .ms-about-portrait { width: min(100%, 520px); }
  .ms-about .ms-about-grid { grid-template-columns: 1fr; }
  .ms-about .ms-about-stats { gap: 14px; }
  .ms-about .ms-about-stat { padding: 20px; }
}
@media (max-width: 520px) {
  .ms-about .ms-page-surface { padding-inline: 20px; }
  .ms-about .ms-about-stats { grid-template-columns: 1fr; }
  .ms-about .ms-about-stat { display: flex; align-items: center; gap: 20px; }
  .ms-about .ms-about-stat strong { flex: 0 0 76px; margin: 0; }
}
.ms-page-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; padding-block: 20px; color: #555f55; font: 700 12px/1.4 Arial, sans-serif; text-transform: uppercase; letter-spacing: .07em; }
.ms-page-breadcrumb a { text-decoration: none; }
.ms-page-breadcrumb a:hover { color: #174c2b; text-decoration: underline; }
.ms-page-hero { background: #0c100d; color: #fff; border-bottom: 4px solid #789373; }
.ms-page-hero-inner { padding-block: clamp(64px, 7vw, 100px); }
.ms-page-eyebrow { margin: 0 0 18px; color: var(--ms-lime); font: 800 12px/1.4 Arial, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.ms-page-hero h1 { max-width: 1000px; margin: 0; font: 800 clamp(44px, 5.3vw, 74px)/1.06 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: -.04em; overflow-wrap: break-word; }
.ms-page-deck { max-width: 780px; margin: 25px 0 0; color: #e0e6de; font: 400 clamp(18px, 2vw, 22px)/1.55 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.ms-page-hero-cta { margin-top: 32px; }
.ms-page-surface { padding: clamp(30px, 5vw, 70px) 24px 90px; }
.ms-page-shell { width: min(100%, 1040px); margin-inline: auto; padding: clamp(28px, 5vw, 72px); background: #fff; border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); box-shadow: var(--ms-card-shadow); }
.ms-page-toc[hidden] { display: none; }
.ms-page-toc { max-width: 790px; margin: 0 0 46px; border: 1px solid #dce6d9; border-left: 4px solid #51745b; background: #f4f7f2; }
.ms-page-toc summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 19px 22px; list-style: none; cursor: pointer; }
.ms-page-toc summary::-webkit-details-marker { display: none; }
.ms-page-toc summary span { font: 750 16px/1.3 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.ms-page-toc summary small { color: #3d6347; font: 700 11px/1.3 Arial, sans-serif; text-transform: uppercase; white-space: nowrap; }
.ms-page-toc summary:focus-visible { outline: 3px solid #51745b; outline-offset: 2px; }
.ms-page-toc nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; padding: 0 22px 18px; }
.ms-page-toc nav a { display: block; padding: 11px 0; border-top: 1px solid #dce6d9; color: #31543a; font: 600 13px/1.45 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; text-decoration: none; }
.ms-page-toc nav a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ms-page-content { max-width: 790px; color: #2c322d; font: 400 18px/1.76 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; overflow-wrap: break-word; }
.ms-page-content > :first-child { margin-top: 0; }
.ms-page-content p { margin: 0 0 1.35em; }
.ms-page-content > p:first-of-type { color: #222923; font-size: 1.06em; }
.ms-page-content h2, .ms-page-content h3, .ms-page-content h4 { color: #1d2920; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; text-transform: none; letter-spacing: -.025em; scroll-margin-top: 28px; }
.ms-page-content h2 { margin: 2.2em 0 .68em; padding-top: .65em; border-top: 1px solid #d9e0d8; font-size: clamp(30px, 3.3vw, 38px); font-weight: 760; line-height: 1.18; }
.ms-page-content h3 { margin: 1.8em 0 .58em; padding-left: 14px; border-left: 3px solid #789373; font-size: clamp(23px, 2.5vw, 28px); font-weight: 720; line-height: 1.25; }
.ms-page-content h4 { margin: 1.5em 0 .5em; font-size: 21px; line-height: 1.3; }
.ms-page-content a { color: #275d3b; text-decoration-color: #799b80; text-underline-offset: 3px; }
.ms-page-content a:hover { color: #153d25; background: #eaf2e8; }
.ms-page-content ul, .ms-page-content ol { margin: 24px 0 34px; padding: 22px 28px 22px 50px; border-left: 3px solid #8ba78a; background: #f5f7f4; }
.ms-page-content li { padding-left: 5px; margin: .5em 0; }
.ms-page-content li::marker { color: #41674b; font-weight: 700; }
.ms-page-content blockquote { margin: 38px 0; padding: 25px 30px; border-left: 4px solid #51745b; background: #f4f7f2; }
.ms-page-content blockquote p:last-child { margin-bottom: 0; }
.ms-page-content img { max-width: 100%; height: auto; }
.ms-page-content figure { margin: 38px 0; }
.ms-page-content figure img { display: block; margin-inline: auto; border-radius: 6px; }
.ms-page-content figcaption { margin-top: 10px; color: #667167; font-size: 13px; text-align: center; }
.ms-page-content table { display: block; width: 100%; margin: 32px 0; overflow-x: auto; border-collapse: collapse; font: 15px/1.5 Arial, sans-serif; }
.ms-page-content th { background: #17251b; color: #fff; text-align: left; }
.ms-page-content th, .ms-page-content td { min-width: 140px; padding: 14px 16px; border: 1px solid #d6dfd4; vertical-align: top; }
.ms-page-content tr:nth-child(even) td { background: #f5f7f4; }
.ms-page-content pre { padding: 20px; overflow-x: auto; background: #162118; color: #fff; font: 14px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; }
.ms-page-content hr { margin: 45px 0; border: 0; border-top: 1px solid #d9e0d8; }
.ms-course-lessons { margin-top: 50px; border-top: 1px solid #d9e0d8; }
.ms-course-lessons h2, .ms-seven-days-form h2 { color: #1d2920; font: 750 clamp(29px, 3vw, 38px)/1.2 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.ms-course-lessons ol { display: grid; gap: 10px; padding-left: 28px; }
.ms-course-lessons li { padding: 15px 18px; background: #f4f7f2; border-left: 3px solid #789373; }
.ms-course-lessons li a { color: #234f32; font-weight: 700; text-underline-offset: 3px; }
.ms-course-lessons li p { margin: 7px 0 0; color: #57645a; font-size: 14px; }
.ms-lesson-navigation { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 50px; padding-top: 24px; border-top: 1px solid #d9e0d8; }
.ms-lesson-navigation a { color: #235633; font-weight: 750; text-underline-offset: 3px; }
.ms-seven-days-form { margin-top: 50px; padding: clamp(22px, 4vw, 44px); border: 1px solid #d5e1d1; background: #f3f8f0; scroll-margin-top: 24px; }
.ms-seven-days-form p { color: #405044; line-height: 1.6; }
.ms-site-search-form label { display: block; margin-bottom: 13px; color: #1d2920; font-weight: 750; }
.ms-site-search-form > div { display: flex; gap: 10px; }
.ms-site-search-form input { flex: 1; min-width: 0; padding: 15px 18px; border: 1px solid #9ab49b; border-radius: 4px; font: inherit; }
.ms-site-search-form button { padding: 15px 24px; border: 0; border-radius: 4px; background: var(--ms-lime); color: #111; font-weight: 800; cursor: pointer; }
.ms-site-search-form button:hover { background: #d9ff7d; }
.ms-search-count { margin: 28px 0; color: #4d5d50; }
.ms-search-results { padding: 0; list-style: none; }
.ms-search-results li { padding: 22px 0; border-top: 1px solid #d9e0d8; }
.ms-search-results small { color: #53735a; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.ms-search-results h2 { margin: 8px 0; font-size: 25px; }
.ms-search-results h2 a { color: #203927; text-decoration: none; }
.ms-search-results h2 a:hover { text-decoration: underline; }
.ms-search-results p { margin: 0; color: #556359; }
.ms-lesson-block { margin: 28px 0; padding: 25px 28px; border: 1px solid #d5e2d3; border-left: 4px solid #7fa37c; background: #f5f8f3; }
.ms-lesson-block h3 { margin: 0 0 10px; padding: 0; border: 0; color: #203c28; font-size: 22px; }
.ms-lesson-block p { margin: 0; }
.ms-lesson-stat { background: #eaf7dc; border-left-color: #93bd34; }
.ms-lesson-cta { background: #15261b; border-color: #15261b; color: #fff; }
.ms-lesson-cta h3, .ms-lesson-cta p { color: #fff; }
.ms-lesson-cta a { display: inline-block; margin-top: 18px; padding: 12px 18px; background: var(--ms-lime); color: #142018; font-weight: 800; text-decoration: none; }
.ms-lesson-steps ol { margin: 12px 0 0; padding-left: 22px; }
.ms-lesson-steps li { margin: 9px 0; }
.ms-lesson-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ms-card-gap); margin: 30px 0; }
.ms-lesson-cards .ms-lesson-block { margin: 0; }
.ms-page-cta { padding: 68px 0; background: #142018; color: #fff; }
.ms-page-cta .ms-wrap { display: flex; justify-content: space-between; align-items: center; gap: 36px; }
.ms-page-cta h2 { margin: 0 0 12px; font: 800 clamp(32px, 4vw, 50px)/1.1 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: -.035em; }
.ms-page-cta p:not(.ms-page-eyebrow) { max-width: 680px; margin: 0; color: #dce6dd; font: 17px/1.6 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.ms-page-cta .ms-button { flex: none; }
.ms-services-index-section { padding-block: 74px 90px; }
.ms-services-index-section .ms-page-eyebrow { color: #477050; }
.ms-services-index-section h2 { margin: 0 0 30px; color: #17231a; font: 800 clamp(34px, 4vw, 52px)/1.12 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: -.035em; }
.ms-services-index-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ms-card-gap); }
.ms-services-strategies { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ms-services-index-section + .ms-services-index-section { padding-top: 0; }
.ms-services-index-card { display: flex; flex-direction: column; min-width: 0; min-height: 275px; padding: var(--ms-card-padding); border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); background: #fff; color: #1d2a20; box-shadow: var(--ms-card-shadow); text-decoration: none; transition: transform .2s, border-color .2s, box-shadow .2s; }
.ms-services-index-card:hover, .ms-services-index-card:focus-visible { transform: translateY(-4px); border-color: #708c73; box-shadow: 0 18px 34px #14200f17; }
.ms-services-index-card > span { color: #4a7654; font: 800 11px/1.4 Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.ms-services-index-card h3 { margin: 15px 0 12px; font: 800 26px/1.15 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: -.025em; }
.ms-services-index-card p { flex: 1; margin: 0 0 24px; color: #536056; font: 16px/1.55 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.ms-services-index-card .ms-offer-price { flex: none; margin: 0 0 12px; color: #172a1c; font: 800 25px/1.2 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: -.02em; }
.ms-offer-price small { color: #5d6a5f; font-size: 12px; font-weight: 600; letter-spacing: 0; }
.ms-services-index-card strong { color: #29593a; font: 800 12px/1.4 Arial, sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.ms-services-more { margin: 30px 0 0; font: 800 14px/1.5 Arial, sans-serif; }
.ms-services-more a { color: #2a613d; text-underline-offset: 4px; }
.ms-contact-section { padding-block: 72px 90px; }
.ms-contact-card { width: min(100%, 820px); margin-inline: auto; padding: clamp(30px, 5vw, 65px); border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); background: #fff; box-shadow: var(--ms-card-shadow); }
.ms-contact-card .ms-page-eyebrow { color: #477050; }
.ms-contact-card h2 { margin: 0 0 17px; color: #17231a; font: 800 clamp(34px, 4vw, 52px)/1.12 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: -.035em; }
.ms-contact-card p:not(.ms-page-eyebrow) { max-width: 610px; color: #4d5a50; font: 17px/1.65 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.ms-contact-card a:not(.ms-button) { color: #275d3b; text-underline-offset: 3px; }
.ms-contact-form { display: grid; gap: 22px; margin-top: 32px; }
.ms-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ms-contact-form label { display: block; color: #26362a; font: 700 14px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.ms-contact-form .ms-required { color: #b14e3f; }
.ms-contact-form label small { color: #667167; font-size: 12px; font-weight: 400; }
.ms-contact-form input:not([type='checkbox']), .ms-contact-form textarea { display: block; width: 100%; margin-top: 8px; padding: 14px 15px; border: 1px solid #bdcabc; border-radius: 8px; background: #fbfcfa; color: #18241b; font: 16px/1.4 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.ms-contact-form textarea { min-height: 150px; resize: vertical; }
.ms-contact-form input:focus, .ms-contact-form textarea:focus { outline: 3px solid #b4d4ab; outline-offset: 2px; }
.ms-contact-form .ms-contact-consent { display: flex; align-items: flex-start; gap: 12px; font-weight: 500; }
.ms-contact-consent input { flex: none; width: 18px; height: 18px; margin-top: 3px; accent-color: #4c7a53; }
.ms-contact-consent span { color: #405044; }
.ms-contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ms-contact-form .ms-button { justify-self: start; }
.ms-contact-notice { padding: 16px 18px; border-left: 4px solid; font-size: 15px !important; }
.ms-contact-notice-success { border-color: #4b8758; background: #eef7ed; }
.ms-contact-notice-error { border-color: #a65044; background: #fff2ef; }
.ms-contact-alternative { margin-top: 28px; font-size: 14px !important; }
.ms-contact-dialog[hidden] { display: none; }
.ms-contact-dialog { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
.ms-contact-dialog-backdrop { position: absolute; inset: 0; background: #07100bd9; }
.ms-contact-dialog-panel { position: relative; width: min(100%, 720px); max-height: min(90vh, 900px); overflow-y: auto; padding: clamp(25px, 4vw, 45px); }
.ms-contact-dialog-panel h2 { padding-right: 40px; }
.ms-contact-dialog-panel .ms-contact-form { margin-top: 20px; gap: 16px; }
.ms-contact-dialog-panel .ms-contact-fields { gap: 16px; }
.ms-contact-dialog-panel .ms-contact-form textarea { min-height: 105px; }
.ms-contact-dialog-close { position: absolute; top: 15px; right: 18px; border: 0; background: transparent; color: #17231a; font-size: 32px; line-height: 1; cursor: pointer; }
.ms-contact-dialog-open { overflow: hidden; }
.ms-prices-explainer { padding-bottom: 90px; }
.ms-prices-explainer h2 { margin: 0 0 25px; color: #17231a; font: 800 clamp(32px, 4vw, 48px)/1.13 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: -.035em; }
.ms-prices-explainer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ms-card-gap); }
.ms-prices-explainer-grid > div { padding: var(--ms-card-padding); border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); background: #fff; box-shadow: var(--ms-card-shadow); }
.ms-prices-explainer-grid h3 { margin: 0 0 10px; color: #1b2b1f; font: 750 22px/1.2 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.ms-prices-explainer-grid p { margin: 0; color: #536056; font: 16px/1.55 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
@media (max-width: 950px) { .ms-services-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .ms-page-hero-inner { padding-block: 54px 62px; }
  .ms-page-hero h1 { font-size: clamp(38px, 9vw, 52px); }
  .ms-page-deck { font-size: 18px; }
  .ms-page-surface { padding: 26px 15px 56px; }
  .ms-page-shell { padding: 28px 23px; box-shadow: none; }
  .ms-page-toc { margin-bottom: 30px; }
  .ms-page-toc nav { grid-template-columns: 1fr; }
  .ms-page-content { font-size: 17px; line-height: 1.72; }
  .ms-page-content ul, .ms-page-content ol { padding: 18px 18px 18px 35px; }
  .ms-page-cta { padding: 52px 0; }
  .ms-page-cta .ms-wrap { align-items: flex-start; flex-direction: column; }
  .ms-services-index-section { padding-block: 54px 65px; }
  .ms-services-index-grid { grid-template-columns: 1fr; }
  .ms-services-index-card { min-height: 0; }
  .ms-contact-section { padding-block: 45px 65px; }
  .ms-contact-fields { grid-template-columns: 1fr; }
  .ms-prices-explainer { padding-bottom: 65px; }
  .ms-prices-explainer-grid { grid-template-columns: 1fr; }
  .ms-lesson-cards { grid-template-columns: 1fr; }
}
