/* NESkills Step 120 — one compact mobile system for every site page.
   Loaded only at max-width: 760px. Desktop and tablet remain untouched.
   Step 123 mobile bugfix: Home Five-Step Method remains owned by home-page.css. */

:root {
  --mu-sticky-top: 74px;
  --mu-stack-gap: 10px;
  --mu-section-space: 42px;
  --mu-card-min-height: 176px;
  --mu-card-compact-height: 112px;
  --mu-card-padding: 15px;
  --mu-card-radius: 10px;
  --mu-title-size: 1.08rem;
  --mu-copy-size: 0.72rem;
  --mu-title-leading: 1.08;
  --mu-copy-leading: 1.5;
  --mu-light-card: #fffdf8;
  --mu-light-copy: #625f5d;
  --mu-dark-card: #102b3a;
  --mu-dark-card-strong: #123344;
  --mu-dark-copy: #c8d3d9;
  --mu-light-border: rgba(38, 48, 55, 0.16);
  --mu-dark-border: rgba(111, 151, 174, 0.42);
  --mu-shadow-light: 0 11px 24px rgba(48, 35, 25, 0.1), inset 0 1px 0 #fff;
  --mu-shadow-dark: 0 13px 28px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html,
body,
body.sitewide-sync {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  overflow-y: visible;
}

body > main,
body > main > section,
body > main > section > .shell,
.rex-main,
.rex-main > section,
.rex-main > section > .shell {
  min-width: 0;
}

/* Sticky cards must not be trapped by legacy clipping ancestors. */
body main :is(
  .page-section,
  .home-v2-section,
  .rex-section,
  .insights-library,
  .insight-section,
  .insight-article
) {
  overflow: visible;
}

/* Compact shared typography and vertical rhythm. */
body :is(.page-section, .home-v2-section, .rex-section) {
  padding-top: var(--mu-section-space);
  padding-bottom: var(--mu-section-space);
}

body :is(.page-heading, .home-v2-heading, .rex-section-head) {
  margin-bottom: 20px;
}

body :is(.page-heading, .home-v2-heading, .rex-section-head) h2,
body .insights-library .page-heading h2 {
  font-size: clamp(2rem, 9vw, 2.55rem);
  line-height: 0.98;
}

body :is(.page-heading, .home-v2-heading, .rex-section-head) > p:last-child,
body .insights-library .page-heading > p:last-child {
  margin-top: 10px;
  font-size: 0.75rem;
  line-height: 1.55;
}

/* One mobile navigation treatment. */
.mobile-menu a[href*="wa.me"] {
  min-height: 46px;
  padding: 11px 0;
  color: #ff9a5e;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: none;
}

/* WCAG-sized mobile controls without changing the component layout. */
body .menu-button {
  width: var(--touch-target-min);
  min-width: var(--touch-target-min);
  height: var(--touch-target-min);
  min-height: var(--touch-target-min);
}

body :is(
  .button-primary,
  .button-secondary,
  .button-ghost,
  .hero-actions > a,
  .rex-actions > a,
  .cta-actions > a,
  .reach-hero-actions > a,
  .reach-cta-actions > a,
  .rh-btn,
  .form-submit
) {
  min-height: var(--touch-target-min);
}

body main details > summary {
  min-height: var(--touch-target-min);
  align-items: center;
}

/* Reach / Explore: approved mobile order is copy, image, then actions. */
.reach-explore-page .rex-hero-grid {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.reach-explore-page .rex-hero-copy {
  display: contents;
}

.reach-explore-page .rex-hero-copy > .rex-breadcrumbs { order: 1; }
.reach-explore-page .rex-hero-copy > .rex-eyebrow { order: 2; }
.reach-explore-page .rex-hero-copy > h1 { order: 3; }
.reach-explore-page .rex-hero-copy > .rex-hero-lead { order: 4; }
.reach-explore-page .rex-hero-media { order: 5; }
.reach-explore-page .rex-hero-copy > .rex-actions { order: 6; }

.reach-explore-page .rex-hero-copy > .rex-hero-lead {
  margin-top: 0;
}

.reach-explore-page .rex-hero-media {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.reach-explore-page.explore-family-page .rex-hero-media {
  aspect-ratio: 4 / 3;
}

.reach-explore-page .rex-founder-page .rex-hero-media {
  aspect-ratio: 4 / 5;
}

.reach-explore-page .rex-founder-page .rex-hero-media img {
  object-position: center 20%;
}

.reach-explore-page .rex-hero-media img,
.reach-explore-page .rex-hero-media picture {
  width: 100%;
  height: 100%;
}

.reach-explore-page .rex-hero-media img {
  object-fit: cover;
}

.reach-explore-page .rex-actions {
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 0;
}

/* Coaching/program pages use the same copy → image → CTA sequence. */
.service-hero-grid {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.service-hero-copy {
  display: contents;
}

.service-hero-copy > .breadcrumbs { order: 1; }
.service-hero-copy > .eyebrow { order: 2; }
.service-hero-copy > h1 { order: 3; }
.service-hero-copy > .service-hero-lead { order: 4; }
.service-hero-visual { order: 5; }
.service-hero-copy > .hero-actions { order: 6; }

.service-hero-visual {
  width: 100%;
  aspect-ratio: auto;
  overflow: visible;
}

.service-hero-visual > :is(picture, img) {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.service-hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Single-source program art remains at its native 4:3 composition. */
:is(
  .executive-coaching-hero-visual,
  .private-coaching-hero-visual,
  .organizations-hero-visual
) > :is(picture, img) {
  aspect-ratio: 4 / 3;
}

.service-hero-copy > .hero-actions {
  margin-top: 0;
}

/* Insights: place the feature visual before its read action. */
.insights-featured-card {
  display: flex;
  flex-direction: column;
  padding: 0;
}

.insights-featured-card > div:first-child {
  display: contents;
}

.insights-featured-card > div:first-child > small {
  order: 1;
  margin: 20px 18px 0;
}

.insights-featured-card > div:first-child > h2 {
  order: 2;
  margin: 14px 18px 0;
  font-size: 2.05rem;
}

.insights-featured-card > div:first-child > p {
  order: 3;
  margin: 11px 18px 0;
}

.insights-featured-card .insights-featured-visual {
  order: 4;
  min-height: 170px;
  margin: 16px 18px 0;
  padding: 22px 18px;
  border-radius: 8px;
}

.insights-featured-card > div:first-child > span {
  order: 5;
  margin: 0;
  padding: 17px 18px 20px;
}

.insights-index-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.insights-index-stats > span {
  min-height: 108px;
  padding: 15px 11px;
}

/* All content-card sequences become vertical sticky stacks. */
body.mobile-system-v120[data-mobile-system="v120"] :is(
  .home-v2-problem-grid,
  .home-v2-pathway-grid,
  .home-v2-reach-grid,
  .service-grid,
  .spotlight-list,
  .path-grid,
  .method-steps,
  .rex-location-grid,
  .rex-card-grid,
  .rex-proof-grid,
  .rex-program-grid,
  .rex-method-grid,
  .rex-testimonial-grid,
  .rex-callout-grid,
  .rex-cert-grid,
  .insights-card-grid,
  .insight-card-grid,
  .insight-related-grid,
  .media-story-grid,
  .record-grid,
  .identifier-grid,
  .verification-grid,
  .entity-grid,
  .channel-grid,
  .method-map
) {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  margin-right: 0;
  padding: 0;
  overflow: visible;
  scroll-snap-type: none;
}

body.mobile-system-v120[data-mobile-system="v120"] :is(
  .home-v2-problem-grid,
  .home-v2-pathway-grid,
  .home-v2-reach-grid,
  .service-grid,
  .spotlight-list,
  .path-grid,
  .method-steps,
  .rex-location-grid,
  .rex-card-grid,
  .rex-proof-grid,
  .rex-program-grid,
  .rex-method-grid,
  .rex-testimonial-grid,
  .rex-callout-grid,
  .rex-cert-grid,
  .insights-card-grid,
  .insight-card-grid,
  .insight-related-grid,
  .media-story-grid,
  .record-grid,
  .identifier-grid,
  .verification-grid,
  .entity-grid,
  .channel-grid,
  .method-map
) > * {
  position: sticky;
  top: var(--mu-sticky-top);
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: var(--mu-card-min-height);
  min-height: var(--mu-card-min-height);
  max-height: var(--mu-card-min-height);
  margin: 0 0 var(--mu-stack-gap);
  padding: var(--mu-card-padding);
  overflow: hidden;
  border: 1px solid var(--mu-light-border);
  border-radius: var(--mu-card-radius);
  background: var(--mu-light-card);
  box-shadow: var(--mu-shadow-light);
  opacity: 1;
  transform: translateZ(0);
  backface-visibility: hidden;
  isolation: isolate;
  scroll-snap-align: none;
}

body.mobile-system-v120[data-mobile-system="v120"] :is(
  .home-v2-problem-grid,
  .home-v2-pathway-grid,
  .home-v2-reach-grid,
  .service-grid,
  .spotlight-list,
  .path-grid,
  .method-steps,
  .rex-location-grid,
  .rex-card-grid,
  .rex-proof-grid,
  .rex-program-grid,
  .rex-method-grid,
  .rex-testimonial-grid,
  .rex-callout-grid,
  .rex-cert-grid,
  .insights-card-grid,
  .insight-card-grid,
  .insight-related-grid,
  .media-story-grid,
  .record-grid,
  .identifier-grid,
  .verification-grid,
  .entity-grid,
  .channel-grid,
  .method-map
) > :last-child {
  margin-bottom: 0;
}

/* Fully opaque dark cards prevent the glass-card text bleed shown in STD1–STD5. */
body.mobile-system-v120[data-mobile-system="v120"] :is(
  .dark-section,
  .home-v2-pathways,
  .home-v2-reach,
  .spotlight-section,
  .method-section,
  .rex-section--dark,
  .rex-section--navy
) :is(
  .home-v2-pathway-grid,
  .home-v2-reach-grid,
  .spotlight-list,
  .method-steps,
  .rex-location-grid,
  .rex-card-grid,
  .rex-proof-grid,
  .rex-program-grid,
  .rex-method-grid,
  .rex-testimonial-grid,
  .rex-callout-grid,
  .rex-cert-grid
) > * {
  border-color: var(--mu-dark-border);
  background: var(--mu-dark-card);
  color: #fff;
  box-shadow: var(--mu-shadow-dark);
  backdrop-filter: none;
}

:is(.rex-section--dark, .rex-section--navy) .rex-proof-grid > *,
.method-section .method-steps > *,
.spotlight-section .spotlight-list > * {
  background: var(--mu-dark-card);
}

/* Deterministic stacking order. */
:is(
  .home-v2-problem-grid,
  .home-v2-pathway-grid,
  .home-v2-reach-grid,
  .service-grid,
  .spotlight-list,
  .path-grid,
  .method-steps,
  .rex-location-grid,
  .rex-card-grid,
  .rex-proof-grid,
  .rex-program-grid,
  .rex-method-grid,
  .rex-testimonial-grid,
  .rex-callout-grid,
  .rex-cert-grid,
  .insights-card-grid,
  .insight-card-grid,
  .insight-related-grid,
  .media-story-grid,
  .record-grid,
  .identifier-grid,
  .verification-grid,
  .entity-grid,
  .channel-grid,
  .method-map
) > :nth-child(1) { z-index: 31; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(2) { z-index: 32; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(3) { z-index: 33; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(4) { z-index: 34; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(5) { z-index: 35; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(6) { z-index: 36; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(7) { z-index: 37; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(8) { z-index: 38; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(9) { z-index: 39; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(10) { z-index: 40; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(11) { z-index: 41; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(12) { z-index: 42; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(13) { z-index: 43; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(14) { z-index: 44; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(15) { z-index: 45; }
:is(.home-v2-problem-grid,.home-v2-pathway-grid,.home-v2-reach-grid,.service-grid,.spotlight-list,.path-grid,.method-steps,.rex-location-grid,.rex-card-grid,.rex-proof-grid,.rex-program-grid,.rex-method-grid,.rex-testimonial-grid,.rex-callout-grid,.rex-cert-grid,.insights-card-grid,.insight-card-grid,.insight-related-grid,.media-story-grid,.record-grid,.identifier-grid,.verification-grid,.entity-grid,.channel-grid,.method-map) > :nth-child(n+16) { z-index: 46; }

/* Compact horizontal card internals. */
:is(.service-grid > .service-card, .rex-card-grid > .rex-card) {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-auto-rows: min-content;
  column-gap: 13px;
  align-content: center;
}

:is(.service-grid > .service-card, .rex-card-grid > .rex-card) > svg {
  grid-column: 1;
  grid-row: 1 / span 3;
  width: 28px;
  height: 28px;
  margin: 2px 0 0;
}

:is(.service-grid > .service-card, .rex-card-grid > .rex-card) > :is(h3, p, a, strong, small) {
  grid-column: 2;
}

body.mobile-system-v120[data-mobile-system="v120"] .home-v2-problem-grid > .home-v2-problem {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  width: 100%;
  height: var(--mu-card-compact-height);
  min-height: var(--mu-card-compact-height);
  max-height: var(--mu-card-compact-height);
  align-items: center;
  gap: 14px;
  margin-bottom: 8px;
  padding: 14px 16px;
  text-align: left;
}

body.mobile-system-v120[data-mobile-system="v120"] .home-v2-problem-grid > .home-v2-problem > :is(svg, h3) {
  position: static;
  margin: 0;
}

body.mobile-system-v120[data-mobile-system="v120"] .home-v2-problem-grid > .home-v2-problem > svg {
  width: 48px;
  height: 48px;
}

.home-v2-pathway-grid > .home-v2-pathway {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-content: center;
  column-gap: 14px;
  text-align: left;
}

.home-v2-pathway-grid > .home-v2-pathway > svg {
  grid-column: 1;
  grid-row: 1 / span 3;
  width: 32px;
  height: 32px;
}


.rex-location-grid > .rex-location-card {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  min-height: 176px;
  padding: 0;
}

.rex-location-grid > .rex-location-card > .card-img-wrap {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 9px 0 0 9px;
}

/* The four legacy Reach artworks contain baked-in lower-copy. Zoom to their
   photographic upper half so the new semantic card copy is never repeated. */
.rex-location-grid > .rex-location-card > .card-img-wrap img {
  object-position: 50% 10%;
  transform: scale(2.2);
  transform-origin: 50% 10%;
}

.rex-location-grid > .rex-location-card > div {
  min-height: 0;
  padding: 14px 13px;
}

.rex-cert-grid > .rex-cert-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  min-height: 126px;
  align-items: center;
  gap: 13px;
}

.rex-cert-grid > .rex-cert-card .card-img-wrap {
  width: 52px;
}

/* Uniform title/copy line blocks. */
:is(
  .home-v2-pathway,
  .home-v2-reach-card,
  .service-card,
  .spotlight-list > article,
  .path-card,
  .method-steps > li,
  .rex-location-card,
  .rex-card,
  .rex-proof-card,
  .rex-program-card,
  .rex-method-grid > li,
  .rex-testimonial-card,
  .rex-callout,
  .rex-cert-card,
  .insights-card,
  .insight-card,
  .insight-related-card,
  .media-story,
  .record-card,
  .identifier-card,
  .verification-card,
  .entity-card,
  .channel-card,
  .method-map-card
) h3 {
  min-height: 0;
  max-height: 2.16em;
  margin: 0 0 7px;
  overflow: hidden;
  display: -webkit-box;
  font-family: var(--font-display, "EB Garamond", Georgia, serif);
  font-size: var(--mu-title-size);
  line-height: var(--mu-title-leading);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

:is(
  .home-v2-pathway,
  .home-v2-reach-card,
  .service-card,
  .spotlight-list > article,
  .path-card,
  .method-steps > li,
  .rex-location-card,
  .rex-card,
  .rex-proof-card,
  .rex-program-card,
  .rex-method-grid > li,
  .rex-testimonial-card,
  .rex-callout,
  .rex-cert-card,
  .insights-card,
  .insight-card,
  .insight-related-card,
  .media-story,
  .record-card,
  .identifier-card,
  .verification-card,
  .entity-card,
  .channel-card,
  .method-map-card
) p {
  min-height: 0;
  max-height: 4.5em;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  font-size: var(--mu-copy-size);
  line-height: var(--mu-copy-leading);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

:is(.dark-section, .home-v2-pathways, .home-v2-reach, .spotlight-section, .method-section, .rex-section--dark, .rex-section--navy) :is(h3, strong) {
  color: #fff;
}

:is(.dark-section, .home-v2-pathways, .home-v2-reach, .spotlight-section, .method-section, .rex-section--dark, .rex-section--navy) :is(.service-card, .path-card, .rex-card, .rex-proof-card, .rex-program-card, .rex-callout, .method-steps > li, .spotlight-list > article) p {
  color: var(--mu-dark-copy);
}

/* Remove legacy absolute link placement inside compact cards. */
:is(.insights-card, .insight-related-card, .record-card, .method-map-card, .channel-card) > :is(span, a, strong):last-child {
  position: static;
  margin-top: auto;
  padding-top: 10px;
}

body.mobile-system-v120[data-mobile-system="v120"] :is(
  .insights-card-grid > .insights-card,
  .insight-card-grid > .insight-card,
  .insight-related-grid > .insight-related-card,
  .record-grid > .record-card,
  .channel-grid > .channel-card,
  .method-map > .method-map-card
) {
  display: flex;
  flex-direction: column;
}

@media (max-width: 370px) {
  :root {
    --mu-card-padding: 14px;
    --mu-title-size: 1.02rem;
    --mu-copy-size: 0.68rem;
  }

}

@media (prefers-reduced-motion: reduce) {
  :is(
    .home-v2-problem-grid,
    .home-v2-pathway-grid,
      .home-v2-reach-grid,
    .service-grid,
    .spotlight-list,
    .path-grid,
    .method-steps,
    .rex-location-grid,
    .rex-card-grid,
    .rex-proof-grid,
    .rex-program-grid,
    .rex-method-grid,
    .rex-testimonial-grid,
    .rex-callout-grid,
    .rex-cert-grid,
    .insights-card-grid,
    .insight-card-grid,
    .insight-related-grid
  ) > * {
    transform: none;
  }
}

/* ===== Step 127 — Coaching detail pages: compact mobile density system =====
   Scoped to specialization-template only. Home, Reach, Insights and authority pages are unaffected. */
:root {
  --mu-coach-stack-gap: 8px;
  --mu-coach-card-pad-y: 11px;
  --mu-coach-card-pad-x: 12px;
  --mu-coach-card-title: 1rem;
  --mu-coach-card-copy: 0.66rem;
  --mu-coach-card-title-leading: 1.08;
  --mu-coach-card-copy-leading: 1.42;
  --mu-coach-focus-min: 118px;
  --mu-coach-format-min: 126px;
  --mu-coach-spotlight-min: 92px;
  --mu-coach-method-min: 98px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack > * {
  height: auto;
  min-height: 0;
  max-height: none;
  margin-bottom: var(--mu-coach-stack-gap);
  overflow: hidden;
}

/* Remove the global fixed text blocks/clamps inside coaching-detail cards. */
body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .nes-card-stack--focus > .service-card,
  .nes-card-stack--formats > .path-card,
  .nes-card-stack--spotlight > article,
  .nes-card-stack--method > li
) :is(h3, p) {
  min-block-size: 0;
  max-block-size: none;
  min-height: 0;
  max-height: none;
  overflow: visible;
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .nes-card-stack--focus,
  .nes-card-stack--formats,
  .nes-card-stack--spotlight,
  .nes-card-stack--method
) h3 {
  font-size: var(--mu-coach-card-title);
  line-height: var(--mu-coach-card-title-leading);
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .nes-card-stack--focus,
  .nes-card-stack--formats,
  .nes-card-stack--spotlight,
  .nes-card-stack--method
) p {
  font-size: var(--mu-coach-card-copy);
  line-height: var(--mu-coach-card-copy-leading);
}

/* Focus cards: keep the icon-led horizontal composition, but eliminate the 176px dead box. */
body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack--focus > .service-card {
  min-height: var(--mu-coach-focus-min);
  padding: var(--mu-coach-card-pad-y) var(--mu-coach-card-pad-x);
  grid-template-columns: 30px minmax(0, 1fr);
  column-gap: 10px;
  align-content: center;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack--focus > .service-card > svg {
  width: 24px;
  height: 24px;
  grid-row: 1 / span 4;
  align-self: start;
  margin-top: 2px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack--focus h3 {
  margin: 0 0 5px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack--focus .service-card > a {
  position: static;
  margin-top: 6px;
  padding-top: 0;
  font-size: 0.58rem;
  line-height: 1.2;
}

/* Format cards: compact vertical information block, no forced bottom-pushed CTA. */
body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack--formats > .path-card {
  min-height: var(--mu-coach-format-min);
  padding: 12px 13px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack--formats h3 {
  margin: 5px 0 5px;
  font-size: 1.04rem;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack--formats .path-card > strong {
  margin-top: 7px;
  padding-top: 0;
  font-size: 0.58rem;
  line-height: 1.2;
}

/* Spotlight + Five-Step Method: content-height cards with deliberate inline rhythm. */
body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .nes-card-stack--spotlight > article,
  .nes-card-stack--method > li
) {
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 9px;
  align-content: center;
  padding: 11px 12px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack--spotlight > article {
  min-height: var(--mu-coach-spotlight-min);
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .nes-card-stack--method > li {
  min-height: var(--mu-coach-method-min);
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .nes-card-stack--spotlight > article,
  .nes-card-stack--method > li
) > span {
  align-self: start;
  padding-top: 2px;
  font-size: 0.83rem;
  line-height: 1.15;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .nes-card-stack--spotlight,
  .nes-card-stack--method
) h3 {
  margin: 0 0 4px;
}

/* Tighten only the coaching-card section rhythm; sticky top remains 74px. */
body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(#focus, #formats, .spotlight-section, .method-section) {
  padding-top: 34px;
  padding-bottom: 18px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(#focus, #formats) .page-heading {
  margin-bottom: 16px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .spotlight-grid {
  gap: 20px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .method-layout {
  gap: 16px;
}

@media (max-width: 370px) {
  :root {
    --mu-coach-card-pad-y: 10px;
    --mu-coach-card-pad-x: 11px;
    --mu-coach-card-title: 0.96rem;
    --mu-coach-card-copy: 0.64rem;
    --mu-coach-focus-min: 114px;
    --mu-coach-format-min: 122px;
    --mu-coach-spotlight-min: 90px;
    --mu-coach-method-min: 96px;
  }
}


/* ===== Step 128 — Programs + Reach + Explore: fluid compact mobile density =====
   Shared system extension for <=760px. Keeps the Step 127 coaching system intact,
   removes legacy fixed card boxes/clamps from Reach + Explore families, and
   centralizes spacing tokens so card stacks can expand naturally. */
:root {
  --mu-dir-stack-gap: 8px;
  --mu-dir-card-pad-y: 10px;
  --mu-dir-card-pad-x: 12px;
  --mu-dir-title-size: 0.98rem;
  --mu-dir-copy-size: 0.66rem;
  --mu-dir-title-leading: 1.08;
  --mu-dir-copy-leading: 1.42;
  --mu-dir-card-min: 108px;
  --mu-dir-proof-min: 104px;
  --mu-dir-program-min: 112px;
  --mu-dir-method-min: 102px;
  --mu-dir-location-min: 136px;
  --mu-dir-callout-min: 104px;
  --mu-dir-cert-min: 96px;
  --mu-dir-testimonial-min: 138px;
}

/* Shared mobile section rhythm for Reach + Explore only. */
body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) .rex-section {
  padding-top: 34px;
  padding-bottom: 24px;
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) .rex-section-head {
  margin-bottom: 16px;
}

/* Fluid sticky stacks: never force a card to the legacy 176px box. */
body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) :is(
  .rex-location-grid,
  .rex-card-grid,
  .rex-proof-grid,
  .rex-program-grid,
  .rex-method-grid,
  .rex-testimonial-grid,
  .rex-callout-grid,
  .rex-cert-grid
) > * {
  height: auto;
  max-height: none;
  margin-bottom: var(--mu-dir-stack-gap);
  overflow: visible;
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) :is(
  .rex-card,
  .rex-proof-card,
  .rex-program-card,
  .rex-method-grid > li,
  .rex-testimonial,
  .rex-testimonial-card,
  .rex-callout,
  .rex-cert-card
) {
  box-sizing: border-box;
  padding: var(--mu-dir-card-pad-y) var(--mu-dir-card-pad-x);
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) .rex-card {
  min-height: var(--mu-dir-card-min);
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) .rex-proof-card {
  min-height: var(--mu-dir-proof-min);
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) .rex-program-card {
  min-height: var(--mu-dir-program-min);
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) .rex-method-grid > li {
  min-height: var(--mu-dir-method-min);
  grid-template-columns: 34px minmax(0,1fr);
  column-gap: 9px;
  align-content: center;
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) :is(.rex-testimonial,.rex-testimonial-card) {
  min-height: var(--mu-dir-testimonial-min);
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) .rex-callout {
  min-height: var(--mu-dir-callout-min);
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) .rex-cert-card {
  min-height: var(--mu-dir-cert-min);
  grid-template-columns: 46px minmax(0,1fr);
  gap: 10px;
  align-items: center;
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) .rex-cert-card .card-img-wrap {
  width: 46px;
}

/* Remove global two/three-line clamps from directory cards. Full content wins. */
body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) :is(
  .rex-location-card,
  .rex-card,
  .rex-proof-card,
  .rex-program-card,
  .rex-method-grid > li,
  .rex-testimonial,
  .rex-testimonial-card,
  .rex-callout,
  .rex-cert-card
) :is(h3,p) {
  min-block-size: 0;
  max-block-size: none;
  min-height: 0;
  max-height: none;
  overflow: visible;
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) :is(
  .rex-location-card,
  .rex-card,
  .rex-proof-card,
  .rex-program-card,
  .rex-method-grid > li,
  .rex-testimonial,
  .rex-testimonial-card,
  .rex-callout,
  .rex-cert-card
) h3 {
  margin-bottom: 5px;
  font-size: var(--mu-dir-title-size);
  line-height: var(--mu-dir-title-leading);
}

body.mobile-system-v120[data-mobile-system="v120"]:is(.reach-family-page,.explore-family-page) :is(
  .rex-location-card,
  .rex-card,
  .rex-proof-card,
  .rex-program-card,
  .rex-method-grid > li,
  .rex-testimonial,
  .rex-testimonial-card,
  .rex-callout,
  .rex-cert-card
) p {
  font-size: var(--mu-dir-copy-size);
  line-height: var(--mu-dir-copy-leading);
}

/* Reach hub media cards: compact split layout with fluid content height. */
body.mobile-system-v120[data-mobile-system="v120"].reach-hub-page .rex-location-grid > .rex-location-card {
  min-height: var(--mu-dir-location-min);
  padding: 0;
  grid-template-columns: minmax(92px,0.34fr) minmax(0,0.66fr);
  overflow: hidden;
}

body.mobile-system-v120[data-mobile-system="v120"].reach-hub-page .rex-location-grid > .rex-location-card > .card-img-wrap {
  min-height: var(--mu-dir-location-min);
  height: 100%;
}

body.mobile-system-v120[data-mobile-system="v120"].reach-hub-page .rex-location-grid > .rex-location-card > div {
  min-height: 0;
  padding: 10px 11px;
}

body.mobile-system-v120[data-mobile-system="v120"].reach-hub-page .rex-location-card h3 {
  margin-bottom: 4px;
  font-size: 1rem;
}

body.mobile-system-v120[data-mobile-system="v120"].reach-hub-page .rex-location-card p {
  margin-bottom: 7px;
  font-size: 0.64rem;
  line-height: 1.38;
}

body.mobile-system-v120[data-mobile-system="v120"].reach-hub-page .rex-location-card :is(strong,small) {
  font-size: 0.56rem;
  line-height: 1.2;
}

/* Reach detail supporting grids: compact but fluid. */
body.mobile-system-v120[data-mobile-system="v120"].reach-family-page .rex-metric-grid > span {
  min-height: 68px;
  padding: 9px 10px;
}

body.mobile-system-v120[data-mobile-system="v120"].reach-family-page :is(.rex-state-grid,.rex-logo-grid) {
  gap: 8px;
}

body.mobile-system-v120[data-mobile-system="v120"].reach-family-page :is(.rex-state-grid,.rex-logo-grid) > * {
  height: auto;
  min-height: 72px;
  padding: 10px;
}

/* Explore pages: compact identity, methodology and authority cards. */
body.mobile-system-v120[data-mobile-system="v120"].explore-family-page .rex-story-grid {
  gap: 16px;
}

body.mobile-system-v120[data-mobile-system="v120"].explore-family-page .rex-gallery-grid {
  gap: 8px;
}

/* Founder page uses its own card vocabulary; bring it onto the same density tokens. */
body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .founder-why-grid {
  gap: 8px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .founder-why-grid article {
  height: auto;
  min-height: 104px;
  padding: 10px 9px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .founder-journey-track {
  gap: 8px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .journey-card {
  height: auto;
  min-height: 128px;
  padding: 10px 8px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .founder-method-panel {
  padding: 11px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .founder-method-track {
  gap: 7px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .founder-step {
  grid-template-columns: 42px 28px minmax(0,1fr);
  gap: 8px;
  padding: 6px 7px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .step-circle {
  width: 42px;
  height: 42px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .founder-recognition-cards {
  gap: 8px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .recognition-card {
  height: auto;
  min-height: 132px;
  padding: 9px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .recognition-media-card {
  min-height: 118px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .founder-testimonial-cards {
  gap: 8px;
}

body.mobile-system-v120[data-mobile-system="v120"].founder-rebuild-page .founder-testimonial-cards > article {
  height: auto;
  min-height: 0;
  padding: 11px;
}

/* Programs: retain Step 127 structure, but use the shared gap/padding cadence. */
body.specialization-template.mobile-system-v120[data-mobile-system="v120"] {
  --mu-coach-card-pad-y: 10px;
  --mu-coach-card-pad-x: 11px;
  --mu-coach-focus-min: 112px;
  --mu-coach-format-min: 118px;
  --mu-coach-spotlight-min: 88px;
  --mu-coach-method-min: 94px;
}

/* Some older Program/SEO templates do not yet carry nes-card-stack helper classes.
   Target the canonical grids directly so they receive the same fluid system. */
body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .service-grid > .service-card,
  .path-grid > .path-card,
  .spotlight-list > article,
  .method-steps > li
) {
  height: auto;
  max-height: none;
  margin-bottom: var(--mu-dir-stack-gap);
  overflow: visible;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .service-grid > .service-card {
  min-height: var(--mu-coach-focus-min);
  padding: var(--mu-coach-card-pad-y) var(--mu-coach-card-pad-x);
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .path-grid > .path-card {
  min-height: var(--mu-coach-format-min);
  padding: 11px 12px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .spotlight-list > article {
  min-height: var(--mu-coach-spotlight-min);
  padding: 10px 11px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] .method-steps > li {
  min-height: var(--mu-coach-method-min);
  padding: 10px 11px;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .service-grid > .service-card,
  .path-grid > .path-card,
  .spotlight-list > article,
  .method-steps > li
) :is(h3,p) {
  min-block-size: 0;
  max-block-size: none;
  min-height: 0;
  max-height: none;
  overflow: visible;
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .nes-card-stack--focus,
  .nes-card-stack--formats,
  .nes-card-stack--spotlight,
  .nes-card-stack--method
) > * {
  margin-bottom: var(--mu-dir-stack-gap);
}

body.specialization-template.mobile-system-v120[data-mobile-system="v120"] :is(
  .programme-detail-card,
  .service-card,
  .spotlight-list > article,
  .method-steps > li
) {
  height: auto;
  max-height: none;
}

/* Preserve sticky behavior and header clearance everywhere these stacks already use it. */
body.mobile-system-v120[data-mobile-system="v120"] :is(
  .service-grid,
  .spotlight-list,
  .path-grid,
  .method-steps,
  .rex-location-grid,
  .rex-card-grid,
  .rex-proof-grid,
  .rex-program-grid,
  .rex-method-grid,
  .rex-testimonial-grid,
  .rex-callout-grid,
  .rex-cert-grid
) > * {
  top: var(--mu-sticky-top);
}

@media (max-width: 370px) {
  :root {
    --mu-dir-card-pad-y: 9px;
    --mu-dir-card-pad-x: 10px;
    --mu-dir-title-size: 0.94rem;
    --mu-dir-copy-size: 0.63rem;
    --mu-dir-card-min: 104px;
    --mu-dir-proof-min: 100px;
    --mu-dir-program-min: 108px;
    --mu-dir-method-min: 98px;
    --mu-dir-location-min: 132px;
    --mu-dir-callout-min: 100px;
    --mu-dir-cert-min: 92px;
    --mu-dir-testimonial-min: 132px;
  }
}
