/* HereSpark Local Playbill. Owner-selected September 4, 2026.
   Kept separate from the incumbent layout rules so operator workflows remain intact. */
@font-face {
  font-family:'Atkinson Hyperlegible Next';
  src:url('../vendor/playbill-fonts/atkinson-next.ttf') format('truetype');
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
}

@font-face {
  font-family:'Barlow Condensed';
  src:url('../vendor/playbill-fonts/barlow-condensed-600.ttf') format('truetype');
  font-style:normal;
  font-weight:600;
  font-display:swap;
}

:root {
  color-scheme:light;
  --ink:#282c29;
  --ink-soft:#575f59;
  --paper:#fcfaf6;
  --surface:#fff;
  --surface-cool:#f8f5ee;
  --line:#c6c7bd;
  --line-soft:var(--line);
  --control:#778075;
  --blue:#254c8c;
  --blue-dark:var(--blue);
  --blue-soft:var(--surface-cool);
  --accent:#963822;
  --accent-soft:#f8e7df;
  --citrus:#ffd447;
  --citrus-ink:#282c29;
  --verified:#e7f0e8;
  --verified-ink:#315b41;
  --likely:var(--surface-cool);
  --likely-ink:var(--ink-soft);
  --warning:#fff2cf;
  --warning-ink:#775209;
  --content:1120px;
  --display:'Barlow Condensed','Arial Narrow',sans-serif;
  --body:'Atkinson Hyperlegible Next',system-ui,sans-serif;
}

/* Explicit pairs also support browsers without light-dark(). */
@media (prefers-color-scheme: dark) {
  :root:not([data-appearance="light"]) {
    color-scheme:dark;
    --ink:#f2f2e9;
    --ink-soft:#c1c9c1;
    --paper:#202321;
    --surface:#292e2b;
    --surface-cool:#292e2b;
    --line:#657267;
    --control:#a2b3a2;
    --blue:#accaff;
    --accent:#ffb09a;
    --accent-soft:#443229;
    --citrus:#f4d166;
    --verified:#253c2e;
    --verified-ink:#adddb5;
    --warning:#433a20;
    --warning-ink:#ffe3a5;
  }
}

:root[data-appearance="dark"] {
  color-scheme:dark;
  --ink:#f2f2e9;
  --ink-soft:#c1c9c1;
  --paper:#202321;
  --surface:#292e2b;
  --surface-cool:#292e2b;
  --line:#657267;
  --control:#a2b3a2;
  --blue:#accaff;
  --accent:#ffb09a;
  --accent-soft:#443229;
  --citrus:#f4d166;
  --verified:#253c2e;
  --verified-ink:#adddb5;
  --warning:#433a20;
  --warning-ink:#ffe3a5;
}

html {
  scroll-behavior:auto;
}

body {
  overflow-x:visible;
  font-size:1.125rem;
  line-height:1.5;
}

a {
  color:var(--blue);
  text-underline-offset:.2em;
}

button,input,select,textarea {
  font:inherit;
}

button,input,select,textarea,summary {
  max-width:100%;
}

p {
  overflow-wrap:anywhere;
}

h1,h2,h3 {
  font-family:var(--display);
  font-weight:600!important;
  font-stretch:normal;
  letter-spacing:0;
  line-height:1.12!important;
  text-transform:none!important;
  overflow-wrap:anywhere;
}

h1 {
  font-size:clamp(2.25rem,4vw,3.25rem)!important;
}

h2 {
  font-size:clamp(1.8rem,3vw,2.25rem);
}

h3 {
  font-size:1.8rem;
}

:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:3px;
}

.section-code {
  font-size:.875rem;
  font-weight:500;
  letter-spacing:0;
  line-height:1.45;
  text-transform:none;
}

.content-shell {
  width:min(calc(100% - 56px),var(--content));
}

.brand-highlight {
  box-shadow:inset 0 -.13em 0 var(--citrus);
}

.site-header {
  position:relative;
  background:var(--paper);
  color:var(--ink);
  border-bottom:2px solid var(--accent);
}

.header-inner {
  display:flex;
  width:min(calc(100% - 56px),var(--content));
  gap:28px;
  flex-wrap:wrap;
  min-height:82px;
  padding-block:10px;
}

.brand {
  align-items:center;
  gap:9px;
  padding:0;
  color:var(--accent);
  font-size:2.25rem;
  font-weight:600;
  letter-spacing:0;
  white-space:nowrap;
}

.brand-mark {
  width:36px;
  height:36px;
  flex:none;
}

.primary-nav {
  margin-left:auto;
  gap:8px;
  align-self:center;
  flex-wrap:wrap;
}

.primary-nav a {
  min-width:44px;
  min-height:46px;
  padding:8px 10px;
  border-width:0 0 3px;
  color:var(--ink);
  font-size:1rem;
  font-weight:500;
}

.primary-nav a:hover,.primary-nav a[aria-current=page] {
  color:var(--accent);
}

.primary-nav a[aria-current=page] {
  border-bottom-color:var(--accent);
}

.account-state {
  font-size:.875rem;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  color:var(--blue);
}

.account-link:hover {
  color:var(--accent);
}

.scope-dot {
  display:none;
}

.account-name {
  max-width:16ch;
  overflow-wrap:anywhere;
}

.avatar {
  background:var(--accent-soft);
  color:var(--ink);
}

.button {
  min-height:46px;
  min-width:44px;
  border-radius:4px;
  padding:9px 15px;
  font-size:1rem;
  line-height:1.4;
  font-weight:600;
}

.button-ink,.button-citrus {
  background:var(--accent);
  color:var(--paper);
  border-color:var(--accent);
}

.button-ink:hover,.button-citrus:hover {
  background:var(--ink);
  color:var(--paper);
}

.button-line,.button-light {
  background:var(--surface);
  border:1px solid var(--accent);
  color:var(--accent);
}

.button-line:hover,.button-light:hover {
  background:var(--accent-soft);
  color:var(--accent);
}

.text-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  min-width:44px;
  border:0;
  background:transparent;
  color:var(--blue);
  font-size:1rem;
  font-weight:500;
  padding:8px 10px;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:4px;
}

.text-action[aria-pressed=true] {
  color:var(--accent);
}

.scope-dock {
  background:var(--paper);
  border-bottom:1px solid var(--line);
}

.scope-dock-inner {
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  padding-block:15px;
  align-items:center;
}

.scope-dock-place {
  flex:1;
}

.scope-dock-place .section-code {
  font-size:.875rem;
}

.scope-dock-place strong {
  font-size:1rem;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

.scope-dock-inner>p {
  font-size:.875rem;
}

.scope-dock-beacon {
  display:none;
}

.scope-dock-actions {
  gap:12px;
}

.scope-dock-actions>a,.scope-dock-actions button {
  font-size:.875rem;
  font-weight:500;
  min-height:44px;
}

.scope-dock-actions form {
  gap:12px;
}

.scope-dock-actions button {
  border:0;
  background:none;
  color:var(--blue);
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
  padding:4px;
}

.share-query-choice {
  font-size:.875rem;
}

.playbill-intro {
  padding:30px 0 20px;
}

.playbill-intro:not(.open-world-intro) h1 {
  margin:0 0 8px;
}

.playbill-intro p {
  margin:0;
  color:var(--ink-soft);
  max-width:56ch;
}

.playbill-dates {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.playbill-dates a {
  display:grid;
  place-items:center;
  min-height:46px;
  min-width:44px;
  border:1px solid var(--control);
  border-radius:4px;
  padding:9px 20px;
  font-size:1rem;
  font-weight:500;
  text-decoration:none;
  color:var(--ink);
  background:var(--surface);
}

.playbill-dates a[aria-current] {
  color:var(--accent);
  background:var(--accent-soft);
  border-color:var(--accent);
  font-weight:600;
}

.playbill-window {
  font-size:.9375rem;
  color:var(--ink-soft);
  margin:12px 0 16px;
}

.playbill-filters {
  border:0;
  border-block:1px solid var(--line);
  margin:0 0 28px;
  background:transparent;
}

.playbill-filters>summary {
  display:list-item;
  min-height:46px;
  padding:10px 0;
  font-size:1rem;
  font-weight:500;
}

.playbill-filters .filter-grid {
  padding:15px 0;
}

.playbill-filters .intent-shortcuts {
  color:var(--ink);
  padding-block:0 18px;
}

.intent-shortcuts a {
  color:var(--blue);
  font-size:1rem;
  font-weight:500;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}

.intent-shortcuts a:hover {
  color:var(--accent);
  background:var(--accent-soft);
}

.intent-selection {
  color:var(--ink);
  font-size:1rem;
}

.playbill-ideas {
  padding-bottom:20px;
}

.results-intro {
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:2px solid var(--ink);
  align-items:center;
}

.results-intro h2 {
  margin:0;
}

.results-intro p {
  font-size:.9375rem;
  margin:4px 0;
  color:var(--ink-soft);
}

.browse-more {
  margin-top:22px;
}

.quiet-link,.flexible-all-link {
  font-size:1rem;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  color:var(--blue);
}

.flexible-discover {
  margin-top:36px;
  padding-top:24px;
  border-top:1px solid var(--line);
}

.planning-lane-heading {
  align-items:start;
  margin-bottom:16px;
}

.planning-lane-heading h2 {
  font-size:2rem;
}

.planning-lane-heading p {
  font-size:1rem;
  color:var(--ink-soft);
  margin:8px 0;
}

.playbill-discover {
  padding-bottom:60px;
}

.event-list {
  gap:0;
}

.opportunity-row,.event-portrait-row {
  display:grid;
  grid-template-columns:3.75rem minmax(0,1fr);
  gap:24px;
  padding:26px 0;
  margin:0;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line);
  box-shadow:none;
}

.opportunity-row::before {
  display:none;
}

.opportunity-row>* {
  min-width:0;
}

.opportunity-time {
  padding:0;
  border:0;
}

.opportunity-time span,.opportunity-time small {
  font-size:.9375rem;
  line-height:1.4;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:var(--ink-soft);
}

.opportunity-time strong {
  font-size:2.65rem;
  color:var(--accent);
  line-height:1.1;
  letter-spacing:0;
  font-weight:600;
  margin:5px 0;
}

.event-meta-row {
  display:flex;
  flex-wrap:wrap;
  justify-content:start;
  gap:10px;
  margin:0 0 8px;
}

.category-label,.showtime-count {
  font-size:.9375rem;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:var(--ink-soft);
  background:none;
  border:0;
  padding:0;
}

.opportunity-row h3 {
  font-size:clamp(1.65rem,2.6vw,2rem);
  margin:0 0 10px;
  line-height:1.15;
}

.opportunity-row h3 a {
  color:var(--ink);
}

.opportunity-row h3 a:hover {
  color:var(--accent);
}

.event-summary,.event-place,.event-practical,.availability-copy {
  font-size:1.125rem;
  margin:8px 0;
  line-height:1.5;
  max-width:65ch;
}

.event-summary {
  color:var(--ink-soft);
}

.event-place {
  color:var(--ink);
}

.why-go,.showtime-proof-note {
  font-size:.9375rem;
  color:var(--ink-soft);
  margin:10px 0;
  font-weight:400;
}

.event-card-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
  align-items:center;
}

.event-share-link,.event-card-actions a {
  font-size:1rem;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  font-weight:500;
}

.event-card-actions .button {
  color:var(--accent);
}

.flexible-opportunity-time strong {
  font-size:2rem;
}

.window-fit-label {
  font-size:.9375rem;
  color:var(--ink-soft);
  background:var(--surface-cool);
}

.source-note {
  display:block;
  margin:10px 0 0;
  color:var(--ink-soft);
  font-family:var(--body);
  font-size:.9375rem;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}

.source-note summary {
  display:flex;
  gap:5px 12px;
  flex-wrap:wrap;
  align-items:center;
  min-height:44px;
  width:fit-content;
  max-width:100%;
  cursor:pointer;
  padding:3px 0;
}

.source-note .source-toggle-icon::after {
  content:'⌄';
  color:var(--blue);
}

.source-note[open] .source-toggle-icon::after {
  content:'⌃';
}

.source-note summary strong {
  font-family:var(--body);
  font-size:1rem;
  font-weight:600;
  color:var(--ink-soft);
}

.source-note-confirmed summary strong {
  color:var(--verified-ink);
}

.source-note-check-first summary strong {
  color:var(--warning-ink);
}

.source-note p {
  margin:5px 0;
  max-width:64ch;
}

.source-note a {
  display:inline-flex;
  min-height:44px;
  align-items:center;
  font-size:1rem;
}

.field-alert {
  background:var(--warning);
  color:var(--warning-ink);
  font-size:1rem;
}

.field-alert-likely {
  background:var(--likely);
  color:var(--likely-ink);
}

.field-alert p,.field-alert>span,.field-alert small,.field-alert a {
  font-size:1rem;
  letter-spacing:0;
  text-transform:none;
}

.field-alert p span {
  border:0;
}

.field label,.field-area-set legend,.sort-form label {
  font-size:.9375rem;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}

.field input,.field select,.sort-form select,.account-form input,.account-form select {
  min-height:46px;
  font-size:1rem;
  background:var(--surface);
  color:var(--ink);
  border:1px solid var(--control);
  border-radius:4px;
}

.field input[type=checkbox],.market-area-checks input,.area-filter-checks input {
  min-height:20px;
  width:20px;
  height:20px;
  accent-color:var(--accent);
  flex:none;
}

.market-area-checks label,.area-filter-checks label {
  font-size:1rem;
  min-height:46px;
  gap:10px;
}

.filter-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.filter-actions>a,.filter-sidebar-heading>a {
  font-size:1rem;
}

.field-errors,.form-errors,.errorlist {
  font-size:1rem;
  color:var(--accent);
}

.field-area-set {
  min-width:0;
}

.area-filter-checks {
  max-height:260px;
  overflow:auto;
  background:var(--surface);
}

.area-filter-help {
  font-size:.875rem;
}

.filter-sidebar {
  position:static;
  background:var(--surface);
  border-color:var(--line);
}

.filter-sidebar form {
  padding:20px;
}

.filter-sidebar-heading h2 {
  font-size:1.8rem;
}

.explore-layout {
  grid-template-columns:260px minmax(0,1fr);
  gap:32px;
}

.opportunity-page-intro {
  background:var(--paper);
}

.opportunity-page-grid {
  padding:32px 0;
  gap:28px;
}

.opportunity-intro-copy>p {
  font-size:1rem;
}

.opportunity-intro-copy dt,.opportunity-intro-copy dd {
  font-size:.9375rem;
  letter-spacing:0;
  text-transform:none;
}

.planning-lanes {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));
  gap:1px;
  margin-bottom:20px;
  background:var(--line);
  border-color:var(--line);
}

.planning-lanes a {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:4px 6px;
  min-height:56px;
  padding:10px;
  background:var(--surface);
  color:var(--ink);
}

.planning-lanes a+a {
  border:0;
}

.planning-lanes a.is-active {
  background:var(--accent-soft);
  color:var(--accent);
}

.planning-lanes span {
  align-self:center;
  font-family:var(--body);
  font-size:1rem;
  font-weight:600;
  line-height:1.3;
  letter-spacing:0;
  text-transform:none;
}

.planning-lanes strong {
  margin-left:auto;
  font-variant-numeric:tabular-nums;
  font-size:1.4rem;
}

.results-toolbar {
  gap:14px;
}

.results-toolbar .section-code {
  margin:0 0 4px;
}

.results-toolbar .source-check {
  margin:4px 0 0;
}

.results-actions {
  flex:1;
}

.sort-form {
  flex-wrap:wrap;
  flex-shrink:0;
  width:17rem;
  max-width:100%;
}

.sort-form select {
  min-width:0;
  flex:1 1 8rem;
}

.showtime-ledger summary,.showtime-ledger a,.showtime-ledger span,.showtime-ledger small {
  font-size:.9375rem!important;
  letter-spacing:0;
  text-transform:none;
}

.showtime-ledger summary,.showtime-ledger a {
  min-height:44px;
}

.showtime-state,.showtime-state.is-attention {
  font-size:.875rem;
  color:var(--warning-ink);
}

.showtime-state.is-checked {
  color:var(--verified-ink);
}

.detail-shell {
  padding-top:24px;
}

.detail-toolbar {
  flex-wrap:wrap;
  gap:10px;
}

.back-link {
  font-size:1rem;
  color:var(--blue);
  min-height:44px;
  display:inline-flex;
  align-items:center;
  letter-spacing:0;
  text-transform:none;
}

.detail-header {
  grid-template-columns:minmax(0,1fr) 110px;
  align-items:start;
  gap:24px;
}

.detail-header h1 {
  margin:8px 0 16px;
}

.detail-lead {
  font-size:1.25rem;
  font-weight:500;
}

.detail-place {
  font-size:1.125rem;
}

.detail-time-block {
  background:transparent;
  color:var(--accent);
  border:0;
  min-height:110px;
}

.detail-time-block span,.detail-time-block small {
  font-size:1rem;
  letter-spacing:0;
  text-transform:none;
}

.detail-time-block strong {
  font-size:3rem;
  line-height:1.1;
}

.detail-grid {
  grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);
  gap:36px;
  padding-top:24px;
}

.detail-main h2,.plan-panel h2 {
  font-size:2rem;
}

.detail-section-heading {
  align-items:center;
  flex-wrap:wrap;
}

.detail-section-heading>span,.detail-showtimes li a>span {
  font-size:.9375rem;
  letter-spacing:0;
  text-transform:none;
}

.detail-showtimes li a {
  color:var(--ink);
}

.detail-showtimes li.is-selected {
  background:var(--accent-soft);
  box-shadow:inset 0 0 0 2px var(--accent);
}

.detail-showtimes li a>strong {
  font-size:1.6rem;
}

.plan-panel {
  position:static;
  background:var(--surface);
  color:var(--ink);
  border-color:var(--line);
}

.plan-panel .section-code,.plan-panel dt {
  color:var(--ink-soft);
}

.practical-list dt,.practical-list dd {
  font-size:1rem;
  letter-spacing:0;
  text-transform:none;
}

.plan-panel .practical-list div {
  border-color:var(--line);
}

.field-evidence {
  border-color:var(--line);
}

.field-evidence summary {
  color:var(--ink);
  font-size:1rem;
  font-weight:500;
}

.field-evidence p,.field-evidence dt,.field-evidence dd {
  font-size:.9375rem;
  color:var(--ink-soft);
}

.field-evidence a {
  color:var(--blue);
}

.field-evidence dl div {
  grid-template-columns:90px minmax(0,1fr);
  border-color:var(--line);
}

.plan-panel .address {
  font-size:1rem;
  color:var(--ink-soft);
}

.detail-map-link,.detail-map-heading>span {
  font-size:.9375rem;
}

.tag-list span {
  font-size:.875rem;
  letter-spacing:0;
  text-transform:none;
}

.archive-notice {
  color:var(--warning-ink);
  background:var(--warning);
  font-size:1rem;
}

.scope-gateway-grid {
  grid-template-columns:minmax(0,1fr) 340px;
  gap:40px;
  padding-block:36px;
}

.scope-gateway-copy>p:not(.section-code) {
  font-size:1.125rem;
}

.scope-location-card {
  background:var(--surface);
  border-color:var(--line);
  padding:22px;
}

.scope-location-card h2 {
  font-size:2rem;
}

.scope-location-card>p:not(.section-code) {
  font-size:1rem;
}

.scope-location-status {
  font-size:.9375rem!important;
}

.scope-choice-heading {
  grid-template-columns:1fr;
  gap:8px;
}

.scope-choice-heading h2 {
  font-size:2rem;
}

.region-choice,.market-choice {
  background:var(--surface);
  border-color:var(--line);
}

.region-choice strong,.market-choice h3 {
  font-size:1.8rem;
  font-weight:600;
  line-height:1.2;
}

.region-choice small,.market-choice header p,.market-choice summary {
  font-size:1rem;
  letter-spacing:0;
  text-transform:none;
}

.region-choice>span,.market-choice-number {
  color:var(--accent);
  font-size:1.25rem;
}

.region-choice:hover {
  background:var(--accent-soft);
  color:var(--ink);
}

.market-choice.is-suggested {
  background:var(--accent-soft);
}

.market-area-checks {
  padding:10px 0;
}

.scope-error {
  color:var(--warning-ink);
  background:var(--warning);
  font-weight:500;
}

.market-choice summary {
  min-height:46px;
  cursor:pointer;
}

.site-footer {
  background:var(--paper);
  color:var(--ink);
  border-top:1px solid var(--line);
  font-size:.9375rem;
  gap:20px;
  flex-wrap:wrap;
}

.footer-brand strong {
  font-family:var(--display);
  color:var(--accent);
  font-size:1.9rem;
  font-weight:600;
  letter-spacing:0;
}

.footer-brand strong span {
  display:none;
}

.footer-brand>span,.site-footer p,.site-footer>a {
  font-size:.9375rem;
  color:var(--ink-soft);
  letter-spacing:0;
  text-transform:none;
}

.site-footer>a {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  color:var(--blue);
}

/* Citrus stays bright in both themes, so its text must not use adaptive ink. */
.loading-line {
  padding:10px 14px;
  color:var(--citrus-ink);
  font-size:1rem;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}

.share-status,.device-notice {
  background:var(--ink);
  color:var(--paper);
  font-size:1rem;
}

.device-notice {
  position:fixed;
  bottom:16px;
  left:50%;
  transform:translateX(-50%);
  z-index:60;
  padding:12px 18px;
  max-width:calc(100% - 32px);
  width:max-content;
  border:1px solid var(--paper);
  border-radius:4px;
}

.device-notice button {
  color:var(--paper);
  background:transparent;
  border:1px solid currentColor;
  min-height:44px;
  min-width:44px;
  margin-left:12px;
  cursor:pointer;
  font:inherit;
}

.saved-page {
  padding-block:32px 60px;
}

.saved-page h1 {
  margin:0;
}

.saved-page>p {
  color:var(--ink-soft);
}

.saved-entry {
  padding:24px 0;
  border-bottom:1px solid var(--line);
}

.saved-entry h2 {
  margin:0 0 8px;
  font-size:1.8rem;
}

.saved-entry h2 a {
  color:var(--ink);
}

.saved-entry p {
  margin:6px 0;
}

.saved-actions {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center;
}

.saved-status {
  font-weight:600;
}

.saved-status[data-status=confirmed] {
  color:var(--verified-ink);
}

.saved-status[data-status=likely] {
  color:var(--ink-soft);
}

.saved-status[data-status=check_first],.saved-status[data-status=canceled],.saved-status[data-status=removed] {
  color:var(--warning-ink);
}

.saved-empty {
  padding-block:24px;
}

@media(max-width:1020px) {
  .header-inner {
    gap:16px;
  }
  .account-state {
    margin-left:auto;
  }
  .opportunity-page-grid,.scope-gateway-grid {
    grid-template-columns:1fr;
  }
  .scope-location-card {
    max-width:550px;
  }
  .explore-layout {
    grid-template-columns:minmax(0,1fr);
  }
  .detail-grid {
    grid-template-columns:1fr;
  }
  .plan-panel {
    max-width:none;
  }
  .filter-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px) {
  .sort-form {
    width:100%;
  }
  .content-shell,.header-inner {
    width:calc(100% - 32px);
  }
  .header-inner {
    gap:8px 12px;
    padding-block:10px;
  }
  .brand {
    font-size:1.9rem;
    gap:7px;
  }
  .brand-mark {
    width:28px;
    height:28px;
  }
  .primary-nav {
    margin-left:auto;
    order:0;
    min-height:46px;
    gap:0;
  }
  .primary-nav a {
    font-size:.9375rem;
    min-width:44px;
    padding:8px;
  }
  .account-state {
    display:none;
  }
  .scope-dock-inner {
    display:flex;
    gap:2px 12px;
  }
  .scope-dock-place {
    flex:1 1 60%;
  }
  .scope-dock-inner>p {
    flex:1 1 100%;
  }
  .scope-dock-actions {
    flex:1 1 100%;
    gap:10px;
    justify-content:flex-start;
  }
  .playbill-intro {
    padding-top:24px;
  }
  .playbill-dates a {
    flex:1 1 auto;
    padding:8px 14px;
  }
  .results-intro {
    display:block;
  }
  .opportunity-row,.event-portrait-row {
    grid-template-columns:2.75rem minmax(0,1fr);
    gap:16px;
    padding:24px 0;
  }
  .opportunity-time strong {
    font-size:2.3rem;
  }
  .opportunity-time small,.opportunity-time span {
    font-size:.875rem;
  }
  .event-summary,.event-place,.availability-copy,.event-practical {
    font-size:1.0625rem;
  }
  .opportunity-row h3 {
    font-size:1.8rem;
  }
  .explore-layout {
    display:flex;
    flex-direction:column;
    padding-top:24px;
  }
  .explore-layout>* {
    width:100%;
  }
  .filter-sidebar {
    position:static;
    max-height:none;
    overflow:visible;
  }
  .filter-grid {
    grid-template-columns:1fr;
  }
  .opportunity-page-grid {
    padding:26px 0;
    gap:20px;
  }
  .opportunity-intro-copy dl {
    gap:10px;
  }
  .planning-lane-heading {
    display:block;
  }
  .detail-header {
    grid-template-columns:1fr;
  }
  .detail-time-block {
    display:none;
  }
  .detail-lead {
    font-size:1.125rem;
  }
  .detail-showtimes ol {
    grid-template-columns:1fr;
  }
  .detail-showtimes li a {
    grid-template-columns:1fr auto;
  }
  .detail-showtimes .showtime-state {
    grid-column:1/-1;
  }
  .scope-gateway-grid {
    padding-block:26px;
    gap:24px;
  }
  .region-choice-grid,.market-choice-grid {
    grid-template-columns:1fr;
  }
  .market-choice {
    min-width:0;
  }
  .site-footer {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:28px 16px;
  }
  .account-auth-shell {
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
    padding-block:32px;
  }
  .account-form {
    padding:20px;
  }
  .account-page-header {
    align-items:start;
    flex-wrap:wrap;
  }
  .watch-row {
    grid-template-columns:1fr;
  }
  .share-landing,.share-landing-actions {
    min-width:0;
  }
  .device-notice {
    bottom:10px;
  }
}

@media(max-width:460px) {
  .header-inner {
    gap:4px;
    align-items:center;
  }
  .brand {
    font-size:1.65rem;
    gap:5px;
  }
  .brand-mark {
    width:24px;
    height:24px;
  }
  .primary-nav a {
    padding:8px 6px;
    font-size:.875rem;
  }
  .primary-nav a[href^='/explore/'] {
    display:none;
  }
  .event-card-actions {
    gap:8px;
  }
  .playbill-dates a {
    flex:1 1 45%;
  }
  .playbill-dates a:last-child {
    flex-basis:100%;
  }
  .source-note summary {
    gap:3px 10px;
  }
  .detail-share-actions {
    gap:12px;
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }
}

@media(forced-colors:active) {
  .brand-highlight {
    box-shadow:none;
  }
  .source-note summary strong {
    color:CanvasText;
  }
  .button,.playbill-dates a {
    border:1px solid ButtonText;
  }
  .playbill-dates a[aria-current],.primary-nav a[aria-current] {
    outline:2px solid Highlight;
    outline-offset:-2px;
  }
  .device-notice {
    border:2px solid ButtonText;
  }
  .brand-mark {
    forced-color-adjust:none;
  }
}

/* Shared layout selectors with stronger legacy rules. */
.results-intro h2 {
  font-size:2rem;
  line-height:1.15;
}

.event-card-actions {
  justify-content:flex-start;
}

.scope-dock-inner>p {
  display:block!important;
}

.event-practical strong,strong,b {
  font-weight:600;
}

.event-card-actions a,.event-share-link {
  color:var(--blue);
}

.playbill-filters>summary::marker {
  color:var(--ink);
}

.source-note summary::-webkit-details-marker {
  display:none;
}

.primary-nav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  white-space:nowrap;
}

.detail-share-actions a,.scope-dock-actions>a,.scope-dock-actions button {
  font-size:1rem!important;
  font-weight:500;
  color:var(--blue);
  min-height:44px;
  min-width:44px;
}

.scope-location-card {
  display:block;
}

.scope-location-card .button {
  width:100%;
  margin-top:8px;
}

.scope-location-description {
  font-size:1rem!important;
  max-width:50ch;
}

.scope-location-status:empty {
  display:none;
}

.market-choice header>p {
  font-size:1rem!important;
}

.market-choice summary {
  font-size:1rem!important;
}

.mobile-filter-panel summary {
  font-size:1rem;
  font-weight:500;
  min-height:46px;
}

.archive-banner p {
  font-size:1rem;
}

.archive-canceled,.archive-removed {
  background:var(--warning);
  color:var(--warning-ink);
}

.share-landing-copy label {
  font-size:1rem;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}

.share-landing-copy input {
  background:var(--surface);
  color:var(--ink);
  font-size:1rem;
  border-color:var(--control);
}

.share-window-mark {
  background:var(--accent);
  box-shadow:inset 0 -70px 0 var(--citrus);
  border-radius:6px;
}

.share-window-mark::before {
  border-radius:0;
}

.share-window-mark span::after {
  background:var(--accent);
}

.site-footer .footer-brand {
  gap:8px;
}

@media(max-width:760px) {
  .scope-dock-actions {
    display:flex;
    flex-wrap:wrap;
    width:100%;
  }
  .scope-dock-actions form {
    display:flex;
    flex-wrap:wrap;
    width:auto;
    gap:12px;
  }
  .scope-dock-actions>a,.scope-dock-actions button {
    font-size:.9375rem!important;
  }
  .scope-dock-inner>p {
    order:-1;
    flex-basis:100%;
    font-weight:400;
  }
  .scope-location-card h2 {
    max-width:none;
  }
  .share-window-mark {
    width:130px;
  }
  .share-landing {
    padding-block:30px;
    gap:26px;
    min-height:0;
  }
}

.detail-grid>* {
  min-width:0;
}

.practical-list dd,.field-evidence dd {
  overflow-wrap:anywhere;
  min-width:0;
}

.source-check {
  font-size:.9375rem!important;
}

.view-switch a,.view-switch button,.view-toggle a,.view-toggle button,.view-toggle {
  font-size:1rem!important;
}

.map-shell .maplibregl-ctrl-group button {
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
}

.map-shell .maplibregl-ctrl-attrib-button {
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  background-position:center;
  background-repeat:no-repeat;
}

.map-shell .maplibregl-ctrl-attrib {
  font-size:.875rem;
  line-height:1.4;
  max-width:100%;
  color:#282c29;
  background:#fff;
}

.map-shell .maplibregl-ctrl-attrib a {
  color:#254c8c;
  font-size:.875rem;
}

.map-shell .maplibregl-ctrl-attrib.maplibregl-compact {
  min-height:44px;
  padding-right:44px;
}

.source-note a {
  overflow-wrap:anywhere;
}

@media(max-width:1020px) {
  .detail-grid {
    grid-template-columns:minmax(0,1fr);
  }
}

@media(max-width:480px) {
  .detail-showtimes li a {
    grid-template-columns:minmax(0,1fr);
  }
  .plan-panel .practical-list div {
    grid-template-columns:minmax(70px,.35fr) minmax(0,.65fr);
  }
  .archive-banner {
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }
}

.view-toggle button,.view-switch button,.sort-form .button {
  min-width:44px;
  min-height:46px;
  font-size:1rem;
}

.copy-dialog {
  width:min(30rem,calc(100% - 32px));
  max-width:calc(100% - 32px);
  padding:24px;
  border:2px solid var(--line);
  border-radius:6px;
  background:var(--surface);
  color:var(--ink);
}

.copy-dialog::backdrop {
  background:rgb(0 0 0 / .45);
}

.copy-dialog h2 {
  margin:0 0 12px;
}

.copy-dialog label {
  display:block;
  font-size:1rem;
}

.copy-dialog input {
  width:100%;
  min-height:46px;
  margin:10px 0 18px;
  font-size:1rem;
  background:var(--paper);
  color:var(--ink);
  border:1px solid var(--control);
  padding:10px;
}

.copy-dialog button {
  font:inherit;
}

.skip-link {
  background:var(--paper);
  color:var(--blue);
  border:2px solid var(--blue);
}

.detail-share-actions {
  flex-wrap:wrap;
  min-width:0;
  max-width:100%;
}

.view-switch button.is-selected {
  background:var(--accent);
  color:var(--paper);
}

/* Keep preferences and secondary actions compact; lead with useful ideas. */
.header-inner { min-height:68px; gap:16px; padding-block:8px; padding-inline:0; }
.nav-browse-short { display:none; }
.appearance-control { position:relative; flex:none; margin:0; padding:0; border:0; }
.appearance-control[hidden] { display:none; }
.appearance-control>summary {
  display:grid; place-items:center; width:44px; height:44px; min-height:44px;
  padding:0; border:0; border-radius:4px; color:var(--ink-soft); cursor:pointer;
  list-style:none;
}
.appearance-control>summary::-webkit-details-marker { display:none; }
.appearance-control>summary:hover { color:var(--ink); background:var(--surface-cool); }
.appearance-options {
  position:absolute; z-index:30; right:0; top:calc(100% + 8px);
  width:180px; padding:14px; background:var(--surface); color:var(--ink);
  border:1px solid var(--control); border-radius:6px;
  box-shadow:0 5px 18px #0002;
}
.appearance-options label { display:block; margin:0 0 8px; font-size:1rem; color:var(--ink); }
.appearance-options select {
  width:100%; min-height:44px; margin:0; padding:8px;
  border:1px solid var(--control); border-radius:4px;
  color:var(--ink); background:var(--surface); font-size:1rem;
}
.scope-dock-inner { display:block; padding-block:4px; }
.scope-options { margin:0; border:0; background:transparent; }
.scope-options>summary {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:44px; padding:5px 0; color:var(--ink); font-size:1rem;
  font-weight:500; list-style:none; cursor:pointer;
}
.scope-options>summary::-webkit-details-marker { display:none; }
.scope-options>summary>span:not(.sr-only) { min-width:0; overflow-wrap:anywhere; }
.scope-options>summary>span:last-child { flex:none; color:var(--blue); }
.scope-options[open]>summary { border-bottom:1px solid var(--line); }
.scope-options .scope-dock-actions {
  display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center;
  gap:6px 18px; padding:10px 0;
}
.scope-options .scope-dock-actions>p { flex-basis:100%; margin:0; font-size:.875rem; color:var(--ink-soft); }
.playbill-intro { padding:16px 0 12px; }
.playbill-intro:not(.open-world-intro) h1 { margin:0; font-size:clamp(1.75rem,3vw,2.25rem)!important; }
.playbill-dates { gap:6px; }
.playbill-dates a { min-height:44px; padding:8px 14px; }
.playbill-tools {
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
  gap:0 16px; margin:4px 0 12px; border-bottom:1px solid var(--line);
}
.playbill-window { margin:0; padding:8px 0; font-size:.875rem; }
.playbill-tools .playbill-filters { width:auto; margin:0; border:0; }
.playbill-tools .playbill-filters>summary { min-height:44px; padding:9px 0; list-style-position:inside; }
.playbill-tools .playbill-filters[open] { flex-basis:100%; }
.playbill-ideas .results-intro { margin-bottom:0; padding-bottom:8px; }
.playbill-ideas .results-intro>div { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:4px 12px; width:100%; }
.playbill-ideas .results-intro h2 { font-size:1.375rem; }
.playbill-ideas .results-intro p { margin:0; font-size:.875rem; }
.playbill-ideas .opportunity-row { padding-block:20px; }
@media(max-width:760px) {
  .header-inner { min-height:60px; gap:8px; padding-block:6px; }
  .site-header .primary-nav { order:0; flex-basis:auto; margin-left:auto; min-height:44px; }
  .appearance-control { margin-left:0; }
  .playbill-intro { padding-top:12px; }
  .playbill-dates a,.playbill-dates a:last-child { flex:1 1 auto; padding:8px 10px; }
  .playbill-ideas .opportunity-row { padding-block:18px; }
}
@media(max-width:480px) {
  .header-inner { gap:4px; }
  .brand { font-size:1.35rem; gap:4px; }
  .brand-mark { width:24px; height:24px; }
  .site-header .primary-nav .nav-discover,.nav-browse-full { display:none; }
  .nav-browse-short { display:inline; }
  .site-header .primary-nav a[aria-label='Browse more'] { display:inline-flex; }
  .site-header .primary-nav a { padding-inline:6px; }
}

/* Usability refinement: keep the Playbill voice and bring decisions forward. */
.scope-compact { min-height:0; padding-block:28px 48px; }
.scope-compact .scope-gateway-copy h1 { font-size:clamp(2.25rem,4vw,3.5rem)!important; line-height:1.1; }
.scope-compact .scope-gateway-copy>p:not(.section-code) { margin:12px 0 24px; max-width:650px; }
.scope-compact .scope-gateway-copy>.back-link { margin:0 0 12px; }
.scope-compact .scope-choice-heading { display:block; margin-bottom:14px; }
.scope-compact .scope-choice-heading h2 { font-size:1.5rem; }
.scope-compact .scope-choice-heading p { font-size:1rem; color:var(--ink-soft); margin:4px 0; }
.scope-compact .region-choice { grid-template-columns:minmax(0,1fr) 28px; min-height:114px; padding:18px 22px; gap:6px 12px; border:1px solid var(--line); }
.scope-compact .region-choice strong,.scope-compact .region-choice small { grid-column:1; }
.scope-compact .region-choice small { font-size:1rem; line-height:1.5; }
.scope-compact .region-choice i { grid-column:2; }
.scope-compact .region-choice:hover small { color:var(--ink-soft); }
.scope-compact .region-wide-choice { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; padding:16px; margin-bottom:16px; border:1px solid var(--line); }
.scope-compact .region-place-list { flex:1 1 200px; min-width:0; }
.scope-compact .region-place-list summary { min-height:44px; display:flex; align-items:center; color:var(--blue); cursor:pointer; text-decoration:underline; }
.scope-compact .region-place-list p { font-size:1rem; line-height:1.5; }
.scope-compact .market-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.scope-compact .market-choice { display:flex; flex-direction:column; justify-content:space-between; min-height:0; padding:18px; gap:12px; }
.scope-compact .market-choice h2 { margin:0 0 6px; font-size:1.75rem; }
.scope-compact .market-choice header>p:not(.market-suggestion) { font-size:1rem; line-height:1.5; }
.scope-compact .market-choice form { display:flex; flex-wrap:wrap; align-self:stretch; align-items:start; gap:8px 16px; margin:0; }
.scope-compact .market-choice details { flex:1 1 160px; min-width:0; border:0; }
.scope-compact .market-choice details[open] { flex-basis:100%; }
.scope-compact .market-choice .button { min-width:100px; }
.scope-compact .market-suggestion { margin:0 0 10px; color:var(--citrus-ink); }
.scope-compact .scope-location-card { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; max-width:none; padding:18px 0 0; margin-top:24px; background:transparent; border:0; border-top:1px solid var(--line); }
.scope-compact .scope-location-card .button { width:auto; margin:0; flex:none; }
.scope-compact .scope-location-card>p { margin:0; }
.scope-compact .scope-location-description { flex:1 1 240px; }
.scope-compact .scope-location-status { flex-basis:100%; min-height:0; }
.scope-compact .scope-location-status:empty { display:none; }
.browse-intro { padding-block:20px; }
.browse-intro h1 { font-size:clamp(2rem,3vw,2.5rem)!important; margin:0 0 6px; }
.browse-intro p { margin:0; font-size:1rem; color:var(--ink-soft); }
.page-explore .explore-layout { padding-top:0; }
.page-explore .planning-lanes { margin-bottom:14px; }
.page-explore .planning-lanes a { display:flex; align-items:center; justify-content:center; }
.page-explore .planning-lanes a>span { font-size:1rem; }
.page-explore .results-toolbar { gap:10px; padding-bottom:12px; }
.page-explore .results-toolbar .section-code { margin-bottom:4px; }
.page-explore .results-toolbar h2 { font-size:1.75rem; line-height:1.2; }
.page-explore .results-toolbar .source-check { margin:4px 0 0; }
.all-events-link { display:inline-flex; align-items:center; min-height:44px; font-size:1rem; }
.detail-compact { padding-top:12px; }
.detail-compact .detail-toolbar { margin-bottom:12px; }
.detail-compact .detail-header { grid-template-columns:1fr; gap:0; padding-bottom:20px; }
.detail-compact .detail-header h1 { font-size:clamp(2rem,4vw,3.25rem)!important; line-height:1.12; margin:6px 0 12px; }
.detail-compact .detail-lead,.detail-compact .detail-place,.detail-compact .detail-cost { margin:6px 0; font-size:1.125rem; }
.detail-compact .detail-primary-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.detail-compact .source-note { margin-block:8px; }
.source-caution { color:var(--warning-ink); font-size:1rem; margin:8px 0; }
.detail-compact .detail-grid { padding-top:20px; gap:24px; }
.detail-compact .detail-main>section { padding-block:0 24px; }
.detail-compact .detail-main h2,.detail-compact .plan-panel h2 { margin:0 0 12px; font-size:1.75rem; }
.detail-compact .detail-section-heading { justify-content:space-between; }
.detail-compact .detail-section-heading h2 { margin:0; }
.detail-compact .plan-panel { padding:20px; }
.detail-compact .bluedoor-invitation-gateway { margin-top:24px; max-width:650px; padding:20px; }
.share-landing { grid-template-columns:64px minmax(0,680px); justify-content:center; align-content:start; align-items:start; gap:24px; padding-block:32px 48px; min-height:0; }
.share-brand-mark { width:64px; height:64px; }
@media(max-width:760px) {
  .scope-compact { padding-top:22px; }
  .scope-compact .region-choice-grid,.scope-compact .market-choice-grid { grid-template-columns:1fr; }
  .scope-compact .region-choice { min-height:106px; padding:16px; }
  .scope-compact .region-choice strong { font-size:1.65rem; }
  .scope-compact .region-wide-choice .button { width:auto; min-width:0; }
  .scope-compact .region-place-list { flex-basis:100%; }
  .scope-compact .market-choice { padding:16px; }
  .browse-intro { padding-block:14px; }
  .page-explore .mobile-filter-panel { margin:0 0 10px; }
  .page-explore .planning-lanes { margin-bottom:12px; }
  .page-explore .results-actions { flex-direction:row; flex-wrap:wrap; justify-content:start; gap:8px; }
  .page-explore .results-actions .view-switch { flex:0 1 124px; }
  .page-explore .results-actions .view-switch button { min-width:54px; padding:8px; }
  .page-explore .sort-form { flex:1 1 190px; width:auto; gap:6px; }
  .page-explore .sort-form label { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
  .page-explore .sort-form select { flex:1 1 100px; min-width:0; width:100px; }
  .page-explore .sort-form button { padding-inline:10px; }
  .detail-compact .detail-toolbar { flex-direction:row; gap:0 12px; }
  .detail-compact .detail-share-actions { gap:12px; }
  .detail-compact .detail-section-heading { align-items:start; flex-direction:row; }
  .detail-compact .detail-showtimes ol { margin-top:12px; }
  .share-landing { grid-template-columns:1fr; gap:16px; padding-top:24px; }
  .share-brand-mark { width:48px; height:48px; }
}

/* Interest paths extend the playbill with a small, factual reading list. */
.curiosity { margin:3.5rem 0 2rem; border-top:2px solid var(--ink); padding-top:1.5rem; }
.curiosity-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }
.curiosity-heading h2 { font-family:var(--display); font-size:clamp(2rem,4vw,2.8rem); margin:.25rem 0 0; }
.curiosity-heading > p { max-width:26rem; color:var(--ink-soft); margin:0; }
.curiosity-shelves { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.curiosity-shelf { min-width:0; }
.curiosity-shelf h3 { margin:0; font-family:var(--display); font-size:1.65rem; }
.curiosity-shelf h3 a { display:inline-flex; align-items:center; gap:.7rem; min-height:44px; }
.curiosity-entry { padding:1.1rem 0; border-top:1px solid var(--line); }
.curiosity-entry h4 { font:600 1.4rem/1.2 var(--display); margin:.35rem 0 .5rem; overflow-wrap:anywhere; }
.curiosity-entry h4 a { display:inline-flex; align-items:center; min-height:44px; padding:.25rem 0; }
.curiosity-entry p { margin:.45rem 0; }
.curiosity-when,.curiosity-practical { font-size:1rem; color:var(--ink-soft); }
.experience-format { color:var(--ink-soft); font-size:1rem; margin:.35rem 0; }
.curiosity-jump { display:inline-flex; align-items:center; min-height:44px; gap:.4rem; }
.curiosity-index { margin:0 0 1.5rem; border-top:1px solid var(--line); padding-top:.6rem; }
.curiosity-index summary { font-weight:600; min-height:44px; padding:.65rem 0; cursor:pointer; }
.curiosity-subjects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.25rem 1.5rem; padding:.7rem 0; }
.curiosity-subjects a { display:flex; justify-content:space-between; align-items:center; gap:.7rem; min-height:44px; border-bottom:1px solid var(--line); text-decoration:none; padding:.5rem 0; }
.curiosity-subjects a span { color:var(--ink-soft); font-size:1rem; }
.curiosity a[aria-current] { font-weight:700; text-decoration:underline; text-underline-offset:.25em; }
.curiosity-interests { display:flex; gap:.2rem 1.2rem; flex-wrap:wrap; padding:.7rem 0; }
.curiosity-interests a { min-height:44px; display:inline-flex; align-items:center; }
.curiosity-note { color:var(--ink-soft); font-size:1rem; }
.curiosity-selection { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-left:3px solid var(--accent); padding:.6rem 1rem; margin:1rem 0; background:var(--surface-cool); }
.curiosity-selection p { margin:0; }
.curiosity-selection strong,.curiosity-selection .section-code { display:block; }
.curiosity-selection a { min-height:44px; display:inline-flex; align-items:center; }
@media (max-width:760px) {
  .curiosity-heading { display:block; }
  .curiosity-heading > p { margin-top:.7rem; }
  .curiosity-shelves { grid-template-columns:1fr; gap:1.5rem; }
  .curiosity-subjects { grid-template-columns:1fr; }
  .curiosity-selection { align-items:start; flex-direction:column; gap:.25rem; }
}
