@media(max-width:700px){
 .c152 .stage .brand{top:calc(var(--leap-vh,100svh)*.23)}
 .c152 .arrival-copy{display:none!important}
 .c152 .stage>.arrival-caption{display:block}
 .c152 .cap,html[lang|=en] .c152 .cap{left:22px;right:22px;width:auto;height:auto;max-height:none;overflow:visible;padding-bottom:12px}
 .c152 .cap h2{margin-bottom:12px}
 .c152 .cap .scene-description,.c152 .cap .equipment-note{white-space:normal;overflow:visible;max-height:none;text-wrap:pretty;overflow-wrap:break-word}
 .c152 .room-view{overflow:visible;height:auto;max-height:none;padding-bottom:36px!important}
 .c152 .room-view figure{overflow:hidden}
 .c152 .room-view h3,.c152 .room-view .room-description{overflow:visible;max-height:none;white-space:normal;text-indent:0;list-style:none;transform:none;clip-path:none}
 .c152 .room-view .room-description::before,.c152 .room-view .room-description::after{content:none}
 /* Avoid clipped/subpixel glyph remnants while room captions crossfade on iOS. */
 .c152 .room-view.copy-in h3,.c152 .room-view.copy-in .room-description{animation:mobile-room-copy30 .45s ease both}
 .c152 .room-view.copy-in .room-description{animation-delay:.06s}
 .c152 .membership-modal .comparison-hint,.c152 .membership-modal .selection{display:none}
 /* Touch focus remains programmatic, but does not draw persistent keyboard outlines. */
 html:not(.keyboard-nav) .c152 :is(button,a,[role=button],.comparison):focus,html:not(.keyboard-nav) .c152 :is(button,a,[role=button],.comparison):focus-visible{outline:none!important}
 .c152 :is(button,a,[role=button]){-webkit-tap-highlight-color:transparent}
}
@keyframes mobile-room-copy30{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.c152 .room-view.copy-in h3,.c152 .room-view.copy-in .room-description{animation:none}}
@media(max-width:700px){
 .c152 .map-intro h2,.c152 .members .section-title,.c152 .usage-stage header h2,.c152 .points-long .head h2,.c152 .recovery-copy h2{font-weight:600;font-size:28px;line-height:1.4;letter-spacing:.065em;color:#293c31}
 html[lang|=en] .c152 .map-intro h2,html[lang|=en] .c152 .members .section-title,html[lang|=en] .c152 .usage-stage header h2,html[lang|=en] .c152 .points-long .head h2,html[lang|=en] .c152 .recovery-copy h2{font-weight:600;font-size:32px;line-height:1.2;letter-spacing:0}
 .c152 .map-intro,.c152 .usage-stage header{margin-bottom:24px}
 .c152 .members .section-title{margin-bottom:28px}
}

/* Mobile section rhythm: reduce stacked whitespace without changing desktop. */
@media(max-width:700px){
 .c152 .room-view{min-height:360px;padding-bottom:20px!important}
 .c152 .space-map{padding-top:68px;padding-bottom:8px}
 .c152 .recovery{padding-top:60px;padding-bottom:44px}
 .c152 .members{padding-top:64px;padding-bottom:40px}
 .c152 .editorial{padding-top:72px;padding-bottom:34px}
}

@media(max-width:700px){
 .c152 .cap h2,.c152 .cap .scene-description,.c152 .room-view h3,.c152 .room-description,.c152 .recovery-copy p,.c152 .points-long h2,.c152 .plan h3,.c152 .closing h2{ text-wrap:balance }
 .c152 .arrival-caption .arrival-phrase{display:inline-block;white-space:nowrap}
 .c152 .cap .equipment-note{text-wrap:balance;word-break:normal;overflow-wrap:normal}
}

/* Equipment names read as a quiet spec line, not a second sentence of body copy. */
@media(max-width:700px){
 .c152 .cap .equipment-note,html[lang|=en] .c152 .cap .equipment-note{font-family:'LEAP Inter',Arial,sans-serif;font-size:15px!important;line-height:1.55!important;font-weight:500;letter-spacing:.05em;color:#735f45;font-kerning:normal;font-synthesis:none}
 html[lang|=en] .c152 .cap .scene-description{letter-spacing:0}
}
