/* Shared phone reading system. Loaded last so each page uses the same scale. */
@media (max-width: 640px) {
  html { scroll-padding-top:88px; -webkit-text-size-adjust:100%; }
  body {font-size:16px;line-height:1.6}
  h1,h2,h3,h4,p,li {overflow-wrap:break-word}
  .section,.experience-atlas,.experience-catalogue,.directory,.agenda-programming,.rx-tickets,.rx-season-media,.rx-note,.rx-nov-dinner {padding:56px 20px!important}
  .section-head,.catalogue-head,.directory-head,.agenda-programming-head,.rx-ticket-head,.rx-season-head {gap:20px!important;margin-bottom:32px!important}
  .section-head h2,.statement h2,.cta h2,.directory-head h2,.catalogue-head h2,.agenda-programming-head h2,.atlas-intro h2,.rx-intro h2,.rx-ticket-head h2,.rx-note h2,.rx-journey-head h2,.rx-season-head h2,.rx-live h2 {font-size:clamp(28px,8.2vw,38px)!important;line-height:1.12!important;letter-spacing:-.045em!important;max-width:100%!important}
  .section-head p,.catalogue-head p,.directory-head p,.atlas-intro p,.rx-intro-copy,.rx-ticket-head p,.rx-note p,.rx-live-copy>p {font-size:16px!important;line-height:1.65!important;max-width:100%!important}
  .index,.atlas-index,.rx-index,.kicker,.hero-kicker {font-size:11px!important;line-height:1.5!important;letter-spacing:.08em!important}
  .section-head,.catalogue-head,.directory-head,.rx-ticket-head {grid-template-columns:minmax(0,1fr)!important}
  .section-head>*,.hero-foot>*,.signature-title>*,.rx-season-grid>*,.agenda-filters>* {min-width:0}
  .statement {padding:56px 20px!important;gap:24px}
  .cta {padding:32px 24px!important;margin:0 20px 56px!important}
  .arrow-link,.hero-bottom a {font-size:12px!important;line-height:1.5!important;letter-spacing:.06em;min-height:44px;max-width:100%;white-space:normal;display:inline-flex;align-items:center}
  .arrow-link:after {content:none!important}
  .mega.video {min-height:100svh!important;padding:100px 20px 96px!important;gap:28px}
  .mega.video .display {font-size:clamp(40px,12vw,66px)!important;line-height:1.04!important;letter-spacing:-.06em;white-space:normal}
  .mega.video .display .accent {font-size:.57em;letter-spacing:-.055em}
  .mega.video .hero-foot {gap:16px}
  .mega.video .hero-foot p {font-size:19px!important;line-height:1.4!important}
  .mega.video .mini-greeting {font-size:12px;line-height:1.6;min-height:20px;overflow:visible}
  .mega.video .hero-entry .arrow-link {justify-self:start}
  .topbar.over {background:rgba(11,23,19,.85)!important;backdrop-filter:blur(12px)}
  /* A dedicated text area above the photography replaces compressed desktop splits. */
  .signature-hero,.agenda-hero,.hero {min-height:0!important;padding:28px 20px 32px!important;gap:24px}
  .experience-hero,.rx-hero,.agenda-hero,.hero {padding-bottom:232px!important}
  .signature-title,.hero-title,.agenda-lockup {width:100%!important;max-width:100%!important;gap:14px!important;margin:24px 0!important}
  .signature-title h1,.signature-title h1.stacked-title {font-size:clamp(32px,9vw,49px)!important;line-height:1.05!important;letter-spacing:-.055em!important;white-space:normal!important}
  .stacked-title>.stagger {margin-left:0!important}
  .signature-badge {font-size:14px!important;padding:10px 7px!important;line-height:1.1!important}
  .signature-hero .hero-foot,.experience-hero .kicker,.experience-hero .signature-title,.experience-hero .hero-foot {width:100%!important}
  .hero-foot,.hero-bottom {flex-direction:column;align-items:flex-start!important;gap:20px!important}
  .hero-foot p,.hero-bottom p {font-size:19px!important;line-height:1.4!important;max-width:100%!important;width:100%}
  .mega>.experience-hero-visual,.rx-hero .rx-hero-visual,.agenda-mosaic,.agenda-collage-shade {inset:auto 0 0!important;width:100%!important;height:200px!important;transform:none!important;animation:none!important;clip-path:none!important}
  .rx-hero-shade {display:none}
  .hero-collage,.hero-shade {inset:auto 0 0!important;width:100%!important;height:200px!important;clip-path:none!important;animation:none!important}
  .hero-title>span {position:relative!important;left:auto!important;font-size:16px!important;padding:10px 7px!important}
  .hero-title h1,.hero h1 {margin:0!important;width:auto!important;max-width:100%!important;font-size:clamp(29px,8.3vw,45px)!important;line-height:1.1!important;letter-spacing:-.055em!important}
  .hero-title i {font-size:16px!important;margin-left:0!important}
  .agenda-vertical {width:38px!important;min-width:38px;height:112px!important;font-size:19px!important;box-shadow:-5px -5px 0 var(--agenda-orange)}
  .agenda-lockup h1 {width:auto!important;font-size:clamp(36px,10vw,54px)!important;line-height:1.02!important}
  .rx-hero .signature-title {width:100%!important;max-width:100%!important}
  .rx-title-stack {width:auto;flex:1}
  .rx-hero .signature-title h1 {font-size:clamp(33px,9vw,49px)!important;line-height:1.1!important}
  .rx-title-tagline {font-size:14px!important;line-height:1.5!important;max-width:24ch!important}
  .rx-hero .hero-foot {margin:0!important}
  .rx-hero {padding-bottom:280px!important}
  .rx-hero .rx-hero-visual {bottom:48px!important}
  .rx-event-bar {min-height:48px}
  .manifesto {padding:48px 20px!important;gap:24px}
  .manifesto>p {font-size:28px!important;line-height:1.25!important}
  .home-worlds .tile,.home-worlds .tile:nth-child(n) {flex-basis:80vw!important;width:80vw!important;min-width:80vw!important;min-height:400px!important;padding:24px}
  .home-worlds .tile h3,.home-worlds .tile:nth-child(n) h3,.atlas-copy h3 {font-size:30px!important;line-height:1.12!important}
  .list-row {grid-template-columns:28px minmax(0,1fr);gap:12px;padding:24px 0}
  .list-row b {font-size:25px;line-height:1.2}
  .list-row .pill {max-width:100%;white-space:normal;font-size:10px}
  .catalogue-toolbar,.filters {position:relative!important;top:auto!important}
  .catalogue-filter,.chip,.agenda-filter,.agenda-type,.agenda-reset {min-height:44px;font-size:12px!important;line-height:1.4!important}
  .catalogue-city select,.filters select,.agenda-date-field input,input,select,textarea {font-size:16px!important;min-height:44px}
  .activity-title,.address h3 {font-size:27px!important;line-height:1.15!important}
  .activity-location,.activity-category,.address-meta,.address-tag {font-size:11px!important;line-height:1.5!important}
  .activity-meta span,.activity-meta b {font-size:12px;line-height:1.5}
  .activity-foot {flex-wrap:wrap;gap:12px}
  .activity-cta,.address-links a {font-size:12px!important;min-height:44px;line-height:1.4;display:inline-flex;align-items:center}
  .address-note {font-size:16px!important;line-height:1.65!important;-webkit-line-clamp:unset!important}
  .address-love {-webkit-line-clamp:unset!important}
  .agenda-month-title {align-items:flex-start;flex-wrap:wrap}
  .agenda-month-title h3 {font-size:30px!important;line-height:1.15!important}
  .agenda-month-title span {font-size:11px}
  .agenda-card-body {grid-template-columns:minmax(0,1fr) 44px;gap:14px}
  .agenda-card-date {grid-column:1/-1;align-items:center}
  .agenda-card h4 {font-size:26px;line-height:1.15}
  .agenda-card p {font-size:15px;line-height:1.6}
  .agenda-card-link {width:44px;height:44px}
  .agenda-card-date span,.agenda-card-type {font-size:11px;line-height:1.5}
  .rx-journey {padding:56px 20px!important}
  .rx-journey-head {margin-bottom:28px!important}
  .rx-journey-track strong {font-size:13px!important}
  .rx-journey-track span {font-size:16px!important}
  .rx-act-face h3 {font-size:30px!important;line-height:1.12!important}
  .rx-act-face p {font-size:16px;line-height:1.55}
  .rx-formulas {grid-template-columns:minmax(0,1fr)!important}
  .rx-formula {min-height:0;padding:28px 20px;gap:12px}
  .rx-formula h3 {font-size:26px!important;line-height:1.15!important;margin:16px 0 0}
  .rx-formula ul {font-size:16px;line-height:1.5;opacity:.9;margin-bottom:20px}
  .rx-formula-tag,.rx-pay-note {font-size:12px;line-height:1.6}
  .rx-add,.rx-pay {justify-content:center;font-size:12px;line-height:1.5;min-height:48px;white-space:normal}
  .rx-cart {padding:24px 20px calc(24px + env(safe-area-inset-bottom))!important}
  .rx-cart-fab {max-width:calc(100vw - 84px);gap:12px;font-size:11px;line-height:1.4}
  .rx-checkout {max-height:90svh;padding:20px!important}
  .rx-checkout-head {gap:12px}.rx-checkout h2 {font-size:26px}
  .rx-phone {grid-template-columns:minmax(0,1fr)}
  .rx-fields {grid-template-columns:minmax(0,1fr)}
  .rx-review-line {flex-wrap:wrap;gap:8px}
  .rx-checkout-close,.rx-cart-head button {min-width:44px;min-height:44px}
  .footer {padding:48px 20px 96px!important;gap:24px}
  .footer-links,.footer>div:last-child {flex-wrap:wrap}
  .footer a {display:inline-flex;align-items:center;min-height:44px;font-size:14px}
}
@media(max-width:640px){
  .rx-hero .signature-title h1 {font-size:clamp(26px,7.5vw,41px)!important}
  .agenda-lockup h1 {font-size:clamp(30px,9vw,48px)!important}
  .rx-hero .signature-badge {flex:0 0 32px!important;width:32px!important}
}
