/* 0.6.0: approved pink shell. Content, city routes and member styles remain data driven. */
@font-face{font-family:SXDPage;src:url('fonts/page.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--sxd-font:SXDPage,"Microsoft YaHei",sans-serif;--sxd-pink:#ffdef5;--sxd-accent:#d92ddd;--sxd-ink:#100b10}
.site-header,.site-footer{background-color:var(--sxd-pink);color:var(--sxd-ink);border-color:#b372a526}
.site-header .header-inner{width:min(1060px,calc(100% - 80px));min-height:96px;padding:10px 0;justify-content:space-between;align-items:center;gap:32px}
.site-header .brand{display:flex;gap:42px;align-items:center}.site-header .brand-copy{display:block}.site-header .brand>img,.site-header .brand-mark{width:64px;height:64px;flex:none}
.site-header .brand .brand-name{font:400 56px/1.2 var(--sxd-font)!important;letter-spacing:5px;color:var(--sxd-ink)}
.site-header .brand-tagline{font:14px/1.5 var(--sxd-font);color:var(--sxd-ink);letter-spacing:0}.brand-tagline:empty{display:none}
.site-header .nav{align-self:center;align-items:center;justify-content:flex-end;gap:26px;flex:1;flex-wrap:wrap}
.site-header .nav a{font:24px/1.4 var(--sxd-font);padding:8px 0;color:var(--sxd-ink)}
.site-header .nav a[aria-current="page"]{font-size:34px;color:var(--sxd-accent);text-decoration:none}
.site-header .menu-button{color:var(--sxd-ink)}
.navigation-drawer{--menu-bg:#ffdef5;--menu-active:#f7c7ed;color:var(--sxd-ink)}.drawer-home,.drawer-links a{font-family:var(--sxd-font)}.drawer-links a[aria-current="page"]{font-size:26px;color:#97129b;text-decoration:none}
.ms-view-home main{background:#000;scrollbar-gutter:auto}
.ms-view-home .home-layout{width:100%;min-height:100%;display:flex;flex-direction:column}
.ms-view-home .welcome{flex:1;display:flex;flex-direction:column;padding:0;text-align:center;background:#000}
.ms-view-home .welcome h1{font:36px/1.4 var(--sxd-font);padding:22px 24px 0;color:#ffdef5;overflow-wrap:anywhere}
.ms-view-home .welcome-subtitle{font:20px/1.6 var(--sxd-font);margin:10px 24px 18px;color:#ffdef5;overflow-wrap:anywhere}
.ms-view-home .video-frame{flex:1;min-height:300px;width:100%;max-width:none;aspect-ratio:auto;border:0;border-radius:0;background:#000}
.ms-view-home .video-host video{background:#000}.ms-view-home .video-poster{object-fit:contain}
.ms-view-home .cities-section{padding:12px 24px;flex:none}.ms-view-home .section-label{font:20px/1.5 var(--sxd-font);margin:8px 0;color:#ffdef5}
.ms-view-home .city-links{justify-content:center;flex-wrap:wrap;gap:14px 28px}.ms-view-home .city-link{font:32px/1.4 var(--sxd-font);min-height:44px;min-width:0;max-width:none;flex:none;color:var(--sxd-accent);border:0;padding:0;letter-spacing:0}.ms-view-home .city-link svg{display:none}
.site-footer .wrap{width:min(1060px,calc(100% - 48px))}
.site-footer .footer-main,.site-footer.is-compact .footer-main{width:min(900px,100%);margin:auto;grid-template-columns:minmax(0,1fr) auto;gap:60px;padding:20px 0 13px;align-items:center}
.site-footer .footer-phone{font:32px/1.2 var(--sxd-font);color:var(--sxd-ink);letter-spacing:1px;text-align:center;margin:0;overflow-wrap:anywhere}
.site-footer .channels{gap:17px;justify-content:center}.site-footer .channel{width:94px;min-width:0;text-align:center}
.site-footer .qr,.site-footer.is-compact .qr{width:94px;height:94px;margin:0;background:white;border:0;color:var(--sxd-ink)}
.site-footer .channel-name{font:13px/1.3 var(--sxd-font);margin:7px 0 0;overflow-wrap:anywhere;color:var(--sxd-ink)}
.site-footer .footer-bottom,.site-footer.is-compact .footer-bottom{border-top:1px solid #b372a526;padding:6px 0;justify-content:center}
.site-footer .policy-links{font:11px/1.5 var(--sans);color:#62445c;gap:4px 24px}.site-footer .policy-links a{min-height:28px}
@media(max-width:1100px){.site-header .header-inner{width:calc(100% - 48px)}.site-header .brand{gap:24px}.site-header .nav{gap:18px}.site-header .nav a{font-size:21px}.site-header .nav a[aria-current="page"]{font-size:29px}}
@media(max-width:900px){.site-header .nav{display:none}.site-header .menu-button{display:grid;margin-left:auto}}
@media(max-width:700px){
 .site-header .header-inner{width:calc(100% - 40px);min-height:82px;padding:14px 0;gap:12px}.site-header .brand{gap:16px}.site-header .brand>img,.site-header .brand-mark{width:46px;height:46px}.site-header .brand .brand-name{font-size:34px!important;letter-spacing:3px}.site-header .brand-tagline{font-size:12px}
 .ms-view-home .video-frame{min-height:270px}.ms-view-home .welcome h1{font-size:28px}.ms-view-home .welcome-subtitle{font-size:16px}.ms-view-home .city-link{font-size:28px}
 .site-footer .footer-main,.site-footer.is-compact .footer-main{grid-template-columns:1fr;gap:20px;padding:20px 0 14px}.site-footer .footer-phone{font-size:28px}.site-footer .channels{gap:22px}.site-footer .channel{width:80px}.site-footer .qr,.site-footer.is-compact .qr{width:80px;height:80px}.site-footer .channel-name{font-size:12px}.site-footer .policy-links{gap:0 15px;font-size:11px}.site-footer .policy-links a{min-height:36px}
}
@media(max-width:340px){.site-header .header-inner{width:calc(100% - 28px)}.site-header .brand{gap:10px}.site-header .brand .brand-name{font-size:29px!important}.site-footer .wrap{width:calc(100% - 24px)}.site-footer .channels{gap:14px}.site-footer .channel{width:72px}.site-footer .qr,.site-footer.is-compact .qr{width:72px;height:72px}}
@media(max-height:550px){html{height:auto;overflow:auto}body{height:auto;min-height:100dvh;overflow:visible}main{overflow:visible}.ms-view-home .video-frame{min-height:260px}}

/* Field styling and aligned three-slot ratings. */
.rating{display:grid;min-height:25px;grid-template-columns:60px minmax(0,1fr);justify-content:start}.rating-label{min-width:0;width:60px}.rating-empty{visibility:hidden}.card-copy h2,.card-texts p,.rating-label{overflow-wrap:anywhere}.rating{max-width:100%}
@media(max-width:700px){.rating{grid-template-columns:40px minmax(0,1fr);column-gap:6px}.rating-label{width:40px}.stars{gap:2px}.star,.star svg{width:13px;height:13px}}

/* Only modal detail photos: proportional, uncropped, with a taller portrait-friendly viewport. */
#member-dialog .gallery{background:var(--media-bg,#100f0e)}
#member-dialog .gallery img{height:76dvh;max-height:900px;width:100%;object-fit:contain;object-position:center}
#member-dialog .dialog-toolbar{position:sticky;top:0;z-index:5;background:var(--card-bg,#121211)}
@media(max-width:700px){#member-dialog .gallery img{height:74dvh;max-height:none}}
.city-quote{white-space:pre-line}
.background-video-sound{position:absolute;right:92px;bottom:14px;z-index:4;background:#000b;color:#fff;border:1px solid #ffffff66;border-radius:24px;padding:9px 14px;min-height:44px;cursor:pointer}
.background-video-sound:focus-visible{outline:3px solid #f4b2dc;outline-offset:3px}.background-video-sound:disabled{opacity:.55;cursor:default}
@media(max-width:400px){.background-video-sound{right:84px;padding:8px 10px;font-size:12px}}
