/* Phone layouts keep the desktop composition and palette intact. */
@media(max-width:800px){
 .house-section .stage{height:235px;overflow:hidden}
 .house-section .house-button{scale:.62}
 .house-section .intro{padding-top:16px}
 .house-section .detail{padding-inline:20px}
 .eddie-personal{grid-template-columns:minmax(0,1fr);margin-inline:20px;gap:0}
 .personal-portrait{min-height:0;height:clamp(340px,104vw,460px);padding:22px 16px}
 .personal-portrait>img{width:112%;height:calc(100% - 45px);bottom:0;max-width:540px}
 .personal-signoff{left:16px;right:16px;bottom:10px}
 .personal-story{padding:20px 0 12px;min-width:0}
 .personal-story>p{font-size:15px;line-height:1.7}
 .home-experience{padding:22px 20px;gap:12px}
 .home-experience .languages{font-size:clamp(15px,4.5vw,22px)}
 .meet-page .meet-hero{padding:12px 20px 24px;grid-template-columns:minmax(0,1fr);gap:12px}
 .meet-page .meet-portrait{height:clamp(300px,94vw,420px)}
 .meet-portrait img{width:110%;height:96%;object-position:center bottom}
 .meet-page .meet-signature{font-size:72px;bottom:8px}
 .meet-page .meet-intro h1{font-size:clamp(35px,10vw,48px);letter-spacing:-1.7px;line-height:1.1}
 .meet-page .meet-intro>p:not(.eyebrow):not(.meet-caption){font-size:15px;line-height:1.65;margin-block:16px}
 .meet-page .meet-actions{flex-wrap:wrap;gap:10px 20px}
 .meet-page :is(.meet-story,.meet-directions,.meet-experience,.meet-contact){padding-inline:20px}
 .meet-page .meet-facts{padding-inline:20px;gap:10px}
 .meet-page .meet-facts strong{font-size:clamp(23px,7vw,30px)}
 .meet-page .story-copy p{font-size:15px;line-height:1.7}
 .meet-page .mobile-contact-bar a{font-size:12px}
 #city-journey{height:500vh;height:500svh}
 .city-journey .city-scene{height:100vh;height:100svh;min-height:0;padding-bottom:0}
 .city-journey .city-topline{top:12px;left:20px;right:20px;gap:8px}
 .city-topline>span{max-width:155px;font-size:8px;line-height:1.6}
 .city-journey .city-copy{top:90px;left:20px;right:20px;max-width:none}
 .city-journey .city-name,.city-journey.is-overview .city-name{font-size:clamp(30px,8.4vw,42px);line-height:1.06;letter-spacing:-1.3px;margin-bottom:14px}
 .city-journey .city-county{font-size:13px;line-height:1.55;max-width:340px}
 .city-journey .city-bottom{left:20px;right:20px;bottom:40px}
 .meet-page .city-journey .city-bottom{bottom:calc(112px + env(safe-area-inset-bottom))}
 .city-journey .city-stops{display:flex;justify-content:flex-start;flex-wrap:nowrap;gap:8px;max-height:none;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;padding:4px 2px 10px}
 .city-journey .city-stops::-webkit-scrollbar{display:none;width:0;height:0}
 .city-journey .city-stops button{flex:0 0 auto;min-height:44px;padding:10px 14px;font-size:12px}
 .city-journey .city-progress{margin-top:12px}
 .city-journey .city-scroll-note{font-size:9px}
 .city-journey .map-state{top:62px;left:20px;right:20px;font-size:10px}
 .meet-page .city-map .maplibregl-ctrl-bottom-right{bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.house-section .house-button{scale:.55}.house-section .stage{height:210px}.personal-signoff>span{font-size:62px}.personal-signoff a{font-size:10px}}
@media(max-width:800px) and (max-height:600px){.city-journey .city-copy{top:65px}.city-journey .city-coordinates,.city-journey .city-count{display:none}.city-journey .city-name,.city-journey.is-overview .city-name{font-size:28px}.city-journey .city-county{font-size:12px}.city-journey .city-bottom{bottom:24px}.meet-page .city-journey .city-bottom{bottom:92px}}
@media(prefers-reduced-motion:reduce){#city-journey{height:auto}.city-journey .city-scene{position:relative}}
