/* Landing CSS — 依据参考站测量 token 重新实现 */
:root{
  --navy:#25273A;--ink:#15161f;--ink2:#1d1f2e;--ink3:#121320;--hero-bg:#15161f;
  --cream:#E2DBD4;--soft:#f7f7f9;--yellow:#FFDF00;--lime:#c2d72e;--blue:#2E86C1;
  --tx:#25273a;--tx2:#5f676f;--tx3:#79828c;--tx4:#9aa0a8;--line:#ececef;--line2:#eaeaed;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100vw;position:relative}
body{touch-action:pan-y pinch-zoom}
.section,.hero,.band,.sky,.hd,.foot{overflow-x:clip}
body{font-family:"MiSans",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--tx);font-size:16px;line-height:1.6;background:#fff}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{max-width:1240px;margin:0 auto;padding:0 32px}
.section{padding:68px 32px}
.section>.inner{max-width:1240px;margin:0 auto}
.bg-cream{background:var(--cream);padding-top:35px}
.bg-white{background:#fff}
.bg-50{background:var(--soft)}
.bg-ink{background:var(--navy);padding-top:35px}
.bg-cta{background:var(--yellow)}
.tighttop{padding-top:20px}
section#brands+section#brands{padding-top:0}

/* 标题体系 */
.eyebrow{color:#696975;letter-spacing:.16em;text-transform:uppercase;font-size:13px;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:14px}
.eyebrow .tick{background:var(--blue);width:28px;height:3px;flex:none}
.on-ink .eyebrow{color:#ffffff8c}
h2.h2{color:var(--navy);max-width:780px;margin:0 0 30px;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:44px;font-weight:700;line-height:1.1}
.on-ink h2.h2{color:#fff}
.lead{color:var(--tx2);max-width:720px;margin:0 0 40px;font-size:17px;line-height:1.6}
.on-ink .lead{color:#ffffffd1;margin-bottom:20px}

/* ===== 导航 ===== */
.hd{z-index:200;background:var(--navy);position:fixed;top:0;left:0;right:0;box-shadow:0 1px #ffffff0f}
.hd-in{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1240px;height:64px;margin:0 auto;padding:0 32px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand-logo{background:var(--yellow);color:#000;font-weight:700;font-size:15px;letter-spacing:.06em;padding:9px 12px;border-radius:2px;font-family:"MiSans","PingFang SC",sans-serif}
.brand-logoimg{height:45px;width:auto;border-radius:2px;display:block}
.brand-tag{color:#fff9;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-links a{color:#ffffffd1;font-size:12.5px;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.nav-links a:hover{color:#fff}
.nav-links a.nav-cta{background:var(--yellow);color:#000;font-weight:600;padding:7px 13px;border-radius:2px}
.nav-links a.nav-cta:hover{background:#e6cb00;color:#000}
.lang{display:flex;border:1px solid #ffffff2e;border-radius:2px;overflow:hidden;flex:none}
.lang a{color:#ffffffb3;padding:6px 9px;font-size:12px;font-weight:600}
.lang a.on{color:#000;background:var(--yellow)}
/* 移动端汉堡菜单 */
.nav-burger{display:none;background:transparent;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;flex:none}
.nav-burger span{display:block;width:22px;height:2px;background:#fff;transition:transform .3s,opacity .3s}
.nav-burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.on span:nth-child(2){opacity:0}
.nav-burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;background:var(--navy);border-top:1px solid #ffffff14;padding:10px 20px 20px;flex-direction:column}
.mobile-menu.on{display:flex}
.mobile-menu a{color:#ffffffd1;padding:13px 4px;font-size:14px;font-weight:500;border-bottom:1px solid #ffffff12}
.mobile-menu a.mm-cta{background:var(--yellow);color:#000;font-weight:600;text-align:center;border-radius:2px;margin-top:14px;padding:12px;border-bottom:none}

/* ===== Hero ===== */
.hero{background:var(--hero-bg);display:flex;flex-direction:column;min-height:100vh;padding-top:64px}
.hero-media{flex:auto;width:100%;min-height:520px;position:relative;overflow:hidden}
.hero-media>img,.hero-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-scrim{z-index:1;pointer-events:none;background:linear-gradient(34deg,#0d0e1494 8%,#0d0e141f 23%,#0d0e1400 72%);position:absolute;inset:0}
.hero-content{z-index:2;max-width:800px;position:absolute;bottom:40px;left:40px;right:40px}
.hero-partner{background:#fff;border-radius:3px;display:inline-flex;align-items:center;padding:8px 14px;margin-bottom:16px;box-shadow:0 4px 14px #00001640}
.hero-partner img{height:34px;width:auto;display:block}
.hero-badges{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:14px;text-shadow:1px 1px 1px #000016db}
.badge-y{color:#000;background:var(--yellow);letter-spacing:.14em;text-transform:uppercase;text-shadow:none;border-radius:2px;padding:5px 10px;font-size:14px;font-weight:700;display:inline-flex;align-items:center}
.badge-g{color:#fffc;letter-spacing:.1em;text-transform:uppercase;border:1px solid #fffc;border-radius:2px;padding:4px 10px;font-size:14px;font-weight:600}
.hero h1{color:#fff;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:44px;font-weight:700;line-height:1.12}
.hero h1 .accent{color:var(--yellow)}
.hero-sub{color:#ffffffd1;max-width:560px;margin:16px 0 0;font-size:16px;line-height:1.6}
.hero-btn{color:#fff;background:#ffffff1a;border:1px solid #fff6;border-radius:2px;margin-top:20px;padding:12px 20px;font-size:13px;font-weight:600;display:inline-block}
.hero-btn:hover{background:#ffffff2e}
.hero-strip{background:var(--ink2);border-top:1px solid #ffffff12}
.hero-strip-in{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;max-width:1240px;margin:0 auto;padding:13px 32px}
.strip-item{color:#ffffff8c;letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:600}
.strip-dot{background:var(--blue);border-radius:50%;width:4px;height:4px}

/* ===== 概览 stats ===== */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--cream);border:1px solid var(--cream)}
.bg-cream .stats-grid{background:#d5cdc4;border-color:#d5cdc4}
.stat-cell{background:#fff;padding:24px}
.stat-num{color:var(--navy);letter-spacing:-.01em;font-size:42px;font-weight:700;line-height:1}
.stat-num .u{font-size:20px;font-weight:600;color:var(--tx3)}
.stat-unit{color:var(--tx2);margin-top:12px;font-size:14px;font-weight:500;line-height:1.4}
/* On-site amenities 风格图标卡（依参考站测量 token） */
.amen-head{display:flex;align-items:center;gap:10px;margin:30px 0 14px}
.amen-eyebrow{color:#9a948b;letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:600;white-space:nowrap}
.amen-rule{background:#ddd5cd;flex:1;height:1px}
.amen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.amen-item{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--cream);border-radius:2px;padding:13px 15px}
.amen-icon{background:#eaf2f8;border-radius:2px;flex:none;width:40px;height:40px;display:flex;justify-content:center;align-items:center}
.amen-label{color:var(--navy);font-size:14px;font-weight:500;line-height:1.5}
@media(max-width:991px){.amen-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.amen-grid{grid-template-columns:1fr}}

/* ===== 品牌面板 + 房型 ===== */
.br-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px;align-items:stretch}
.br-panel{border:1px solid var(--line2);border-radius:3px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.br-img{aspect-ratio:16/10;overflow:hidden;position:relative}
.br-img img{width:100%;height:100%;object-fit:cover}
.br-floor{z-index:5;color:#fff;background:#25273acc;border-radius:2px;padding:3px 9px;font-size:11px;font-weight:600;position:absolute;top:12px;left:12px}
.br-body{padding:22px 24px 26px;flex:1}
.br-logochip{background:#fff;border:1px solid var(--line2);border-radius:3px;display:inline-flex;align-items:center;padding:8px 14px;margin-bottom:12px}
.br-logochip img{height:30px;width:auto;display:block}
.br-name{color:var(--navy);font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:26px;font-weight:700;line-height:1.15}
.br-desc{color:var(--tx2);font-size:14px;line-height:1.65;margin-top:10px}
.br-stat{display:flex;align-items:baseline;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.br-stat .n{color:var(--navy);font-size:30px;font-weight:700;letter-spacing:-.01em}
.br-stat .u{color:var(--tx3);font-size:13px;font-weight:500}
/* OTA 平台评分（复刻参考站 chips） */
.ota-label{color:var(--tx4);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600;margin:16px 0 8px}
.ota-row{display:flex;flex-wrap:wrap;gap:8px}
.ota-chip{display:inline-flex;flex:none;align-items:center;gap:8px;background:var(--soft);border:1px solid var(--line);border-radius:2px;padding:7px 11px;white-space:nowrap}
.ota-name{font-size:12px;font-weight:700;color:var(--tx2)}
.ota-score{color:var(--navy);font-size:14px;font-weight:700}
.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.room-card .ri{aspect-ratio:4/3;border-radius:3px;overflow:hidden;background:var(--line)}
.room-card .ri img{width:100%;height:100%;object-fit:cover}
.room-name{color:var(--navy);margin-top:10px;font-size:13px;font-weight:600;line-height:1.3}
.room-size{color:var(--tx3);margin-top:3px;font-size:12px;font-weight:500}

/* ===== 通栏媒体 ===== */
.band{position:relative;width:100%;height:56vh;min-height:320px;overflow:hidden;background:var(--ink)}
.band-slim{height:30vh;min-height:180px}
.band-tall{height:80vh;min-height:460px}

/* 板块间通栏细分隔：相邻同色浅底板块之间自动插入，底色随邻块、居中金色棱形断缝 */
.sec-sep{display:flex;justify-content:center;padding:0 32px}
.sec-sep>span{position:relative;display:block;width:100%;max-width:1240px;height:1px;background:var(--line)}
.sec-sep>span:before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%) rotate(45deg);background:var(--yellow);box-shadow:0 0 0 5px currentColor}
.sec-sep.tone-white{background:#fff;color:#fff}
.sec-sep.tone-cream{background:var(--cream);color:var(--cream)}
.sec-sep.tone-soft{background:var(--soft);color:var(--soft)}
.band>video,.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* band 视频控制：声音开关 + 全屏（扁平线性图标，右下角悬浮） */
.band-ctls{position:absolute;right:16px;bottom:16px;z-index:3;display:flex;gap:8px}
.band-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid #ffffff59;background:#0d0e1480;color:#fff;cursor:pointer;backdrop-filter:blur(4px);transition:background .25s,border-color .25s;padding:0}
.band-btn:hover{background:#0d0e14b3;border-color:#fff}
.band-btn svg{display:block}
@media(max-width:767px){.band-ctls{right:12px;bottom:12px}.band-btn{width:36px;height:36px}}
/* 伪横屏全屏浮层：竖屏手机上把横向视频旋转 90° 铺满（不依赖系统方向锁，iOS/微信一致生效） */
.vfs-ov{position:fixed;inset:0;z-index:2000;background:#000}
.vfs-box{position:absolute;left:50%;top:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}
.vfs-box.flat{width:100vw;height:100vh;transform:translate(-50%,-50%)}
.vfs-box video{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;object-fit:contain;opacity:1!important;animation:none!important;background:#000}
.vfs-x{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:14px;z-index:2001;width:40px;height:40px;border-radius:50%;border:1px solid #ffffff59;background:#0d0e1480;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
html.vfs-lock,html.vfs-lock body{overflow:hidden;touch-action:none}
/* Hero 视频全屏按钮：静态视频背景常显；轮播模式仅视频帧激活（.vid-on）时出现 */
.hero-fs{position:absolute;right:16px;bottom:16px;z-index:4;display:none}
.hero-fs.always,.hero.vid-on .hero-fs{display:flex}
@media(max-width:767px){.hero-fs{right:12px;bottom:12px}}
.band-scrim{position:absolute;inset:0;background:linear-gradient(12deg,#0d0e1480 5%,#0d0e1400 45%)}
.band-cap{position:absolute;left:40px;right:40px;bottom:32px;z-index:2}
.band-eyebrow{color:var(--yellow);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700;margin-bottom:8px}
.band-title{color:#fff;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:30px;font-weight:700;text-shadow:0 2px 12px #00001680}

/* ===== 餐饮 ===== */
.din-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.din-card{border:1px solid var(--line2);border-radius:3px;display:flex;flex-direction:column;overflow:hidden;background:#fff}
.din-photo{aspect-ratio:3/2;position:relative;overflow:hidden}
.din-photo img{width:100%;height:100%;object-fit:cover}
.din-floor{z-index:5;color:#fff;background:#25273acc;border-radius:2px;padding:3px 9px;font-size:11px;font-weight:600;position:absolute;top:12px;left:12px}
.din-text{padding:18px 20px 22px}
.din-titlerow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.din-name{color:var(--navy);font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:22px;font-weight:700;line-height:1.2}
.din-cuisine{letter-spacing:.06em;text-transform:uppercase;background:var(--soft);color:var(--tx2);border-radius:2px;padding:4px 9px;font-size:11px;font-weight:600;white-space:nowrap}
.din-desc{color:var(--tx2);font-size:14px;line-height:1.6}

/* ===== 宴会（ink） ===== */
.ev-hero{aspect-ratio:21/9;background:#0f1018;min-height:300px;position:relative;overflow:hidden;border-radius:3px}
.ev-hero img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.ev-hero-grad{position:absolute;inset:0;background:linear-gradient(9deg,#0d0e14d6 8%,#0d0e1400 55%)}
.ev-hero-name{position:absolute;left:28px;right:28px;bottom:24px;color:#fff;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(20px,3.2vw,40px);font-weight:700;line-height:1.2;overflow-wrap:break-word}
.ev-hero-floor{position:absolute;top:16px;left:16px;color:#fff;background:#00000080;border-radius:2px;padding:3px 9px;font-size:11px;font-weight:600}
.ev-statband{background:var(--ink);border-bottom:1px solid #ffffff14;display:flex;flex-wrap:wrap;border-radius:0 0 3px 3px;margin-bottom:28px}
.ev-stat{padding:22px 28px;flex:1;min-width:140px;border-right:1px solid #ffffff14}
.ev-stat:last-child{border-right:none}
.ev-stat-num{color:var(--lime);letter-spacing:-.01em;font-size:40px;font-weight:700;line-height:1}
.ev-stat-num .u{font-size:18px;font-weight:600}
.ev-stat-unit{color:#ffffff8c;margin-top:8px;font-size:12.5px;font-weight:500}
.ev-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ev-card-media{aspect-ratio:4/3;border-radius:3px;position:relative;overflow:hidden}
.ev-card-media img{width:100%;height:100%;object-fit:cover}
.ev-card-foot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:12px}
.ev-card-name{color:#fff;font-size:15px;font-weight:600;line-height:1.3}
.ev-card-floor{color:#ffffff8c;font-size:12px;font-weight:500;white-space:nowrap}
.ev-card-desc{color:#ffffffa8;font-size:12.5px;line-height:1.6;margin-top:6px}

/* ===== 设施（cream） ===== */
.fc-hero{aspect-ratio:21/9;background:#0f1018;border-radius:4px;min-height:280px;margin-bottom:40px;position:relative;overflow:hidden;box-shadow:0 12px 36px #25273a29}
.fc-hero img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.fc-hero-grad{position:absolute;inset:0;background:linear-gradient(9deg,#0d0e14d6 8%,#0d0e1400 55%)}
.fc-hero-name{position:absolute;left:28px;right:28px;bottom:44px;color:#fff;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(18px,3vw,36px);font-weight:700;line-height:1.25;overflow-wrap:break-word}
.fc-hero-text{position:absolute;left:28px;bottom:20px;color:#ffffffd1;font-size:14px;font-weight:500}
.fc-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.fc-tile-media{aspect-ratio:1;border-radius:3px;overflow:hidden;position:relative}
.fc-tile-media img{width:100%;height:100%;object-fit:cover}
.fc-tile-foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px}
.fc-tile-name{color:var(--navy);font-size:15px;font-weight:600;line-height:1.3}
.fc-tile-floor{color:var(--tx3);font-size:12px;font-weight:500}
.fc-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.fc-chip{display:flex;align-items:center;gap:9px;color:var(--navy);background:#fff;border:1px solid var(--cream);border-radius:2px;padding:11px 16px;font-size:14px;font-weight:500}
.fc-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue)}

/* ===== 区位 ===== */
.lc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start}
.lc-map{background:#cfe6ea;border:1px solid #e8e8eb;border-radius:3px;position:relative;overflow:hidden}
.lc-map img{width:100%;height:auto}
.lc-map-bar{position:absolute;left:0;right:0;bottom:0;background:#25273acc;color:#fff;padding:10px 16px;font-size:12.5px;font-weight:500}
.lc-times-lbl{color:var(--tx4);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600;margin:26px 0 16px}
.lc-times-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 22px}
.lc-times-flat{grid-template-columns:repeat(3,1fr);margin-top:8px}
.lc-grid{margin-bottom:34px}
.lc-map-canvas{height:460px}

.lc-time{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}
.lc-time-num{color:var(--navy);font-size:22px;font-weight:700;line-height:1;white-space:nowrap}
.lc-time-min{color:var(--tx3);margin-left:4px;font-size:12px;font-weight:500}
.lc-time-place{color:var(--tx3);margin-top:3px;font-size:12px;font-weight:500}
.lc-note{color:var(--tx4);font-size:12px;margin-top:18px;line-height:1.5}

/* ===== SKY 深色满屏区 ===== */
.sky{background:var(--ink3);color:#fff;overflow:hidden}
.sky-hero{width:100%;min-height:72vh;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.sky-heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.sky-herograd{position:absolute;inset:0;background:linear-gradient(6deg,#121320 12%,#12132070 45%,#12132000 80%)}
.sky-heroinner{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:120px 32px 48px;width:100%}
.sky-eyebrow{color:var(--lime);letter-spacing:.2em;text-transform:uppercase;font-size:13px;font-weight:700;margin-bottom:16px}
.sky-title{color:#fff;letter-spacing:.005em;font-size:clamp(56px,10vw,150px);font-weight:800;line-height:.95;font-family:"MiSans","PingFang SC",sans-serif}
.sky-inner{max-width:1240px;margin:0 auto;padding:56px 32px 68px}
.sky-h3{color:#fff;max-width:720px;margin:0 0 20px;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(24px,3.4vw,40px);font-weight:700;line-height:1.1}
.sky-intro{color:#ffffffb8;max-width:760px;font-size:15px;line-height:1.7;margin-bottom:44px}
.sky-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-bottom:52px}
.sky-card{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:3px;overflow:hidden;position:relative;transition:background .4s}
.sky-card:hover{background:#ffffff1a}
.sky-card-num{z-index:2;color:var(--ink2);background:var(--lime);border-radius:50%;width:28px;height:28px;display:inline-flex;justify-content:center;align-items:center;font-size:13px;font-weight:700;position:absolute;top:10px;left:10px}
.sky-card-media{aspect-ratio:16/10;overflow:hidden}
.sky-card-media img{width:100%;height:100%;object-fit:cover}
.sky-card-text{padding:14px 16px 16px}
.sky-card-name{color:#fff;font-size:17px;font-weight:600;line-height:1.2}
.sky-card-sub{color:#ffffff8c;font-size:12px;font-weight:500;margin-top:4px}
.sky-card-desc{color:#ffffffa8;font-size:12.5px;line-height:1.55;margin-top:8px}
.sky-tl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;border-top:1px solid #ffffff1f;padding-top:36px}
.sky-tl-year{color:var(--lime);font-size:clamp(34px,5vw,56px);font-weight:800;line-height:1}
.sky-tl-text{color:#ffffffb8;font-size:13.5px;line-height:1.55;margin-top:10px}
.sky-source{color:#ffffff59;font-size:11px;margin-top:40px}

/* ===== 楼层分布 ===== */
.st-wrap{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.st-building{flex:1.2;min-width:340px}
.st-row{display:flex;gap:10px;align-items:stretch;margin-bottom:6px}
.st-fl{color:var(--tx3);flex:none;align-self:center;width:64px;font-size:12px;font-weight:700}
.st-seg{color:#fff;border-radius:2px;flex:1;display:flex;align-items:center;padding:10px 14px;font-size:12.5px;font-weight:500;line-height:1.3}
.st-sched{flex:1;min-width:300px;background:var(--navy);border-radius:3px;padding:20px}
.st-sched-title{color:#fff;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:20px;font-weight:700;margin-bottom:6px}
.st-sched-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid #ffffff1a;padding:12px 0}
.st-sched-row:last-child{border-bottom:none}
.st-sched-lbl{color:#ffffffe0;font-size:14px;font-weight:500}
.st-sched-area{color:#fff;flex:none;font-size:15px;font-weight:700}
.st-sched-note{color:#ffffff73;font-size:11.5px;margin-top:12px;line-height:1.5}
/* 单元去化矩阵 */
.avail-wrap{margin-top:44px}
.avail-title{color:var(--navy);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700;margin-bottom:12px}
.avail-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line2);border-radius:3px;background:#fff}
table.avail{border-collapse:collapse;width:100%;min-width:640px;font-size:12px}
table.avail th{background:var(--navy);color:#fff;font-weight:600;padding:9px 8px;text-align:center;white-space:nowrap;font-size:11.5px}
table.avail td{border-top:1px solid var(--line);padding:7px 8px;text-align:center;color:var(--tx3);white-space:nowrap}
table.avail td.fl{background:var(--soft);color:var(--navy);font-weight:700}
table.avail td.sold{background:#f0f0f2;color:var(--tx4)}
table.avail td.shell{background:#eaf0f6;color:#1a4e7e;font-weight:600}
table.avail td.show{background:var(--yellow);color:#000;font-weight:700}
.avail-note{color:var(--tx4);font-size:12px;margin-top:10px}
table.avail td.zone{background:var(--navy);color:#fff;font-weight:600;text-align:left;padding-left:16px;letter-spacing:.04em}

/* ===== 物业资料 ===== */
.pa-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start}
.pa-figs{background:var(--navy);border-radius:4px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:1px}
.pa-figs-flat{grid-template-columns:repeat(4,1fr);margin-bottom:34px}
.pa-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.pa-fig{background:var(--navy);border:1px solid #ffffff14;padding:28px 24px}
.pa-fig-num{color:#fff;letter-spacing:-.01em;font-size:40px;font-weight:700;line-height:1}
.pa-fig-num .u{font-size:18px;font-weight:600;color:#ffffff9e}
.pa-fig-unit{color:#ffffff9e;margin-top:12px;font-size:12.5px;font-weight:500;line-height:1.4}
.pa-dl{display:inline-flex;align-items:center;gap:10px;color:#fff;background:var(--navy);border-radius:2px;margin-top:24px;padding:15px 26px;font-size:15px;font-weight:600}
.pa-row{border-bottom:1px solid var(--line);padding:16px 0}
.pa-k{color:var(--tx4);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600}
.pa-v{color:var(--navy);font-size:17px;font-weight:500;line-height:1.4}
.pa-note{color:var(--tx4);margin-top:16px;font-size:12px;line-height:1.5}

/* ===== 流程 ===== */
.pr-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:48px}
.pr-step{padding:0 24px 0 0;position:relative}
.pr-step+.pr-step{padding-left:24px;border-left:1px solid #d5cdc4}
.pr-num{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.1em;margin-bottom:10px}
.pr-phase{color:var(--navy);margin-bottom:6px;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:24px;font-weight:700;line-height:1.2}
.pr-date{color:var(--navy);letter-spacing:.04em;margin-bottom:12px;font-size:13px;font-weight:700}
.pr-item{display:flex;gap:9px;color:var(--tx2);font-size:14px;font-weight:500;line-height:1.45;margin-bottom:8px}
.pr-item:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none;margin-top:7px}
.pr-cta{background:var(--navy);border-radius:3px;padding:34px 38px;position:relative;overflow:hidden;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.pr-cta-bar{background:var(--yellow);width:5px;position:absolute;top:0;bottom:0;left:0}
.pr-cta-title{color:#fff;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:30px;font-weight:700;line-height:1.18}
.pr-cta-sub{color:#ffffffb3;font-size:14px;margin-top:8px}
.pr-cta-btn{display:inline-flex;align-items:center;gap:10px;color:#000;background:var(--yellow);border-radius:2px;flex:none;padding:16px 28px;font-size:16px;font-weight:600}

/* ===== 联系（黄色） ===== */
.ct{text-align:center}
.ct-h2{color:var(--navy);margin:0;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:48px;font-weight:700;line-height:1.06}
.ct-sub{color:#25273ab8;max-width:640px;margin:16px auto 40px;font-size:17px;line-height:1.55}
.agent-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-bottom:44px}
.agent-card{background:#fff;border:1px solid #25273a14;border-radius:10px;display:flex;flex-direction:column;align-items:center;padding:24px 20px 22px;width:270px;box-shadow:0 10px 30px #25273a21}
.agent-photo{background:#f1f1f3;border:3px solid var(--yellow);border-radius:50%;width:92px;height:92px;margin-bottom:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--tx3);font-size:26px;font-weight:700}
.agent-photo img{width:100%;height:100%;object-fit:cover}
.agent-name{color:var(--navy);text-align:center;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:18px;font-weight:700}
.agent-role{color:#6b6d79;text-align:center;margin-top:5px;font-size:13px;font-weight:500}
.agent-btns{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:16px}
.agent-btn{display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;background:var(--navy);border-radius:4px;padding:10px 14px;font-size:12.5px;font-weight:600}
.agent-ic{flex:none;display:block}
.ct-company{color:var(--navy)}
.ct-company .n{font-size:17px;font-weight:700}
.ct-company .t{letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:500;color:#25273a99;margin-top:4px}
.ct-licence{margin-top:14px;padding-top:14px;border-top:1px solid #25273a1f;display:inline-block;color:#25273ab8;font-family:"MiSans","PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;font-weight:600;letter-spacing:.02em}

/* ===== 页脚 ===== */
.foot{background:var(--ink);padding:56px 32px}
.foot-in{max-width:1240px;margin:0 auto}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}
.foot-brand{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.foot-logos{display:flex;align-items:center;gap:14px}
.foot-logo{background:transparent;border-radius:0;display:inline-flex;align-items:center;padding:0}
.foot-logo img{height:34px;width:auto;display:block}
.foot-name{color:#fff;font-size:17px;font-weight:700}
.foot-tag{color:#ffffff73;letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:500}
.foot-disc{color:#fff6;max-width:980px;font-size:12px;line-height:1.65}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:18px}
.foot-copy{color:#ffffff59;font-size:12px;font-weight:400}
.foot-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-family:"MiSans",Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;line-height:1.5}
.foot-links a{color:rgba(255,255,255,.82);text-decoration:none;transition:color .2s ease}
.foot-links a:hover{color:#fff;text-decoration:underline}
.foot-sep{color:#ffffff40}

/* ===== 动效与交互 ===== */
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hero-slide.on{opacity:1;animation:kenburns 8s ease-out forwards}
/* Ken Burns：图片模拟视频的缓推镜头感 */
@keyframes kenburns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.08) translate(-1%,-.6%)}}
@media(prefers-reduced-motion:reduce){.hero-slide.on{animation:none}}
/* 视频轮播帧：不做 Ken Burns（视频本身有镜头运动），黑底防换帧闪白 */
video.hero-slide{background:#0d0e14}
video.hero-slide.on{animation:none}
/* 视频帧播放期间隐藏 Hero 文案区（徽标/标题/副题/按钮）与压暗层，视频完整呈现；图片帧淡回 */
.hero-content,.hero-scrim{transition:opacity .6s ease}
.hero.vid-on .hero-content{opacity:0;pointer-events:none}
.hero.vid-on .hero-scrim{opacity:0}
/* 图片 hover 氛围：缓慢放大 */
.din-photo img,.ev-card-media img,.fc-tile-media img,.sky-card-media img,.br-img img,.room-card .ri img,.lc-thumb img{transition:transform .6s ease}
.din-card:hover .din-photo img,.ev-cards>div:hover .ev-card-media img,.fc-tiles>div:hover .fc-tile-media img,.sky-card:hover .sky-card-media img,.br-panel:hover .br-img img,.room-card:hover .ri img{transform:scale(1.06)}
.din-card,.br-panel{transition:box-shadow .4s ease}
.din-card:hover,.br-panel:hover{box-shadow:0 12px 32px #25273a1f}
/* 真实地图（Leaflet）打点 */
.lc-map{aspect-ratio:auto}
.lc-map-canvas{width:100%;height:460px;z-index:1}
.lc-geopin{position:relative;width:0;height:0;cursor:pointer}
.lc-geopin em{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-style:normal;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 8px #00000059;z-index:2;position:absolute}
.lc-geopin.on em{background:var(--lime);color:var(--ink2)}
.lc-geopin i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;border:3px solid var(--lime);box-shadow:0 0 0 3px #25273a66,0 0 18px 4px #c2d72eb3;opacity:0;transition:opacity .3s}
.lc-geopin.on i{opacity:1;animation:lcPulse 1.4s ease-in-out infinite}
/* 地点名标签：序号右侧（奇数项放左侧错位防重叠），中文页中文/英文页英文（取自各语言数据） */
.lc-geolbl{position:absolute;left:16px;top:50%;transform:translateY(-50%);background:#fff;color:var(--navy,#25273A);border:1px solid #25273a33;border-radius:2px;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.35;white-space:nowrap;box-shadow:0 2px 8px #00000033;pointer-events:none;z-index:3}
.lc-geopin.alt .lc-geolbl{left:auto;right:16px}
.lc-geopin.on .lc-geolbl{background:var(--lime,#C2D72E);color:var(--ink2,#15161f);border-color:transparent}
.lc-prop{position:relative;transform:translate(-50%,-100%);background:var(--yellow);color:#000;border-radius:2px;padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px #00000040;display:flex;gap:6px;align-items:center}
.lc-prop:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--yellow);border-bottom:none}
.lc-map-bar{position:absolute;z-index:500;left:0;right:0;bottom:0}
/* 通用多图轮播 */
.car{position:absolute;inset:0}
.br-img .car,.din-photo .car,.ev-card-media .car,.fc-tile-media .car{position:absolute;inset:0}
.car>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease}
.car>img.on{opacity:1}
.car-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px;z-index:2}
.car-dots span{width:7px;height:7px;border-radius:50%;background:#ffffff73;transition:background .3s}
.car-dots span.on{background:var(--yellow)}
/* 轮播左右箭头（复刻参考站 slider arrow） */
.sl-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;border:none;background:transparent;color:#fff;font-size:38px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 6px #00000073;transition:opacity .3s;opacity:.75;padding:0}
.sl-arrow:hover{opacity:1}
.sl-arrow.prev{left:10px}
.sl-arrow.next{right:10px}
.sl-arrow.sm{width:32px;height:32px;font-size:26px}
.sl-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px;z-index:3}
.sl-dots span{width:9px;height:9px;border-radius:50%;background:#ffffff66;cursor:pointer;transition:background .3s}
.sl-dots span.on{background:#fff}
.car-dots span{cursor:pointer}
.hero-slides .sl-dots{bottom:18px}
@keyframes lcPulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.9}50%{transform:translate(-50%,-50%) scale(1.18);opacity:.45}}
.lc-map-bar{display:flex;align-items:center;gap:10px}
.lc-map-badge{background:var(--lime);color:var(--ink2);border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}
.lc-map-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 地点卡片：参照 sheraton.sav.deals —— 深色面板、通栏大图在上、青柠编号角标、选中青柠描边 */
.lc-dest{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;gap:12px;align-content:start;margin-bottom:8px}
.lc-geomap{position:sticky;top:76px}
.lc-card{display:block;min-width:0;background:var(--ink2);border:1px solid var(--line2);border-radius:3px;overflow:hidden;padding:0;cursor:pointer;transition:border-color .3s,filter .3s}
.lc-card:hover{filter:brightness(1.12)}
.lc-card.on{border-color:var(--lime)}
.lc-thumb{position:relative;width:100%;height:96px;border-radius:0;overflow:hidden;background:var(--ink3)}
.lc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lc-cardnum{position:absolute;top:10px;left:10px;background:var(--lime);color:var(--ink2);border-radius:50%;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;box-shadow:0 2px 6px #00000059}
.lc-cardtext{display:block;padding:10px 12px 12px}
.lc-cardname{display:block;color:#fff;font-size:16px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.lc-carddesc{display:block;color:#ffffff99;font-size:13px;font-weight:400;margin-top:5px;line-height:1.5;overflow-wrap:anywhere}
/* 餐饮双色 Tag 主题（金/蓝交替） */
.din-cuisine.t-gold{color:#8a6d3b;background:#f3efe7}
.din-cuisine.t-blue{color:#1a4e7e;background:#eaf0f6}
.din-floor.t-gold{background:#8a6d3bcc}
.din-floor.t-blue{background:#1a4e7ecc}
/* 灯箱 */
.lb{position:fixed;inset:0;z-index:1000;background:#0d0e14f0;display:none;align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:88vw;max-height:86vh;object-fit:contain;border-radius:3px;box-shadow:0 20px 60px #000c}
.lb-x{position:absolute;top:18px;right:22px;background:transparent;border:none;color:#fffc;font-size:26px;cursor:pointer;z-index:2}
.lb-x:hover{color:#fff}
.lb-a{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;width:52px;height:52px;color:#fff;font-size:32px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.lb-a:hover{background:#ffffff29}
.lb-a.prev{left:22px}
.lb-a.next{right:22px}
.lb-n{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#ffffff8c;font-size:12px;letter-spacing:.1em}
/* Sky 视差基态 */
.sky-heroimg{transform:scale(1.16);will-change:transform}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.lc-pin.on i{animation:none}}

/* ===== 响应式 ===== */
@media(max-width:991px){
  .nav-links{display:none}
  .nav-burger{display:flex}
  .din-grid,.ev-cards{grid-template-columns:repeat(2,1fr)}
  .lc-grid,.pa-grid,.br-grid{grid-template-columns:1fr}
  .pr-steps{grid-template-columns:1fr;gap:28px}
  .pr-step+.pr-step{border-left:none;padding-left:0}
}
@media(max-width:767px){
  .section{padding:48px 20px}
  .hero h1{font-size:34px}
  h2.h2{font-size:32px}
  .ct-h2{font-size:34px}
  .stats-grid{grid-template-columns:1fr 1fr}
  .din-grid,.ev-cards{grid-template-columns:1fr}
  .ticks{grid-template-columns:1fr}
  .lc-times-grid,.lc-times-flat{grid-template-columns:repeat(2,1fr)}
  .pa-figs-flat{grid-template-columns:1fr 1fr}
  .pa-rows{grid-template-columns:1fr}
  .lc-map-canvas{height:340px}
  .lc-geomap{position:relative;top:auto}
  .hero-content{left:20px;right:20px;bottom:28px}
  .ev-hero,.fc-hero{aspect-ratio:16/10;min-height:0;max-width:100%}
  .ev-hero-name{left:16px;right:16px;bottom:14px;font-size:16px;line-height:1.35}
  .ev-hero-floor{top:10px;left:10px;font-size:10px}
  .fc-hero-name{font-size:16px}
  .fc-hero-text{font-size:11px}
  .ev-stat{flex:1 1 50%;min-width:0;padding:14px 16px}
  .ev-stat-num{font-size:24px}
  .ev-stat-num .u{font-size:13px}
  .ev-stat-unit{font-size:11px;margin-top:4px}
  .ev-stat:nth-child(2n){border-right:none}
  .hero-partner{padding:5px 9px;margin-bottom:10px}
  .hero-partner img{height:20px}
  .hero h1{font-size:30px}
  .hero-sub{font-size:14px}
  .badge-y,.badge-g{font-size:11px;padding:4px 8px}
  .band{height:38vh;min-height:220px}
  .band-cap{left:20px;right:20px;bottom:20px}
  .band-title{font-size:20px}
  .ota-row{gap:6px}
  .ota-chip{padding:5px 8px}
  .ota-name{font-size:10.5px}
  .ota-score{font-size:12px}
  .stat-num{font-size:30px}
  .lb-a{width:40px;height:40px;font-size:24px}
  .lb-a.prev{left:8px}.lb-a.next{right:8px}
}

/* ===== 法务页面（隐私政策/条款和细则） ===== */
.section.legal{padding-top:132px;min-height:calc(100vh - 240px)}
.legal-inner{max-width:860px}
.legal-bodytext{color:var(--tx2);font-size:15px;line-height:1.85}
.legal-bodytext p{margin:0 0 16px}
.legal-h3{color:var(--tx);font-size:18px;font-weight:700;margin:30px 0 12px}
.legal-ul{margin:0 0 16px 20px}
.legal-ul li{margin-bottom:6px}
@media(max-width:767px){.section.legal{padding-top:104px}}
.agent-licence{margin-top:10px;font-size:12px;color:#25273a99;font-weight:600;letter-spacing:.02em}

/* ===== 投资清单首页（savills.deals）—— Dribbble 作品集式，遵循 DESIGN.md 规范 ===== */
.pf-page{background:#fff}
/* Hero：通栏大图 + 居中文案（Playfair H1 44/49 规范） */
.pf-hero{position:relative;height:62vh;min-height:420px;max-height:640px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pf-hero-img{position:absolute;left:0;top:0;right:0;bottom:0;inset:0;width:100%;height:100%;object-fit:cover}
.pf-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#25273a80 0%,#25273a4d 45%,#25273a99 100%)}
.pf-hero-c{position:relative;z-index:2;text-align:center;padding:88px 24px 24px;max-width:820px}
.pf-eyebrow{color:var(--yellow);font-family:"MiSans","PingFang SC",sans-serif;font-size:12px;font-weight:600;letter-spacing:.5em;text-indent:.5em;margin-bottom:14px}
.pf-h1{color:#fff;font-family:"MiSans","PingFang SC",Georgia,serif;font-size:44px;font-weight:700;line-height:1.12;margin:0 0 12px;text-shadow:0 2px 24px #25273a66}
.pf-sub{color:#ffffffd0;font-size:16px;line-height:1.6}
/* 顶部城市菜单（Icon + 城市名） */
.pf-nav a{display:inline-flex;align-items:center;gap:6px}
.pf-nav svg{opacity:.75}
/* 列表区 */
.pf-list{padding:40px 32px 88px}
.pf-inner{max-width:1240px;margin:0 auto}
.pf-filters{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:36px}
.pf-tabs{display:flex;flex-wrap:wrap;gap:8px}
.pf-tab{border:1px solid #B9C4D4;background:#fff;border-radius:2px;padding:10px 18px;font-family:"MiSans","PingFang SC",sans-serif;font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--tx2);cursor:pointer;transition:all .2s;line-height:20px}
.pf-tab:hover{border-color:var(--navy);color:var(--navy)}
.pf-tab.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pf-rightfilters{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
/* 业态下拉筛选：与 city tab 同色系的描边胶囊，右侧箭头 */
.pf-typefilter{position:relative;display:inline-flex;align-items:center}
.pf-select{appearance:none;-webkit-appearance:none;border:1px solid #B9C4D4;background:#fff;border-radius:2px;padding:10px 34px 10px 16px;font-family:"MiSans","PingFang SC",sans-serif;font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--tx2);cursor:pointer;line-height:20px;transition:all .2s}
.pf-select:hover{border-color:var(--navy)}
.pf-select:focus{outline:none;border-color:var(--navy)}
.pf-selarrow{position:absolute;right:12px;color:var(--tx3);pointer-events:none}
.pf-agfilter{display:flex;gap:2px}
.pf-ag{border:none;background:none;padding:10px 14px;font-family:"MiSans","PingFang SC",sans-serif;font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--tx3);cursor:pointer;border-bottom:2px solid transparent;line-height:20px}
.pf-ag.on{color:var(--navy);border-bottom-color:var(--yellow)}
/* 卡片网格：3 列 · 32px 间距（Dribbble shot 布局） */
/* 🔴 必须用 minmax(0,1fr) 而不是 1fr：1fr 等价于 minmax(auto,1fr)，网格项压不到 min-content 以下，
   英文项目名/数据行更长的那一列就会被撑宽 —— 实测中文 414/439/381、英文 453/610/428，封面自然大小不一。
   同一类坑 §4.11 在地图卡片 .lc-dest 上踩过一次。配套：网格项 min-width:0，内部文字允许收缩。 */
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
.pf-card{display:block;color:inherit;text-decoration:none;min-width:0}
.pf-card>*{min-width:0}
.pf-card.soon{cursor:default}
/* 封面：4:3 圆角大图为主角，悬停轻抬 + 渐变浮层 */
/* 4:3 用 padding 撑高（不用 aspect-ratio——微信 X5 / 旧 iOS 不支持会塌陷），图与占位绝对定位铺满 */
.pf-shot{position:relative;border-radius:8px;overflow:hidden;background:var(--soft);box-shadow:0 1px 3px #25273a14;transition:box-shadow .3s,transform .3s}
.pf-shot:before{content:"";display:block;padding-top:75%}
.pf-card:hover .pf-shot{box-shadow:0 16px 36px #25273a2e;transform:translateY(-4px)}
/* 卡片封面：图已在发布/预览时统一裁成 4:3（lib/imgopt.ts buildCardCover），
   所以即便老内核不支持 object-fit，被拉满整个盒子也不会变形、不会留边 */
.pf-shot picture{display:block}
.pf-shot img{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transition:transform .5s;background:var(--soft)}
.pf-card:hover .pf-shot img{transform:scale(1.04)}
.pf-card.sold .pf-shot img{filter:grayscale(.85)}
.pf-noimg{position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(135deg,var(--cream),#d5cdc4)}
/* 悬停浮层：此前缺基础样式（未定位、默认可见）——桌面悬停不出现、移动端挤出图片框 */
.pf-hover{position:absolute;left:0;top:0;right:0;bottom:0;z-index:3;display:flex;align-items:flex-end;background:linear-gradient(180deg,#25273a00 32%,#25273ae0 100%);opacity:0;transition:opacity .3s;pointer-events:none}
.pf-status{position:absolute;top:14px;left:14px;z-index:2;border-radius:2px;padding:6px 12px;font-family:"MiSans","PingFang SC",sans-serif;font-size:12px;font-weight:600;letter-spacing:.5px;line-height:20px}
.st-avail{background:var(--yellow);color:#000}
.st-offer{background:#2E86C1;color:#fff}
.st-sold{background:#5F676F;color:#fff}
/* 图片左下角双语标签：城市 + 业态 */
.pf-tags{position:absolute;left:14px;bottom:14px;z-index:2;display:flex;flex-wrap:wrap;gap:6px}
.pf-tag{border-radius:2px;padding:4px 10px;font-family:"MiSans","PingFang SC",sans-serif;font-size:11px;font-weight:600;letter-spacing:.4px;line-height:16px;backdrop-filter:blur(4px)}
.pf-tag-city{background:#25273acc;color:#fff}
.pf-tag-type{background:#ffffffe6;color:var(--navy)}
.pf-card:hover .pf-tags{opacity:0;transition:opacity .3s}
.pf-card:hover .pf-hover{opacity:1}
.pf-hover-in{padding:20px}
.pf-tagline{color:#ffffffd6;font-size:14px;line-height:20px;margin:0 0 10px;font-weight:500}
.pf-cta{display:inline-block;background:var(--yellow);color:#000;border-radius:2px;padding:9px 16px;font-size:12px;font-weight:600;letter-spacing:.5px;line-height:20px}
.pf-card.soon .pf-cta{background:#ffffff2e;color:#fff}
/* 图下元信息：两行，行高与间距按 8px 网格 */
.pf-meta{padding:14px 2px 0;min-height:52px}  /* 文字区定高 → 整卡高度一致，不因项目名换行而参差 */
.pf-row1{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.pf-name{min-width:0;flex:1 1 auto;color:var(--navy);font-size:16px;font-weight:700;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-agency{flex:none;color:var(--gold,#8A6D3B);background:#f3efe7;border-radius:2px;padding:2px 8px;font-size:10px;font-weight:600;letter-spacing:.5px;line-height:16px;text-transform:uppercase}
.pf-agency.joint{color:#1A4E7E;background:#eaf0f6}
.pf-row2{display:flex;align-items:center;gap:10px;margin-top:4px;min-width:0;color:var(--tx3);font-size:12px;line-height:20px;font-weight:500}
.pf-city{color:var(--tx2);font-weight:600}
.pf-stats{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-stat b{color:var(--tx2);font-weight:700}
.pf-dot{width:3px;height:3px;border-radius:50%;background:#C7C7C7;flex:none}
.pf-empty{text-align:center;color:var(--tx4);padding:80px 0;font-size:14px;line-height:20px}
@media(max-width:991px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.pf-h1{font-size:36px}.pf-hero{padding:124px 24px 44px}.pf-list{padding:32px 24px 64px}}
@media(max-width:640px){.pf-grid{grid-template-columns:1fr;gap:32px}.pf-h1{font-size:30px}.pf-hero{padding:108px 20px 36px}.pf-list{padding:24px 20px 56px}.pf-filters{margin-bottom:24px}
/* 手机上卡片数据行不再截断：允许换行显示全部指标 */
.pf-row2{flex-wrap:wrap}.pf-stats{white-space:normal;overflow:visible;flex-wrap:wrap;row-gap:2px}.pf-stat{white-space:nowrap}
.pf-meta{min-height:86px}}  /* 手机端数据行可换两行，文字区相应加高，整卡仍等高 */

/* ===== 酒店标的右侧楼层图（金色=交易标的相关，浅灰=非交易部分） ===== */
.br-floormap{background:#fff;border:1px solid var(--line);border-radius:3px;padding:24px 26px;display:flex;flex-direction:column}
.br-fm-title{color:var(--navy);font-size:16px;font-weight:700;margin-bottom:16px}
.br-fm-body{display:flex;flex-direction:column;gap:5px;flex:1}
.br-fm-body .br-fm-row{flex:1;min-height:32px}
.br-fm-body .br-fm-segs{align-items:stretch}
.br-fm-row{display:flex;align-items:stretch;gap:12px}
.br-fm-fl{flex:none;width:58px;color:var(--tx3);font-size:12.5px;font-weight:600;display:flex;align-items:center;justify-content:flex-end;text-align:right}
.br-fm-segs{flex:1;display:flex;gap:4px;min-width:0}
.br-fm-seg{min-width:0}
.br-fm-seg{flex:1;background:#ECECEF;color:var(--tx2);font-size:12px;font-weight:500;padding:9px 10px;min-height:32px;line-height:1.45;border-radius:2px;display:flex;align-items:center;justify-content:center;text-align:center}
.br-fm-seg.blank{background:transparent}
.br-fm-seg.fmh{background:transparent;color:var(--tx3);font-size:10px;font-weight:600;justify-content:center;text-align:center;padding:2px;min-height:auto;line-height:1.35}
.br-fm-seg.on{background:#948A54;color:#fff;font-weight:600}
.br-fm-note{color:var(--tx4);font-size:11px;margin-top:14px;line-height:1.6}
@media(max-width:767px){
.br-fm-fl{width:44px;font-size:10.5px}
.br-fm-seg{font-size:10px;padding:7px 5px;min-width:36px}
.br-fm-seg.fmh{font-size:9px;padding:2px 1px;min-width:36px}
.br-floormap{overflow-x:auto}
.br-fm-body{min-width:430px}
}
