/* Shared mobile reading scale. Loaded after component styles so the site does
   not shrink body copy, navigation labels or form fields to desktop captions. */
@media(max-width:800px),(pointer:coarse) and (max-width:1100px){
 /* Keep the mobile 3D garden clear of the introductory CTA and description. */
 html:not(.simple-mode) #enter-button,html:not(.simple-mode) #hero-description{display:none}
 html.simple-mode{--mobile-header-height:142px;--mobile-dock-clearance:calc(106px + env(safe-area-inset-bottom));scroll-padding-top:160px}
 .simple-mode body{font-size:17px;line-height:1.7}
 .simple-mode .direct-content{padding-top:var(--mobile-header-height)}
 .simple-mode .simple-home>section,.simple-mode .simple-directory-card{scroll-margin-top:160px}

 /* Give Cultura, Devoción and Tradición their own readable header row. */
 .simple-mode .site-header{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:70px 44px;gap:8px 12px;align-items:center;height:var(--mobile-header-height);padding:10px 14px}
 .simple-mode .site-header .brand{grid-column:1;grid-row:1;justify-self:start}
 .simple-mode .site-header .brand-logo{height:68px;width:auto}
 .simple-mode .site-header .desktop-nav{display:none}
 .simple-mode .site-header .header-actions{grid-column:2;grid-row:1;justify-self:end;margin:0;gap:8px}
 .simple-mode .site-header .header-actions .sound-toggle{display:none}
 .simple-mode .site-header .donate-btn{width:auto;min-width:0;min-height:46px;height:auto;padding:11px 10px;gap:6px;border-radius:6px;font-size:15px;line-height:1.4;white-space:nowrap}
 .simple-mode .site-header .donate-label{display:inline;font-size:15px}
 .simple-mode .site-header .donate-symbol{display:grid}
 .simple-mode .site-header .donate-symbol svg{width:18px;height:18px}
 .simple-mode .site-header .donate-arrow{display:none}
 .simple-mode .site-header .menu-btn{width:44px;height:46px;padding:11px;flex-shrink:0}
 .simple-mode .site-header .header-values{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;padding:0;margin:0;border:0}
 .simple-mode .site-header .header-values a{min-width:0;min-height:44px;padding:8px 2px;flex-direction:row;gap:6px;font-size:15px;line-height:1.4;font-weight:600;letter-spacing:0}
 .simple-mode .site-header .header-values a>span:first-child{width:22px;height:22px;flex-shrink:0}
 .simple-mode .site-header .header-values svg{width:22px;height:22px}

 /* Home: body copy is 18px; supporting text never drops below 15px. */
 .simple-mode .simple-home :is(p,label){font-size:18px;line-height:1.8}
 .simple-mode .simple-home :is(small,figcaption,time){font-size:15px;line-height:1.7;letter-spacing:0}
 .simple-mode .simple-home :is(a,button){font-size:17px;line-height:1.55}
 .simple-mode .simple-home .simple-kicker{font-size:15px;line-height:1.7;letter-spacing:.9px}
 .simple-mode .simple-hero .simple-kicker{font-size:15px;letter-spacing:.8px;flex-wrap:wrap}
 .simple-mode .simple-hero-actions{flex-wrap:wrap;gap:14px 18px}
 .simple-mode .simple-home .simple-button{min-height:52px;padding:15px 18px;white-space:normal}
 .simple-mode .simple-home .simple-story-link{min-height:48px;white-space:normal}
 .simple-mode .simple-home .simple-hero-note{font-size:16px;line-height:1.75}
 .simple-mode .simple-home .simple-hero-art figcaption{font-size:15px;padding:16px 12px;line-height:1.7}
 .simple-mode .simple-home .simple-3d-link{font-size:17px;min-height:48px;line-height:1.6}
 .simple-mode .simple-art-seal{display:none}
 .simple-mode .simple-quick-links>:is(a,button){grid-template-columns:44px minmax(0,1fr) 18px;gap:5px 13px;padding:20px 16px;min-height:100px}
 .simple-mode .simple-quick-links>:is(a,button)>span{width:44px;height:44px}
 .simple-mode .simple-quick-links strong{font-size:27px;line-height:1.15}
 .simple-mode .simple-quick-links small{font-size:15px;line-height:1.65}
 .simple-mode .simple-impact>span{font-size:17px;line-height:1.6}
 .simple-mode .simple-impact small{font-size:15px;line-height:1.7}
 .simple-mode .simple-calendar-toolbar button{width:44px;height:44px}
 .simple-mode .simple-calendar th{font-size:15px;line-height:1.6;padding-bottom:12px}
 .simple-mode .simple-calendar td button{font-size:17px;min-height:44px;max-width:46px}
 .simple-mode .simple-calendar-legend{font-size:15px;line-height:1.7;gap:12px}
 .simple-mode .simple-calendar-legend button{font-size:16px;min-height:44px}
 .simple-mode .simple-event-tabs{flex-wrap:wrap;gap:8px}
 .simple-mode .simple-event-tabs button{font-size:16px;min-height:48px;padding:12px 9px}
 .simple-mode .simple-event-list-heading{flex-wrap:wrap;gap:10px}
 .simple-mode .simple-event-list-heading button{font-size:16px;white-space:normal}
 .simple-mode .simple-events-empty small{font-size:16px;line-height:1.75}
 .simple-mode .simple-date-ticket{width:76px;flex-shrink:0}
 .simple-mode .simple-date-ticket small{font-size:15px;line-height:1.6}
 .simple-mode .simple-next-tradition>div>small{font-size:15px;line-height:1.7;letter-spacing:.5px}
 .simple-mode .simple-next-tradition p{font-size:16px;line-height:1.75}
 .simple-mode .simple-tradition-message small{font-size:15px;line-height:1.7}
 .simple-mode .simple-home .simple-letter-privacy{font-size:15px;line-height:1.7}
 .simple-mode .simple-memory-image>span{font-size:15px;line-height:1.4;padding:8px 11px}
 .simple-mode .simple-memory small{font-size:15px;letter-spacing:0}
 .simple-mode .simple-memory-link{font-size:17px;min-height:48px}
 .simple-mode .simple-home .simple-directory-top{font-size:15px}
 .simple-mode .simple-home .simple-directory-card p{font-size:17px;line-height:1.8}
 .simple-mode .simple-home .simple-directory-card li a{font-size:17px;min-height:52px;line-height:1.7}
 .simple-mode .simple-home .simple-give small{font-size:15px;line-height:1.75}
 .simple-mode .sponsor-opportunity small{font-size:15px;line-height:1.7;letter-spacing:.6px}
 .simple-mode .sponsor-opportunity p{font-size:17px;line-height:1.8}
 .simple-mode .sponsor-opportunity .sponsor-invite,.simple-mode .sponsor-slide>*>span:last-child{font-size:17px;line-height:1.7}
 .simple-mode .sponsors-controls{gap:14px;align-items:start;flex-wrap:wrap}
 .simple-mode .sponsors-controls>span{font-size:15px;line-height:1.7;flex:1;min-width:160px}
 .simple-mode .simple-new-footer{padding-bottom:var(--mobile-dock-clearance)}
 .simple-mode .simple-new-footer>div:first-child{align-items:start;flex-wrap:wrap;gap:18px}
 .simple-mode .simple-new-footer>div:nth-child(2){font-size:17px;line-height:1.8}
 .simple-mode .simple-new-footer>div:nth-child(2)>a{min-height:48px}
 .simple-mode .simple-footer-bottom,.simple-mode .simple-footer-bottom>span{font-size:15px;line-height:1.8}
 .simple-mode .simple-footer-bottom a{font-size:16px;min-height:48px}

 /* Bottom navigation: readable labels and a comfortable full-cell target. */
 .simple-mode .simple-mobile-dock{position:fixed;z-index:19;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 5px calc(8px + env(safe-area-inset-bottom));gap:2px;background:#fffaf1f5;backdrop-filter:blur(14px);border-top:1px solid #25483f29;box-shadow:0 -5px 25px #25483f0a}
 .simple-mode .simple-mobile-dock>:is(a,button){display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:70px;padding:8px 1px;gap:7px;font-size:15px;font-weight:600;line-height:1.35;text-align:center;background:transparent;color:var(--simple-ink)}
 .simple-mode .simple-mobile-dock span{font-size:15px;line-height:1.35;white-space:normal}
 .simple-mode .simple-mobile-dock svg{width:24px;height:24px}
 .simple-mode .simple-mobile-dock>.simple-dock-letter{margin-inline:1px;border-radius:10px;background:var(--simple-red);color:#fff8ed}
 .simple-mode .mini-player,.simple-mode .toast{bottom:var(--mobile-dock-clearance)}

 /* The main slide-out menu is shared by the simple and 3D views. */
 .house-map{width:min(460px,100%);padding:30px 22px calc(32px + env(safe-area-inset-bottom));font-size:17px;line-height:1.65;overscroll-behavior:contain}
 .house-map .map-header{padding-right:44px}
 .house-map .map-header .eyebrow{font-size:15px;letter-spacing:1px;line-height:1.8;color:#56674e}
 .house-map .map-header h2{font-size:42px;line-height:1.1;margin-top:15px}
 .house-map #close-map{position:fixed;top:18px;right:16px;width:44px;height:44px;margin:0;padding:10px;border-radius:50%;background:#f5f0df;box-shadow:0 1px 8px #203f3818;z-index:1}
 .house-map #close-map svg{width:24px;height:24px}
 .house-map .map-intro{font-size:17px;line-height:1.8;color:#52674e;margin:20px 0 26px}
 .house-map .room-link{gap:12px;padding:20px 0;line-height:1.6}
 .house-map .room-link .room-number{font-size:28px;width:35px}
 .house-map .room-link>span:nth-child(2){min-width:0;flex:1}
 .house-map .room-link .room-name{font-size:22px;line-height:1.45;font-weight:500}
 .house-map .room-link small{font-size:18px;line-height:1.7;color:#5c7055;margin-top:7px}
 .house-map .room-children{padding:5px 0 16px 25px}
 .house-map .room-children a{display:grid;grid-template-columns:35px minmax(0,1fr);gap:9px;min-height:52px;padding:13px 4px;font-size:19px;line-height:1.6}
 .house-map .room-children a>span:first-child{font-size:15px}
 .house-map .map-home{font-size:17px;line-height:1.6;min-height:54px;padding:16px 0}
 .house-map .map-home svg{width:22px;height:22px;flex-shrink:0}
 .house-map .map-foot{font-size:23px;line-height:1.5;gap:15px}

 /* Floating pages and forms use the same reading scale as the homepage. */
 #content-dialog #dialog-body{font-size:17px;line-height:1.8}
 #content-dialog #dialog-body p{font-size:17px;line-height:1.85}
 #content-dialog #dialog-body .lead{font-size:23px;line-height:1.5}
 #content-dialog #dialog-body :is(small,figcaption,dt){font-size:15px;line-height:1.7;letter-spacing:0}
 #content-dialog #dialog-body :is(a,button){font-size:17px;line-height:1.55}
 #content-dialog #dialog-body :is(label,legend){font-size:16px;line-height:1.7}
 #content-dialog #dialog-body :is(input,select,textarea){font-size:17px;line-height:1.7;min-height:48px}
 #content-dialog #dialog-body :is(input,textarea)::placeholder{font-size:17px}
 #content-dialog #dialog-body .eyebrow{font-size:15px;line-height:1.8;letter-spacing:1px}
 #content-dialog #dialog-body .mission-item p{font-size:17px!important;line-height:1.8!important}
 #content-dialog #dialog-body .album-card p{font-size:17px!important;line-height:1.8!important}
 #content-dialog #dialog-body .credits{font-size:15px!important;line-height:1.8}
 #content-dialog #dialog-body .mission-item strong{font-size:18px;line-height:1.6}
 #content-dialog #dialog-body :is(.audio-demo strong,.gift-copy,.transparency-row){font-size:17px;line-height:1.8}
 #content-dialog #dialog-body .transparency-row{gap:16px;flex-wrap:wrap}
 #content-dialog #dialog-body .transparency-row span:last-child{font-size:15px;line-height:1.7}
 #content-dialog #dialog-body :is(.dialog-note,.content-address,.content-contact-links){font-size:17px;line-height:1.85}
 #content-dialog #dialog-body :is(.dialog-action,.dialog-secondary){font-size:17px;line-height:1.65;min-height:48px;white-space:normal;gap:14px}
 #content-dialog .dialog-close{width:44px;height:44px;padding:11px;right:12px;top:10px;background:#f6f1dfed}
 #content-dialog #dialog-body .profile{align-items:start;gap:14px}
 #content-dialog #dialog-body .profile>div:last-child{min-width:0;flex:1}
 #content-dialog #dialog-body .profile-monogram{flex-shrink:0}
 #content-dialog #dialog-body .profile small{font-size:16px;line-height:1.7;color:#607455}
 #content-dialog #dialog-body .pills>span{font-size:15px;line-height:1.6}
 #content-dialog #dialog-body .people-breadcrumb{font-size:15px;line-height:1.7;gap:8px}
 #content-dialog #dialog-body .people-breadcrumb :is(a,button){font-size:15px;line-height:1.7;min-height:44px}
 #content-dialog #dialog-body .people-card>span:last-child>span{font-size:17px;line-height:1.6}
 #content-dialog #dialog-body .king-profile-instrument{font-size:17px;line-height:1.7;align-items:start}
 #content-dialog #dialog-body :is(.people-siblings,.foundation-siblings)>:is(a,span){font-size:16px;min-height:48px;line-height:1.7}
 #content-dialog #dialog-body .foundation-values>a>span:nth-child(2)>span{font-size:17px;line-height:1.75}
 #content-dialog #dialog-body .content-table{font-size:16px;line-height:1.7;overflow-wrap:anywhere}
 #content-dialog #dialog-body .content-table :is(caption,th){font-size:15px;line-height:1.7}
 #content-dialog #dialog-body .content-facts dt{font-size:16px;line-height:1.7}
 #content-dialog #dialog-body .contact-consent{font-size:17px;line-height:1.8}
 #content-dialog #dialog-body .contact-consent input{min-height:0;width:22px;height:22px;flex-shrink:0;margin-top:3px}
 #content-dialog #dialog-body :is(.contact-form-count,.letters-count){font-size:15px;line-height:1.7}
 #content-dialog #dialog-body .letters-greeting{font-size:27px;line-height:1.4}
 #content-dialog #dialog-body #cartita-peticion{font-size:17px;line-height:29px;background:repeating-linear-gradient(transparent,transparent 28px,#a9926621 28px,#a9926621 29px) #fffdf5}
 #content-dialog #dialog-body .letters-sheet>.eyebrow{font-size:15px;letter-spacing:.7px}

 /* Galleries, member profiles and album details retain readable metadata. */
 #content-dialog #dialog-body .gallery-filters{grid-template-columns:minmax(0,1fr);grid-template-areas:"year" "category" "type" "search";gap:16px}
 #content-dialog #dialog-body .gallery-results-bar{align-items:start;flex-wrap:wrap}
 #content-dialog #dialog-body :is(.gallery-type-badge,.gallery-card-meta,.gallery-card-place,.gallery-card-action,.gallery-source){font-size:15px;line-height:1.7}
 #content-dialog #dialog-body .gallery-viewer-nav{flex-wrap:wrap;gap:12px}
 #content-dialog #dialog-body .gallery-viewer-nav>span{font-size:15px;flex-basis:100%;text-align:center;order:-1}
 #content-dialog #dialog-body .gallery-viewer-nav button{flex:1;min-width:0;min-height:48px;font-size:17px}
 #content-dialog #dialog-body :is(.team-tile-role,.team-member-role-label,.team-coming-soon){font-size:15px;line-height:1.7;letter-spacing:0}
 #content-dialog #dialog-body .team-member-role{font-size:17px;line-height:1.7}
 #content-dialog #dialog-body .team-profile-link{font-size:17px;min-height:52px}
 #content-dialog #dialog-body .team-siblings>:is(a,span){font-size:16px;min-height:48px}
 #content-dialog #dialog-body .team-gallery-reserved{grid-template-columns:repeat(2,minmax(0,1fr))}
 #content-dialog #dialog-body .team-gallery-reserved>div{min-height:126px;aspect-ratio:auto;padding:15px 8px}
 #content-dialog #dialog-body .team-gallery-reserved span{font-size:15px;line-height:1.6;text-align:center}
 #content-dialog #dialog-body .team-section-links>a>span:nth-child(2)>span{font-size:16px;line-height:1.7}
 #content-dialog #dialog-body :is(.production-edition,.production-demo-badge){font-size:15px;line-height:1.7;letter-spacing:.4px;white-space:normal}
 #content-dialog #dialog-body .production-now>div>span{font-size:17px;line-height:1.7}
 #content-dialog #dialog-body .production-track-copy strong{font-size:18px;line-height:1.5}
 #content-dialog #dialog-body .production-track-copy small{font-size:15px;line-height:1.7}
 #content-dialog #dialog-body .production-track-number{font-size:15px;min-width:23px}
 #content-dialog #dialog-body .production-track-duration{font-size:15px}
 #content-dialog #dialog-body .production-progress{grid-template-columns:40px minmax(0,1fr) 40px;font-size:15px;gap:8px}
 #content-dialog #dialog-body .production-progress input{min-height:44px}
 #content-dialog #dialog-body .production-credits dd{font-size:17px;line-height:1.8}
 #content-dialog #dialog-body .production-back-art summary{font-size:17px;line-height:1.7;min-height:48px}
 #content-dialog #dialog-body .music-production-preview>div>span:last-child{font-size:17px;line-height:1.7}
 #content-dialog #dialog-body :is(.production-rights p,.production-rights a,.production-purchase-note){font-size:15px;line-height:1.85}

 .mini-player{width:calc(100% - 28px);max-width:420px;gap:10px;padding:12px}
 .mini-player strong{font-size:16px;line-height:1.4}
 .mini-player small{font-size:15px;line-height:1.6}
 .mini-player>span{max-width:none;min-width:0;flex:1}
 .mini-player button{width:40px;height:44px;padding:9px}
 .mini-player svg{width:22px;height:22px}
 .mini-player .equalizer{display:none}
 .toast{font-size:17px;line-height:1.7}
}
@media(max-width:480px){
 .simple-mode .simple-quick-links{grid-template-columns:1fr;padding-block:0}
 .simple-mode .simple-quick-links>:is(a,button){border-right:0;border-bottom:1px solid var(--simple-line);padding:19px 16px}
 .simple-mode .simple-quick-links>:last-child{border-bottom:0}
 #content-dialog #dialog-body .letters-fields{grid-template-columns:1fr;gap:18px}
}
