/* KECB Mobile 2.0 — DEPLOY-780 R114
   One Screen. One Purpose. One Obvious Next Move.
   Mobile-only presentation layer. Desktop intentionally untouched. */
@media (max-width:760px){
  :root{
    --kecb-radius-screen:24px;--m2-bg:#f3f0ea;
    --m2-card:#fff;
    --m2-ink:#171717;
    --m2-muted:#625d56;
    --m2-line:#d9d2c8;
    --m2-red:#962f20;
    --m2-red-dark:#772418;
    --m2-radius:var(--kecb-radius-screen);
    --m2-shadow:var(--kecb-shadow-card);
    --m2-pad:clamp(1.1rem,4.8vw,1.45rem);
    --m2-screen:min(44rem,max(28rem,calc(100dvh - 9.2rem - env(safe-area-inset-bottom))));
  }

  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body[data-mobile2]{background:var(--m2-bg);color:var(--m2-ink)}
  body[data-mobile2] main{min-inline-size:0;padding-bottom:max(5.75rem,calc(4.6rem + env(safe-area-inset-bottom)))}
  html:has(body[data-mobile2]){scroll-padding-bottom:max(5.75rem,calc(4.6rem + env(safe-area-inset-bottom)))}
  body[data-mobile2] main :where(h1,h2,h3,h4){text-wrap:balance}
  body[data-mobile2] main :where(p,li,dd,dt,small){overflow-wrap:anywhere}
  body[data-mobile2] main :where(a,button,input,select,textarea,summary){touch-action:manipulation}
  body[data-mobile2] main :where(button,.button,.btn,.system-button,.bi-button,.kecb-share-standout,a.button){min-block-size:48px}
  body[data-mobile2] main :where(input:not([type=checkbox]):not([type=radio]),select,textarea){min-block-size:48px;font-size:16px}
  body[data-mobile2] main :where(.primary,.button.primary,.btn.primary,.event-primary,.kecb-share-standout){background:var(--m2-red);border-color:var(--m2-red);color:#fff}
  body[data-mobile2] main :where(.primary,.button.primary,.btn.primary,.event-primary,.kecb-share-standout):active{background:var(--m2-red-dark);border-color:var(--m2-red-dark)}

  /* shared mobile card language */
  body[data-mobile2] main :where(.tonight-card,.artist-hall-card,.dir-card,.vp-card,.edu-card,.academy-link-card,.role-resource-card,.priority-tool-card,.tools-family-card,.tools-secondary-card,.search-result,.search-page-box,.heritage-hall-card,.homeground-catalog-card,.homeground-feed-row,.event-detail,.event-status-card,.bi-card,.bi-panel,.bi-section,.li-card,.li-panel,.food-truck-path,.food-truck-chapter,.food-truck-tool){
    border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:var(--m2-card);box-shadow:var(--m2-shadow);
  }
  body[data-mobile2] main :where(.tonight-card,.artist-hall-card,.dir-card,.vp-card,.edu-card,.academy-link-card,.role-resource-card,.priority-tool-card,.tools-family-card,.tools-secondary-card,.search-result,.heritage-hall-card,.homeground-catalog-card,.homeground-feed-row,.event-detail,.event-status-card,.bi-card,.bi-panel,.bi-section,.li-card,.li-panel){
    scroll-margin-top:4.8rem;scroll-snap-align:start;
  }

  /* Discovery family: one result owns the usable viewport. */
  body[data-mobile2-family="discovery"] main :where(.tonight-card,.artist-hall-card,.dir-card,.heritage-hall-card,.homeground-catalog-card){
    min-block-size:var(--m2-screen);padding:var(--m2-pad);margin-block:0 .85rem;display:flex;flex-direction:column;justify-content:flex-start;
  }
  body[data-mobile2-family="discovery"] main :where(.tonight-card,.artist-hall-card,.dir-card,.heritage-hall-card,.homeground-catalog-card) :where(.tonight-links,.dir-links,.heritage-card-actions,.homeground-card-actions,.artist-profile-link){margin-top:auto;padding-top:1.2rem}
  body[data-mobile2-family="discovery"] main :where(.tonight-card,.artist-hall-card,.dir-card,.heritage-hall-card,.homeground-catalog-card) :where(h2,h3,h4,.dir-name,.homeground-card-title){font-size:clamp(2rem,9vw,3.05rem);line-height:.98;letter-spacing:-.035em;margin-block:.35rem .75rem}
  body[data-mobile2-family="discovery"] main :where(.tonight-card,.artist-hall-card,.dir-card,.heritage-hall-card,.homeground-catalog-card) :where(.tonight-time,.other-event-label,.artist-card-area,.dir-meta,.heritage-label,.homeground-card-kicker,.homeground-card-meta){font-size:.88rem;line-height:1.35;letter-spacing:.06em}
  body[data-mobile2-family="discovery"] main :where(.dir-grid,.artist-hall-grid,.artist-grid,.heritage-hall-grid,.homeground-catalog-grid,#results){display:grid;grid-template-columns:1fr;gap:.85rem}

  /* Tonight: controls stay compact; listings become the experience. */
  body.tonight-page[data-mobile2] .tonight-hero{padding:1.1rem max(.85rem,env(safe-area-inset-right)) 1rem max(.85rem,env(safe-area-inset-left))}
  body.tonight-page[data-mobile2] .tonight-hero h1{font-size:clamp(2.35rem,12vw,3.5rem);line-height:.94;letter-spacing:-.045em}
  body.tonight-page[data-mobile2] .tonight-results{padding:.65rem 0 1rem;background:transparent}
  body.tonight-page[data-mobile2] .tonight-wrap{inline-size:100%;padding-inline:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}
  body.tonight-page[data-mobile2] .tonight-card{position:relative;overflow:hidden}
  body.tonight-page[data-mobile2] .tonight-time{display:flex;justify-content:space-between;gap:.75rem;color:var(--m2-red);font-weight:800;text-transform:uppercase}
  body.tonight-page[data-mobile2] .tonight-time small{color:var(--m2-muted);font-weight:700;text-transform:none}
  body.tonight-page[data-mobile2] .tonight-main{display:flex;flex:1;min-block-size:0;flex-direction:column}
  body.tonight-page[data-mobile2] .tonight-main h3{margin-top:auto;margin-bottom:.5rem}
  body.tonight-page[data-mobile2] .tonight-venue{font-size:clamp(1.12rem,5.2vw,1.35rem)}
  body.tonight-page[data-mobile2] .tonight-facts{color:var(--m2-muted);font-size:1rem}
  body.tonight-page[data-mobile2] .tonight-links{display:grid;grid-template-columns:1fr;gap:.55rem}
  body.tonight-page[data-mobile2] .tonight-links a{display:flex;align-items:center;justify-content:center;min-block-size:48px;padding:.7rem .85rem;border:1px solid var(--m2-line);border-radius:var(--kecb-radius-card);text-decoration:none;font-weight:800;text-align:center}
  body.tonight-page[data-mobile2] .tonight-links a.primary{background:var(--m2-red);border-color:var(--m2-red);color:#fff}
  body.tonight-page[data-mobile2] :where(.tonight-quick-bar,.tonight-date-shortcuts,.tonight-filter-line,.tonight-refine-grid){gap:.45rem}
  body.tonight-page[data-mobile2] :where(.tonight-date-shortcuts,.tonight-filter-line){overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  body.tonight-page[data-mobile2] :where(.tonight-date-shortcuts,.tonight-filter-line)::-webkit-scrollbar{display:none}
  body.tonight-page[data-mobile2] .tonight-distance{margin:.6rem .75rem 1rem;border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}
  body.tonight-page[data-mobile2] .tonight-location-inline{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:end}
  body.tonight-page[data-mobile2] .tonight-location-inline .secondary{grid-column:1/-1}

  /* Home Ground flagship. No ad styling is introduced here; Home Ground remains ad-free. */
  body[data-mobile2-family="homeground"] .homeground-hero{min-block-size:var(--m2-screen);display:flex;align-items:center;padding:1rem .75rem}
  body[data-mobile2-family="homeground"] .homeground-hero .heritage-shell{inline-size:100%;padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}
  body[data-mobile2-family="homeground"] .homeground-hero h1{font-size:clamp(3rem,14vw,4.4rem);line-height:.9;letter-spacing:-.055em}
  body[data-mobile2-family="homeground"] .homeground-local-nav{position:sticky;top:3.7rem;z-index:20;padding:.4rem 0;background:color-mix(in srgb,var(--m2-bg) 93%,transparent);backdrop-filter:blur(12px)}
  body[data-mobile2-family="homeground"] .homeground-local-nav .heritage-shell{display:flex;overflow-x:auto;gap:.45rem;padding:.2rem .75rem;scrollbar-width:none}
  body[data-mobile2-family="homeground"] .homeground-local-nav .heritage-shell::-webkit-scrollbar{display:none}
  body[data-mobile2-family="homeground"] .homeground-local-nav a{flex:0 0 auto;min-inline-size:9.2rem;padding:.7rem .8rem;border:1px solid var(--m2-line);border-radius:var(--kecb-radius-card);background:#fff;text-decoration:none;box-shadow:0 2px 8px rgba(31,24,18,.04)}
  body[data-mobile2-family="homeground"] .homeground-local-nav a span{color:var(--m2-red);font-weight:800}
  body[data-mobile2-family="homeground"] :where(.homeground-now,.homeground-map-section,.homeground-catalog,.homeground-new-around-home){padding:1rem .75rem;background:transparent}
  body[data-mobile2-family="homeground"] :where(.homeground-now,.homeground-map-section,.homeground-catalog,.homeground-new-around-home)>.heritage-shell{padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}
  body[data-mobile2-family="homeground"] .homeground-feed{display:grid;grid-template-columns:1fr;gap:.8rem}
  body[data-mobile2-family="homeground"] .homeground-feed-row{min-block-size:var(--m2-screen);padding:var(--m2-pad);display:flex;flex-direction:column;justify-content:center;text-decoration:none}
  body[data-mobile2-family="homeground"] .homeground-feed-row em{color:var(--m2-red);font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
  body[data-mobile2-family="homeground"] .homeground-feed-row strong{font-size:clamp(2.25rem,10vw,3.3rem);line-height:.96;letter-spacing:-.04em;margin:.65rem 0}
  body[data-mobile2-family="homeground"] .homeground-feed-row span{color:var(--m2-muted);font-size:1.05rem}
  body[data-mobile2-family="homeground"] .homeground-catalog-group{margin-block:1.25rem}
  body[data-mobile2-family="homeground"] .homeground-catalog-grid{display:grid;grid-template-columns:1fr;gap:.85rem}
  body[data-mobile2-family="homeground"] .homeground-catalog-card{min-block-size:var(--m2-screen);padding:var(--m2-pad);display:flex;flex-direction:column}
  body[data-mobile2-family="homeground"] .homeground-catalog-card :where(h4,.homeground-card-title){font-size:clamp(2.2rem,10vw,3.25rem);line-height:.96;letter-spacing:-.04em}
  body[data-mobile2-family="homeground"] .homeground-card-actions{margin-top:auto;padding-top:1rem;display:grid;grid-template-columns:1fr;gap:.5rem}
  body[data-mobile2-family="homeground"] .homeground-card-actions a,body[data-mobile2-family="homeground"] .homeground-card-map-action button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem .8rem;border:1px solid var(--m2-line);border-radius:var(--kecb-radius-card);background:#fff;color:var(--m2-ink);text-decoration:none;font-weight:800}
  body[data-mobile2-family="homeground"] .homeground-card-actions a:first-child{background:var(--m2-red);border-color:var(--m2-red);color:#fff}
  body[data-mobile2-family="homeground"] :where(.homeground-map,.homeground-map-canvas,[data-homeground-map]){min-block-size:min(64dvh,34rem)}

  /* Venue profile: mobile-only logical screen order and scale. */
  body.venue-profile-page[data-mobile2] .vp-hero{min-block-size:var(--m2-screen);display:flex;align-items:center;margin:.7rem;border:1px solid var(--m2-line);border-radius:var(--m2-radius);box-shadow:var(--m2-shadow);overflow:hidden}
  body.venue-profile-page[data-mobile2] .vp-hero h1{font-size:clamp(3rem,14vw,4.25rem);line-height:.9;letter-spacing:-.055em}
  body.venue-profile-page[data-mobile2] .vp-main{display:flex;flex-direction:column;gap:.85rem;padding-inline:.75rem}
  body.venue-profile-page[data-mobile2] .vp-card{min-block-size:var(--m2-screen);padding:var(--m2-pad);display:flex;flex-direction:column;justify-content:center;margin:0}
  body.venue-profile-page[data-mobile2] .vp-card h2{font-size:clamp(2.3rem,10.5vw,3.35rem);line-height:.95;letter-spacing:-.045em}
  body.venue-profile-page[data-mobile2] .vp-card[data-mobile2-role="venue-details"]{order:1}
  body.venue-profile-page[data-mobile2] .vp-card[data-mobile2-role="plan-night"]{order:2}
  body.venue-profile-page[data-mobile2] .vp-card[data-mobile2-role="about-room"]{order:3}
  body.venue-profile-page[data-mobile2] .vp-card:not([data-mobile2-role]){order:4}
  body.venue-profile-page[data-mobile2] .vp-links,body.venue-profile-page[data-mobile2] .vp-live-actions{margin-top:auto;padding-top:1rem;display:grid;grid-template-columns:1fr;gap:.55rem}
  body.venue-profile-page[data-mobile2] :where(.vp-links a,.vp-live-actions a,.vp-live-actions button){min-block-size:48px;display:flex;align-items:center;justify-content:center;text-align:center}

  /* Artist discovery + profiles. */
  body.artists-halls-page[data-mobile2] .artist-halls-hero{padding:1.1rem .75rem}
  body.artists-halls-page[data-mobile2] .artist-halls-hero h1{font-size:clamp(2.65rem,13vw,4rem);line-height:.92;letter-spacing:-.05em}
  body.artists-halls-page[data-mobile2]:not(.artist-profile-page) .artist-hall-card{min-block-size:var(--m2-screen);padding:var(--m2-pad);display:flex;flex-direction:column}
  body.artists-halls-page[data-mobile2]:not(.artist-profile-page) .artist-hall-card h2{font-size:clamp(2.4rem,11vw,3.55rem);line-height:.94;letter-spacing:-.045em}
  body.artist-profile-page[data-mobile2] .artist-profile-hero{min-block-size:var(--m2-screen);display:flex;align-items:center;margin:.7rem;border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}
  body.artist-profile-page[data-mobile2] .artist-profile-content{padding:.3rem .75rem 1rem;background:transparent}
  body.artist-profile-page[data-mobile2] .artist-profile-card{min-block-size:0;padding:0;border:0;background:transparent;box-shadow:none;display:block}
  body.artist-profile-page[data-mobile2] .artist-profile-actions,body.artist-profile-page[data-mobile2] :where(.artist-profile-next,.artist-profile-section,.pr-library-excerpt--feature,.artist-profile-footer){min-block-size:var(--m2-screen);margin:0 0 .85rem;padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow);display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}
  body.artist-profile-page[data-mobile2] .artist-profile-actions{min-block-size:auto;display:grid;grid-template-columns:1fr;gap:.55rem}
  body.artist-profile-page[data-mobile2] .artist-profile-section h2,body.artist-profile-page[data-mobile2] .artist-profile-next h2{font-size:clamp(2.35rem,10.5vw,3.4rem);line-height:.95;letter-spacing:-.045em}
  body.artist-profile-page[data-mobile2] .artist-connect-links{display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:auto;padding-top:1rem}
  body.artist-profile-page[data-mobile2] .artist-connect-links a{min-block-size:48px;display:flex;align-items:center;padding:.7rem .8rem;border:1px solid var(--m2-line);border-radius:var(--kecb-radius-card);text-decoration:none}
  body.artist-profile-page[data-mobile2] .artist-area-layout{display:grid;grid-template-columns:1fr;gap:1rem}
  body.artist-profile-page[data-mobile2] .artist-area-map{min-block-size:45dvh;border-radius:var(--m2-radius)}

  /* Editorial/Books/Roots: reading idea, not fake event cards. */
  body[data-mobile2-family="editorial"] main{padding-inline:1rem}
  body[data-mobile2-family="editorial"] main> :where(section,article,aside){max-inline-size:100%}
  body[data-mobile2-family="editorial"] .chapter-main{padding-inline:0}
  body[data-mobile2-family="editorial"] :where(.manager-summary,.chapter-connected-learning,.chapter-connect-cta,.chapter-work-panel,.kecb-semantic-related,.prose-section,.food-truck-section,.heritage-story-system,.heritage-evidence-promise){margin-block:.85rem;padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}
  body[data-mobile2-family="editorial"] .chapter-content{padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow);font-size:1.08rem;line-height:1.72}
  body[data-mobile2-family="editorial"] .chapter-content :where(h1,h2){font-size:clamp(2.05rem,9.5vw,3rem);line-height:1;letter-spacing:-.035em}
  body[data-mobile2-family="editorial"] .chapter-content h2{margin-top:2.6rem;padding-top:.5rem}
  body[data-mobile2-family="editorial"] .chapter-tools{position:relative;overflow-x:auto;scrollbar-width:none}
  body[data-mobile2-family="editorial"] .chapter-tools::-webkit-scrollbar{display:none}

  /* Academy: one lesson/concept/takeaway per card where cards exist. */
  body[data-mobile2-family="academy"] :where(.edu-card-grid,.academy-grid,.role-resource-grid,.bar2-grid){grid-template-columns:1fr;gap:.85rem}
  body[data-mobile2-family="academy"] :where(.edu-card,.academy-link-card,.academy-course-lesson,.role-resource-card){min-block-size:var(--m2-screen);padding:var(--m2-pad);display:flex;flex-direction:column;justify-content:center}
  body[data-mobile2-family="academy"] :where(.edu-card,.academy-link-card,.academy-course-lesson,.role-resource-card) :where(h2,h3){font-size:clamp(2.2rem,10vw,3.2rem);line-height:.96;letter-spacing:-.04em}
  body[data-mobile2-family="academy"] :where(.edu-hero,.bar2-track-hero,.kitchen-academy-hero){margin:.7rem;border-radius:var(--m2-radius);box-shadow:var(--m2-shadow);overflow:hidden}
  body[data-mobile2-family="academy"] :where(.edu-section,.bar2-section){padding-inline:.75rem}

  /* Tools/tasks: focused input state, result becomes next state naturally. */
  body[data-mobile2-family="task"] main{padding-inline:.7rem}
  body[data-mobile2-family="task"] :where(.tools-book-first-hero,.tool-suite-hero,.search-page-box,.manager-filter-box,.personal-tool-shelf,.tool-card,.calculator-card,.form-card){border-radius:var(--m2-radius);box-shadow:var(--m2-shadow)}
  body[data-mobile2-family="task"] :where(.tools-family-grid,.tools-secondary-grid,.tool-grid,.search-destination-grid){grid-template-columns:1fr;gap:.85rem}
  body[data-mobile2-family="task"] :where(.tools-family-card,.tools-secondary-card,.priority-tool-card){min-block-size:var(--m2-screen);padding:var(--m2-pad);display:flex;flex-direction:column;justify-content:center}
  body[data-mobile2-family="task"] :where(.tools-family-card,.tools-secondary-card,.priority-tool-card) :where(h2,h3){font-size:clamp(2.25rem,10vw,3.25rem);line-height:.96;letter-spacing:-.04em}
  body[data-mobile2-family="task"] form{max-inline-size:100%}
  body[data-mobile2-family="task"] form :where(button,.button){inline-size:100%;justify-content:center}
  body[data-mobile2-family="task"] :where(.tool-suite-wrap,.tool-wrap,.search-page-box){padding-inline:var(--m2-pad)}

  /* Intelligence: answer-first, one answer / visualization / action at a time. */
  body[data-mobile2-family="intelligence"] main{padding-inline:.7rem}
  body[data-mobile2-family="intelligence"] :where(.li-hero,.bi-hero){margin:.7rem 0;padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}
  body[data-mobile2-family="intelligence"] :where(.li-hero,.bi-hero) h1{font-size:clamp(2.7rem,12vw,3.9rem);line-height:.92;letter-spacing:-.05em}
  body[data-mobile2-family="intelligence"] :where(.li-card,.li-panel,.bi-card,.bi-panel,.bi-section,.bi-ux-answer){min-block-size:var(--m2-screen);padding:var(--m2-pad);margin-block:.85rem;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}
  body[data-mobile2-family="intelligence"] :where(.li-card,.li-panel,.bi-card,.bi-panel,.bi-section,.bi-ux-answer) :where(h2,h3,h4){font-size:clamp(2.2rem,10vw,3.25rem);line-height:.96;letter-spacing:-.04em}
  body[data-mobile2-family="intelligence"] :where(canvas,svg,.chart,.bi-chart,.li-chart){max-block-size:42dvh}
  body[data-mobile2-family="intelligence"] :where(.bi-tabs,[role=tablist]){overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}

  /* Spatial pages/maps: give the geography room without breaking coordinate truth. */
  body[data-mobile2-family="spatial"] main{padding-inline:.7rem}
  body[data-mobile2-family="spatial"] :where(.verified-texas-explorer,.texas-area-result,.map-card,.map-shell){margin-block:.85rem;padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}
  body[data-mobile2-family="spatial"] :where(.verified-texas-explorer__map,.map-canvas,[data-map],[class*=mapbox],[class*=leaflet]){min-block-size:min(64dvh,36rem)}

  /* Event detail: identity / venue / artists / actions read as logical screens. */
  body.event-detail-page[data-mobile2] .event-page-wrap{padding-inline:.7rem}
  body.event-detail-page[data-mobile2] .event-detail{padding:var(--m2-pad);box-shadow:var(--m2-shadow)}
  body.event-detail-page[data-mobile2] .event-detail> :where(.event-venue-card,.event-artists,.event-night-thread,.pr-library-excerpt,.event-actions){min-block-size:var(--m2-screen);margin-block:.85rem;padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow);display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}
  body.event-detail-page[data-mobile2] .event-detail h1{font-size:clamp(2.8rem,13vw,4.2rem);line-height:.92;letter-spacing:-.05em}
  body.event-detail-page[data-mobile2] .event-actions{gap:.55rem}
  body.event-detail-page[data-mobile2] .event-actions :where(a,button){min-block-size:48px;display:flex;align-items:center;justify-content:center;text-align:center}

  /* Tables/charts/forms: function wins over decoration. */
  body[data-mobile2] main :where(.table-wrap,[class*=table-wrap]){max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  body[data-mobile2] main table{min-inline-size:max-content}
  body[data-mobile2] main :where(pre,code){max-inline-size:100%;overflow-x:auto}
  body[data-mobile2] main :where(iframe,video,canvas,svg){max-inline-size:100%}
  body[data-mobile2] main details{max-inline-size:100%}
  body[data-mobile2] main summary{min-block-size:44px;display:flex;align-items:center}
}

@media (max-width:420px){
  :root{--m2-pad:1rem;--m2-screen:min(41rem,max(25rem,calc(100dvh - 8.7rem - env(safe-area-inset-bottom))))}
  body[data-mobile2] main :where(h1,h2,h3,h4){overflow-wrap:anywhere}
}

@media (max-width:760px) and (orientation:landscape){
  :root{--m2-screen:auto}
  body[data-mobile2-family="discovery"] main :where(.tonight-card,.artist-hall-card,.dir-card,.heritage-hall-card,.homeground-catalog-card),
  body[data-mobile2-family="homeground"] :where(.homeground-hero,.homeground-feed-row,.homeground-catalog-card),
  body.venue-profile-page[data-mobile2] :where(.vp-hero,.vp-card),
  body.artist-profile-page[data-mobile2] :where(.artist-profile-hero,.artist-profile-next,.artist-profile-section,.pr-library-excerpt--feature,.artist-profile-footer),
  body[data-mobile2-family="academy"] :where(.edu-card,.academy-link-card,.academy-course-lesson,.role-resource-card),
  body[data-mobile2-family="task"] :where(.tools-family-card,.tools-secondary-card,.priority-tool-card),
  body[data-mobile2-family="intelligence"] :where(.li-card,.li-panel,.bi-card,.bi-panel,.bi-section,.bi-ux-answer){min-block-size:auto}
}

@media (max-width:760px) and (prefers-reduced-motion:no-preference){
  @supports selector(html:has(body)){
    html:has(body[data-mobile2-family="discovery"]),html:has(body[data-mobile2-family="homeground"]),html:has(body.venue-profile-page[data-mobile2]),html:has(body.artist-profile-page[data-mobile2]){scroll-snap-type:y proximity;scroll-padding-top:4.6rem}
  }
}

@media (max-width:760px) and (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;scroll-snap-type:none}
  body[data-mobile2] *,body[data-mobile2] *::before,body[data-mobile2] *::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}
}

@media print{
  body[data-mobile2] main :where(.tonight-card,.artist-hall-card,.dir-card,.vp-card,.homeground-catalog-card,.homeground-feed-row,.event-detail,.bi-card,.bi-panel,.bi-section){min-block-size:0;box-shadow:none}
}

/* R114 targeted family completions */
@media (max-width:760px){
  /* Search is task-first, but each returned answer/result should still own a screen. */
  body[data-mobile2-family="task"].page-general .search-results{display:grid;grid-template-columns:1fr;gap:.85rem}
  body[data-mobile2-family="task"].page-general .search-result{min-block-size:var(--m2-screen);padding:var(--m2-pad);display:flex;flex-direction:column;justify-content:center}
  body[data-mobile2-family="task"].page-general .search-result strong{font-size:clamp(2.15rem,9.5vw,3.1rem);line-height:.98;letter-spacing:-.04em}

  /* Individual tools: one task first, result/output becomes the next dominant state. */
  body[data-mobile2-family="task"] .tool-app,
  body[data-mobile2-family="task"] .tool-editorial-brief,
  body[data-mobile2-family="task"] .tool-guide-bridge,
  body[data-mobile2-family="task"] .tool-output,
  body[data-mobile2-family="task"] .tool-related-next{
    margin-block:.85rem;padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow);scroll-snap-align:start;
  }
  body[data-mobile2-family="task"] .tool-app{min-block-size:var(--m2-screen);display:flex;flex-direction:column;justify-content:center}
  body[data-mobile2-family="task"] .tool-output:not(:empty){min-block-size:var(--m2-screen);display:flex;flex-direction:column;justify-content:center}
  body[data-mobile2-family="task"] .tool-form{display:grid;grid-template-columns:1fr;gap:.8rem}
  body[data-mobile2-family="task"] .tool-actions{display:grid;grid-template-columns:1fr;gap:.55rem}

  /* Show History keeps its calendar interaction, while opened show records become large focused cards. */
  body.show-history[data-mobile2] .sh-search-card,
  body.show-history[data-mobile2] .sh-calendar-card{margin:.8rem .7rem;padding:var(--m2-pad);border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow)}
  body.show-history[data-mobile2] .sh-calendar-card{min-block-size:var(--m2-screen)}
  body.show-history[data-mobile2] .sh-detail{min-block-size:var(--m2-screen);margin:.85rem 0;padding:var(--m2-pad);display:flex;flex-direction:column;justify-content:center;border:1px solid var(--m2-line);border-radius:var(--m2-radius);background:#fff;box-shadow:var(--m2-shadow);scroll-snap-align:start}
  body.show-history[data-mobile2] .sh-detail h4{font-size:clamp(2.2rem,10vw,3.2rem);line-height:.96;letter-spacing:-.04em}
  body.show-history[data-mobile2] .sh-follow-actions{margin-top:auto;padding-top:1rem;display:grid;grid-template-columns:1fr;gap:.5rem}
  body.show-history[data-mobile2] .sh-year-grid{grid-template-columns:1fr;gap:.8rem}
  body.show-history[data-mobile2] .sh-year-card{min-block-size:16rem;border-radius:var(--m2-radius);box-shadow:var(--m2-shadow)}
}

/* R115 mobile overflow containment: wide instructional tables scroll inside their
   own surface instead of widening the page. DOM table semantics are preserved. */
@media (max-width:760px){
  body[data-mobile2] main table{
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
}
@media (max-width:760px){
  body[data-mobile2] main table{
    min-inline-size:0;
    inline-size:100%;
    box-sizing:border-box;
  }
}
