/*
Theme Name: Moon & Mars Vermicompost
Theme URI: https://moonandmarsvermicompost.com/
Author: Moon & Mars
Description: Custom classic theme for Moon & Mars Vermicompost. Bulk vermicompost manufacturer site with lead capture, Meta CAPI dedup, Google Sheet lead register and Rank Math compatible SEO.
Version: 1.1.0
Requires at least: 6.2
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: moonandmars
Tags: business, custom-menu, custom-logo, translation-ready
*/

/* =========================================================================
   1. TOKENS
   ========================================================================= */
:root{
  /* greens */
  --mm-green-900:#071309;
  --mm-green-850:#0B1A12;
  --mm-green-800:#0E2A1C;
  --mm-green-700:#14472F;
  --mm-green-600:#2A4738;
  --mm-green-500:#3A5A46;

  /* gold */
  --mm-gold:#B8894A;        /* accents, borders, fills, and any gold on dark */
  --mm-gold-light:#D9AE6A;
  /* Small gold TEXT on a light band fails WCAG AA at #B8894A (2.9:1).
     Same hue, darkened so it clears 4.5:1 against the darkest cream band.
     Deliberately taken past the threshold to about 4.85 rather than parked on
     4.53: these sections fade in, and a colour that only just passes when the
     fade has finished still fails while it is running.
     Used only for text; every gold fill, border and rule stays --mm-gold. */
  --mm-gold-text:#856335;

  /* neutrals */
  --mm-cream:#F8F5EF;
  --mm-cream-2:#F4F1E8;
  --mm-cream-3:#FBF9F4;
  --mm-white:#FFFFFF;
  --mm-line:#E2DCCF;
  --mm-line-2:#EFEADF;

  /* text */
  --mm-ink:#0E2A1C;
  --mm-body:#3A473F;
  --mm-body-2:#4A574F;
  --mm-muted:#616B64;
  --mm-muted-2:#616B64;
  --mm-muted-3:#606C64;
  --mm-on-dark:#C4D2C9;
  --mm-on-dark-2:#93A399;
  --mm-on-dark-3:#B9C7BE;

  /* error */
  --mm-err-text:#9B3B2F;
  --mm-err-bg:#FBEFEC;
  --mm-err-line:#EBD3CD;

  --mm-radius:2px;
  --mm-maxw:1280px;

  /* dark-surface hairlines */
  --mm-line-dark:rgba(248,245,239,0.14);
  --mm-line-dark-2:rgba(248,245,239,0.22);

  --mm-ease:cubic-bezier(.22,.61,.36,1);
  --mm-header-h:78px;
  /* sticky bar: 56px content + its 1px top border. body padding matches it
     exactly so the bar can never cover the footer's last row. */
  --mm-sticky-h:57px;
}

/* =========================================================================
   2. FONTS (self-hosted, swap)
   ========================================================================= */
@font-face{
  font-family:"League Spartan";
  src:url("assets/fonts/league-spartan-latin.woff2") format("woff2");
  font-weight:300 700; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Inter";
  src:url("assets/fonts/inter-latin.woff2") format("woff2");
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Inter";
  src:url("assets/fonts/inter-devanagari.woff2") format("woff2");
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF;
}

/* =========================================================================
   3. BASE
   ========================================================================= */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--mm-header-h) + 12px);-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--mm-cream);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--mm-body);font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;height:auto}
a{color:var(--mm-green-700);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--mm-gold)}
h1,h2,h3,h4{font-family:"League Spartan",Inter,sans-serif;letter-spacing:-0.022em;font-weight:600;color:var(--mm-ink);margin:0}
p{margin:0}
ul,ol{margin:0}
button{font-family:inherit}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--mm-gold);outline-offset:2px}
.mm-skip{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--mm-green-700);color:#fff;padding:12px 20px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mm-skip:focus{left:8px;top:8px;color:#fff}
.mm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* =========================================================================
   4. LAYOUT PRIMITIVES
   ========================================================================= */
.mm-wrap{max-width:var(--mm-maxw);margin:0 auto;padding:0 24px}
.mm-wrap--narrow{max-width:900px}
.mm-wrap--read{max-width:780px}
.mm-sec{padding-top:clamp(60px,7vw,105px);padding-bottom:clamp(60px,7vw,105px)}
.mm-sec--lg{padding-top:clamp(72px,9vw,124px);padding-bottom:clamp(72px,9vw,124px)}
.mm-sec--sm{padding-top:clamp(52px,6vw,76px);padding-bottom:clamp(52px,6vw,76px)}
.mm-bg-cream{background:var(--mm-cream)}
.mm-bg-cream-2{background:var(--mm-cream-2)}
.mm-bg-cream-3{background:var(--mm-cream-3)}
.mm-bg-white{background:var(--mm-white)}
.mm-bg-dark{background:var(--mm-green-850);color:var(--mm-cream)}
.mm-bg-dark-800{background:var(--mm-green-800);color:var(--mm-cream)}
.mm-bt{border-top:1px solid var(--mm-line)}
.mm-bb{border-bottom:1px solid var(--mm-line)}
.mm-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(40px,5vw,76px);align-items:center}
.mm-split--start{align-items:start}
.mm-split--wide{gap:clamp(40px,5vw,70px);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.mm-sechead{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(38px,4vw,58px)}

/* =========================================================================
   5. TYPE
   ========================================================================= */
.mm-eyebrow{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mm-gold-text);font-weight:700;margin-bottom:16px}
.mm-bg-dark .mm-eyebrow,.mm-bg-dark-800 .mm-eyebrow,.mm-eyebrow--ondark{color:var(--mm-gold-light)}
.mm-h1{font-size:clamp(38px,5.2vw,66px);line-height:1.03;letter-spacing:-0.03em;max-width:15ch;color:var(--mm-white)}
.mm-h1--light{color:var(--mm-ink)}
.mm-h2{font-size:clamp(30px,3.4vw,46px);line-height:1.16;margin:0 0 22px;max-width:22ch}
.mm-h2--sm{font-size:clamp(28px,3.2vw,42px);line-height:1.18}
.mm-h2--lg{font-size:clamp(30px,3.6vw,48px);line-height:1.14}
.mm-h2--flush{margin-bottom:0}
.mm-bg-dark .mm-h2,.mm-bg-dark-800 .mm-h2,.mm-h2--ondark{color:var(--mm-white)}
.mm-h3{font-size:20px;line-height:1.3;margin:0 0 12px}
.mm-h3--lg{font-size:21px}
.mm-lede{font-size:clamp(16px,1.35vw,19px);line-height:1.72;color:var(--mm-on-dark);max-width:50ch}
.mm-p{font-size:16px;line-height:1.78;color:var(--mm-body-2);max-width:56ch;margin:0 0 18px}
.mm-p--lg{font-size:16.5px;max-width:62ch}
.mm-p--ondark{color:var(--mm-on-dark)}
.mm-p:last-child{margin-bottom:0}
.mm-note{font-size:12.5px;line-height:1.6;color:var(--mm-muted-3)}
.mm-statnote,.mm-note,.mm-form__alt,.mm-modal__dismiss{color:#606C64}
.mm-small{font-size:14.5px;line-height:1.7;color:var(--mm-muted);margin:0}
.mm-kicker{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mm-gold-text);font-weight:700;margin:0 0 12px}

/* =========================================================================
   6. BUTTONS & LINKS
   ========================================================================= */
.mm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 28px;font-size:12px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;white-space:nowrap;border-radius:var(--mm-radius);
  border:1px solid transparent;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;
  min-height:44px;text-align:center;
}
.mm-btn--primary{background:var(--mm-green-700);color:#fff}
.mm-btn--primary:hover{background:var(--mm-green-800);color:#fff}
.mm-btn--gold{background:var(--mm-gold);color:var(--mm-green-850);padding:17px 32px;font-size:12.5px}
.mm-btn--gold:hover{background:var(--mm-gold-light);color:var(--mm-green-850)}
.mm-btn--ghost{border-color:var(--mm-line);color:var(--mm-body);padding:15px 26px;font-weight:600}
.mm-btn--ghost:hover{border-color:var(--mm-gold);color:var(--mm-green-700)}
.mm-btn--ghost-dark{border-color:rgba(248,245,239,.35);color:var(--mm-cream);padding:16px 30px;font-size:12.5px;font-weight:600}
.mm-btn--ghost-dark:hover{border-color:var(--mm-gold-light);color:var(--mm-gold-light)}
.mm-btn--block{width:100%}
.mm-btns{display:flex;flex-wrap:wrap;gap:14px}
.mm-btns--mt{margin-top:40px}

.mm-link{display:inline-flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--mm-green-700);border-bottom:1px solid var(--mm-gold);padding-bottom:6px}
.mm-link:hover{color:var(--mm-gold)}
.mm-link--gold{color:var(--mm-gold-text);border-bottom:0}
.mm-link--ondark{color:var(--mm-gold-light);border-bottom-color:#6B5330}
.mm-link--ondark:hover{color:#fff}
.mm-link--soft{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:none;color:var(--mm-green-700);padding:16px 4px;border-bottom:1px solid #C9D3CC}
.mm-link--soft:hover{border-bottom-color:var(--mm-gold)}
.mm-inline{border-bottom:1px solid #C9D3CC;overflow-wrap:anywhere}
.mm-footer__contact a,.mm-loc__foot a{overflow-wrap:anywhere}

/* =========================================================================
   7. HAIRLINE GRIDS  (the 1px gap IS the border)
   ========================================================================= */
.mm-hair{display:grid;gap:1px;background:var(--mm-line);border:1px solid var(--mm-line)}
.mm-hair>*{background:var(--mm-white)}
.mm-hair--cream>*{background:var(--mm-cream-3)}
.mm-hair--dark{background:var(--mm-line-dark);border-color:var(--mm-line-dark)}
.mm-hair--dark>*{background:var(--mm-green-850)}
.mm-hair--dark-800>*{background:var(--mm-green-800)}
/* explicit column counts so the last row never leaves an empty cell */
.mm-hair--2{grid-template-columns:1fr}
.mm-hair--3{grid-template-columns:1fr}
.mm-hair--4{grid-template-columns:1fr}
.mm-hair--6{grid-template-columns:1fr}
@media(min-width:560px){
  .mm-hair--2,.mm-hair--4,.mm-hair--6{grid-template-columns:repeat(2,1fr)}
  .mm-hair--3{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:900px){
  .mm-hair--3,.mm-hair--6{grid-template-columns:repeat(3,1fr)}
  .mm-hair--4{grid-template-columns:repeat(4,1fr)}
  .mm-hair--3>*:last-child:nth-child(2n+1),.mm-hair--6>*:last-child:nth-child(2n+1){grid-column:auto}
  .mm-hair--3>*:last-child:nth-child(3n+1),.mm-hair--6>*:last-child:nth-child(3n+1){grid-column:1/-1}
  .mm-hair--4>*:last-child:nth-child(4n+1){grid-column:1/-1}
}
/* same safety at the two-column step */
@media(min-width:560px) and (max-width:899px){
  .mm-hair--2>*:last-child:nth-child(2n+1),
  .mm-hair--3>*:last-child:nth-child(2n+1),
  .mm-hair--4>*:last-child:nth-child(2n+1),
  .mm-hair--6>*:last-child:nth-child(2n+1){grid-column:1/-1}
}
.mm-cards>*:last-child:nth-child(3n+1){grid-column:1/-1}
@media(min-width:560px) and (max-width:899px){.mm-cards>*:last-child:nth-child(2n+1){grid-column:1/-1}}
@media(max-width:559px){.mm-cards>*:last-child:nth-child(3n+1){grid-column:auto}}
.mm-cell{padding:36px 32px}
.mm-cell--sm{padding:26px 28px}
.mm-cell--md{padding:32px 28px}
.mm-cell--flex{display:flex;flex-direction:column}
.mm-cell--between{display:flex;flex-direction:column;justify-content:space-between}
.mm-num{display:block;font-family:"League Spartan",sans-serif;font-size:26px;color:var(--mm-gold-text);margin-bottom:16px;line-height:1}
.mm-cell p{font-size:14.5px;line-height:1.72;color:var(--mm-muted);margin:0}
.mm-hair--dark .mm-cell p,.mm-hair--dark-800 .mm-cell p{color:var(--mm-on-dark-2)}
.mm-hair--dark .mm-cell h3,.mm-hair--dark-800 .mm-cell h3{color:#fff}

/* bordered (gapped) card grid, used for segments */
.mm-cards{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:560px){.mm-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.mm-cards{grid-template-columns:repeat(3,1fr)}}
.mm-card{border:1px solid var(--mm-line);padding:28px 26px;transition:border-color .2s ease,background .2s ease;background:transparent}
.mm-card:hover{border-color:var(--mm-gold);background:var(--mm-cream-3)}
.mm-card h3{font-size:20px;margin:0 0 10px}
.mm-card p{font-size:14px;line-height:1.7;color:var(--mm-muted);margin:0}

/* =========================================================================
   8. FEATHERED HERO IMAGERY
   ========================================================================= */
.mm-hero{position:relative;background:var(--mm-green-850);color:var(--mm-cream);overflow:hidden}
.mm-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;
  -webkit-mask-image:radial-gradient(115% 100% at 76% 46%,#000 12%,rgba(0,0,0,.5) 52%,transparent 86%);
  mask-image:radial-gradient(115% 100% at 76% 46%,#000 12%,rgba(0,0,0,.5) 52%,transparent 86%);}
.mm-hero__veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,26,18,.97) 0%,rgba(11,26,18,.82) 42%,rgba(11,26,18,.42) 100%)}
.mm-hero__inner{position:relative;max-width:var(--mm-maxw);margin:0 auto;padding:clamp(22px,2.4vw,38px) 24px clamp(44px,5vw,68px);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(24px,3vw,56px);align-items:center}
.mm-hero__eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mm-gold-light);font-weight:600;margin-bottom:26px}
.mm-hero .mm-lede{margin:26px 0 0}
.mm-hero__strip{position:relative;border-top:1px solid var(--mm-line-dark);background:rgba(11,26,18,.55)}
.mm-hero__strip .mm-wrap{display:grid;grid-template-columns:1fr;padding-left:24px;padding-right:24px}
@media(min-width:640px){.mm-hero__strip .mm-wrap{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.mm-hero__strip .mm-wrap{grid-template-columns:repeat(4,1fr)}}
.mm-hero__fact{padding:26px 0;border-bottom:1px solid rgba(248,245,239,.12)}
@media(min-width:1000px){
  .mm-hero__fact{padding:26px;border-bottom:0;border-right:1px solid rgba(248,245,239,.12)}
  .mm-hero__fact:first-child{padding-left:0}
  .mm-hero__fact:last-child{padding-right:0;border-right:0}
}
.mm-hero__fact b{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mm-gold-light);font-weight:600;margin-bottom:8px}
.mm-hero__fact span{display:block;font-size:14.5px;line-height:1.6;color:var(--mm-on-dark)}

/* generic feathered band (mid-page dark CTA over image) */
.mm-band{position:relative;background:var(--mm-green-800);color:var(--mm-cream);overflow:hidden}
.mm-band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;
  -webkit-mask-image:radial-gradient(115% 110% at 78% 50%,#000 8%,rgba(0,0,0,.45) 50%,transparent 85%);
  mask-image:radial-gradient(115% 110% at 78% 50%,#000 8%,rgba(0,0,0,.45) 50%,transparent 85%);}
.mm-band__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,42,28,.96) 0%,rgba(14,42,28,.72) 100%)}
.mm-band__inner{position:relative}

/* page hero for interior pages */
.mm-phero{position:relative;background:var(--mm-green-850);color:var(--mm-cream);overflow:hidden}
.mm-phero .mm-h1{font-size:clamp(34px,4.4vw,56px);max-width:18ch}

.mm-figure{position:relative}
.mm-figure img{width:100%;height:clamp(320px,42vw,520px);object-fit:cover;border-radius:var(--mm-radius);display:block}
.mm-figure__tag{position:absolute;right:-1px;bottom:-1px;background:var(--mm-green-800);color:var(--mm-cream);padding:24px 28px;max-width:270px}
.mm-figure__tag span{display:block;font-family:"League Spartan",sans-serif;font-size:19px;line-height:1.35;color:#fff}

/* =========================================================================
   9. BAG CLUSTER
   ========================================================================= */
.mm-bags{position:relative;width:100%;max-width:560px;margin:0 auto;aspect-ratio:1.5}
.mm-bags__halo{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:100%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(184,137,74,.34) 0%,rgba(184,137,74,.10) 46%,transparent 70%);z-index:0}
.mm-bags--light .mm-bags__halo{background:radial-gradient(circle,rgba(20,71,47,.13) 0%,rgba(184,137,74,.10) 46%,transparent 70%)}
.mm-bags__ground{position:absolute;left:6%;right:6%;bottom:2%;height:9%;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0%,transparent 72%);z-index:0}
.mm-bags--light .mm-bags__ground{background:radial-gradient(ellipse at center,rgba(14,42,28,.18) 0%,transparent 72%)}
.mm-bags__img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.mm-bags--light .mm-bags__img{filter:drop-shadow(0 26px 34px rgba(14,42,28,.28))}
.mm-bags__tag{position:absolute;left:50%;bottom:-7%;transform:translateX(-50%);z-index:4;white-space:nowrap;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:9px 16px;border-radius:var(--mm-radius);
  background:rgba(11,26,18,.9);border:1px solid rgba(217,174,106,.5);color:var(--mm-gold-light)}
.mm-bags--light .mm-bags__tag{background:#fff;border-color:var(--mm-line);color:var(--mm-green-700)}
.mm-bags-holder{position:relative;padding-bottom:34px}

/* =========================================================================
   10. STATS / COUNTERS
   ========================================================================= */
.mm-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 30px}
@media(min-width:900px){.mm-stats{grid-template-columns:repeat(4,1fr)}}
.mm-stat b{display:block;font-family:"League Spartan",sans-serif;font-weight:600;font-size:clamp(32px,4vw,54px);line-height:1;color:var(--mm-green-700);font-variant-numeric:tabular-nums}
.mm-stat span{display:block;font-size:13.5px;line-height:1.6;color:var(--mm-muted);margin-top:12px}
.mm-statnote{margin:32px 0 0;font-size:12.5px;line-height:1.6;color:var(--mm-muted-3);border-top:1px solid var(--mm-line-2);padding-top:18px}

/* =========================================================================
   11. DEFINITION ROWS / SPEC TABLE
   ========================================================================= */
.mm-rows{display:grid;border-top:1px solid var(--mm-line)}
.mm-row{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--mm-line-2);flex-wrap:wrap}
.mm-row dt,.mm-row>b{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mm-gold-text);font-weight:700;min-width:118px;padding-top:3px;margin:0}
.mm-row dd,.mm-row>span{font-size:15px;line-height:1.65;color:var(--mm-body);margin:0;flex:1;min-width:0;overflow-wrap:anywhere}
@media(min-width:560px){.mm-row dd,.mm-row>span{min-width:200px}}

.mm-facts{display:grid;border-top:1px solid var(--mm-line-dark);max-width:44ch;margin-bottom:28px}
.mm-facts div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--mm-line-dark);font-size:14.5px}
.mm-facts span:first-child{color:var(--mm-on-dark-2)}
.mm-facts span:last-child{color:#fff;font-weight:600;text-align:right}

.mm-spec{width:100%;border:1px solid var(--mm-line);background:var(--mm-white);font-size:15px}
.mm-spec caption{text-align:left;font-size:12.5px;color:var(--mm-muted);padding:0 0 14px}
.mm-spec th,.mm-spec td{text-align:left;padding:15px 20px;border-bottom:1px solid var(--mm-line-2);vertical-align:top}
.mm-spec thead th{background:var(--mm-green-800);color:#fff;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border-bottom:0}
.mm-spec tbody th{width:38%;font-weight:600;color:var(--mm-ink);font-size:14.5px}
.mm-spec tbody td{color:var(--mm-body-2)}
.mm-spec tbody tr:last-child th,.mm-spec tbody tr:last-child td{border-bottom:0}
.mm-spec tbody tr:nth-child(even){background:var(--mm-cream-3)}
.mm-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* terms grid: 4 across, 2x2 mid, 1-up under 520px */
.mm-terms{display:grid;grid-template-columns:1fr;gap:1px;background:var(--mm-line);border:1px solid var(--mm-line)}
@media(min-width:520px){
  .mm-terms{grid-template-columns:repeat(2,1fr)}
  /* a lone item on the last row spans the row, so no empty cell is ever visible */
  .mm-terms>div:last-child:nth-child(2n+1){grid-column:1/-1}
}
@media(min-width:1000px){
  .mm-terms{grid-template-columns:repeat(4,1fr)}
  .mm-terms>div:last-child:nth-child(2n+1){grid-column:auto}
  .mm-terms>div:last-child:nth-child(4n+1){grid-column:1/-1}
}
.mm-terms>div{background:var(--mm-white);padding:30px 26px}
.mm-terms h3{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mm-gold-text);font-weight:700;margin:0 0 12px;font-family:Inter,sans-serif}
.mm-terms p{font-size:14.5px;line-height:1.7;color:var(--mm-body-2);margin:0}

/* =========================================================================
   12. LISTS
   ========================================================================= */
.mm-ticks{list-style:none;padding:0;margin:0 0 32px;display:grid;gap:14px}
.mm-ticks li{display:flex;gap:12px;font-size:15px;line-height:1.6;color:var(--mm-body)}
.mm-ticks li::before{content:"\2022";color:var(--mm-gold-text);font-weight:700;flex-shrink:0}
.mm-bg-dark .mm-ticks li,.mm-bg-dark-800 .mm-ticks li{color:var(--mm-on-dark)}
.mm-chips{display:flex;flex-wrap:wrap;gap:9px}
.mm-chip{border:1px solid var(--mm-line);color:var(--mm-body);padding:10px 16px;font-size:12.5px;border-radius:var(--mm-radius);background:transparent;cursor:pointer;transition:all .15s ease;min-height:44px;display:inline-flex;align-items:center}
.mm-chip:hover{border-color:var(--mm-gold);color:var(--mm-green-700)}
.mm-chip--ondark{border-color:rgba(248,245,239,.28);color:var(--mm-cream)}
.mm-chip--ondark:hover{border-color:var(--mm-gold-light);color:var(--mm-gold-light)}
.mm-chip.is-on{background:var(--mm-gold);border-color:var(--mm-gold);color:var(--mm-green-850);font-weight:600}
.mm-chip--ondark.is-on{background:var(--mm-gold);border-color:var(--mm-gold);color:var(--mm-green-850)}
.mm-badge{display:inline-flex;align-self:flex-start;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mm-gold-light);font-weight:700;border:1px solid var(--mm-green-500);border-radius:var(--mm-radius);padding:5px 9px;margin-bottom:18px}
.mm-badge--light{color:var(--mm-gold-text);border-color:var(--mm-line)}
.mm-thumbs{display:flex;gap:14px;margin-top:16px;flex-wrap:wrap}
.mm-thumbs img{width:74px;height:74px;object-fit:cover;border:1px solid var(--mm-line)}

/* =========================================================================
   13. ACCORDION
   ========================================================================= */
.mm-acc{border-top:1px solid var(--mm-line)}
.mm-acc__item{border-bottom:1px solid var(--mm-line)}
.mm-acc__btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:transparent;border:0;
  padding:24px 0;cursor:pointer;text-align:left;font-family:"League Spartan",sans-serif;font-size:19px;font-weight:600;color:var(--mm-ink);line-height:1.4}
.mm-acc__btn:hover{color:var(--mm-green-700)}
.mm-acc__icon{font-family:Inter,sans-serif;font-size:20px;color:var(--mm-gold-text);flex-shrink:0;transition:transform .26s var(--mm-ease);line-height:1}
.mm-acc__btn[aria-expanded="true"] .mm-acc__icon{transform:rotate(45deg)}
.mm-acc__panel{overflow:hidden;height:0;transition:height .26s var(--mm-ease)}
.mm-acc__panel p{margin:0;padding:0 40px 26px 0;font-size:15.5px;line-height:1.78;color:#5A675F;max-width:70ch}

/* =========================================================================
   14. PROCESS TIMELINE
   ========================================================================= */
.mm-tl{display:grid;gap:0;position:relative}
.mm-tl__stage{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,54px);align-items:center;padding:clamp(34px,4vw,54px) 0;border-bottom:1px solid var(--mm-line)}
@media(min-width:860px){.mm-tl__stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mm-tl__stage:nth-child(even) .mm-tl__media{order:-1}}
.mm-tl__stage:last-child{border-bottom:0}
.mm-tl__n{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mm-gold-text);font-weight:700;margin-bottom:14px}
.mm-tl__media img{width:100%;height:clamp(220px,26vw,340px);object-fit:cover;border-radius:var(--mm-radius);display:block}
.mm-tl__ctrl{margin-top:20px;border-top:1px solid var(--mm-line-2);padding-top:16px}
.mm-tl__ctrl b{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mm-gold-text);font-weight:700;margin-bottom:8px}
.mm-tl__ctrl ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.mm-tl__ctrl li{font-size:14px;line-height:1.65;color:var(--mm-muted);display:flex;gap:10px}
.mm-tl__ctrl li::before{content:"\2013";color:var(--mm-gold-text);flex-shrink:0}
.mm-tl__rail{position:absolute;left:0;top:0;width:2px;background:var(--mm-line);height:100%}
.mm-tl__railfill{position:absolute;left:0;top:0;width:2px;background:var(--mm-gold);height:0;transition:height .2s linear}

/* =========================================================================
   15. FORMS
   ========================================================================= */
.mm-form{background:var(--mm-cream);border:1px solid var(--mm-line);padding:clamp(26px,3vw,38px);border-radius:var(--mm-radius)}
.mm-form--onlight{background:var(--mm-white)}
.mm-form__head{margin-bottom:22px}
.mm-form__head h3{font-size:clamp(22px,2.4vw,28px);line-height:1.2;margin:0 0 10px}
.mm-form__head p{font-size:14.5px;line-height:1.7;color:var(--mm-muted);margin:0}
.mm-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:620px){.mm-grid--2{grid-template-columns:repeat(2,1fr)}.mm-grid__full{grid-column:1/-1}}
.mm-field label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mm-muted);font-weight:700;margin-bottom:7px}
.mm-input,.mm-form textarea,.mm-form select{
  width:100%;padding:13px 14px;font-size:14.5px;font-family:Inter,sans-serif;color:var(--mm-ink);
  background:var(--mm-white);border:1px solid var(--mm-line);border-radius:var(--mm-radius);outline:none;
  transition:border-color .15s ease;min-height:46px;
}
.mm-form textarea{min-height:96px;resize:vertical;line-height:1.6}
.mm-input:focus,.mm-form textarea:focus{border-color:var(--mm-gold)}
.mm-input[aria-invalid="true"]{border-color:var(--mm-err-line);background:var(--mm-err-bg)}
.mm-err{margin:12px 0 0;font-size:13.5px;line-height:1.6;color:var(--mm-err-text);background:var(--mm-err-bg);border:1px solid var(--mm-err-line);padding:11px 13px;border-radius:var(--mm-radius)}
.mm-err[hidden]{display:none}
.mm-fielderr{display:block;font-size:12.5px;color:var(--mm-err-text);margin-top:6px}
.mm-fielderr:empty{display:none}
.mm-hp{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0;overflow:hidden}
.mm-form__legend{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mm-muted);font-weight:700;margin:18px 0 10px}
.mm-form__foot{margin-top:20px}
.mm-form__alt{margin:14px 0 0;font-size:13px;line-height:1.65;color:var(--mm-muted);text-align:center}
.mm-form__alt a{font-weight:600;border-bottom:1px solid #C9D3CC}
.mm-form fieldset{border:0;padding:0;margin:0}
.mm-req{color:var(--mm-gold-text)}
.is-busy{opacity:.6;pointer-events:none}

/* =========================================================================
   16. HEADER / NAV / DRAWER
   ========================================================================= */
.mm-groupbar{background:var(--mm-green-900);color:#8B9A90;font-size:11.5px}
.mm-groupbar__row{max-width:var(--mm-maxw);margin:0 auto;padding:7px 20px;display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;justify-content:center;text-align:center}
.mm-groupbar__label{letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--mm-gold);font-size:9px;white-space:nowrap;line-height:1.6}
.mm-groupbar__label::after{content:"";display:inline-block;width:14px;height:1px;background:var(--mm-green-500);vertical-align:middle;margin-left:10px}
.mm-groupbar__links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;font-size:11px;line-height:1.6}
.mm-groupbar__links a{color:#8B9A90;white-space:nowrap}
.mm-groupbar__links a:hover{color:var(--mm-gold-light)}
.mm-dot{width:3px;height:3px;border-radius:50%;background:var(--mm-green-500);flex-shrink:0}
@media(min-width:760px){
  .mm-groupbar__row{justify-content:space-between;padding-top:0;padding-bottom:0;min-height:32px}
  .mm-groupbar__label::after{display:none}
  .mm-groupbar__links{gap:12px;font-size:11.5px}
}

.mm-util{background:var(--mm-green-800);color:var(--mm-on-dark-3);font-size:12.5px;letter-spacing:.02em}
.mm-util__row{max-width:var(--mm-maxw);margin:0 auto;padding:0 24px;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.mm-util a{color:var(--mm-on-dark-3);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.mm-util a:hover{color:var(--mm-gold-light)}
.mm-util__left{display:flex;align-items:center;gap:22px;min-width:0}
.mm-util__tag{color:var(--mm-gold)}
.mm-util .mm-util__hide{display:none}
@media(min-width:760px){.mm-util .mm-util__hide{display:inline-flex}}
.mm-util__wa{color:var(--mm-gold-light)!important;font-size:12px;font-weight:600}
.mm-util__wa:hover{color:#fff!important}

.mm-header{position:sticky;top:0;z-index:900}
.mm-headbar{background:var(--mm-cream);border-bottom:1px solid var(--mm-line-2);transition:box-shadow .25s ease,border-color .25s ease}
.mm-header.is-stuck .mm-headbar{border-bottom-color:var(--mm-line);box-shadow:0 14px 30px -26px rgba(14,42,28,.55)}
.mm-headbar__row{max-width:var(--mm-maxw);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:28px;height:var(--mm-header-h)}
.mm-logo{display:flex;align-items:center;gap:13px;flex-shrink:0}
.mm-logo img{width:54px;height:50px;object-fit:contain;display:block}
.mm-logo__txt{display:flex;flex-direction:column;line-height:1.05}
.mm-logo__name{font-family:"League Spartan",sans-serif;font-size:20px;font-weight:600;color:var(--mm-ink);letter-spacing:.005em}
.mm-logo__sub{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--mm-gold-text);font-weight:700;margin-top:3px}
.mm-nav{display:none;align-items:center;gap:2px}
.mm-nav a{display:inline-flex;align-items:center;padding:10px 14px;font-size:13.5px;font-weight:500;letter-spacing:.01em;color:var(--mm-body);border-bottom:2px solid transparent;white-space:nowrap}
.mm-nav a:hover{color:var(--mm-green-700)}
.mm-nav .current-menu-item>a,.mm-nav .current_page_item>a,.mm-nav .current-menu-ancestor>a,.mm-nav a[aria-current="page"]{color:var(--mm-green-700);border-bottom-color:var(--mm-gold)}
.mm-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.mm-headbar__cta{display:flex;align-items:center;gap:10px;flex-shrink:0}
.mm-headcta{display:none;align-items:center;gap:9px;background:var(--mm-green-700);color:#fff;padding:13px 18px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:var(--mm-radius);border:0;cursor:pointer;min-height:44px}
.mm-headcta:hover{background:var(--mm-green-800);color:#fff}
@media(min-width:760px){.mm-headcta{display:inline-flex}}
@media(min-width:1120px){.mm-nav{display:flex}.mm-burger{display:none!important}}
/* Between 1120px (where the nav appears) and about 1240px the logo, seven nav
   items and the CTA need more room than the container has, and the CTA spills
   past the right edge. Tighten the nav in that band rather than moving the
   breakpoint, so the brief's 1120px nav threshold still holds. */
@media(min-width:1120px) and (max-width:1259px){
  .mm-headbar__row{gap:14px}
  .mm-nav a{padding:10px 9px;font-size:13px}
  .mm-headcta{padding:13px 14px;font-size:11px;letter-spacing:.06em}
  .mm-logo{gap:10px}
  .mm-logo img{width:46px;height:43px}
}
.mm-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;align-items:center;background:transparent;border:1px solid var(--mm-line);border-radius:var(--mm-radius);cursor:pointer}
.mm-burger span{display:block;width:19px;height:1.5px;background:var(--mm-ink)}
.mm-burger span:last-child{width:13px}

.mm-drawer-backdrop{position:fixed;inset:0;background:rgba(12,26,18,.55);z-index:950;opacity:0;transition:opacity .25s ease}
.mm-drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);background:var(--mm-cream);z-index:960;display:flex;flex-direction:column;
  box-shadow:-30px 0 60px -30px rgba(14,42,28,.5);transform:translateX(100%);transition:transform .3s var(--mm-ease)}
body.mm-drawer-open .mm-drawer{transform:none}
body.mm-drawer-open .mm-drawer-backdrop{opacity:1}
.mm-drawer[hidden],.mm-drawer-backdrop[hidden]{display:none}
.mm-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--mm-line)}
.mm-drawer__head span{font-family:"League Spartan",sans-serif;font-size:18px;color:var(--mm-ink)}
.mm-drawer__close{width:44px;height:44px;background:transparent;border:1px solid var(--mm-line);border-radius:var(--mm-radius);font-size:17px;color:var(--mm-ink);cursor:pointer;line-height:1}
.mm-drawer__body{flex:1;overflow-y:auto;padding:8px 0}
.mm-drawer__body ul{list-style:none;margin:0;padding:0}
.mm-drawer__body a{display:block;padding:15px 22px;font-size:16px;color:var(--mm-ink);border-bottom:1px solid var(--mm-line-2);min-height:44px}
.mm-drawer__body .sub-menu a{padding:12px 22px 12px 38px;font-size:14px;color:var(--mm-muted)}
.mm-drawer__foot{padding:18px 22px;border-top:1px solid var(--mm-line);display:flex;flex-direction:column;gap:10px}
.mm-drawer__foot .mm-btn{width:100%;padding:15px;font-size:12.5px}
body.mm-noscroll{overflow:hidden}

/* =========================================================================
   17. STICKY MOBILE CTA
   ========================================================================= */
.mm-sticky{position:fixed;left:0;right:0;bottom:0;z-index:880;display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid var(--mm-green-600)}
.mm-sticky a,.mm-sticky button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;box-sizing:border-box;padding:12px 10px;
  font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;border:0;cursor:pointer;font-family:Inter,sans-serif}
.mm-sticky__quote{background:var(--mm-green-700);color:#fff}
.mm-sticky__quote:hover{background:var(--mm-green-800);color:#fff}
.mm-sticky__wa{background:var(--mm-gold);color:var(--mm-green-800)}
.mm-sticky__wa:hover{background:var(--mm-gold-light);color:var(--mm-green-800)}
@media(min-width:760px){.mm-sticky{display:none}}
@media(max-width:759px){body{padding-bottom:var(--mm-sticky-h)}}

/* =========================================================================
   18. FOOTER
   ========================================================================= */
.mm-footer{background:var(--mm-green-800);color:var(--mm-on-dark-3);font-size:14px}
.mm-footer a{color:var(--mm-on-dark-3)}
.mm-footer a:hover{color:var(--mm-gold-light)}
.mm-footer__top{padding:clamp(52px,6vw,80px) 0 clamp(36px,4vw,54px);display:grid;grid-template-columns:1fr;gap:clamp(34px,4vw,44px)}
@media(min-width:640px){.mm-footer__top{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.mm-footer__top{grid-template-columns:1.4fr repeat(4,1fr)}}
.mm-footer__brand .mm-logo__name{color:#fff}
.mm-footer__brand p{font-size:14px;line-height:1.75;color:var(--mm-on-dark-2);margin:18px 0 0;max-width:36ch}
.mm-footer h3{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mm-gold);font-weight:700;margin:0 0 16px;font-family:Inter,sans-serif}
.mm-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.mm-footer li{line-height:1.5}
.mm-footer__contact{display:grid;gap:10px;font-size:14px;line-height:1.7;color:var(--mm-on-dark-2)}
.mm-footer__contact a{color:var(--mm-gold-light)}
.mm-footer__contact address{font-style:normal;color:var(--mm-on-dark-2)}
.mm-footer__group{border-top:1px solid var(--mm-line-dark);padding:24px 0;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:12.5px}
.mm-footer__group b{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mm-gold);font-weight:700}
.mm-footer__legal{border-top:1px solid var(--mm-line-dark);padding:20px 0 26px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:12px;color:var(--mm-on-dark-2)}
.mm-footer__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* =========================================================================
   19. MODAL
   ========================================================================= */
.mm-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.mm-modal.is-open{display:flex}
.mm-modal__backdrop{position:absolute;inset:0;background:rgba(7,19,9,.7);animation:mmFadeIn .32s ease both}
.mm-modal__box{position:relative;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;background:var(--mm-cream);
  border-radius:var(--mm-radius);box-shadow:0 40px 80px -30px rgba(0,0,0,.6);animation:mmRise .32s var(--mm-ease) both}
.mm-modal__box--wide{max-width:880px;display:grid;grid-template-columns:1fr;background:var(--mm-cream)}
@media(min-width:720px){.mm-modal__box--wide{grid-template-columns:repeat(2,1fr)}}
.mm-modal__close{position:absolute;top:12px;right:12px;width:40px;height:40px;background:rgba(248,245,239,.92);border:1px solid var(--mm-line);
  border-radius:var(--mm-radius);font-size:15px;color:var(--mm-ink);cursor:pointer;line-height:1;z-index:5}
.mm-modal__pane{position:relative;background:var(--mm-green-850);padding:clamp(28px,3.5vw,44px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.mm-modal__pane::before{content:"";position:absolute;width:120%;aspect-ratio:1;left:-10%;top:10%;border-radius:50%;background:radial-gradient(circle,rgba(184,137,74,.3) 0%,transparent 65%)}
.mm-modal__pane img{position:relative;width:100%;max-width:230px;margin:0 auto 20px;height:auto;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(0,0,0,.55))}
.mm-modal__pane .mm-eyebrow{position:relative;color:var(--mm-gold-light);margin-bottom:10px}
.mm-modal__pane p{position:relative;font-size:14.5px;line-height:1.7;color:var(--mm-on-dark);margin:0}
.mm-modal__body{padding:clamp(24px,3vw,36px)}
.mm-modal__body h2{font-size:clamp(22px,2.6vw,30px);line-height:1.16;margin:0 0 10px;max-width:18ch}
.mm-modal__body>p{font-size:14.5px;line-height:1.7;color:var(--mm-muted);margin:0 0 22px}
.mm-modal .mm-form{background:transparent;border:0;padding:0}
.mm-modal__dismiss{width:100%;margin-top:10px;background:transparent;border:0;color:var(--mm-muted-2);font-size:12.5px;padding:10px;cursor:pointer;font-family:Inter,sans-serif}
.mm-modal__dismiss:hover{color:var(--mm-green-700)}

/* =========================================================================
   20. BREADCRUMB / ARTICLES / RESOURCES
   ========================================================================= */
.mm-crumb{font-size:12px;color:var(--mm-on-dark-2);margin-bottom:18px}
.mm-crumb a{color:var(--mm-on-dark-2)}
.mm-crumb a:hover{color:var(--mm-gold-light)}
.mm-crumb--light{color:var(--mm-muted)}
.mm-crumb--light a{color:var(--mm-muted)}
.mm-posts{display:grid;grid-template-columns:1fr;gap:1px;background:var(--mm-line);border:1px solid var(--mm-line)}
@media(min-width:640px){.mm-posts{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.mm-posts{grid-template-columns:repeat(3,1fr)}}
.mm-post{background:var(--mm-white);display:flex;flex-direction:column;transition:background .2s ease}
.mm-post:hover{background:var(--mm-cream-3)}
.mm-post img{width:100%;height:190px;object-fit:cover;display:block}
.mm-post__body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.mm-post__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mm-gold-text);font-weight:700;margin-bottom:14px}
.mm-post__meta span:not(:first-child){color:var(--mm-muted-3)}
.mm-post h3{font-size:19px;line-height:1.32;margin:0 0 10px}
.mm-post p{font-size:14px;line-height:1.7;color:var(--mm-muted);margin:0 0 18px}
.mm-post__more{margin-top:auto;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mm-green-700)}
.mm-article{font-size:16.5px;line-height:1.8;color:var(--mm-body-2)}
.mm-article h2{font-size:clamp(24px,2.6vw,32px);line-height:1.22;margin:44px 0 16px}
.mm-article h3{font-size:20px;margin:32px 0 12px}
.mm-article p{margin:0 0 20px}
.mm-article ul,.mm-article ol{margin:0 0 22px;padding-left:22px;display:grid;gap:10px}
.mm-article li{line-height:1.75}
.mm-article a{border-bottom:1px solid #C9D3CC}
.mm-article>*:first-child{margin-top:0}
.mm-artcta{background:var(--mm-green-800);color:var(--mm-cream);padding:clamp(28px,3.4vw,40px);margin:40px 0;border-radius:var(--mm-radius)}
.mm-artcta h3{color:#fff;font-size:22px;margin:0 0 12px}
.mm-artcta p{font-size:15px;line-height:1.72;color:var(--mm-on-dark);margin:0 0 22px;max-width:56ch}

/* =========================================================================
   21. LOCATIONS / THANK YOU / MISC
   ========================================================================= */
.mm-locs{display:grid;grid-template-columns:1fr;gap:1px;background:rgba(248,245,239,.16);border:1px solid rgba(248,245,239,.16)}
@media(min-width:620px){.mm-locs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.mm-locs{grid-template-columns:repeat(3,1fr)}}
.mm-loc{background:var(--mm-green-850);padding:30px 28px;display:flex;flex-direction:column}
.mm-loc h3{font-size:21px;color:#fff;margin:0 0 10px;line-height:1.25}
.mm-loc address{font-style:normal;font-size:14px;line-height:1.7;color:var(--mm-on-dark-2);margin:0 0 16px;flex:1}
.mm-loc__foot{display:grid;gap:8px;font-size:13.5px;border-top:1px solid rgba(248,245,239,.14);padding-top:16px}
.mm-loc__foot span{color:var(--mm-on-dark)}
.mm-loc__foot a{color:var(--mm-gold-light)}
.mm-loc__foot a:hover{color:#fff}
.mm-map{border:1px solid var(--mm-line);background:var(--mm-cream-3);min-height:280px;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px;color:var(--mm-muted);font-size:14px}
.mm-steps{display:grid;grid-template-columns:1fr;gap:1px;background:var(--mm-line);border:1px solid var(--mm-line);margin:clamp(32px,4vw,48px) 0}
@media(min-width:760px){.mm-steps{grid-template-columns:repeat(3,1fr)}}
.mm-steps>div{background:var(--mm-white);padding:30px 28px}
.mm-steps b{display:block;font-family:"League Spartan",sans-serif;font-size:26px;color:var(--mm-gold-text);margin-bottom:14px;line-height:1}
.mm-steps h3{font-size:19px;margin:0 0 10px}
.mm-steps p{font-size:14.5px;line-height:1.7;color:var(--mm-muted);margin:0}
.mm-success{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--mm-green-700);color:#fff;margin-bottom:26px}
.mm-success svg{width:30px;height:30px}
.mm-pricepanel{background:var(--mm-green-850);color:var(--mm-cream);padding:clamp(32px,4vw,52px);border-radius:var(--mm-radius)}
.mm-pricepanel h2{color:#fff;margin-bottom:16px}
.mm-pricepanel p{color:var(--mm-on-dark);font-size:16px;line-height:1.75;max-width:56ch;margin:0 0 26px}

/* =========================================================================
   22. MOTION
   ========================================================================= */
@keyframes mmRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes mmFadeIn{from{opacity:0}to{opacity:1}}
@keyframes mmHeroImg{from{transform:scale(1.06)}to{transform:scale(1)}}
@keyframes mmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

.rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--mm-ease),transform .8s var(--mm-ease)}
.rv.is-in{opacity:1;transform:none}
.rv-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .7s var(--mm-ease),transform .7s var(--mm-ease)}
.rv-stagger.is-in>*{opacity:1;transform:none}
.rv-stagger.is-in>*:nth-child(1){transition-delay:0ms}
.rv-stagger.is-in>*:nth-child(2){transition-delay:70ms}
.rv-stagger.is-in>*:nth-child(3){transition-delay:140ms}
.rv-stagger.is-in>*:nth-child(4){transition-delay:210ms}
.rv-stagger.is-in>*:nth-child(5){transition-delay:280ms}
.rv-stagger.is-in>*:nth-child(n+6){transition-delay:350ms}
.mm-hero__img{animation:mmHeroImg 1.4s var(--mm-ease) both}
.mm-hero .mm-hero__eyebrow{animation:mmRise .8s var(--mm-ease) both;animation-delay:.05s}
.mm-hero h1{animation:mmRise .9s var(--mm-ease) both;animation-delay:.14s}
.mm-hero__inner>div>.mm-lede{animation:mmRise .9s var(--mm-ease) both;animation-delay:.24s}
.mm-hero__inner .mm-btns{animation:mmRise .9s var(--mm-ease) both;animation-delay:.34s}
.mm-bags{animation:mmRise 1s var(--mm-ease) both;animation-delay:.2s}
.mm-bags__img{animation:mmFloat 7s ease-in-out infinite;animation-delay:1.2s}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv,.rv-stagger>*{opacity:1!important;transform:none!important}
}

/* =========================================================================
   23. PRINT (spec sheet)
   ========================================================================= */
@media print{
  .mm-header,.mm-footer,.mm-sticky,.mm-modal,.mm-groupbar,.mm-util,.mm-noprint{display:none!important}
  body{background:#fff;padding-bottom:0;font-size:11pt}
  .mm-doc{box-shadow:none;margin:0;max-width:none}
  .mm-doc__page{page-break-after:always;box-shadow:none;border:0;padding:0}
  .mm-doc__page:last-child{page-break-after:auto}
  @page{size:A4;margin:14mm}
}
.mm-doc{max-width:820px;margin:0 auto;padding:clamp(24px,4vw,48px) 24px}
.mm-doc__page{background:#fff;border:1px solid var(--mm-line);padding:clamp(28px,4vw,52px);margin-bottom:28px}
.mm-doc__head{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--mm-green-800);padding-bottom:22px;margin-bottom:28px}
.mm-doc__head img{width:56px;height:52px;object-fit:contain}
.mm-doc__foot{border-top:1px solid var(--mm-line);margin-top:30px;padding-top:16px;font-size:11px;color:var(--mm-muted-3);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}

/* =========================================================================
   24. WP CORE / EDITOR SAFETY
   ========================================================================= */
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.wp-block-html{margin:0}
.mm-content>*{margin-left:auto;margin-right:auto}
.mm-404{text-align:center;padding:clamp(70px,10vw,140px) 24px}
.mm-search{display:flex;gap:10px;max-width:460px}
.mm-search input{flex:1}

/* Gold text keeps its original value on dark surfaces, where it already
   clears AA comfortably (7.5:1 or better). */
.mm-bg-dark .mm-eyebrow,.mm-bg-dark-800 .mm-eyebrow,.mm-eyebrow--ondark,
.mm-band .mm-eyebrow,.mm-phero .mm-eyebrow,.mm-hero .mm-eyebrow,
.mm-modal__pane .mm-eyebrow,
.mm-hair--dark .mm-kicker,.mm-hair--dark-800 .mm-kicker,
.mm-footer h3,.mm-footer__group b,
.mm-groupbar__label,.mm-util__tag,.mm-badge{color:var(--mm-gold-light)}
.mm-locs .mm-badge{color:var(--mm-gold-light)}
/* .mm-badge above is written for dark surfaces. It has the same specificity as
   .mm-badge--light and comes later in the file, so it was silently winning and
   putting the light gold on a white card at 2.05:1. The light variant is always
   on a light surface, so it takes its colour back. */
.mm-badge--light,.mm-locs .mm-badge--light{color:var(--mm-gold-text)}

/* Secondary text placed on a dark band uses the on-dark token, not the light one. */
.mm-bg-dark .mm-small,.mm-bg-dark-800 .mm-small,.mm-band .mm-small,
.mm-phero .mm-small,.mm-hero .mm-small{color:var(--mm-on-dark)}
.mm-bg-dark .mm-note,.mm-bg-dark-800 .mm-note,.mm-band .mm-note,
.mm-phero .mm-note,.mm-hero .mm-note{color:var(--mm-on-dark-2)}
.mm-bg-dark .mm-p,.mm-bg-dark-800 .mm-p,.mm-band .mm-p{color:var(--mm-on-dark)}

/* The footer and drawer lockups sit on dark green: gold text reverts to the
   light gold there, which clears AA at 7.5:1. */
.mm-footer .mm-logo__sub,.mm-drawer .mm-logo__sub,
.mm-bg-dark .mm-logo__sub,.mm-bg-dark-800 .mm-logo__sub{color:var(--mm-gold-light)}

/* Gold text on any dark surface reverts to the light gold. Kept as one rule so
   a new dark section never reintroduces the low-contrast pairing. */
.mm-bg-dark .mm-row dt,.mm-bg-dark-800 .mm-row dt,.mm-band .mm-row dt,
.mm-phero .mm-row dt,.mm-hero .mm-row dt,
.mm-bg-dark .mm-num,.mm-bg-dark-800 .mm-num,.mm-band .mm-num,
.mm-bg-dark .mm-tl__n,.mm-bg-dark-800 .mm-tl__n,
.mm-bg-dark .mm-acc__icon,.mm-bg-dark-800 .mm-acc__icon,
.mm-bg-dark .mm-ticks li::before,.mm-bg-dark-800 .mm-ticks li::before,.mm-band .mm-ticks li::before,
.mm-bg-dark .mm-post__meta,.mm-bg-dark-800 .mm-post__meta{color:var(--mm-gold-light)}

/* ...but a light card sitting inside a dark section is still a light surface,
   so anything inside a form or a light cell goes back to the dark gold. */
.mm-band .mm-form .mm-eyebrow,.mm-bg-dark .mm-form .mm-eyebrow,.mm-bg-dark-800 .mm-form .mm-eyebrow,
.mm-band .mm-form .mm-kicker,.mm-band .mm-form .mm-req,
.mm-bg-dark .mm-form .mm-req,.mm-bg-dark-800 .mm-form .mm-req,
.mm-band .mm-form label,.mm-bg-dark .mm-form label{color:var(--mm-gold-text)}
.mm-band .mm-form .mm-field label,.mm-bg-dark .mm-form .mm-field label,
.mm-bg-dark-800 .mm-form .mm-field label,.mm-band .mm-form__legend{color:var(--mm-muted)}
.mm-band .mm-form .mm-note,.mm-bg-dark .mm-form .mm-note,.mm-bg-dark-800 .mm-form .mm-note{color:#606C64}
.mm-band .mm-form p,.mm-bg-dark .mm-form p,.mm-bg-dark-800 .mm-form p{color:var(--mm-muted)}
.mm-bg-dark .mm-row dd,.mm-bg-dark-800 .mm-row dd,.mm-band .mm-row dd,
.mm-phero .mm-row dd,.mm-hero .mm-row dd,
.mm-bg-dark .mm-rows,.mm-bg-dark-800 .mm-rows{color:var(--mm-on-dark)}
.mm-bg-dark .mm-rows,.mm-bg-dark-800 .mm-rows,.mm-band .mm-rows{border-top-color:var(--mm-line-dark)}
.mm-bg-dark .mm-row,.mm-bg-dark-800 .mm-row,.mm-band .mm-row{border-bottom-color:var(--mm-line-dark)}

/* =========================================================================
   22. ORDER / PAYMENT
   The pay panel is deliberately quiet: this is the moment a buyer is checking
   an account number against a quotation, so nothing here competes for
   attention. Account numbers and references use a tabular face so digits line
   up and a mistyped one is visible.
   ========================================================================= */
.mm-hint{display:block;font-size:12px;line-height:1.55;color:var(--mm-muted-3);margin-top:6px}
.mm-mono{font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:.01em;overflow-wrap:anywhere}
@media(min-width:620px){.mm-grid--3{grid-template-columns:repeat(3,1fr)}}

.mm-order{display:grid;gap:clamp(22px,3vw,34px)}

.mm-paybox{background:var(--mm-cream-3);border:1px solid var(--mm-line);border-top:3px solid var(--mm-gold);padding:clamp(26px,3vw,38px);border-radius:var(--mm-radius)}
.mm-paybox[hidden]{display:none}
.mm-paybox:focus{outline:none}
.mm-paybox__head{margin-bottom:22px}
.mm-paybox__summary{margin-bottom:22px}
.mm-paybox__summary dd{font-size:17px}
.mm-paybox__lead{font-size:14.5px;line-height:1.7;color:var(--mm-body-2);margin:0 0 26px;max-width:58ch}

.mm-paygrid{display:grid;gap:18px;grid-template-columns:1fr;margin-bottom:30px}
@media(min-width:760px){.mm-paygrid{grid-template-columns:repeat(2,1fr);gap:22px;align-items:start}}
.mm-paycard{background:var(--mm-white);border:1px solid var(--mm-line);padding:clamp(20px,2.2vw,26px);border-radius:var(--mm-radius)}
.mm-paycard .mm-rows{border-top:0}
/* Stack the label over the value. Side by side leaves a narrow column for the
   value, and an account number or UPI id then breaks mid-string, which is
   exactly the wrong thing to do to a figure somebody is about to retype into
   their banking app. */
.mm-paycard .mm-row{padding:12px 0;flex-direction:column;gap:5px}
.mm-paycard .mm-row:last-child{border-bottom:0}
.mm-paycard .mm-row dt{min-width:0;padding-top:0}
.mm-paycard .mm-row dd{font-size:15.5px}
.mm-paycard .mm-row dd .mm-mono{overflow-wrap:normal;word-break:keep-all}
.mm-payqr{margin:0 0 18px}
.mm-payqr img{display:block;width:100%;max-width:208px;height:auto;border:1px solid var(--mm-line);border-radius:var(--mm-radius);background:var(--mm-white)}
.mm-payapp{margin:16px 0 0}
.mm-payapp a[hidden]{display:none}

.mm-payreport{background:var(--mm-white);border:1px solid var(--mm-line);padding:clamp(22px,2.6vw,30px);border-radius:var(--mm-radius)}
.mm-payreport .mm-input,.mm-payreport select{background:var(--mm-white)}
.mm-payreport textarea:focus,.mm-payreport .mm-input:focus,.mm-payreport select:focus{border-color:var(--mm-gold)}

.mm-paybox--done{background:var(--mm-white)}

/* =========================================================================
   23. PROSE / POLICY PAGES
   ========================================================================= */
.mm-prose{max-width:74ch}
.mm-prose h2{font-family:"League Spartan",Inter,sans-serif;font-size:clamp(21px,2.2vw,26px);line-height:1.25;margin:clamp(34px,4vw,46px) 0 14px;color:var(--mm-ink)}
.mm-prose h2:first-of-type{margin-top:0}
.mm-prose h3{font-family:"League Spartan",Inter,sans-serif;font-size:17px;line-height:1.35;margin:26px 0 10px;color:var(--mm-ink)}
.mm-prose p{font-size:15.5px;line-height:1.8;color:var(--mm-body-2);margin:0 0 16px}
.mm-prose ul{margin:0 0 18px;padding-left:22px}
.mm-prose li{font-size:15.5px;line-height:1.8;color:var(--mm-body-2);margin-bottom:9px}
.mm-prose a{color:var(--mm-green-700);border-bottom:1px solid #C9D3CC;font-weight:500}
.mm-prose a:hover{color:var(--mm-gold-text);border-bottom-color:var(--mm-gold)}
.mm-prose .mm-small{font-size:13px;color:var(--mm-muted-3)}

/* An unfilled decision. Loud on purpose: a policy page that goes live with one
   of these still in it is worse than no policy page at all. */
.mm-todo{
  display:inline;background:#FFF4DC;color:#4E3A17;
  box-shadow:inset 0 0 0 1px #E4C689;
  padding:2px 7px;border-radius:var(--mm-radius);
  font-size:.95em;font-weight:500;
}
p.mm-todo{display:block;padding:14px 16px;border-left:3px solid var(--mm-gold);box-shadow:none;line-height:1.7;margin:0 0 26px}
.mm-prose p.mm-todo{color:#4E3A17}
