@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root{--cobalt:#06171b;--blue:#00eaff;--cyan:#28ffc4;--acid:#dfff3f;--ink:#f2fbff;--paper:#050a0f;--white:#f2fbff;--muted:#7d929d;--line:#18313a;--rail:188px;font-family:"DM Sans",system-ui,-apple-system,"PingFang SC",sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:30;background:var(--cobalt);color:white;padding:27px 24px;display:flex;flex-direction:column;align-items:center}.qq-logo{width:72px;height:72px;border:2px solid rgba(255,255,255,.36);border-radius:50%;display:grid;place-items:center;position:relative;background:rgba(255,255,255,.08);box-shadow:8px 8px 0 var(--cyan)}.qq-logo span{position:absolute;font:800 29px/1 "Manrope"}.qq-logo span:first-child{transform:translateX(-8px);color:white}.qq-logo span:last-child{transform:translateX(8px);color:var(--acid)}.rail-brand{text-align:center;margin-top:20px}.rail-brand strong{display:block;font:800 20px/1 "Manrope";letter-spacing:.2em}.rail-brand small{font-size:8px;letter-spacing:.4em;color:#b7c0ff}.rail-nav{width:100%;display:flex;flex-direction:column;gap:8px;margin-top:65px}.rail-nav a{display:flex;align-items:center;gap:13px;padding:13px 12px;border-radius:11px;color:#bdc5ff}.rail-nav a.active,.rail-nav a:hover{background:white;color:var(--cobalt)}.rail-nav i{width:25px;font-style:normal;font-size:21px;text-align:center}.rail-nav span{font-size:12px;font-weight:800;line-height:1.05}.rail-nav small{font-size:8px;font-weight:600;opacity:.65}.rail-status{margin-top:auto;width:100%;border-top:1px solid rgba(255,255,255,.2);padding-top:20px;display:flex;align-items:center;gap:10px}.rail-status>i{width:9px;height:9px;border-radius:50%;background:var(--acid);box-shadow:0 0 15px var(--acid)}.rail-status span{display:flex;flex-direction:column;font-size:9px;letter-spacing:.15em;font-weight:800}.rail-status small{font-size:8px;color:#b9c1ff;margin-top:4px;letter-spacing:0}.page{margin-left:var(--rail);padding:0 clamp(28px,4vw,76px)}.mobile-header,.mobile-dock{display:none}.city-bar{min-height:280px;padding:58px 0 42px;display:flex;align-items:flex-end;justify-content:space-between;gap:50px;border-bottom:1px solid var(--line)}.date-label{color:var(--blue);font:800 10px/1 "Manrope";letter-spacing:.2em}.city-bar h1{font:800 clamp(50px,5.8vw,88px)/.94 "Manrope";letter-spacing:-.065em;margin:18px 0 0}.city-switcher{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:5px;width:min(550px,44vw)}.city-switcher button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:13px 15px;text-align:left;cursor:pointer}.city-switcher b,.city-switcher small{display:block}.city-switcher b{font-size:13px}.city-switcher small{font-size:9px;margin-top:4px}.city-switcher button.active{background:var(--ink);border-color:var(--ink);color:white;box-shadow:5px 5px 0 var(--cyan)}.story-section{padding:37px 0 25px}.section-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-line h2{font:800 22px/1 "Manrope";margin:0}.section-line span{font-size:9px;letter-spacing:.16em;color:var(--blue);font-weight:800}.story-strip{display:flex;gap:22px;overflow-x:auto;padding:0 0 13px;scrollbar-width:thin}.story{flex:0 0 92px;border:0;background:transparent;color:var(--ink);padding:0;cursor:pointer;text-align:center}.story-image{width:76px;height:76px;padding:4px;border-radius:50%;margin:auto;background:linear-gradient(135deg,var(--blue),var(--cyan),var(--acid));position:relative}.story-image img{width:100%;height:100%;display:block;object-fit:cover;border:4px solid var(--paper);border-radius:50%}.story-image i{position:absolute;right:0;bottom:3px;width:15px;height:15px;border-radius:50%;background:var(--acid);border:3px solid var(--paper)}.story strong{display:block;font-size:11px;margin-top:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.spotlight{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:12px;margin:15px 0 90px}.spotlight-main{height:630px;border:0;padding:0;background:#10122a;position:relative;overflow:hidden;cursor:pointer;text-align:left}.spotlight-main>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.spotlight-main:hover>img{transform:scale(1.025)}.spotlight-main:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,6,20,.9))}.spotlight-index{position:absolute;left:22px;top:22px;z-index:2;background:var(--acid);padding:9px 12px;font:800 10px/1 "Manrope"}.spotlight-copy{position:absolute;z-index:2;left:32px;right:32px;bottom:30px;color:white}.spotlight-copy small{display:block;color:var(--cyan);font-weight:800;font-size:10px;letter-spacing:.14em}.spotlight-copy strong{display:block;font:800 clamp(48px,5vw,79px)/1 "Manrope";letter-spacing:-.05em;margin-top:8px}.spotlight-copy i{position:absolute;right:0;bottom:8px;font-style:normal;font-size:12px;border-bottom:1px solid white;padding-bottom:5px}.spotlight-message{background:var(--cyan);padding:38px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.spotlight-message:after{content:"QQ";position:absolute;right:-25px;bottom:-50px;color:rgba(23,39,203,.1);font:800 180px/1 "Manrope";letter-spacing:-.18em}.bubble-icon{width:58px;height:58px;border-radius:50% 50% 50% 8px;background:var(--cobalt);color:white;display:grid;place-items:center;font:800 24px/1 "Manrope";box-shadow:6px 6px 0 var(--acid)}.spotlight-message p{position:relative;z-index:2;font-size:17px;line-height:1.65}.spotlight-message p b{font-size:13px;letter-spacing:.08em}.spotlight-message a{position:relative;z-index:2;font-weight:800;border-top:1px solid rgba(17,19,41,.25);padding-top:17px}.spotlight-message a span{float:right}.directory{padding-bottom:110px}.directory-toolbar{display:flex;justify-content:space-between;align-items:flex-end;border-top:2px solid var(--ink);padding-top:30px;margin-bottom:28px}.directory-count{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--acid);font-weight:800;font-size:12px;float:left;margin-right:14px}.directory-toolbar h2{font:800 clamp(38px,4vw,60px)/.95 "Manrope";letter-spacing:-.05em;margin:0}.directory-toolbar p{margin:11px 0 0 56px;color:var(--muted);font-size:11px}.search-and-filter{display:flex;gap:8px}.search{width:245px;height:48px;border-bottom:2px solid var(--ink);display:flex;align-items:center;gap:7px}.search span{font-size:24px;color:var(--blue)}.search input{border:0;outline:0;background:transparent;width:100%;color:var(--ink)}.country-menu{position:relative}.country-trigger{height:48px;min-width:140px;border:0;background:var(--ink);color:white;padding:0 15px;text-align:left;font-weight:700;cursor:pointer}.country-trigger span{float:right;margin-left:20px;color:var(--acid)}.country-options{display:none;position:absolute;right:0;top:52px;z-index:10;width:210px;background:white;border:1px solid var(--line);box-shadow:8px 8px 0 var(--cyan);padding:6px}.country-options.open{display:grid}.country-options button{border:0;background:white;text-align:left;padding:11px;cursor:pointer;color:var(--ink);font-size:12px}.country-options button:hover,.country-options button.active{background:#e8ebff;color:var(--blue);font-weight:800}.photo-wall{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:130px;gap:9px}.wall-card{position:relative;border:0;padding:0;background:#d8d9e2;overflow:hidden;cursor:pointer;text-align:left;grid-row:span 4}.wall-card.wide{grid-column:span 2;grid-row:span 4}.wall-card.tall{grid-row:span 5}.wall-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.wall-card:hover img{transform:scale(1.035)}.wall-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(5,7,22,.9))}.wall-badge{position:absolute;z-index:2;left:12px;top:12px;background:white;color:var(--blue);padding:7px 9px;font-size:8px;font-weight:800}.wall-info{position:absolute;z-index:2;left:17px;right:17px;bottom:16px;color:white}.wall-info small{font-size:9px;color:var(--cyan);font-weight:800}.wall-info strong{display:block;font:800 clamp(24px,2.3vw,37px)/1 "Manrope";letter-spacing:-.04em;margin-top:5px}.wall-info span{position:absolute;right:0;bottom:2px;background:var(--acid);color:var(--ink);padding:7px 9px;font-size:10px;font-weight:800}.more-button{margin:32px auto 0;border:0;background:transparent;display:flex;align-items:center;gap:18px;cursor:pointer;color:var(--ink)}.more-button>span{font-size:8px;letter-spacing:.18em;color:var(--blue);font-weight:800}.more-button>b{font-size:14px}.more-button>i{width:38px;height:38px;border-radius:50%;background:var(--cobalt);color:white;display:grid;place-items:center;font-style:normal}.empty{text-align:center;padding:40px;color:var(--muted)}.booking{background:var(--ink);color:white;margin-inline:calc(clamp(28px,4vw,76px) * -1);padding:80px clamp(28px,4vw,76px);display:grid;grid-template-columns:1fr 1.2fr;gap:70px;position:relative;overflow:hidden}.booking:after{content:"Q";position:absolute;right:-20px;bottom:-150px;color:rgba(255,255,255,.035);font:800 470px/1 "Manrope"}.booking-title span{font-size:9px;letter-spacing:.19em;color:var(--cyan);font-weight:800}.booking-title h2{font:800 clamp(45px,5vw,77px)/.95 "Manrope";letter-spacing:-.055em;margin:18px 0 0}.booking ol{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.2);position:relative;z-index:2}.booking li{display:grid;grid-template-columns:60px 1fr;border-bottom:1px solid rgba(255,255,255,.2);padding:22px 0}.booking li>b{color:var(--acid);font-size:10px}.booking li span{display:flex;justify-content:space-between;gap:20px}.booking li strong{font-size:17px}.booking li small{color:#9da2ba;text-align:right}.booking-actions{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;z-index:2}.booking-actions a{padding:18px;background:var(--blue);font-weight:800}.booking-actions a:last-child{background:var(--cyan);color:var(--ink)}.booking-actions span{float:right}footer{padding:36px 0 46px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.1em}footer p{margin:0}.profile-drawer{position:fixed;inset:0 0 0 auto;width:min(920px,100%);height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden;transform:translateX(100%)}.profile-drawer[open]{display:grid;grid-template-columns:1.07fr .93fr;animation:drawer-in .32s ease forwards}.profile-drawer::backdrop{background:rgba(8,10,30,.78);backdrop-filter:blur(8px)}@keyframes drawer-in{to{transform:translateX(0)}}.drawer-close{position:absolute;right:18px;top:18px;z-index:5;width:43px;height:43px;border:0;background:var(--ink);color:white;border-radius:50%;font-size:25px;cursor:pointer}.drawer-gallery{min-height:0;background:#dfe2f5;display:grid;grid-template-rows:1fr 92px}.drawer-photo{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden}.drawer-photo img{width:100%;height:100%;object-fit:contain}.drawer-photo button{position:absolute;bottom:15px;width:41px;height:41px;border:0;background:white;cursor:pointer;font-size:17px}.drawer-photo button:first-of-type{right:62px}.drawer-photo button:last-of-type{right:15px}.drawer-photo>span{position:absolute;left:15px;bottom:15px;background:var(--acid);padding:8px 10px;font-size:10px;font-weight:800}.drawer-thumbs{display:flex;gap:7px;padding:10px;overflow-x:auto;background:white}.drawer-thumbs button{flex:0 0 58px;padding:0;border:3px solid transparent;background:none;cursor:pointer}.drawer-thumbs button.active{border-color:var(--blue)}.drawer-thumbs img{width:100%;height:68px;display:block;object-fit:cover}.drawer-info{padding:80px 35px 35px;overflow:auto}.drawer-place{font-size:9px;letter-spacing:.15em;color:var(--blue);font-weight:800}.drawer-info h2{font:800 61px/1 "Manrope";letter-spacing:-.06em;margin:17px 0 8px}.drawer-info>p{color:var(--blue);font-weight:800}.quick-meta{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:27px 0}.quick-meta span{padding:15px 4px;border-right:1px solid var(--line)}.quick-meta span:last-child{border:0}.quick-meta small,.quick-meta b{display:block}.quick-meta small{font-size:8px;color:var(--muted)}.quick-meta b{font-size:18px;margin-top:5px}.drawer-prices{display:grid;gap:7px}.drawer-prices>div{background:white;border:1px solid var(--line);padding:15px;display:flex;justify-content:space-between;align-items:center}.drawer-prices span{display:flex;flex-direction:column}.drawer-prices b{font-size:14px}.drawer-prices small{color:var(--muted);font-size:9px;margin-top:4px}.drawer-prices strong{font-size:20px}.drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:17px}.drawer-actions a{padding:15px;background:var(--cobalt);color:white;font-weight:800}.drawer-actions a:last-child{background:var(--cyan);color:var(--ink)}.demo-label{display:block;color:var(--muted);margin-top:15px}.story-strip::-webkit-scrollbar,.drawer-thumbs::-webkit-scrollbar{height:5px}.story-strip::-webkit-scrollbar-thumb,.drawer-thumbs::-webkit-scrollbar-thumb{background:#aeb0ba}

@media(max-width:1100px){:root{--rail:132px}.rail{padding-inline:16px}.rail-nav span{display:none}.rail-nav a{justify-content:center}.city-bar{display:block}.city-switcher{width:100%;margin-top:35px}.spotlight{grid-template-columns:1fr}.spotlight-message{min-height:260px}.photo-wall{grid-template-columns:repeat(3,1fr)}.directory-toolbar{align-items:flex-start}.search-and-filter{flex-direction:column}.booking{grid-template-columns:1fr}.booking-actions{grid-column:1}}
@media(max-width:760px){body{padding-bottom:70px}.rail{display:none}.page{margin:0;padding:0 14px}.mobile-header{height:70px;display:flex;position:sticky;top:0;z-index:30;align-items:center;justify-content:space-between;background:rgba(243,241,235,.9);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.mini-brand{display:flex;align-items:center;gap:9px}.mini-brand>span{width:39px;height:39px;border-radius:50%;background:var(--cobalt);color:white;display:grid;place-items:center;font:800 13px/1 "Manrope";box-shadow:4px 4px 0 var(--cyan)}.mini-brand strong{font:800 13px/1 "Manrope";letter-spacing:.11em}.mobile-header button{border:0;background:var(--ink);color:white;padding:10px 12px;font-size:11px;font-weight:800}.mobile-header button span{color:var(--acid);margin-left:7px}.city-bar{min-height:0;padding:48px 0 30px}.city-bar h1{font-size:49px}.city-switcher{grid-template-columns:1fr 1fr;margin-top:29px}.story-section{padding-top:28px}.spotlight{margin:8px 0 70px}.spotlight-main{height:570px}.spotlight-copy{left:20px;right:20px;bottom:19px}.spotlight-copy strong{font-size:50px}.spotlight-copy i{display:none}.spotlight-message{min-height:250px;padding:28px}.directory-toolbar{display:block;padding-top:22px}.directory-toolbar h2{font-size:42px}.search-and-filter{margin-top:27px}.search{width:100%}.country-menu,.country-trigger{width:100%}.country-options{left:0;right:0;width:auto}.photo-wall{grid-template-columns:repeat(2,1fr);grid-auto-rows:100px;gap:6px}.wall-card{grid-row:span 3}.wall-card.wide{grid-column:span 2;grid-row:span 4}.wall-card.tall{grid-row:span 4}.wall-info{left:11px;right:11px;bottom:10px}.wall-info strong{font-size:24px}.wall-info span{font-size:8px}.booking{margin-inline:-14px;padding:62px 20px;display:block}.booking-title h2{font-size:46px}.booking ol{margin-top:45px}.booking li span{display:block}.booking li small{display:block;text-align:left;margin-top:5px}.booking-actions{margin-top:25px}.mobile-dock{position:fixed;z-index:29;left:0;right:0;bottom:0;height:65px;background:var(--cobalt);color:white;display:grid;grid-template-columns:repeat(3,1fr)}.mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px}.mobile-dock i{font-style:normal;font-size:19px;color:var(--acid);margin-bottom:4px}.profile-drawer[open]{display:block;overflow:auto}.drawer-gallery{height:60vh;grid-template-rows:1fr 82px}.drawer-info{padding:34px 18px 45px}.drawer-info h2{font-size:50px}.drawer-close{position:fixed}.drawer-actions{position:sticky;bottom:0;padding-top:23px;background:linear-gradient(transparent,var(--paper) 22%)}footer{display:block;line-height:1.6}footer p{margin-top:7px}}
@media(max-width:430px){.spotlight-main{height:520px}.story{flex-basis:81px}.photo-wall{grid-template-columns:1fr;grid-auto-rows:120px}.wall-card,.wall-card.tall,.wall-card.wide{grid-column:span 1;grid-row:span 4}.booking-actions{grid-template-columns:1fr}.drawer-actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.profile-drawer[open]{transform:none}}

/* QQ Passport Cards — keeps the city-guide theme while making each profile easier to scan. */
.photo-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;gap:12px}.wall-card,.wall-card.wide,.wall-card.tall{display:block;grid-column:auto;grid-row:auto;position:relative;border:1px solid #d7d9df;border-radius:18px 5px 18px 5px;padding:0;background:#fff;color:var(--ink);overflow:hidden;cursor:pointer;text-align:left;box-shadow:0 6px 20px rgba(17,19,41,.055);transition:transform .25s,box-shadow .25s}.wall-card:nth-child(3n+1){border-top:4px solid var(--blue)}.wall-card:nth-child(3n+2){border-top:4px solid var(--cyan)}.wall-card:nth-child(3n){border-top:4px solid var(--acid)}.wall-card:after{content:none}.wall-card:hover{transform:translateY(-6px);box-shadow:7px 7px 0 var(--cyan)}.passport-photo{display:block;height:290px;position:relative;overflow:hidden;background:#d9dce7}.passport-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(9,11,31,.32))}.passport-photo>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.wall-card:hover .passport-photo>img{transform:scale(1.025)}.wall-badge{left:auto;right:9px;top:9px;background:var(--acid);color:var(--ink);padding:6px 8px;border-radius:999px;font-size:8px}.place-tag{position:absolute;z-index:2;left:9px;bottom:9px;background:rgba(255,255,255,.92);color:var(--blue);backdrop-filter:blur(8px);padding:6px 8px;border-radius:999px;font-size:8px;font-weight:800}.passport-body{display:block;padding:15px 14px 14px}.passport-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.passport-heading>span{min-width:0}.passport-heading small{display:block;color:var(--blue);font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.passport-heading strong{display:block;font:800 25px/1 "Manrope";letter-spacing:-.045em;margin-top:5px}.passport-heading>i{flex:0 0 auto;width:33px;height:33px;border-radius:50%;background:var(--cobalt);color:white;display:grid;place-items:center;font:800 8px/1 "Manrope";font-style:normal;box-shadow:3px 3px 0 var(--cyan)}.passport-meta{display:grid;grid-template-columns:repeat(3,1fr);margin-top:13px;border-block:1px solid var(--line)}.passport-meta>span{padding:9px 6px 9px 0;border-right:1px solid var(--line)}.passport-meta>span+span{padding-left:7px}.passport-meta>span:last-child{border-right:0}.passport-meta small,.passport-meta b{display:block}.passport-meta small{color:var(--muted);font-size:6px}.passport-meta b{font-size:13px;margin-top:3px}.passport-rate{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-top:11px;padding:10px;background:#f0f1f6;border-radius:8px}.passport-rate>span small,.passport-rate>span b{display:block}.passport-rate>span small{color:var(--muted);font-size:6px}.passport-rate>span b{font-size:11px;margin-top:3px}.passport-rate>strong{font:800 18px/1 "Manrope"}.passport-rate>i{grid-column:1/-1;border-top:1px solid #d5d7e0;padding-top:7px;color:var(--blue);font-size:8px;font-style:normal;font-weight:800}.passport-rate>i::first-letter{color:var(--blue)}
@media(max-width:1180px) and (min-width:761px){.photo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.passport-photo{height:270px}}
@media(max-width:760px){.photo-wall{grid-template-columns:1fr;grid-auto-rows:auto;gap:15px}.wall-card,.wall-card.wide,.wall-card.tall{grid-column:auto;grid-row:auto;border-radius:18px 5px 18px 5px}.passport-photo{height:455px}.passport-body{padding:18px}.passport-heading small{font-size:10px}.passport-heading strong{font-size:31px}.passport-heading>i{width:42px;height:42px;font-size:10px}.passport-meta{margin-top:20px}.passport-meta>span{padding:14px 10px 14px 0}.passport-meta>span+span{padding-left:12px}.passport-meta small{font-size:8px}.passport-meta b{font-size:17px;margin-top:5px}.passport-rate{gap:13px;margin-top:16px;padding:15px}.passport-rate>span small{font-size:8px}.passport-rate>span b{font-size:13px}.passport-rate>strong{font-size:23px}.passport-rate>i{display:block;padding-top:10px;font-size:10px}.wall-badge{right:13px;top:13px;padding:8px 10px;font-size:9px}.place-tag{left:13px;bottom:13px;padding:8px 10px;font-size:9px}}
@media(max-width:390px){.passport-photo{height:420px}.passport-meta>span+span{padding-left:8px}.passport-meta b{font-size:15px}}

/* Every profile preview preserves the complete 9:16 artwork instead of cropping it. */
.story{flex-basis:96px}.story-image{width:78px;height:auto;aspect-ratio:9/16;border-radius:15px;padding:3px;background:linear-gradient(180deg,var(--blue),var(--cyan),var(--acid))}.story-image img{width:100%;height:100%;object-fit:contain;object-position:center;border:3px solid var(--paper);border-radius:12px;background:#101329}.story-image i{right:-2px;bottom:4px}.spotlight-main{background:#101329}.spotlight-main>img{object-fit:contain;object-position:center;background:#101329}.passport-photo,.wall-card .passport-photo{height:auto!important;aspect-ratio:9/16;background:#101329}.passport-photo>img,.wall-card .passport-photo>img{object-fit:contain;object-position:center;width:100%;height:100%}

/* Mobile two-up directory: keep the full 9:16 photo, move detailed stats into the drawer. */
@media(max-width:760px){
  .photo-wall{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:9px}
  .wall-card,.wall-card.wide,.wall-card.tall{grid-column:auto;grid-row:auto;border-radius:13px 4px 13px 4px;box-shadow:0 4px 12px rgba(17,19,41,.06)}
  .passport-body{padding:10px 9px 9px}
  .passport-heading{align-items:center;gap:5px}
  .passport-heading small{font-size:7px;line-height:1.25}
  .passport-heading strong{font-size:clamp(17px,5.5vw,22px);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .passport-heading>i{width:27px;height:27px;font-size:7px;box-shadow:2px 2px 0 var(--cyan)}
  .passport-meta{display:none}
  .passport-rate{grid-template-columns:auto 1fr;gap:4px;margin-top:9px;padding:8px 7px;border-radius:6px}
  .passport-rate>span small{display:none}
  .passport-rate>span b{font-size:9px;margin:0;white-space:nowrap}
  .passport-rate>strong{justify-self:end;font-size:clamp(13px,4vw,17px);white-space:nowrap}
  .passport-rate>i{display:none}
  .wall-badge{right:7px;top:7px;padding:5px 6px;font-size:6px}
  .place-tag{left:7px;right:7px;bottom:7px;width:max-content;max-width:calc(100% - 14px);padding:5px 7px;font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Compact "New Today" ticket rail: clean 9:16 thumbnails with no stretched letterbox. */
.story-strip{align-items:flex-start;gap:13px;overflow-x:auto;overflow-y:hidden;padding:2px 1px 10px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:none}
.story-strip::-webkit-scrollbar{display:none}
.story{display:block;flex:0 0 82px;width:82px;scroll-snap-align:start;text-align:left}
.story-image{display:block;width:82px;height:auto;aspect-ratio:9/16;padding:0;overflow:hidden;border:2px solid var(--ink);border-radius:12px 3px 12px 3px;background:#101329;box-shadow:4px 4px 0 var(--cyan)}
.story-image img{display:block;width:100%;height:100%;border:0;border-radius:0;object-fit:contain;object-position:center;background:#101329}
.story-image i{right:6px;bottom:6px;width:9px;height:9px;border:2px solid white;border-radius:50%;background:var(--acid);box-shadow:0 0 0 2px rgba(17,19,41,.28)}
.story strong{margin-top:8px;font:800 11px/1.1 "Manrope";white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.story small{margin-top:4px;font-size:7px;color:var(--blue);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){
  .story-section{padding-bottom:20px}
  .story-strip{gap:10px;margin-right:-14px;padding-right:14px}
  .story{flex-basis:78px;width:78px}
  .story-image{width:78px;border-radius:11px 3px 11px 3px;box-shadow:3px 3px 0 var(--cyan)}
}

/* Light cyberpunk palette: dark graphite, neon cyan and volt lime. */
body{background:radial-gradient(circle at 90% 4%,rgba(0,234,255,.075),transparent 27%),radial-gradient(circle at 8% 72%,rgba(40,255,196,.045),transparent 24%),var(--paper)}
.rail{background:#031014;border-right:1px solid rgba(0,234,255,.32);box-shadow:10px 0 40px rgba(0,234,255,.055)}
.rail-nav a{color:#78939d}
.rail-brand small,.rail-status small{color:#6b8a93}
.rail-nav a.active,.rail-nav a:hover{background:var(--acid);color:#061014;box-shadow:0 0 24px rgba(223,255,63,.22)}
.qq-logo{border-color:rgba(0,234,255,.65);background:#08191e;box-shadow:7px 7px 0 var(--cyan),0 0 26px rgba(0,234,255,.2)}
.mobile-header{background:rgba(5,10,15,.88);border-color:rgba(0,234,255,.22)}
.mobile-header button,.country-trigger{background:#0c171d;color:var(--ink);border:1px solid rgba(0,234,255,.38)}
.mobile-dock{background:rgba(3,16,20,.96);border-top:1px solid rgba(0,234,255,.45);box-shadow:0 -9px 30px rgba(0,234,255,.08)}
.city-bar h1,.directory-toolbar h2{text-shadow:0 0 24px rgba(0,234,255,.08)}
.city-switcher button{background:rgba(9,20,25,.72)}
.city-switcher button.active{background:#0c1a20;border-color:var(--cyan);color:var(--ink);box-shadow:5px 5px 0 var(--cyan),0 0 24px rgba(40,255,196,.12)}
.story-image{border-color:rgba(0,234,255,.82);background:#081318;box-shadow:3px 3px 0 var(--cyan),0 0 18px rgba(0,234,255,.14)}
.story-image img,.spotlight-main,.spotlight-main>img,.passport-photo,.wall-card .passport-photo{background:#081318}
.story-image i{border-color:#061014;box-shadow:0 0 10px rgba(223,255,63,.9)}
.spotlight-main{border:1px solid rgba(0,234,255,.28)}
.spotlight-main:after{background:linear-gradient(transparent,rgba(3,10,14,.94))}
.spotlight-message{color:var(--ink);background:linear-gradient(145deg,#0c252b,#071419 64%);border:1px solid rgba(40,255,196,.38);box-shadow:inset 0 0 35px rgba(0,234,255,.045)}
.spotlight-message:after{color:rgba(0,234,255,.055)}
.spotlight-message a{border-color:rgba(0,234,255,.28)}
.bubble-icon{background:var(--acid);color:#061014;box-shadow:6px 6px 0 var(--blue),0 0 24px rgba(223,255,63,.18)}
.spotlight-index,.directory-count,.wall-badge,.drawer-photo>span{background:var(--acid);color:#061014;box-shadow:0 0 18px rgba(223,255,63,.16)}
.country-options{background:#071218;border-color:rgba(0,234,255,.34);box-shadow:7px 7px 0 rgba(0,234,255,.42)}
.country-options button{background:#071218;color:var(--ink)}
.country-options button:hover,.country-options button.active{background:#10252c;color:var(--cyan)}
.wall-card,.wall-card.wide,.wall-card.tall{background:#091217;border-color:#1a343e;box-shadow:0 7px 22px rgba(0,0,0,.34)}
.wall-card:hover{box-shadow:5px 5px 0 var(--cyan),0 0 28px rgba(0,234,255,.12)}
.place-tag{background:rgba(4,14,18,.88);color:var(--cyan);border:1px solid rgba(40,255,196,.45)}
.passport-heading>i{background:#0b1d23;color:var(--cyan);border:1px solid rgba(0,234,255,.45);box-shadow:3px 3px 0 var(--cyan),0 0 16px rgba(0,234,255,.12)}
.passport-rate{background:#0d1a20;border:1px solid #17313a}
.passport-rate>i{border-color:#1b3740}
.booking{background:#030b0f;border-block:1px solid rgba(0,234,255,.2)}
.booking-actions a,.drawer-actions a{background:var(--blue);color:#031014}
.booking-actions a:last-child,.drawer-actions a:last-child{background:var(--cyan);color:#031014}
.profile-drawer{background:#060d12}
.profile-drawer::backdrop{background:rgba(0,4,7,.84)}
.drawer-gallery{background:#02080c}
.drawer-thumbs{background:#071116}
.drawer-photo button{background:#0b1b21;color:var(--cyan);border:1px solid rgba(0,234,255,.45)}
.drawer-close{background:#08161b;color:var(--ink);border:1px solid var(--cyan);box-shadow:0 0 20px rgba(40,255,196,.15)}
.quick-meta,.drawer-prices>div{border-color:#1a343d}
.drawer-prices>div{background:#0b171d}
.noscript{position:fixed;inset:0 0 auto;z-index:100;margin:0;padding:12px 18px;background:var(--acid);color:#061014;text-align:center;font-weight:800}

/* v1.1 — Menu-first homepage with three clearly separated location groups. */
.city-bar{display:block;min-height:230px;padding-top:62px}
.directory{padding-top:30px}
.directory-toolbar{margin-bottom:18px}
.menu-city-switcher{width:100%;margin:0 0 62px;grid-template-columns:repeat(4,minmax(0,1fr))}
.menu-city-switcher button{min-height:64px;padding:14px 17px}
.region-groups{display:grid;gap:92px}
.region-group{scroll-margin-top:88px}
.region-heading{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid rgba(0,234,255,.28);margin-bottom:22px;padding-bottom:18px}
.region-heading span{display:block;color:var(--cyan);font:800 9px/1 "Manrope";letter-spacing:.18em}
.region-heading h3{margin:10px 0 0;font:800 clamp(38px,4vw,62px)/.92 "Manrope";letter-spacing:-.055em}
.region-heading>i{width:54px;height:54px;border:1px solid rgba(0,234,255,.42);background:#09171d;color:var(--acid);display:grid;place-items:center;font:800 11px/1 "Manrope";font-style:normal;box-shadow:5px 5px 0 rgba(0,234,255,.65)}
.region-more{margin:28px 0 0 auto;border:1px solid rgba(0,234,255,.34);background:#08151a;color:var(--ink);min-width:220px;padding:13px 14px 13px 18px;display:flex;align-items:center;justify-content:flex-end;gap:14px;cursor:pointer}
.region-more span{font-size:11px;font-weight:800}
.region-more b{color:var(--cyan);font-size:8px;letter-spacing:.15em}
.region-more i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--acid);color:#061014;font-style:normal;font-weight:800}
.region-more:hover{border-color:var(--cyan);box-shadow:4px 4px 0 rgba(0,234,255,.55)}

@media(max-width:1100px){
  .menu-city-switcher{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
}

@media(max-width:760px){
  .city-bar{min-height:0;padding:42px 0 30px}
  .directory{padding-top:18px}
  .directory-toolbar{padding-top:20px;margin-bottom:18px}
  .directory-toolbar h2{font-size:48px}
  .menu-city-switcher{grid-template-columns:1fr 1fr;margin:0 0 52px;gap:6px}
  .menu-city-switcher button{min-height:58px;padding:11px 12px}
  .region-groups{gap:64px}
  .region-heading{margin-bottom:15px;padding-bottom:14px}
  .region-heading h3{font-size:38px}
  .region-heading>i{width:43px;height:43px;box-shadow:4px 4px 0 rgba(0,234,255,.65)}
  .region-more{width:100%;min-width:0;margin-top:18px;justify-content:center}
}
