/* Marshall Made Plans — pattern layer. Classes mirror the components 1:1. */
.mmp-page{background:var(--surface-ground);color:var(--text-body);font-family:var(--font-ui);font-size:var(--size-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
.mmp-container{width:100%;max-width:calc(var(--container) + var(--rail) * 2);margin:0 auto;padding-inline:var(--rail);box-sizing:border-box}
.mmp-measure{max-width:var(--measure)}
.mmp-section{padding-block:var(--section-default)}
.mmp-section--tight{padding-block:var(--section-tight)}
.mmp-section--anchor{padding-block:var(--section-anchor)}
.mmp-h1{font-family:var(--font-display);font-weight:var(--weight-h1);font-size:var(--size-h1);line-height:var(--lh-h1);letter-spacing:var(--track-h1);color:var(--text-heading);margin:0}
.mmp-h2{font-family:var(--font-display);font-weight:var(--weight-h2);font-size:var(--size-h2);line-height:var(--lh-h2);letter-spacing:var(--track-h2);color:var(--text-heading);margin:0}
.mmp-h3{font-family:var(--font-display);font-weight:var(--weight-h3);font-size:var(--size-h3);line-height:var(--lh-h3);color:var(--text-heading);margin:0}
.mmp-eyebrow{font-family:var(--font-ui);font-weight:var(--weight-eyebrow);font-size:var(--size-eyebrow);line-height:var(--lh-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--text-eyebrow);margin:0}
.mmp-body-lg{font-size:var(--size-body-large);line-height:var(--lh-body-large);margin:0}
.mmp-body{font-size:var(--size-body);line-height:var(--lh-body);margin:0}
.mmp-small{font-size:var(--size-small);font-weight:var(--weight-small);line-height:var(--lh-small);color:var(--text-muted);margin:0}
.mmp-numeral{font-family:var(--font-display);font-weight:var(--weight-numeral);font-size:var(--size-numeral);line-height:var(--lh-numeral);color:var(--numeral)}
.mmp-lead{font-size:var(--size-body-large);line-height:var(--lh-body-large);font-weight:500;color:var(--text-heading);margin:0}
/* signature element — one line, two lengths, two colours */
.mmp-rule{display:block;width:var(--rule-length);height:var(--rule-weight);background:var(--rule-signature);border:0;margin:var(--rule-gap) 0 0}
.mmp-divider{display:block;width:100%;height:var(--rule-weight);border:0;margin:0;background:linear-gradient(to right,var(--rule-signature) 0 var(--rule-length),var(--rule-divider) var(--rule-length))}
.mmp-marker{font-family:var(--font-display);font-weight:300;font-size:var(--size-marker);line-height:var(--lh-h2);color:var(--gold);margin:0}
.mmp-marker-row{display:grid;grid-template-columns:var(--marker-column) minmax(0,1fr);column-gap:var(--gutter)}
@media (max-width:767px){.mmp-marker-row{grid-template-columns:minmax(0,1fr);row-gap:var(--space-16)}}
/* on charcoal */
.mmp-on-anchor{background:var(--surface-anchor);color:var(--text-on-anchor)}
.mmp-on-anchor .mmp-h1,.mmp-on-anchor .mmp-h2,.mmp-on-anchor .mmp-h3,.mmp-on-anchor .mmp-lead{color:var(--text-on-anchor)}
.mmp-on-anchor .mmp-eyebrow,.mmp-on-anchor .mmp-marker{color:var(--accent-on-anchor)}
.mmp-on-anchor .mmp-small{color:var(--text-on-anchor-muted)}
.mmp-on-anchor .mmp-rule{background:var(--rule-signature-on-anchor)}
.mmp-on-anchor .mmp-divider{background:linear-gradient(to right,var(--rule-signature-on-anchor) 0 var(--rule-length),rgba(232,213,174,.24) var(--rule-length))}
/* buttons */
.mmp-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--button-height);padding:var(--button-padding);border:1px solid transparent;border-radius:var(--radius-button);font-family:var(--font-ui);font-weight:var(--weight-button);font-size:var(--size-button);letter-spacing:var(--track-button);line-height:18px;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--dur-hover) ease,border-color var(--dur-hover) ease,color var(--dur-hover) ease}
.mmp-btn:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}
.mmp-btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}
.mmp-btn--primary:hover{background:var(--btn-primary-bg-hover)}
.mmp-btn--secondary{background:transparent;border-color:var(--border-button);color:var(--text-heading)}
.mmp-btn--secondary:hover{border-color:var(--ink)}
.mmp-on-anchor .mmp-btn--secondary{border-color:rgba(232,213,174,.5);color:var(--text-on-anchor)}
.mmp-on-anchor .mmp-btn--secondary:hover{border-color:var(--gold-light)}
/* links */
.mmp-page p a,.mmp-page li a,.mmp-page td a,.mmp-page dd a,.mmp-link{color:var(--text-heading);text-decoration:underline;text-decoration-color:var(--link-underline);text-decoration-thickness:1px;text-underline-offset:4px;transition:color var(--dur-hover) ease,text-decoration-color var(--dur-hover) ease}
.mmp-page p a:hover,.mmp-page li a:hover,.mmp-page td a:hover,.mmp-page dd a:hover,.mmp-link:hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}
.mmp-page a:focus-visible,.mmp-link:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}
.mmp-on-anchor p a,.mmp-on-anchor li a,.mmp-on-anchor .mmp-link{color:var(--text-on-anchor);text-decoration-color:var(--gold-light)}
.mmp-on-anchor p a:hover,.mmp-on-anchor li a:hover,.mmp-on-anchor .mmp-link:hover{color:var(--gold-light)}
a.mmp-btn,a.mmp-btn:hover{text-decoration:none}
a.mmp-btn--primary,a.mmp-btn--primary:hover{color:var(--btn-primary-text)}
a.mmp-btn--secondary,a.mmp-btn--secondary:hover{color:var(--text-heading)}
.mmp-on-anchor a.mmp-btn--secondary,.mmp-on-anchor a.mmp-btn--secondary:hover{color:var(--text-on-anchor)}
/* card */
.mmp-card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-flat);padding:var(--space-40);box-shadow:none;transition:border-color var(--dur-hover) ease}
.mmp-card:hover{border-color:var(--border-card-hover)}
/* form field */
.mmp-field-group{display:flex;flex-direction:column;gap:var(--space-8)}
.mmp-field-label{font-family:var(--font-ui);font-weight:var(--weight-eyebrow);font-size:var(--size-eyebrow);line-height:var(--lh-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--text-eyebrow)}
.mmp-field{box-sizing:border-box;width:100%;height:var(--field-height);padding:0 var(--field-padding-x);background:var(--white);border:1px solid var(--border-field);border-radius:var(--radius-flat);font-family:var(--font-ui);font-weight:400;font-size:17px;color:var(--text-heading);transition:border-color var(--dur-hover) ease}
.mmp-field::placeholder{color:var(--text-muted)}
.mmp-field:focus{outline:none;border:2px solid var(--focus-ring);padding:0 calc(var(--field-padding-x) - 1px);box-shadow:none}
.mmp-field-help{font-size:var(--size-small);font-weight:var(--weight-small);line-height:var(--lh-small);color:var(--text-muted)}
/* motion */
.mmp-reveal{opacity:0;transform:translateY(var(--reveal-rise));transition:opacity var(--dur-reveal) var(--ease-reveal),transform var(--dur-reveal) var(--ease-reveal)}
.mmp-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.mmp-reveal{opacity:1;transform:none;transition:none}.mmp-btn,.mmp-card,.mmp-field,.mmp-link{transition:none}}
/* header — SiteHeader responsive switch */
@media (max-width:767px){.mmp-header-nav{display:none !important}.mmp-header-burger{display:flex !important}}
