/* css/ml-core-programs.1.0.0.css -- the programs template's own sections, v1.0.0.
   Chip M2-S231-CORE-F (G5), 2026-10-08, offline. Never deployed. Loaded after
   css/ml-core-pages.1.0.0.css (the shared bands, wrap, lockup hero, buttons and links) and
   css/ml-proof.1.0.0.css (the press line), which this file does not touch.

   SCOPE. Every rule starts at .ml-programs, the template's root class, and names one of this page's own
   classes (ml-pg-*), or the one hero line only this page prints (p.ml-hero__note). Nothing here reaches
   the press line (section.ml-proof) or the shared Success Stories component (.location-stories), which
   stays exactly as it is (M1|002991).

   TYPE. Every font-size is one of Elementor kit 92454's typography variables (Mr. Marc, 2026-10-05,
   ledger M2|001677: no size of our own anywhere). A line that does not fit is fixed by layout. Colors,
   spacing, widths and strokes read the --ml-* variables, with the visual-identity hex values as fallbacks.

   LAYOUT. The Left Spine (ledger M2|001609): headings, text and buttons start on the wrap's left edge.
   The three program cards sit side by side from 1,025px, their rows aligned across the three (subgrid; a
   browser without subgrid keeps equal-height cards with rows that may sit a little apart), and stack in one
   column below that. Every value on a card has the same weight, so no card's investment is louder. MOTION. Nothing here moves, pins or keys on a gsap-* class. */

/* Section rhythm and the reading measure */
.ml-programs .ml-pg-compare,.ml-programs .ml-pg-detail,.ml-programs .ml-pg-close{padding-block:var(--ml-section-standard,clamp(3.75rem,calc(2.6rem + 4.9vw),7.5rem))}
.ml-programs .ml-band div.ml-pg-measure{display:flex;flex-direction:column;gap:var(--ml-gap-text,clamp(.75rem,calc(.52rem + .98vw),1.5rem));max-width:var(--ml-content-narrow,760px)}
.ml-programs .ml-band div.ml-pg-measure p{max-width:62ch}
.ml-programs .ml-band--cream h3.ml-h3{color:var(--ml-blue-med,#456C8A)}

/* 1. HERO: the one line this page adds to the shared lockup, directly under the button row, so the button
   and the price line keep exactly the place they have on home and About (design spec, section 1, for the
   measured comparison with the line placed above the row). Its width is set by the hero's text column, so it
   runs to one or two lines by window width; each program's clause is kept on one line by the hero's no-wrap
   span, so a break falls between the two programs, and text-wrap balances the rest.
   The extra top margin gives it the hero's own gap from the price line, so it does not read as a footnote of
   the price. */
.ml-programs .ml-hero p.ml-hero__note{max-width:46ch;margin-top:var(--ml-sp-2,8px);line-height:1.5;color:var(--ml-white-soft,#FFFFFFDE)}

/* 3. THE PROGRAMS, SIDE BY SIDE: three cards with identical fields in the same order. */
.ml-programs .ml-pg-compare ul.ml-pg-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ml-gap-columns,clamp(1.25rem,calc(.71rem + 2.29vw),3rem));margin:var(--ml-sp-8,32px) 0 0;padding:0;list-style:none}
.ml-programs .ml-pg-compare li.ml-pg-card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:var(--ml-sp-3,12px);margin:0;padding:var(--ml-sp-6,24px);background:var(--ml-white,#FFFFFF);border:var(--ml-stroke-hairline,1px) solid var(--ml-card-border,rgba(165,109,91,.2));border-top:3px solid var(--ml-copper,#A56D5B);border-radius:0;scroll-margin-top:96px}
.ml-programs .ml-pg-compare h3.ml-pg-card__name{color:var(--ml-blue-med,#456C8A);font-variant-numeric:lining-nums}
.ml-programs .ml-pg-compare p.ml-pg-card__summary{color:var(--ml-gunmetal,#2C3539);line-height:1.5}
.ml-programs .ml-pg-compare dl.ml-pg-card__facts{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0;margin:0}
.ml-programs .ml-pg-compare div.ml-pg-card__row{display:flex;flex-direction:column;gap:var(--ml-sp-1,4px);padding:var(--ml-sp-3,12px) 0;border-top:var(--ml-stroke-hairline,1px) solid var(--ml-divider-light,rgba(44,53,57,.15))}
.ml-programs .ml-pg-compare div.ml-pg-card__row dt{margin:0;font-family:var(--e-global-typography-35281c4-font-family,"Instrument Sans"),system-ui,sans-serif;font-size:var(--e-global-typography-35281c4-font-size,14px);font-weight:600;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:var(--ml-copper-reading,#8E5D4E)}
.ml-programs .ml-pg-compare div.ml-pg-card__row dd{margin:0;line-height:1.45;color:var(--ml-gunmetal,#2C3539)}
.ml-programs .ml-pg-compare div.ml-pg-start{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:var(--ml-sp-3,12px) var(--ml-sp-6,24px);margin-top:var(--ml-sp-8,32px)}
.ml-programs .ml-pg-compare div.ml-pg-start p{max-width:62ch}

/* 4 and 5. HOW EACH PROGRAM WORKS: short features, each opening on a hairline (the series' scannable-list
   rhythm). Both sections' two items sit side by side from 769px; one column on phones. (As built by
   M2-S235-CORE-Q2: NeuroConcierge's in-person item was removed, M2|001816, so its three-column rule went too.) The method link sits under NeuroSync's lead. */
.ml-programs .ml-pg-detail ul.ml-pg-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ml-gap-columns,clamp(1.25rem,calc(.71rem + 2.29vw),3rem));max-width:1040px;margin:var(--ml-sp-8,32px) 0 0;padding:0;list-style:none}
.ml-programs .ml-pg-detail li.ml-pg-feature{display:flex;flex-direction:column;gap:var(--ml-sp-3,12px);margin:0;padding-top:var(--ml-sp-6,24px)}
.ml-programs .ml-band--navy li.ml-pg-feature{border-top:var(--ml-stroke-hairline,1px) solid var(--ml-etch-dk,#FFFFFF33)}
.ml-programs .ml-band--cream li.ml-pg-feature{border-top:var(--ml-stroke-hairline,1px) solid var(--ml-divider-light,rgba(44,53,57,.15))}
.ml-programs .ml-pg-detail li.ml-pg-feature p{max-width:56ch}
.ml-programs .ml-pg-detail p.ml-pg-detail__link{margin-top:calc(-1 * var(--ml-sp-2,8px))}
.ml-programs .ml-pg-detail p.ml-pg-roster{max-width:62ch;margin-top:var(--ml-sp-8,32px);padding-top:var(--ml-sp-6,24px);border-top:var(--ml-stroke-hairline,1px) solid var(--ml-divider-light,rgba(44,53,57,.15))}

/* 7. CLOSING: on the Left Spine (no new exception to M2|001609); the credential block below a hairline,
   left-aligned at the body size, as the protocol and About specs set the same block. */
.ml-programs .ml-pg-close div.ml-pg-close__inner{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ml-gap-text,clamp(.75rem,calc(.52rem + .98vw),1.5rem));max-width:var(--ml-content-narrow,760px);margin:0;text-align:left}
.ml-programs .ml-pg-close div.ml-pg-close__inner p{max-width:52ch}
.ml-programs .ml-pg-close div.ml-pg-close__cred{max-width:var(--ml-content-narrow,760px);margin:var(--ml-sp-12,48px) 0 0;padding-top:var(--ml-sp-6,24px);border-top:var(--ml-stroke-hairline,1px) solid var(--ml-divider-light,rgba(44,53,57,.15));text-align:left;font-size:var(--e-global-typography-accent-font-size,19px);line-height:1.55;color:var(--ml-gunmetal,#2C3539)}
.ml-programs .ml-pg-close div.ml-pg-close__cred div.mindlab-credential-block{display:grid;gap:var(--ml-sp-2,8px)}

/* Below 1,025px the cards stack in one column at a readable width (three columns would be about 220px
   each on a tablet); the rows no longer need aligning across cards. */
@media (max-width:1024px){
	.ml-programs .ml-pg-compare ul.ml-pg-cards{grid-template-columns:minmax(0,1fr);max-width:640px}
	.ml-programs .ml-pg-compare li.ml-pg-card{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column}
	.ml-programs .ml-pg-compare dl.ml-pg-card__facts{display:block}
}
/* One column below the kit's 769px breakpoint. */
@media (max-width:768px){
	.ml-programs .ml-pg-detail ul.ml-pg-features{grid-template-columns:minmax(0,1fr)}
	.ml-programs .ml-pg-compare li.ml-pg-card{padding:var(--ml-sp-5,20px)}
}

/* 2026-10-14, chip M2-S235-CORE-Q3 (Mr. Marc's review): NeuroSync carries three items in one row on wide screens;
   NeuroConcierge sits on the same dark band, with a copper hairline between the two; the closing credentials print
   as a list. Layout only: no type size changes. */
.ml-programs .ml-pg-sync ul.ml-pg-features{grid-template-columns:repeat(3,minmax(0,1fr))}
.ml-programs .ml-pg-sync + .ml-pg-concierge{border-top:var(--ml-stroke-hairline,1px) solid var(--ml-copper,#A56D5B)}
.ml-programs .ml-band--navy p.ml-pg-roster{border-top-color:var(--ml-etch-dk,#FFFFFF33)}
.ml-programs .ml-pg-close__cred ul.mindlab-credential-block__list{display:grid;gap:var(--ml-sp-1,4px);margin:0;padding:0;list-style:none}
@media (max-width:1024px){
	.ml-programs .ml-pg-sync ul.ml-pg-features{grid-template-columns:minmax(0,1fr)}
}
