/* WORK-16: continuous page, distinct readable chapters; no app or client-media changes. */
.platform-ready:not(.member-mode) .public-route {overflow:clip}
.platform-ready:not(.member-mode) .public-route .section,
.platform-ready:not(.member-mode) .public-route .audience-page,
.platform-ready:not(.member-mode) .public-route .about-page {min-width:0}
.platform-ready:not(.member-mode) .public-route img,
.platform-ready:not(.member-mode) .public-route figure,
.platform-ready:not(.member-mode) .public-route section,
.platform-ready:not(.member-mode) .public-route article {max-width:100%;min-width:0}
.platform-ready:not(.member-mode) .public-route :is(h1,h2,h3,p,blockquote,figcaption) {overflow-wrap:break-word}
.platform-ready:not(.member-mode) .public-route p {line-height:1.75}
.platform-ready:not(.member-mode) .public-route :is(.page-heading,.about-intro,.founder-introduction,.organisation-intro,.one-to-one-intro) p+p {margin-top:clamp(15px,2vw,24px)}
.platform-ready:not(.member-mode) .public-route figure img {max-width:100%}
.platform-ready:not(.member-mode) .public-route .page-heading .intro {max-width:62ch;line-height:1.7}
.platform-ready:not(.member-mode) .public-route .page-heading h1 {text-wrap:balance}

/* A visible, keyboard-accessible chapter index. Buttons avoid hash-router redirects. */
.mma-section-nav {
  position:sticky;top:calc(79px + env(safe-area-inset-top,0px));z-index:36;
  width:100%;min-width:0;display:flex;align-items:center;gap:clamp(12px,2vw,26px);
  margin:clamp(28px,4vw,54px) 0 0;padding:12px clamp(14px,2vw,24px);
  background:#172018f2;color:#f1ede2;border:1px solid #847756;
  box-shadow:0 12px 34px #0002;backdrop-filter:blur(12px);
}
.public-route .audience-page>.mma-section-nav,.public-route .section>.mma-section-nav {grid-column:1/-1}
.mma-section-nav-label {flex:none;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#d6bd82}
.mma-section-nav-items {min-width:0;display:flex;gap:7px;align-items:center;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain;padding:4px 0}
.mma-section-nav button {
  appearance:none;flex:none;white-space:nowrap;min-height:39px;padding:8px 12px;
  border:1px solid transparent;background:transparent;color:#efe9dc;
  font:600 12px/1.2 Arial,sans-serif;cursor:pointer;border-radius:3px;
  transition:background .18s,border-color .18s;
}
.mma-section-nav button:hover,.mma-section-nav button[aria-current='location'] {
  background:#d3af6840;border-color:#c8ad7370;
}
.mma-section-nav button:focus-visible {outline:3px solid #efce89;outline-offset:2px}
.public-route [data-mma-section] {scroll-margin-top:calc(170px + env(safe-area-inset-top,0px))}
.mma-home [data-mma-section] {scroll-margin-top:calc(170px + env(safe-area-inset-top,0px))}
/* The About root was a two-column GRID but its new mission and illustration
   were never told to span both columns. This caused the cut-off screenshot. */
@media(min-width:900px) {
 .public-route-about .about-page > :not(.page-heading):not(.about-hero-portrait) {
   grid-column:1 / -1;min-width:0;width:100%;
 }
 .public-route-about .about-page>.page-heading {grid-column:1;grid-row:1}
 .public-route-about .about-page>.about-hero-portrait {grid-column:2;grid-row:1}
}
.public-route-about .about-page > .mma-mission,
.public-route-about .about-page > .mma-mission-visual,
.public-route-about .about-page > .about-intro,
.public-route-about .about-page > .philosophy-grid,
.public-route-about .about-page > .practice-explainer,
.public-route-about .about-page > .founder-introduction,
.public-route-about .about-page > .contact-panel {
  box-sizing:border-box;width:100%;min-width:0;margin:0;
  padding-block:clamp(78px,10svh,135px);
}
.public-route-about .about-page>.mma-mission {
  grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
  column-gap:clamp(50px,7vw,120px);
  border-top:0;
}
.public-route-about .mma-mission>div:last-child {max-width:64ch;padding-top:0}
.public-route-about .mma-mission h2 {max-width:13ch;line-height:1.09}
.public-route-about .about-page>.mma-mission-visual {
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr);
  gap:clamp(45px,8vw,125px);align-items:center;
}
.public-route-about .mma-mission-visual > div {max-width:60ch}
.public-route-about .mma-mission-visual figure {justify-self:center;width:100%;max-width:435px;min-width:0}
.public-route-about .mma-mission-visual img {
  display:block;width:100%;height:auto;max-height:670px;object-fit:contain;
  object-position:center;filter:none;
}
.public-route-about .about-page>.about-intro {gap:clamp(45px,8vw,130px)}
.public-route-about .about-page>.philosophy-grid {padding-block:clamp(85px,10svh,130px)}
.public-route-about .philosophy-grid article {min-width:0}
.public-route-about .about-page>.practice-explainer {column-gap:clamp(38px,7vw,120px)}
.public-route-about .about-page>.founder-introduction {gap:clamp(40px,7vw,120px)}
.public-route-about .about-page>.contact-panel {margin-top:0}

/* Other pages follow the same independent reading-chapter rhythm. */
.public-route-schools .school-section,
.public-route-schools .school-hero,
.public-route-organisations .audience-page > :is(section,.contact-panel),
.public-route-one-to-one .audience-page > :is(section,aside),
.public-route-support .section > section,
.public-route-privacy .section > section {
  box-sizing:border-box;min-width:0;max-width:100%;
}
.public-route-schools .school-section {padding-block:clamp(80px,11svh,145px)}
.public-route-schools .school-hero {gap:clamp(44px,7vw,120px)}
.public-route-organisations .audience-page>.organisation-intro,
.public-route-organisations .audience-page>.organisation-settings,
.public-route-organisations .audience-page>.mma-setting-evidence,
.public-route-organisations .audience-page>.mma-visit-feedback,
.public-route-organisations .audience-page>.mma-workshop-example,
.public-route-organisations .audience-page>.delivery-options,
.public-route-one-to-one .audience-page>.one-to-one-intro,
.public-route-one-to-one .audience-page>.one-to-one-details {
  grid-column:1/-1;margin-block:0;padding-block:clamp(85px,11svh,140px);
}
.public-route-organisations .mma-setting-art-grid {align-items:start}
.public-route-organisations .mma-setting-art-frame {max-width:100%}
.public-route-organisations .mma-setting-art-frame img {object-fit:contain;max-width:100%}
.public-route-one-to-one .one-to-one-details article {gap:clamp(18px,3vw,44px)}
.public-route-one-to-one .one-to-one-details article > * {min-width:0}
.public-route .contact-panel {scroll-margin-top:170px}

/* At laptop sizes don't force multi-column reading into narrow strips. */
@media (max-width:1180px) {
 .public-route-about .about-page>.mma-mission,
 .public-route-about .about-page>.mma-mission-visual {grid-template-columns:1fr;gap:clamp(24px,4vw,55px)}
 .public-route-about .mma-mission-visual figure {justify-self:start;max-width:min(460px,100%)}
 .public-route-organisations .organisation-settings {grid-template-columns:1fr;gap:35px}
 .public-route-organisations .organisation-settings>.approved-poster {max-width:min(420px,100%)}
 .public-route-schools .school-hero {grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr)}
 .mma-section-nav {top:calc(69px + env(safe-area-inset-top,0px))}
}
@media(max-width:899px) {
 .public-route-about .about-page {display:block}
 .public-route-about .about-page>.about-hero-portrait {max-width:min(420px,100%);margin-block:30px 0}
 .public-route-about .about-page>.mma-mission,
 .public-route-about .about-page>.mma-mission-visual {display:block}
 .public-route-about .mma-mission-visual figure {margin-top:36px}
 .public-route-about .mma-mission-visual img {width:100%;height:auto;max-height:590px;object-fit:contain}
 .public-route-about .about-page > :is(.mma-mission,.mma-mission-visual,.about-intro,.philosophy-grid,.practice-explainer,.founder-introduction,.contact-panel) {
   padding-block:clamp(70px,9vw,105px);
 }
 .public-route-one-to-one .one-to-one-details article {grid-template-columns:1fr}
}
@media(max-width:719px) {
 .mma-section-nav {top:calc(62px + env(safe-area-inset-top,0px));padding:9px 12px;gap:10px;margin-block:28px 0}
 .mma-section-nav-label {font-size:9px}
 .mma-section-nav button {font-size:11px;padding:9px 10px;min-height:40px}
 .public-route [data-mma-section],.mma-home [data-mma-section] {scroll-margin-top:145px}
 .public-route-about .about-page>.page-heading h1 {font-size:clamp(45px,10.2vw,69px);line-height:1.03}
 .public-route-about .about-page>.mma-mission h2 {font-size:clamp(39px,10vw,56px);max-width:100%}
 .public-route-about .mma-mission-visual h2 {font-size:clamp(37px,9vw,56px)}
 .public-route-about .about-page > :is(.mma-mission,.mma-mission-visual,.about-intro,.philosophy-grid,.practice-explainer,.founder-introduction,.contact-panel) {
   padding-block:clamp(62px,12vw,84px);
 }
 .public-route-schools .school-section,.public-route-organisations .audience-page>section,
 .public-route-one-to-one .audience-page>section {padding-block:clamp(62px,12vw,86px)}
 .public-route-about .mma-mission-visual figure,.public-route-schools .mma-prevention-spotlight figure {width:100%;max-width:100%}
 .public-route-schools .school-hero {display:flex;flex-direction:column}
 .public-route-organisations .mma-setting-art-grid {grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce) {.mma-section-nav button {transition:none}}
