/* Fair release: shared spacing and overflow guards across every room. */
:root{--room-gap:clamp(16px,2.5vw,28px)}
html{scroll-padding-top:24px}body{overflow-x:hidden}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}input,select,textarea{font:inherit;max-inline-size:100%}button,summary{touch-action:manipulation}button{overflow-wrap:break-word}img,video,iframe{max-inline-size:100%}figure{min-inline-size:0}dialog{max-inline-size:calc(100vw - 24px);max-block-size:calc(100vh - 24px);max-block-size:calc(100dvh - 24px);overscroll-behavior:contain;scrollbar-gutter:stable}dialog :where(h2,h3,h4,p,li,figcaption){overflow-wrap:break-word;word-break:normal}dialog :where(h2,h3,h4){text-wrap:balance}dialog :where(p,li){line-height:1.8}dialog :where(.subtitle,.family-album-intro,.scene-caption){max-inline-size:72ch}
body>header{height:auto;min-height:94px;gap:14px;padding-block:16px;flex-wrap:wrap}body>header #home{flex:1 1 auto}body>header .edition{flex:0 1 auto}.map>svg{display:block;width:100%;height:auto}.map button svg{height:auto;display:block}.map .place strong{font-size:clamp(12px,1.35vw,15px);line-height:1.4;overflow-wrap:break-word;hyphens:none}.map .place{isolation:isolate}.map .place:hover,.map .place:focus-visible{z-index:8}.map #gate{line-height:1.4}.map-wrap{padding-bottom:12px}
#modal{padding:54px clamp(20px,4vw,44px) 32px}#modal>.close{top:12px;right:14px}#modal>.room-language-trigger{top:14px;right:62px}.lab-gallery-top,.family-album-top,.museum-exhibit-top,.mission-reading-bar{align-items:flex-start;gap:16px}.lab-gallery-top>div,.family-album-top>div,.museum-exhibit-top>div{min-width:0;flex:1}.lab-gallery-top h2,.museum-exhibit-top h2{max-width:none;margin-right:0}.lab-gallery-close,.family-album-close,.museum-exhibit-close,.mission-reading-close{flex:0 0 40px;min-width:40px;min-height:40px;position:relative;z-index:3}
:where(.lab-gallery-layout,.collaboration-layout,.family-memory-spread,.force-projects,.highlight-grid,.crazy-center-grid,.crazy-values-grid,.team-grid,.family-people-grid,.force-people-grid,.church-highlight-grid,.credo-values,.recipe-grid)>*{min-width:0}.lab-gallery-thumbs{flex-wrap:wrap;gap:10px}.lab-gallery-thumbs button{flex:0 0 64px;min-width:0}.stand-product-gallery .lab-gallery-thumbs button{width:100%;max-width:none}.lab-gallery-photo,.collaboration-photo,.family-memory-main{max-width:100%;margin-left:0;margin-right:0}.lab-gallery-photo>img{width:100%;object-fit:contain}.force-projects article,.workshop-polaroid,.team-grid figure,.family-people-grid figure{max-width:100%}.force-dictionary-note{max-width:100%}.force-trading-card{overflow:hidden}.force-people-grid{align-items:start}.force-card-photo img{width:100%;display:block}.golden-g{max-width:28px}.workshop-gallery,.force-projects,.crazy-directory{scroll-margin-top:25px}.crazy-center-grid a{min-width:0}.crazy-center-logo{object-fit:contain;max-width:100%}.collaboration-partners{flex-wrap:wrap}.collaboration-thumbs,.family-memory-thumbs{min-width:0}.collaboration-heading,.family-story-intro{max-width:100%}.collaboration-photo,.family-memory-main{transform:rotate(-.6deg)}.family-memory-nav{gap:8px;flex-wrap:wrap}.family-memory-nav [data-family-memory-shuffle]{min-width:100px}.family-scrapbook{overflow:hidden}.church-presentation-hero{height:auto!important;min-height:0}.church-presentation-hero:after{display:none}.church-highlight-grid,.credo-values{align-items:start}.church-highlight-fold>summary,.credo-value-fold>summary{padding-right:50px}.mission-book-tabs>button{min-height:44px;white-space:normal}.museum-history-row{gap:22px}.museum-plaque strong{font-size:clamp(17px,2.3vw,23px);line-height:1.45}.museum-case{min-width:0}.museum-archive-photo{object-fit:contain}.museum-exhibit-story{min-width:0;font-size:16px}.force-pad-cta{padding-top:30px}.force-cta-hopper{pointer-events:none}.stand-speech{max-width:52%;width:max-content;min-width:28%;font-size:clamp(12px,1.7vw,21px);line-height:1.5}.stand-speech:after{pointer-events:none}.hidden-brazzsticker{z-index:3}.scene-hotspot{z-index:2}.scene-hotspot:focus-visible{z-index:5}.events-poster-head{min-width:0;padding-right:0}.events-poster-head h3{margin-top:14px;line-height:1.3}.events-map-layout>*{min-width:0}.events-map-frame{overflow:hidden}.events-list-item{white-space:normal;overflow-wrap:break-word}.events-flight summary{min-width:0}.mangustaio-work-in-progress{gap:24px}.mangustaio-contacts nav{gap:14px;flex-wrap:wrap}.mangustaio-contacts a{min-width:0;overflow-wrap:anywhere}footer{flex-wrap:wrap;gap:20px;padding-block:20px}
@media(max-width:900px){.lab-gallery-layout,.collaboration-layout,.family-memory-spread{grid-template-columns:1fr;gap:28px}.lab-gallery-photo>img{height:auto;max-height:50vh;max-height:50dvh}.lab-gallery-copy{min-width:0}.force-projects,.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.force-projects{gap:22px}.force-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.force-trading-card{transform:none}.team-grid{gap:18px}.family-people-grid{gap:19px}.collaboration-photo,.family-memory-main{max-width:510px;justify-self:center}.collaboration-partners{margin-top:8px}.family-story-columns{gap:20px}}
@media(max-width:700px){body>header{min-height:76px;padding-block:12px;gap:8px;flex-wrap:nowrap}body>header #home{font-size:24px;gap:6px;min-width:0}body>header #home img{width:26px;flex-shrink:0}body>header .edition{display:none}body>header #audio-toggle,body>header #shutdown{min-height:44px;min-width:32px;flex:0 0 32px;padding:4px;font-size:0}body>header .language-menu-trigger{min-height:44px;padding:5px 6px;flex-shrink:0}.lab-gallery,.family-album-dialog,.mission-reading,.museum-exhibit-dialog{padding:22px 18px}.lab-gallery-top h2,.museum-exhibit-top h2{font-size:clamp(24px,5.8vw,32px)}.force-projects,.highlight-grid,.crazy-center-grid,.crazy-values-grid{grid-template-columns:1fr}.force-people-grid,.family-people-grid{gap:15px}.force-dictionary{padding:27px 23px;transform:none}.force-projects img{height:auto;object-fit:contain}.workshop-gallery{overflow:hidden}.scene-hotspot{max-width:100%;white-space:normal;overflow-wrap:break-word}.interior-family .scene-hotspot{position:static;transform:none!important;margin:8px 4px;min-height:45px;padding:8px 4px;font-size:10px;overflow-wrap:anywhere}.interior-family .family-atleti-hotspot{min-width:0}.family-scene-hint{display:none}.family-scrapbook{padding:18px 12px}.family-memory-viewer{padding:22px 13px}.family-memory-thumbs{gap:8px}.church-presentation-takeaway{box-shadow:3px 4px 0 var(--blue)}.church-highlight-grid{gap:18px}.museum-hall{padding:22px 14px}.museum-cabinet{padding-inline:12px}.museum-history-row{gap:16px}.museum-case{padding:8px 6px}.museum-plaque strong{font-size:17px}.museum-plaque small{font-size:9px}.mangustaio-paste-guide{padding:18px}.slots{gap:12px}.slot small{font-size:11px}.sticker-next-step{padding:18px}.stand-speech{max-width:52%;font-size:12px}.road-visual-guide article{overflow:hidden}.road-briefing h2{max-width:100%}}
@media(max-width:420px){.force-people-grid,.family-people-grid,.founders-album .team-grid{grid-template-columns:1fr}.force-trading-card{max-width:320px;justify-self:center;width:100%}.family-people-grid figure{transform:none!important}.museum-history-row{grid-template-columns:1fr}.museum-case{max-width:270px;justify-self:center;width:100%}.museum-classics-row{grid-template-columns:1fr}.family-memory-thumbs,.collaboration-thumbs{gap:7px}#bag{gap:9px}.identity-toggle{max-width:100%}body>header #home{font-size:21px}body>header #home span{font-size:8px}.slots{grid-template-columns:1fr}.slot{min-height:120px}.family-memory-nav>[data-family-memory-shuffle]{font-size:10px}}
/* Flag cloth extends beyond its narrow pole: never constrain it to the pole width. */
.language-flagpole>.language-flag{max-inline-size:none;width:58px;height:39px;pointer-events:none}

/* Keep room navigation in the existing top control strip. */
.back-to-square{position:absolute;top:14px;left:20px;z-index:6;min-height:30px;padding:5px 10px;border:1.5px solid var(--ink);border-radius:4px 9px 4px 7px;background:var(--paper);color:var(--ink);font:700 12px/1.4 Arial,sans-serif;max-width:calc(100% - 140px);text-align:left}
dialog.has-square-return:not(#modal){padding-top:64px}
#modal:has(.road-playing)>.back-to-square{top:5px;left:10px;min-height:25px;padding:3px 8px;font-size:11px;max-width:calc(100% - 100px)}
#road-launch,#inflatable-cameo{transition:transform .22s ease}
#road-launch:hover,#inflatable-cameo:hover{outline:none;background:transparent;transform:translateY(-4px) rotate(-1deg)}
#road-launch:focus-visible,#inflatable-cameo:focus-visible{outline:2px solid var(--blue);outline-offset:4px;background:transparent;transform:translateY(-4px)}
@media(prefers-reduced-motion:reduce){#road-launch,#inflatable-cameo{transition:none}#road-launch:hover,#inflatable-cameo:hover,#road-launch:focus-visible,#inflatable-cameo:focus-visible{transform:none}}
/* Landscape exhibition layout: measured height, original map proportions. */
#fullscreen-toggle{min-width:44px;min-height:44px;font:28px/1 Arial,sans-serif;padding:4px;flex-shrink:0;touch-action:manipulation}
.landscape-layout body>header{min-height:60px;padding-block:7px;flex-wrap:nowrap;gap:12px}.landscape-layout body>header #home{font-size:30px}.landscape-layout body>header #home img{width:30px}.landscape-layout .intro{margin:8px 20px 2px}.landscape-layout .intro h1{font-size:clamp(30px,3vw,46px);margin:3px 0 4px}.landscape-layout .intro p{margin:4px 0;font-size:12px}.landscape-layout .map-wrap{width:var(--landscape-map-width, min(92vw,1100px));max-width:none;margin:0 auto;padding:0;overflow:visible}.landscape-layout .map{width:100%;margin-left:0;aspect-ratio:12/7}.landscape-layout body>footer{margin:0 4%;padding-block:8px;min-height:60px;gap:14px;flex-wrap:nowrap}.landscape-layout body>footer .identity-switch{gap:12px}.landscape-layout .map .place{padding:6px 8px}.landscape-layout .map .place strong{font-size:clamp(11px,1.1vw,16px)}.landscape-layout #gate{font-size:clamp(12px,1.2vw,18px)}.landscape-layout #gate small{font-size:9px}
@media(pointer:coarse){button:not(.place):not(.scene-hotspot):not(.lab-machine-zone):not(.hidden-brazzsticker):not(.back-to-square){touch-action:manipulation}.back-to-square{min-height:36px}#modal:has(.road-playing)>.back-to-square{min-height:25px}}
@media(min-width:1200px) and (orientation:landscape){#modal:not(:has(.road-playing)){width:min(1120px,92vw)}dialog.lab-gallery,dialog.family-album-dialog,dialog.museum-exhibit-dialog,dialog.mission-reading{max-height:94vh;max-height:94dvh}}
@media(max-width:1100px) and (orientation:landscape){.landscape-layout .edition{display:none}.landscape-layout .identity-switch small{display:none}}
