/* MTWM editorial visual system 2.0 — 25 Oct 2026
   Scope: public Open Page child theme and recognised plugin components.
   Source-of-truth tokens: one design vocabulary, not successive override files.
   Do not apply to WordPress admin. Supports reduced motion and forced colours.
*/
:root {
  --mtwm-paper:#FAF9F6; --mtwm-ink:#20302C; --mtwm-muted:#515D56;
  --mtwm-clay:#99513F; --mtwm-wash:#F0F1EC; --mtwm-line:#D6DAD4;
  --mtwm-white:#FFF; --mtwm-serif:Georgia,"Iowan Old Style","Baskerville",serif;
  --mtwm-sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mtwm-page: min(100% - 48px, 1260px); --mtwm-read: 72ch;
  --mtwm-space-1:.45rem; --mtwm-space-2:.8rem; --mtwm-space-3:1.25rem;
  --mtwm-space-4:2rem; --mtwm-space-5:3.25rem; --mtwm-space-6:5rem;
  --mtwm-radius:12px;
}
body.mtwm-editorial-view { background:var(--mtwm-paper);color:var(--mtwm-ink);font-family:var(--mtwm-sans);font-size:17px;line-height:1.65;overflow-wrap:normal; }
body.mtwm-editorial-view *, body.mtwm-editorial-view *::before,body.mtwm-editorial-view *::after {box-sizing:border-box;}
body.mtwm-editorial-view .mtwm-shell {min-width:0;background:var(--mtwm-paper);}
body.mtwm-editorial-view :where(img,svg,video,iframe) {max-width:100%;}
body.mtwm-editorial-view img {height:auto;}
body.mtwm-editorial-view :where(.container,.mtwm-page-main .content-wrap) {width:var(--mtwm-page);max-width:1260px;margin-inline:auto;}
body.mtwm-editorial-view :where(p,li) {overflow-wrap:break-word;}
body.mtwm-editorial-view :where(a) {color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em;}
body.mtwm-editorial-view :where(a:hover) {color:var(--mtwm-clay);}
body.mtwm-editorial-view :where(a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible) {outline:3px solid var(--mtwm-clay);outline-offset:3px;}
body.mtwm-editorial-view :where(button,input,select,textarea) {font:inherit;}
body.mtwm-editorial-view :where(input:not([type=checkbox]):not([type=radio]),select,textarea) {max-width:100%;border:1px solid var(--mtwm-line);border-radius:7px;background:var(--mtwm-white);color:var(--mtwm-ink);min-height:46px;padding:.65rem .85rem;}
body.mtwm-editorial-view textarea {min-height:120px;resize:vertical;}
body.mtwm-editorial-view :where(button,[type=submit],.mtwm-btn,.mtwm-pill,.mtwm-cf-submit) {touch-action:manipulation;}
body.mtwm-editorial-view :where(.mtwm-page-main,.mtwm-editorial-page,.mtwm-page-content,.article-body,.mtwm-results,.mtwm-grid,.mtwm-hub-page,.mtwm-single,.mtwm-ndhub-wrap) {min-width:0;max-width:100%;}
body.mtwm-editorial-view .mtwm-page-main .content-wrap {padding-block:clamp(48px,6vw,88px) clamp(72px,8vw,116px);}
body.mtwm-editorial-view .mtwm-page-heading {margin:0 0 clamp(28px,4.7vw,64px);max-width:960px;}
body.mtwm-editorial-view .mtwm-kicker,body.mtwm-editorial-view .smalllabel {font:700 .76rem/1.5 var(--mtwm-sans);letter-spacing:.075em;text-transform:uppercase;color:var(--mtwm-muted);margin:0 0 1rem;}
body.mtwm-editorial-view .mtwm-page-heading h1,body.mtwm-editorial-view .content-heading {font:400 clamp(2.45rem,5.1vw,4.7rem)/1.06 var(--mtwm-serif);letter-spacing:-.044em;color:var(--mtwm-ink);max-width:19ch;margin:0;overflow-wrap:normal;hyphens:none;}
body.mtwm-editorial-view .mtwm-page-deck,body.mtwm-editorial-view .content-deck {max-width:67ch;color:var(--mtwm-muted);font:400 clamp(1rem,1.5vw,1.2rem)/1.65 var(--mtwm-sans);margin:1.3rem 0 0;}
body.mtwm-editorial-view .mtwm-page-content {width:100%;max-width:var(--mtwm-read);margin:0;}
body.mtwm-editorial-view .mtwm-page-content--hub {max-width:none;}
body.mtwm-editorial-view .article-body {font-size:1.03rem;line-height:1.78;max-width:var(--mtwm-read);overflow-wrap:break-word;}
body.mtwm-editorial-view .article-body--hub {max-width:none;}
body.mtwm-editorial-view .article-body :where(h2,h3,h4) {color:var(--mtwm-ink);letter-spacing:-.018em;overflow-wrap:normal;hyphens:auto;}
body.mtwm-editorial-view .article-body :where(h2) {font:400 clamp(1.72rem,2.7vw,2.45rem)/1.2 var(--mtwm-serif);margin:2.2rem 0 .85rem;}
body.mtwm-editorial-view .article-body :where(h3) {font:600 clamp(1.19rem,1.8vw,1.5rem)/1.28 var(--mtwm-sans);margin:1.9rem 0 .7rem;}
body.mtwm-editorial-view .article-body :where(h4) {font:600 1.07rem/1.4 var(--mtwm-sans);margin:1.35rem 0 .5rem;}
body.mtwm-editorial-view .article-body :where(p,ul,ol,blockquote) {margin-block:0 1.2rem;}
body.mtwm-editorial-view .article-body :where(ul,ol) {padding-inline-start:1.4rem;}
body.mtwm-editorial-view .article-body :where(li + li) {margin-top:.38rem;}
body.mtwm-editorial-view .article-body > :where(p,blockquote,ul,ol),body.mtwm-editorial-view .mtwm-story .article-body > :where(p,blockquote,ul,ol) {max-width:var(--mtwm-read);}
body.mtwm-editorial-view .article-body blockquote {border:0;border-inline-start:2px solid var(--mtwm-clay);padding-inline-start:1.4rem;margin-block:2rem;font:italic 1.24rem/1.58 var(--mtwm-serif);}
body.mtwm-editorial-view .article-body a:not([class]) {text-decoration-color:var(--mtwm-clay);}
body.mtwm-editorial-view .article-body :where(table) {max-width:100%;border-collapse:collapse;}
body.mtwm-editorial-view .article-body :where(table td,table th) {text-align:left;vertical-align:top;border-bottom:1px solid var(--mtwm-line);padding:.85rem;}
body.mtwm-editorial-view .mtwm-story {max-width:900px;margin-inline:auto;}
body.mtwm-editorial-view .mtwm-story .article-body {max-width:var(--mtwm-read);margin-inline:auto;}
body.mtwm-editorial-view .mtwm-story .content-heading {max-width:23ch;font-size:clamp(2.45rem,5vw,4.7rem);margin-bottom:1.2rem;}
body.mtwm-editorial-view .mtwm-story .mtwm-hero-post-photo {display:block;max-height:650px;object-fit:cover;aspect-ratio:16/9;margin-block:2.5rem 3rem;}
body.mtwm-editorial-view .reading-meta {font-size:.86rem;color:var(--mtwm-muted);margin:1rem 0 1.8rem;}
body.mtwm-editorial-view .mtwm-reading-layers {max-width:var(--mtwm-read);background:var(--mtwm-wash);border:0;border-radius:var(--mtwm-radius);padding:clamp(20px,3vw,38px);margin:2rem 0 3rem;}
body.mtwm-editorial-view .mtwm-reading-layers h2 {font:400 1.7rem/1.25 var(--mtwm-serif);margin:0 0 1rem;}
/* Action design — quiet control affordances, never giant pink pills. */
body.mtwm-editorial-view :where(.mtwm-btn,.mtwm-cf-submit,.mtwm-place-page .mtwm-pill,.mtwm-btn-primary) {display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.05rem;min-height:46px;background:var(--mtwm-ink);color:var(--mtwm-white);border:1px solid var(--mtwm-ink);border-radius:7px;font:600 .92rem/1.35 var(--mtwm-sans);text-decoration:none;box-shadow:none;cursor:pointer;}
body.mtwm-editorial-view :where(.mtwm-btn:hover,.mtwm-cf-submit:hover,.mtwm-btn-primary:hover) {background:#344B41;color:#fff;}
body.mtwm-editorial-view :where(.mtwm-btn-secondary,.mtwm-place-page .mtwm-pill) {background:transparent;color:var(--mtwm-ink);border-color:var(--mtwm-line);}
/* One background, no box-within-box stacking. Discrete grouping by spacing/divider. */
body.mtwm-editorial-view :where(.mtwm-sensory-hub,.mtwm-ndhub-wrap,.mtwm-cf-wrap,.mtwm-place-page,.mtwm-hub-page,.mtwm-place-card,.mtwm-full-block,.mtwm-single) {--pink:var(--mtwm-clay);--ink:var(--mtwm-ink);--text:var(--mtwm-muted);--card:var(--mtwm-white);--soft:var(--mtwm-wash);color:var(--mtwm-ink);font-family:var(--mtwm-sans);min-width:0;}
/* Sensory index. Explicit tracks, safe no-image state, no per-character wrapping. */
body.mtwm-editorial-view .mtwm-hub-directory .mtwm-grid,body.mtwm-editorial-view .mtwm-region-results .mtwm-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);align-items:stretch;}
body.mtwm-editorial-view .mtwm-hub-directory .mtwm-card,body.mtwm-editorial-view .mtwm-region-results .mtwm-card {width:auto;min-width:0;max-width:none;margin:0;padding:0;background:transparent;border:0;border-top:1px solid var(--mtwm-line);border-radius:0;box-shadow:none;}
body.mtwm-editorial-view .mtwm-hub-directory .mtwm-card-link,body.mtwm-editorial-view .mtwm-region-results .mtwm-card-link {display:grid;grid-template-columns:112px minmax(0,1fr);gap:1.15rem;align-items:start;padding:1.3rem 0;text-decoration:none;color:var(--mtwm-ink);min-width:0;}
body.mtwm-editorial-view .mtwm-hub-directory .mtwm-card:has(.mtwm-media:empty) .mtwm-card-link,
body.mtwm-editorial-view .mtwm-hub-directory .mtwm-card:has(.mtwm-media-unavailable) .mtwm-card-link,
body.mtwm-editorial-view .mtwm-region-results .mtwm-card:has(.mtwm-media:empty) .mtwm-card-link,
body.mtwm-editorial-view .mtwm-region-results .mtwm-card:has(.mtwm-media-unavailable) .mtwm-card-link {grid-template-columns:minmax(0,1fr);}
body.mtwm-editorial-view .mtwm-hub-directory :where(.mtwm-media:empty,.mtwm-media-unavailable),body.mtwm-editorial-view .mtwm-region-results :where(.mtwm-media:empty,.mtwm-media-unavailable) {display:none;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-media {width:112px;max-width:100%;margin:0;position:relative;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-media img {display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) :where(.mtwm-body,.mtwm-card-body) {grid-column:auto;grid-row:auto;width:auto;min-width:0;max-width:100%;padding:0;overflow-wrap:normal;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-card-title {font:500 clamp(1.18rem,1.65vw,1.55rem)/1.28 var(--mtwm-serif);letter-spacing:-.012em;overflow-wrap:normal;word-break:normal;hyphens:auto;margin:.1rem 0 .75rem;text-decoration:none;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-card-link :where(p,.mtwm-excerpt,.mtwm-card-excerpt) {font-size:.91rem;line-height:1.65;color:var(--mtwm-muted);overflow-wrap:normal;word-break:normal;margin:.8rem 0;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) :where(.mtwm-meta,.mtwm-sensory,.mtwm-card-meta) {display:flex;flex-wrap:wrap;gap:.35rem .9rem;min-width:0;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) :where(.mtwm-tag,.mtwm-sens,.mtwm-pill) {display:inline;font:500 .76rem/1.5 var(--mtwm-sans);padding:0;color:var(--mtwm-muted);background:none;border:0;box-shadow:none;border-radius:0;white-space:normal;overflow-wrap:normal;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-pill-score {color:var(--mtwm-ink);font-weight:700;}
/* Filter layout shared by both directories; controls keep original names and behaviour. */
body.mtwm-editorial-view :where(.mtwm-filter-bar,.mtwm-filter-wrap,.mtwm-toolbar) {padding:0;margin:0 0 2rem;border:0;background:transparent;box-shadow:none;border-radius:0;max-width:100%;}
body.mtwm-editorial-view :where(.mtwm-filter-grid,.mtwm-chip-row) {display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;}
body.mtwm-editorial-view :where(.mtwm-chip,.mtwm-filter-bar button,.mtwm-filter-grid button) {min-height:42px;padding:.5rem .75rem;border:1px solid var(--mtwm-line);border-radius:7px;background:transparent;color:var(--mtwm-ink);font-size:.88rem;font-weight:500;box-shadow:none;}
body.mtwm-editorial-view .mtwm-hub-directory :where(.mtwm-title,.mtwm-hero h1) {font:400 clamp(1.6rem,3vw,2.6rem)/1.2 var(--mtwm-serif);margin:0 0 1.15rem;max-width:25ch;}
/* Service cards use informational rows. */
body.mtwm-editorial-view.mtwm-family-services :where(.mtwm-grid,.mtwm-results-grid,.mtwm-nd-grid) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;}
body.mtwm-editorial-view.mtwm-family-services :where(.mtwm-card,.mtwm-service-card) {min-width:0;width:100%;border:0;border-top:1px solid var(--mtwm-line);border-radius:0;background:transparent;box-shadow:none;padding:1.2rem 0;}
body.mtwm-editorial-view.mtwm-family-services :where(.mtwm-card-link,.mtwm-card-body) {min-width:0;width:100%;max-width:100%;}
body.mtwm-editorial-view.mtwm-family-services .mtwm-card-link {display:grid;grid-template-columns:100px minmax(0,1fr);gap:1rem;text-decoration:none;}
body.mtwm-editorial-view.mtwm-family-services .mtwm-card:has(.mtwm-media:empty) .mtwm-card-link {grid-template-columns:minmax(0,1fr);}
body.mtwm-editorial-view.mtwm-family-services .mtwm-card :where(.mtwm-media,.mtwm-media img) {width:100%;max-width:100%;}
body.mtwm-editorial-view.mtwm-family-services .mtwm-card-title {font:500 1.32rem/1.3 var(--mtwm-serif);margin:0 0 .8rem;}
/* Sensory venue details: readable disclosure, a single rule between sections. */
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-sensory-single,.mtwm-place-page,.mtwm-full-block) {width:100%;max-width:1200px;margin-inline:auto;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-sensory-single) :where(.mtwm-section,.mtwm-panel,.mtwm-block,.mtwm-card,.mtwm-box) {border:0;border-top:1px solid var(--mtwm-line);border-radius:0;box-shadow:none;background:transparent;max-width:100%;min-width:0;padding:1.5rem 0;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-sensory-single) :where(.mtwm-section,.mtwm-panel,.mtwm-block,.mtwm-box) > :where(h2,h3) {margin-top:0;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-sensory-single) :where(.mtwm-grid,.mtwm-columns) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-sensory-single) :where(details,summary) {min-width:0;max-width:100%;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-sensory-single) details {border-block-start:1px solid var(--mtwm-line);padding:1rem 0;background:transparent;border-radius:0;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-sensory-single) summary {cursor:pointer;font-weight:600;min-height:44px;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-sensory-single) :where(.mtwm-progress,.mtwm-meter,.mtwm-scorebar) {max-width:100%;}
/* WordPress Place Photos directory/gallery virtual pages. */
body.mtwm-editorial-view .mtwm-place-page {padding-block:2rem 4rem;color:var(--mtwm-ink);}
body.mtwm-editorial-view .mtwm-place-hero {background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 0 2.5rem;margin:0;}
body.mtwm-editorial-view .mtwm-place-hero .inner {max-width:none;padding:0;}
body.mtwm-editorial-view .mtwm-place-hero :where(h1,h2) {font:400 clamp(2.15rem,4.5vw,4.4rem)/1.1 var(--mtwm-serif);letter-spacing:-.035em;}
body.mtwm-editorial-view .mtwm-place-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;border:0;margin-block:1.8rem;}
body.mtwm-editorial-view .mtwm-mini-card {min-width:0;border:0;border-top:1px solid var(--mtwm-line);border-radius:0;box-shadow:none;background:transparent;padding:1rem 0;}
body.mtwm-editorial-view .mtwm-mini-card .hd {font:600 .8rem/1.45 var(--mtwm-sans);color:var(--mtwm-muted);}
body.mtwm-editorial-view .mtwm-mini-card .bd {font:400 1rem/1.6 var(--mtwm-sans);color:var(--mtwm-ink);}
body.mtwm-editorial-view .mtwm-place-gallery {border-top:1px solid var(--mtwm-line);padding-block:1.5rem;margin-block:2rem;background:transparent;border-radius:0;box-shadow:none;}
body.mtwm-editorial-view .mtwm-place-gallery .grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;}
body.mtwm-editorial-view .mtwm-place-gallery .ph {min-width:0;margin:0;border:0;padding:0;background:transparent;box-shadow:none;}
body.mtwm-editorial-view .mtwm-place-gallery img {width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px;}
body.mtwm-editorial-view :where(.mtwm-empty-media,.mtwm-gallery-no-images) {display:none;}
body.mtwm-editorial-view .mtwm-place-sections {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2.5rem;}
body.mtwm-editorial-view .mtwm-section-card {background:transparent;border:0;border-top:1px solid var(--mtwm-line);border-radius:0;box-shadow:none;padding:1.5rem 0;min-width:0;}
body.mtwm-editorial-view .mtwm-section-card :where(h2,h3) {font:400 1.6rem/1.25 var(--mtwm-serif);}
/* Modern sensory detailed panels; visual support should feel like a guide, not a dashboard. */
body.mtwm-editorial-view :where(.mtwm-place-detail,.mtwm-sensory-detail,.mtwm-sensory-hub) :where(.mtwm-prep,.mtwm-quiet,.mtwm-profile,.mtwm-sensory-notes) {min-width:0;max-width:100%;}
/* ND learning: replace image cards with editorial rows; preserves titles and links. */
body.mtwm-editorial-view.mtwm-family-learning :where(.mtwm-ndhub-wrap,.ndh-library,.ndh-section,.ndh-grid) {max-width:100%;width:100%;min-width:0;}
body.mtwm-editorial-view.mtwm-family-learning .ndh-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 2.5rem;}
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile {width:auto;min-width:0;padding:1.35rem 0;background:transparent;border:0;border-top:1px solid var(--mtwm-line);box-shadow:none;border-radius:0;display:grid;grid-template-columns:110px minmax(0,1fr);gap:1rem;}
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile:not(:has(.ndh-tile-media img)) {grid-template-columns:minmax(0,1fr);}
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile-media {max-width:110px;min-width:0;background:transparent;border:0;padding:0;}
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile-media img {width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px;}
body.mtwm-editorial-view.mtwm-family-learning :where(.ndh-tile-title,.ndh-h2) {font:500 clamp(1.2rem,1.8vw,1.5rem)/1.32 var(--mtwm-serif);color:var(--mtwm-ink);margin:.2rem 0 .6rem;letter-spacing:-.01em;}
body.mtwm-editorial-view.mtwm-family-learning :where(.ndh-tile-kicker,.ndh-tile-deck,.ndh-sub) {font:400 .9rem/1.6 var(--mtwm-sans);color:var(--mtwm-muted);margin:.4rem 0;}
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile a {text-decoration:none;}
body.mtwm-editorial-view.mtwm-family-learning :where(.ndh-h1,.ndh-hero-title) {font:400 clamp(2rem,3.5vw,3.2rem)/1.2 var(--mtwm-serif);}
/* Community: authored by people. Thread rows + accessible form grouping. */
body.mtwm-editorial-view .mtwm-cf-wrap {max-width:100%;width:100%;}
body.mtwm-editorial-view .mtwm-cf-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(26px,4vw,66px);align-items:start;}
body.mtwm-editorial-view :where(.mtwm-cf-form,.mtwm-cf-module) {background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;min-width:0;}
body.mtwm-editorial-view :where(.mtwm-cf-field) {display:block;margin-block:.75rem 1.1rem;}
body.mtwm-editorial-view :where(.mtwm-cf-field label) {display:block;font-size:.89rem;font-weight:600;margin-bottom:.4rem;}
body.mtwm-editorial-view :where(.mtwm-cf-field input,.mtwm-cf-field textarea) {display:block;width:100%;max-width:100%;}
body.mtwm-editorial-view :where(.mtwm-cf-card,.mtwm-cf-thread) {border:0;border-top:1px solid var(--mtwm-line);border-radius:0;box-shadow:none;background:transparent;min-width:0;padding:1.35rem 0;margin:0;}
body.mtwm-editorial-view :where(.mtwm-cf-card-inner) {padding:0;min-width:0;}
body.mtwm-editorial-view :where(.mtwm-cf-title) {font:500 1.35rem/1.32 var(--mtwm-serif);margin:0 0 .8rem;}
body.mtwm-editorial-view :where(.mtwm-cf-excerpt,.mtwm-cf-meta) {font:400 .95rem/1.6 var(--mtwm-sans);color:var(--mtwm-muted);}
body.mtwm-editorial-view .mtwm-cf-wrap a:not(.mtwm-btn) {text-decoration-color:var(--mtwm-clay);}
/* Blog library, local guide and other WordPress article collections. */
body.mtwm-editorial-view :where(.mtwm-journal,.mtwm-journal__grid,.mtwm-articles-list) {max-width:100%;min-width:0;}
body.mtwm-editorial-view :where(.mtwm-journal__grid,.mtwm-journal__list) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 2.6rem;}
body.mtwm-editorial-view :where(.mtwm-journal__card,.mtwm-journal-card) {border:0;border-top:1px solid var(--mtwm-line);box-shadow:none;background:transparent;border-radius:0;padding:1.4rem 0;min-width:0;}
body.mtwm-editorial-view.mtwm-family-local-guide :where(.mtwm-full-block,.mtwm-section-card,.mtwm-guide-intro,.mtwm-local-guide-card) {border:0;border-top:1px solid var(--mtwm-line);box-shadow:none;border-radius:0;background:transparent;padding:1.5rem 0;margin:0;}
body.mtwm-editorial-view.mtwm-family-local-guide :where(.mtwm-guide-grid,.mtwm-place-grid) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;}
/* Progress bars and practical safety info remain visible; never depend on hue. */
body.mtwm-editorial-view :where(.mtwm-progress,.mtwm-meter,.mtwm-scorebar,progress) {accent-color:var(--mtwm-ink);}
body.mtwm-editorial-view :where(.mtwm-pagination,.mtwm-pager) {display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;}
body.mtwm-editorial-view :where(.mtwm-pagination a,.mtwm-pager a) {border:1px solid var(--mtwm-line);border-radius:5px;min-height:44px;padding:.5rem .9rem;text-decoration:none;}
/* Gallery images only occupy space when they exist. */
body.mtwm-editorial-view :where(img.mtwm-image-unavailable,.mtwm-empty-media,.mtwm-media-unavailable,.mtwm-gallery-no-images) {display:none;}
body.mtwm-editorial-view :where(.mtwm-gallery,.mtwm-gallery-track,.mtwm-carousel-track) {min-width:0;max-width:100%;}
body.mtwm-editorial-view :where(.mtwm-gallery img,.mtwm-carousel-track img) {object-fit:cover;}
/* No peripheral motion or tight controls; responsive by component, not browser width hacks. */
@media(max-width:960px) {
  :root{--mtwm-page:min(100% - 40px,1260px);}
  body.mtwm-editorial-view :where(.mtwm-place-sections,.mtwm-place-grid) {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.mtwm-editorial-view .mtwm-cf-layout {grid-template-columns:1fr;}
}
@media(max-width:680px) {
  :root {--mtwm-page:calc(100% - 32px);}
  body.mtwm-editorial-view {font-size:16px;}
  body.mtwm-editorial-view .mtwm-page-main .content-wrap {padding-block:42px 72px;}
  body.mtwm-editorial-view .mtwm-page-heading {margin-bottom:2.2rem;}
  body.mtwm-editorial-view .mtwm-page-heading h1 {font-size:clamp(2.15rem,9vw,3.3rem);}
  body.mtwm-editorial-view :where(.mtwm-hub-directory .mtwm-grid,.mtwm-region-results .mtwm-grid,.mtwm-family-services .mtwm-grid,.mtwm-family-learning .ndh-grid,.mtwm-place-sections,.mtwm-place-grid,.mtwm-family-local-guide .mtwm-guide-grid,.mtwm-family-local-guide .mtwm-place-grid,.mtwm-journal__grid,.mtwm-journal__list) {grid-template-columns:minmax(0,1fr);}
  body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-card-link {grid-template-columns:96px minmax(0,1fr);gap:.9rem;}
  body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-media {width:96px;}
  body.mtwm-editorial-view.mtwm-family-learning .ndh-tile {grid-template-columns:84px minmax(0,1fr);}
  body.mtwm-editorial-view.mtwm-family-learning .ndh-tile-media {max-width:84px;}
  body.mtwm-editorial-view .mtwm-place-gallery .grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:360px) {
  body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-card-link {grid-template-columns:minmax(0,1fr);}
  body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-media {width:100%;max-width:160px;}
  body.mtwm-editorial-view.mtwm-family-learning .ndh-tile {grid-template-columns:minmax(0,1fr);}
}
@media(prefers-reduced-motion:reduce){ body.mtwm-editorial-view *,body.mtwm-editorial-view *::before,body.mtwm-editorial-view *::after {scroll-behavior:auto;animation-duration:.01ms;transition-duration:.01ms;} }
@media(forced-colors:active){body.mtwm-editorial-view :where(button,a,input,summary) {forced-color-adjust:auto;}}
/* Explicit sensory layout states: score badge alone is not a photograph. */
body.mtwm-editorial-view .mtwm-hub-directory .mtwm-card:not(:has(.mtwm-media img)) .mtwm-card-link,
body.mtwm-editorial-view .mtwm-region-results .mtwm-card:not(:has(.mtwm-media img)) .mtwm-card-link,
body.mtwm-editorial-view .mtwm-hub-directory .mtwm-card:has(.mtwm-media-unavailable) .mtwm-card-link,
body.mtwm-editorial-view .mtwm-region-results .mtwm-card:has(.mtwm-media-unavailable) .mtwm-card-link {grid-template-columns:minmax(0,1fr);}
body.mtwm-editorial-view .mtwm-hub-directory .mtwm-card:not(:has(.mtwm-media img)) .mtwm-media,
body.mtwm-editorial-view .mtwm-region-results .mtwm-card:not(:has(.mtwm-media img)) .mtwm-media {display:block;position:static;width:100%;min-width:0;}
body.mtwm-editorial-view .mtwm-hub-directory .mtwm-card:not(:has(.mtwm-media img)) .mtwm-pill,
body.mtwm-editorial-view .mtwm-region-results .mtwm-card:not(:has(.mtwm-media img)) .mtwm-pill {position:static;display:inline;color:var(--mtwm-muted);font-size:.8rem;}
@media(max-width:680px){
  body.mtwm-editorial-view .mtwm-hub-directory .mtwm-grid,
  body.mtwm-editorial-view .mtwm-region-results .mtwm-grid,
  body.mtwm-editorial-view.mtwm-family-services .mtwm-grid,
  body.mtwm-editorial-view.mtwm-family-learning .ndh-grid,
  body.mtwm-editorial-view .mtwm-place-sections,
  body.mtwm-editorial-view .mtwm-place-grid,
  body.mtwm-editorial-view.mtwm-family-local-guide .mtwm-guide-grid,
  body.mtwm-editorial-view.mtwm-family-local-guide .mtwm-place-grid,
  body.mtwm-editorial-view .mtwm-journal__grid {grid-template-columns:minmax(0,1fr);}
}
/* User-controlled preferences are functional on hub components as well as blog pages. */
html:has(body.mtwm-editorial-view.large-type){font-size:20px;}
body.mtwm-editorial-view.large-type{font-size:1.07rem;}
body.mtwm-editorial-view.spacious :where(.article-body,.mtwm-place-page,.mtwm-cf-wrap,.mtwm-hub-page){line-height:1.95;letter-spacing:.012em;}
body.mtwm-editorial-view.high-contrast{
  --mtwm-paper:#fff;--mtwm-white:#fff;--mtwm-ink:#000;
  --mtwm-muted:#222;--mtwm-clay:#782710;--mtwm-line:#777;--mtwm-wash:#f2f2f2;
}
\n/* Editor's component contract — body family is attached directly to <body>. */
body.mtwm-editorial-view.mtwm-family-sensory :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-card,
body.mtwm-editorial-view.mtwm-family-services .mtwm-service-card { min-width:0; }
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-card-link {min-width:0;max-width:100%;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-card:has(.mtwm-media-unavailable) .mtwm-card-link { grid-template-columns:minmax(0,1fr); }
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-card:has(.mtwm-media-unavailable) .mtwm-body {grid-column:1;min-width:0;width:100%;}
body.mtwm-editorial-view :where(.mtwm-hub-directory,.mtwm-region-results) .mtwm-card:has(.mtwm-media-unavailable) .mtwm-media {display:none;}
/* Individual venue information: one generous grid, not border-within-border. */
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) {width:min(100%,var(--mtwm-page));margin-inline:auto;min-width:0;color:var(--mtwm-ink);font-family:var(--mtwm-sans);}
body.mtwm-editorial-view :where(.mtwm-single-title,.mtwm-place-title) {font:400 clamp(2.1rem,4.3vw,4rem)/1.12 var(--mtwm-serif);letter-spacing:-.035em;max-width:26ch;}
body.mtwm-editorial-view :where(.mtwm-single h2,.mtwm-place-page h2) {font:400 clamp(1.5rem,2.1vw,2.05rem)/1.24 var(--mtwm-serif);letter-spacing:-.02em;}
body.mtwm-editorial-view :where(.mtwm-single h3,.mtwm-place-page h3) {font:600 clamp(1.02rem,1.35vw,1.18rem)/1.35 var(--mtwm-sans);letter-spacing:0;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) :where(.mtwm-sidebar,.mtwm-module,.mtwm-module-body,.mtwm-module-head,.mtwm-prep-grid,.mtwm-tips-grid,.mtwm-tip-card,.mtwm-sheet-panel) {min-width:0;max-width:100%;box-sizing:border-box;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) .mtwm-module {border:0;border-block-start:1px solid var(--mtwm-line);border-radius:0;background:transparent;box-shadow:none;margin:0;padding:clamp(1rem,2vw,1.6rem) 0;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) .mtwm-module-body {padding:1rem 0 0;background:transparent;border:0;box-shadow:none;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) :where(.mtwm-tip-card,.mtwm-prep-card,.mtwm-mini,.mtwm-glance-pill) {border:0;border-block-start:1px solid var(--mtwm-line);border-radius:0;background:transparent;box-shadow:none;padding:1rem 0;min-width:0;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) :where(.mtwm-prep-grid,.mtwm-tips-grid,.mtwm-trust-grid) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) :where(.mtwm-tag,.mtwm-badge,.mtwm-chip,.mtwm-glance-pill) {font-family:var(--mtwm-sans);font-size:.88rem;line-height:1.4;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) .mtwm-module :where(p,li) {font-size:1rem;line-height:1.68;overflow-wrap:break-word;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) :where(button,.mtwm-btn) {min-height:44px;}
/* Editorial index and single-post annotations. Avoid link-heavy faux card borders. */
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile :where(a,.ndh-tile-title) {text-decoration:none;color:var(--mtwm-ink);}
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile :where(p,.ndh-tile-deck) {max-width:65ch;}
body.mtwm-editorial-view.mtwm-family-community :where(.mtwm-cf-form,.mtwm-cf-card,.mtwm-cf-thread) {max-width:100%;}
body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page,.mtwm-family-learning) :where(a:not(.mtwm-btn):not(.mtwm-pill)) {text-decoration-thickness:1px;}
@media(max-width:760px){
 body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) :where(.mtwm-prep-grid,.mtwm-tips-grid,.mtwm-trust-grid) {grid-template-columns:minmax(0,1fr);}
 body.mtwm-editorial-view :where(.mtwm-single,.mtwm-place-page) :where(.mtwm-sidebar,.mtwm-module) {width:100%;}
}

/* WordPress body classes must be matched ON the body, not under it. */
@media(max-width:680px){
body.mtwm-editorial-view.mtwm-family-services :where(.mtwm-grid,.mtwm-results-grid,.mtwm-nd-grid),
body.mtwm-editorial-view.mtwm-family-learning .ndh-grid,
body.mtwm-editorial-view.mtwm-family-local-guide :where(.mtwm-guide-grid,.mtwm-place-grid){grid-template-columns:minmax(0,1fr);}
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile{grid-template-columns:84px minmax(0,1fr);}
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile:not(:has(.ndh-tile-media img)){grid-template-columns:minmax(0,1fr);}
}
@media(max-width:380px){
body.mtwm-editorial-view.mtwm-family-learning .ndh-tile{grid-template-columns:minmax(0,1fr);}
}
/* Stage One 2.1 — Component contracts for existing MTWM plugin markup.
 * Data/query/filter/interaction scripts remain plugin-owned. Typography,
 * spacing, layout and hierarchy are owned by the editorial theme.
 * No plugin-global variables and no !important cascade wars.
 */
body.mtwm-editorial-view :where(.mtwm-ndhub-wrap,.ndh-mag,.ndh-library,.ndh-hero,.ndh-feature,.ndh-block,.ndh-rail,.ndh-toolbar) {min-width:0;max-width:100%;color:var(--mtwm-ink);font-family:var(--mtwm-sans);}
body.mtwm-editorial-view .mtwm-ndhub-wrap {width:100%;padding:0;margin:0 auto;}
body.mtwm-editorial-view :where(.ndh-hero,.ndh-feature) {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;background:transparent;border:0;border-bottom:1px solid var(--mtwm-line);border-radius:0;box-shadow:none;padding:clamp(22px,3vw,50px) 0;margin-block:0 2.5rem;}
body.mtwm-editorial-view :where(.ndh-hero,.ndh-feature):not(:has(img)) {grid-template-columns:minmax(0,1fr);}
body.mtwm-editorial-view :where(.ndh-hero-copy,.ndh-feature-top,.ndh-hero-media,.ndh-cover-media) {min-width:0;max-width:100%;}
body.mtwm-editorial-view :where(.ndh-hero-media,.ndh-cover-media):not(:has(img)) {display:none;}
body.mtwm-editorial-view :where(.ndh-hero-media img,.ndh-feature img,.ndh-cover-media img) {display:block;width:100%;height:auto;max-height:460px;object-fit:cover;border-radius:6px;}
body.mtwm-editorial-view :where(.ndh-h1,.ndh-hero-title) {font:400 clamp(2rem,3.5vw,3.3rem)/1.14 var(--mtwm-serif);letter-spacing:-.04em;color:var(--mtwm-ink);margin:0 0 1rem;max-width:24ch;}
body.mtwm-editorial-view :where(.ndh-h2,.ndh-sectionhead h2,.ndh-railtitle) {font:400 clamp(1.4rem,2.2vw,2.05rem)/1.26 var(--mtwm-serif);color:var(--mtwm-ink);letter-spacing:-.02em;margin:0 0 .8rem;}
body.mtwm-editorial-view :where(.ndh-kicker,.ndh-eyebrow,.ndh-tile-kicker,.ndh-meta) {font:600 .78rem/1.5 var(--mtwm-sans);letter-spacing:.03em;color:var(--mtwm-muted);}
body.mtwm-editorial-view :where(.ndh-deck,.ndh-sub,.ndh-tile-deck,.ndh-p) {font:400 1rem/1.65 var(--mtwm-sans);color:var(--mtwm-muted);max-width:70ch;}
body.mtwm-editorial-view :where(.ndh-toolbar,.ndh-sectionhead,.ndh-feature-actions,.ndh-hero-actions) {display:flex;align-items:center;gap:clamp(10px,2vw,26px);flex-wrap:wrap;margin-block:1rem;min-width:0;}
body.mtwm-editorial-view :where(.ndh-search,.ndh-toolbar input,.ndh-toolbar select) {max-width:100%;min-width:0;}
body.mtwm-editorial-view :where(.ndh-grid,.ndh-feature-grid) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 2.5rem;}
body.mtwm-editorial-view :where(.ndh-card,.ndh-railcard,.ndh-mini,.ndh-related,.ndh-evidence) {width:100%;min-width:0;margin:0;border:0;border-top:1px solid var(--mtwm-line);border-radius:0;background:transparent;box-shadow:none;padding:1.35rem 0;}
body.mtwm-editorial-view :where(.ndh-card a,.ndh-mini a,.ndh-railcard a,.ndh-tile a) {color:var(--mtwm-ink);text-decoration:none;}
body.mtwm-editorial-view :where(.ndh-btn,.ndh-link,.ndh-pg,.ndh-btn-download) {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1rem;border:1px solid var(--mtwm-line);background:transparent;border-radius:5px;box-shadow:none;text-decoration:none;font:600 .86rem/1.4 var(--mtwm-sans);color:var(--mtwm-ink);}
body.mtwm-editorial-view :where(.ndh-btn-primary,.ndh-btn[aria-current="page"]) {background:var(--mtwm-ink);color:var(--mtwm-paper);border-color:var(--mtwm-ink);}
body.mtwm-editorial-view :where(.ndh-grid,.ndh-rail,.ndh-pager,.ndh-hero,.ndh-feature) :where(img) {max-width:100%;height:auto;}
/* Curated directory places: editorial rows with no nested decorative card stack. */
body.mtwm-editorial-view :where(.mtwm-place-card,.mtwm-full-block,.mtwm-place-page) {--pink:var(--mtwm-clay);--ink:var(--mtwm-ink);--text:var(--mtwm-muted);--soft:var(--mtwm-wash);--card:transparent;--border:var(--mtwm-line);--shadow:none;--shadow-sm:none;--r:6px;color:var(--mtwm-ink);font-family:var(--mtwm-sans);}
body.mtwm-editorial-view .mtwm-place-card {min-width:0;max-width:100%;border:0;border-top:1px solid var(--mtwm-line);border-radius:0;background:transparent;box-shadow:none;margin:0;padding:clamp(18px,3vw,34px) 0;overflow:visible;}
body.mtwm-editorial-view .mtwm-place-card .inner {min-width:0;max-width:100%;padding:0;margin:0;}
body.mtwm-editorial-view .mtwm-place-card :where(h2,h3) {font:400 clamp(1.3rem,1.9vw,1.7rem)/1.3 var(--mtwm-serif);color:var(--mtwm-ink);margin:.3rem 0 .8rem;}
body.mtwm-editorial-view .mtwm-place-card :where(p,li) {font:400 1rem/1.6 var(--mtwm-sans);color:var(--mtwm-muted);}
body.mtwm-editorial-view :where(.mtwm-place-card,.mtwm-place-page) :where(.mtwm-pill,.mtwm-chip,.mtwm-tag,.mtwm-badge) {border:1px solid var(--mtwm-line);background:transparent;color:var(--mtwm-ink);box-shadow:none;border-radius:4px;display:inline-flex;align-items:center;max-width:100%;white-space:normal;overflow-wrap:break-word;font-size:.82rem;min-height:32px;padding:.25rem .6rem;}
body.mtwm-editorial-view :where(.mtwm-place-card,.mtwm-place-page) :where(.mtwm-btn,.mtwm-linkbtn,a.mtwm-btn) {background:var(--mtwm-ink);color:var(--mtwm-paper);border:1px solid var(--mtwm-ink);border-radius:5px;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;font:600 .88rem/1.4 var(--mtwm-sans);text-decoration:none;}
body.mtwm-editorial-view :where(.mtwm-place-card,.mtwm-place-page) .mtwm-btn-ghost {background:transparent;border:1px solid var(--mtwm-ink);color:var(--mtwm-ink);}
body.mtwm-editorial-view :where(.mtwm-place-card,.mtwm-place-page) :where(.mtwm-carousel,.mtwm-track) {width:100%;max-width:100%;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;}
body.mtwm-editorial-view :where(.mtwm-place-card,.mtwm-place-page) :where(.mtwm-slide,.mtwm-photo) {min-width:0;max-width:100%;scroll-snap-align:start;}
body.mtwm-editorial-view :where(.mtwm-place-card,.mtwm-place-page) :where(img) {max-width:100%;height:auto;object-fit:cover;}
body.mtwm-editorial-view :where(.mtwm-place-card,.mtwm-place-page) :where(.mtwm-section-card,.mtwm-mini-card,.mtwm-review) {border:0;border-top:1px solid var(--mtwm-line);border-radius:0;box-shadow:none;background:transparent;padding:1.2rem 0;min-width:0;}
body.mtwm-editorial-view :where(.mtwm-place-page,.mtwm-single) :where(.mtwm-score-row,.mtwm-glance-row,.mtwm-profile-row) {display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;min-width:0;}
/* The local guide and venue records must remain fully readable on narrow devices. */
@media(max-width:760px){
 body.mtwm-editorial-view :where(.ndh-grid,.ndh-feature-grid,.ndh-hero,.ndh-feature){grid-template-columns:minmax(0,1fr);}
 body.mtwm-editorial-view :where(.ndh-rail,.ndh-card,.mtwm-place-card){width:100%;min-width:0;}
}

/* Legacy service forms may embed a 3-column inline grid. Single-column on mobile wins deliberately. */
body.mtwm-editorial-view.mtwm-family-services .mtwm-filter-grid .mtwm-field {min-width:0;max-width:100%;}
body.mtwm-editorial-view.mtwm-family-services .mtwm-filter-grid .mtwm-field label {display:block;margin-bottom:.35rem;font-size:.88rem;line-height:1.5;}
body.mtwm-editorial-view.mtwm-family-services .mtwm-filter-grid :where(input,select) {display:block;min-width:0;width:100%;max-width:100%;box-sizing:border-box;}
body.mtwm-editorial-view.mtwm-family-services .mtwm-card:has(.mtwm-media:empty) .mtwm-media {display:none;}
@media(max-width:680px){body.mtwm-editorial-view.mtwm-family-services .mtwm-filter-grid {display:grid;grid-template-columns:minmax(0,1fr) !important;gap:1rem;}}
