﻿/* ============================================
   熊猫安家 — 杂志编辑式排版 V9
   Editorial Layout
   · 字号跨度极大：11px micro  ↔  140px mega
   · 图片尺寸悬殊（大图 + 小卡）
   · 错位对齐（figure 与 text 故意错开）
   · 极简白 + 金色点缀
   · 大圆角（24-32px）
   · 1px 细线分割
   · 微型小标签（11px，灰色大写）
   ============================================ */

/* ---- CSS Variables ---- */
:root {
  /* 主调：极简白系 */
  --bg:          #fafaf7;        /* 主背景 · 暖白 */
  --bg-alt:      #f2f0ea;        /* 副背景 · 浅米 */
  --bg-card:     #ffffff;        /* 卡片白 */
  --bg-placeholder: #ebe9e3;      /* 灰卡占位 */
  --bg-dark:     #141210;        /* Hero 深色 */

  /* 品牌 · 金色系（极小面积使用） */
  --gold:        #b8925a;
  --gold-light:  #d4af72;
  --gold-soft:   rgba(184,146,90,0.12);
  --gold-line:   rgba(184,146,90,0.22);
  --accent:      #7a3232;        /* 酒红 · 极少用 */

  /* 文字 */
  --text:        #141210;
  --text-mid:    rgba(20,18,16,0.62);
  --text-dim:    rgba(20,18,16,0.38);
  --text-faint:  rgba(20,18,16,0.22);

  /* 分割线 · 极细 */
  --line:        rgba(20,18,16,0.08);
  --line-2:      rgba(20,18,16,0.12);

  /* 字体 */
  --font-display: 'Playfair Display', 'Noto Serif SC', 'Songti SC', serif;
  --font-body:    'Noto Serif SC', 'Georgia', 'Songti SC', serif;
  --font-sans:    -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Microsoft YaHei', sans-serif;

  /* 间距 / 容器 */
  --section-pad: 11rem;
  --container:   1320px;
  --gutter:      3rem;
  --radius-lg:   32px;
  --radius-md:   24px;
  --radius-sm:   12px;
}

/* ---- Reset ---- */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { scroll-behavior:smooth; font-size:16px; }
body  {
  font-family:var(--font-body);
  color:var(--text);
  background:var(--bg);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a     { color:var(--gold); text-decoration:none; transition:color 0.3s, opacity 0.3s; }
a:hover { color:var(--accent); }
img   { max-width:100%; display:block; }
ul,ol { list-style:none; }
h1,h2,h3,h4 { font-family:var(--font-display); font-weight:400; letter-spacing:-0.02em; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }

/* ---- Container ---- */
.container { max-width:var(--container); margin:0 auto; padding:0 var(--gutter); }

/* =============================================
   HEADER · 极简白 + 金色 hover
   ============================================= */
#header {
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  display:flex; align-items:center; justify-content:flex-start;
  padding:1.6rem var(--gutter);
  background:transparent;
  transition:background 0.4s, padding 0.4s, backdrop-filter 0.4s;
  gap:2rem;
}
nav { margin-left:auto; }
#header.scrolled {
  background:rgba(250,250,247,0.92);
  backdrop-filter:blur(16px);
  padding:0.9rem var(--gutter);
  box-shadow:0 1px 0 var(--line);
}
.logo { display:flex; align-items:center; gap:0.7rem; }
.logo img {
  height:36px; width:auto; object-fit:contain;
  background:transparent;
  mix-blend-mode:normal;
}
.logo span {
  font-family:var(--font-display); font-size:1.4rem;
  color:var(--text); letter-spacing:0.06em;
}
#header:not(.scrolled) .logo span { color:#fff; }
#header:not(.scrolled) .logo img {
  /* multiply混合：白底变透明，图标和文字自然显示 */
  mix-blend-mode: multiply;
  filter: brightness(1.1);
  background: transparent;
}
#header:not(.scrolled) nav a { color:rgba(255,255,255,0.75); }
#header:not(.scrolled) nav a:hover,
#header:not(.scrolled) nav a.active { color:#fff; }
nav ul { display:flex; gap:2.8rem; }
nav a {
  font-size:0.95rem; letter-spacing:0.12em;
  color:var(--text-mid);
  transition:color 0.3s; position:relative; font-family:var(--font-sans);
}
nav a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:1px; background:var(--gold);
  transition:width 0.35s ease;
}
nav a:hover, nav a.active { color:var(--text); }
nav a:hover::after, nav a.active::after { width:100%; }
.hamburger { display:none; flex-direction:column; gap:5px; z-index:1001; }
.hamburger span { width:24px; height:1.5px; background:var(--text); transition:0.3s; }
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(6px,-6px); }
.mobile-nav {
  position:fixed; top:0; left:0; width:100%; height:100vh;
  background:var(--bg); display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:2.5rem;
  z-index:999; opacity:0; pointer-events:none; transition:opacity 0.4s;
}
.mobile-nav.open { opacity:1; pointer-events:all; }
.mobile-nav a { font-family:var(--font-display); font-size:2rem; color:var(--text); letter-spacing:0.04em; }

/* =============================================
   HERO · 极简白底 + 巨型标题
   · 不用视频背景，改用极简白
   · 左侧巨型衬线标题 + 右侧大图
   · 大圆角、错位布局
   ============================================= */
.hero {
  position:relative; min-height:100vh;
  padding:14rem 0 8rem;
  background:var(--bg);
  overflow:hidden;
}
.hero-grid {
  display:grid; grid-template-columns:1.05fr 1fr;
  gap:5rem; align-items:end;
  max-width:var(--container); margin:0 auto;
  padding:0 var(--gutter);
}
/* 左：标题区 */
.hero-eyebrow {
  display:flex; align-items:center; gap:0.8rem;
  font-size:0.7rem; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold); margin-bottom:2.5rem;
  font-family:var(--font-sans);
}
.hero-eyebrow::before {
  content:''; width:32px; height:1px; background:var(--gold);
}
.hero-title {
  font-family:var(--font-display);
  font-size:clamp(4.5rem, 12vw, 11rem);
  font-weight:400;
  color:var(--text);
  line-height:0.88;
  letter-spacing:-0.04em;
  margin-bottom:2.8rem;
}
.hero-title .italic { font-style:italic; }
.hero-title .gold { color:var(--gold); }
.hero-sub {
  font-size:clamp(0.95rem, 1.1vw, 1.05rem);
  color:var(--text-mid);
  line-height:1.95;
  margin-bottom:3.5rem;
  max-width:460px;
  font-family:var(--font-sans);
}
.hero-cta { display:flex; gap:1rem; flex-wrap:wrap; }
.hero-meta {
  display:flex; gap:2.5rem; margin-top:5rem;
  padding-top:2rem; border-top:1px solid var(--line);
  max-width:480px;
}
.hero-meta-item .meta-num {
  font-family:var(--font-display);
  font-size:2rem; color:var(--text); line-height:1;
  display:block; margin-bottom:0.3rem;
}
.hero-meta-item .meta-label {
  font-size:0.68rem; color:var(--text-dim);
  letter-spacing:0.12em; text-transform:uppercase;
  font-family:var(--font-sans);
}
.hero-meta-statement {
  display:block;
}
.hero-meta-statement span {
  display:inline-block;
  font-family:var(--font-display);
  font-size:clamp(1.45rem, 2vw, 2.1rem);
  line-height:1.25;
  color:var(--gold);
  letter-spacing:0;
}

/* 右：图组 · 故意错位 */
.hero-visual {
  position:relative; aspect-ratio:4/5;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--bg-placeholder);
  margin-bottom:-3rem;            /* 故意向下溢出 */
  margin-right:-3rem;             /* 故意向右溢出 */
  box-shadow:0 30px 80px rgba(20,18,16,0.08);
}
/* 视频模式下右侧图片区背景透明，不遮挡视频 */
.hero.hero-video .hero-visual {
  background:transparent;
  box-shadow:none;
  border:1px solid rgba(255,255,255,0.15);
}
.hero-visual img { width:100%; height:100%; object-fit:cover; }
/* 右上小卡片 · 漂浮 */
.hero-float-card {
  position:absolute; top:2rem; right:-2rem;
  background:var(--bg-card); padding:1rem 1.4rem;
  border-radius:14px; box-shadow:0 16px 40px rgba(20,18,16,0.08);
  display:flex; align-items:center; gap:0.7rem;
  z-index:3;
  font-family:var(--font-sans);
}
.hero-float-card .dot {
  width:8px; height:8px; border-radius:50%; background:var(--gold);
}
.hero-float-card span {
  font-size:0.72rem; color:var(--text);
  letter-spacing:0.08em;
}

/* 底部小标识：滚动 */
.hero-scroll-hint {
  position:absolute; bottom:3rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:0.5rem;
  color:var(--text-dim); font-size:0.62rem;
  letter-spacing:0.25em; text-transform:uppercase;
  font-family:var(--font-sans);
  z-index:3;
  animation:scrollPulse 2.5s ease-in-out infinite;
}
.hero-scroll-hint .arrow { animation:scrollArrow 1.8s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100%{opacity:0.3} 50%{opacity:0.7} }
@keyframes scrollArrow { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }

/* =============================================
   section 通用 · 大留白
   ============================================= */
section { padding:var(--section-pad) 0; position:relative; }
.section-header {
  margin-bottom:6rem;
  padding-left:6rem;
}
.section-header .micro-label {
  font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:1.5rem;
  font-family:var(--font-sans);
}
.section-header .micro-label::before {
  content:''; display:inline-block; width:24px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.8rem;
}
.section-title-xl {
  font-family:var(--font-display);
  font-size:clamp(3rem, 8.5vw, 7.5rem);
  color:var(--text); line-height:0.92;
  letter-spacing:-0.035em;
  font-weight:400;
}
.section-title-xl .italic { font-style:italic; color:var(--gold); }
.section-sub {
  font-size:0.95rem; color:var(--text-mid);
  line-height:1.95; max-width:480px;
  margin-top:1.8rem;
  font-family:var(--font-sans);
}

/* =============================================
   Editorial 图文交错区 · 核心
   · 文字贴左上 / 图片右下（故意错开）
   · 图片尺寸远大于文字块
   ============================================= */
.editorial-free {
  display:grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap:5rem;
  max-width:var(--container);
  margin:0 auto 14rem;
  padding:0 var(--gutter);
  align-items:start;
}
.editorial-free:last-of-type { margin-bottom:0; }
.editorial-free.reverse { grid-template-columns: 1.15fr 0.85fr; }
.editorial-free.reverse .ef-text { order:2; }
.editorial-free.reverse .ef-visual { order:1; }

.ef-text { padding-top:5rem; }
.ef-text .micro-label {
  font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:1.8rem;
  font-family:var(--font-sans);
}
.ef-text .micro-label::before {
  content:''; display:inline-block; width:24px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.8rem;
}
.ef-heading {
  font-family:var(--font-display);
  font-size:clamp(2.2rem, 4.2vw, 3.4rem);
  color:var(--text); line-height:1.05; margin-bottom:0.5rem;
  font-weight:400;
}
.ef-en {
  font-family:var(--font-display); font-style:italic;
  font-size:0.95rem; color:var(--gold); letter-spacing:0.04em;
  margin-bottom:2.5rem; display:block;
}
.ef-body {
  font-size:0.95rem; line-height:2.1; color:var(--text-mid);
  max-width:420px;
  font-family:var(--font-sans);
}
.ef-body p { margin-bottom:1.2rem; }
.ef-visual {
  position:relative; aspect-ratio:4/5;
  border-radius:var(--radius-lg);
  overflow:hidden; background:var(--bg-placeholder);
  box-shadow:0 20px 60px rgba(20,18,16,0.06);
}
.ef-visual img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 1s cubic-bezier(0.25,0.46,0.45,0.94);
}
.ef-visual:hover img { transform:scale(1.04); }
/* 视觉内的小标签（左上） */
.ef-visual .pic-tag {
  position:absolute; top:1.4rem; left:1.4rem;
  background:rgba(255,255,255,0.92); backdrop-filter:blur(8px);
  padding:0.4rem 0.9rem; border-radius:8px;
  font-size:0.66rem; color:var(--text);
  letter-spacing:0.16em; text-transform:uppercase;
  font-family:var(--font-sans);
}
/* 错位小卡 · 漂浮在主图边缘 */
.ef-float {
  position:absolute; bottom:-2.5rem; right:-2.5rem;
  width:160px; aspect-ratio:1;
  border-radius:18px; overflow:hidden;
  background:var(--bg-placeholder);
  box-shadow:0 20px 50px rgba(20,18,16,0.1);
}
.editorial-free.reverse .ef-float { right:auto; left:-2.5rem; }
.ef-float img { width:100%; height:100%; object-fit:cover; }

/* =============================================
   3 图组 · 错位分布
   · 中间大，两侧小
   · 中间图往上/下偏移
   ============================================= */
.trio-grid {
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr;
  gap:1.2rem;
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
  align-items:start;
}
.trio-item {
  border-radius:var(--radius-md);
  overflow:hidden; background:var(--bg-placeholder);
  position:relative;
}
.trio-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.8s; }
.trio-item:hover img { transform:scale(1.05); }
/* 两侧小：4:5 比例 */
.trio-item.sm { aspect-ratio:4/5; }
.trio-item.sm.top { transform:translateY(0); }
.trio-item.sm.bottom { margin-top:6rem; aspect-ratio:4/5; }
/* 中间大：1:1 比例，向下偏移一点 */
.trio-item.lg {
  aspect-ratio:1/1; margin-top:3rem;
}
.trio-item .pic-tag {
  position:absolute; top:1rem; left:1rem;
  background:rgba(255,255,255,0.92); backdrop-filter:blur(8px);
  padding:0.35rem 0.8rem; border-radius:6px;
  font-size:0.62rem; color:var(--text);
  letter-spacing:0.18em; text-transform:uppercase;
  font-family:var(--font-sans);
}

/* =============================================
   数据看板 · 浅色底 · 极简
   ============================================= */
#data-dashboard { background:var(--bg); padding:7rem 0; }
.data-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  max-width:900px; margin:0 auto; padding:0 var(--gutter);
}
.data-item {
  text-align:left; padding:0 2rem;
  border-left:1px solid var(--line);
  transition:transform 0.4s;
}
.data-item:first-child { border-left:none; padding-left:0; }
.data-item:hover { transform:translateY(-4px); }
.counter {
  font-family:var(--font-display);
  font-size:clamp(3.5rem, 7vw, 5.5rem);
  color:var(--text); line-height:1;
  display:inline-block; font-weight:400;
}
.data-unit {
  font-family:var(--font-display);
  font-size:clamp(1.6rem, 3vw, 2.4rem);
  color:var(--gold); margin-left:0.1em;
}
.data-label {
  font-size:0.72rem; color:var(--text-mid); margin-top:1.2rem;
  letter-spacing:0.05em; line-height:1.6;
  font-family:var(--font-sans);
}
.data-label .en {
  display:block; font-size:0.62rem; color:var(--text-dim);
  margin-top:0.3rem; letter-spacing:0.12em;
}

/* =============================================
   价值观 · 错位纯文本
   · 偶数项靠右
   · 1px 细线
   ============================================= */
#values {
  background:#dde1d8;
  color:#141210;
}
.values-free { max-width:880px; margin:0 auto; padding:0 var(--gutter); }
.vf-item {
  padding:5rem 0;
  border-bottom:1px solid rgba(20,18,16,0.12);
  transition:padding 0.4s;
}
.vf-item:first-child { border-top:1px solid rgba(20,18,16,0.12); }
.vf-item:hover { padding-left:1.5rem; }
.vf-item:nth-child(even):hover { padding-left:0; padding-right:1.5rem; }
/* 偶数项靠右 */
.vf-item:nth-child(even) { text-align:right; }
.vf-item:nth-child(even) .vf-inner { display:inline-block; text-align:left; max-width:600px; }
.vf-item:nth-child(odd)  .vf-inner { display:inline-block; text-align:left; max-width:650px; }
.vf-item h4 {
  font-family:var(--font-display);
  font-size:clamp(1.6rem, 2.8vw, 2.2rem);
  color:var(--text); margin-bottom:0.5rem;
  font-weight:400;
}
.vf-item .vf-en {
  font-size:0.65rem; color:var(--gold); letter-spacing:0.18em;
  text-transform:uppercase; margin-bottom:1.5rem; display:inline-block;
  font-family:var(--font-sans);
}
.vf-item .vf-en::before {
  content:''; display:inline-block; width:18px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.7rem;
}
.vf-item:nth-child(even) .vf-en::after {
  content:''; display:inline-block; width:18px; height:1px;
  background:var(--gold); vertical-align:middle; margin-left:0.7rem;
}
.vf-item p {
  font-size:0.92rem; line-height:2.05; color:var(--text-mid);
  font-family:var(--font-sans);
}

/* =============================================
   六大优势 · 1行1项 · 1px 细线分割
   · 左大标题 + 右描述
   ============================================= */
#advantages { background:var(--bg); }
.adv-free { max-width:1000px; margin:0 auto; padding:0 var(--gutter); }
.af-item {
  padding:5rem 0;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:6rem;
  align-items:start;
  transition:padding 0.4s;
}
.af-item:first-child { border-top:1px solid var(--line); }
.af-item:hover { padding-left:1.2rem; }
/* 偶数项反向 */
.af-item:nth-child(even) { grid-template-columns:1.4fr 1fr; }
.af-item:nth-child(even):hover { padding-left:0; padding-right:1.2rem; }
.af-item:nth-child(even) .af-text { order:2; }
.af-item:nth-child(even) .af-deco { order:1; }
.af-text h4 {
  font-family:var(--font-display);
  font-size:clamp(1.5rem, 2.6vw, 2rem);
  color:var(--text); margin-bottom:1.2rem;
  font-weight:400;
}
.af-text p {
  font-size:0.92rem; line-height:2.05; color:var(--text-mid);
  max-width:480px; font-family:var(--font-sans);
}
/* 装饰：细金线 + 微型编号 */
.af-deco {
  display:flex; align-items:baseline; gap:0.8rem;
  font-family:var(--font-display);
}
.af-deco .num {
  font-size:clamp(1.4rem, 2.2vw, 1.8rem);
  color:var(--gold); font-style:italic;
}
.af-deco .line {
  flex:1; height:1px;
  background:linear-gradient(to right, var(--gold-line), transparent);
  max-width:80px;
}
.af-item:nth-child(even) .af-deco .line {
  background:linear-gradient(to left, var(--gold-line), transparent);
}

/* =============================================
   5图作品画廊（替代原3D画廊，更编辑感）
   · 横向 5 图，尺寸不一
   · 灰卡占位
   ============================================= */
#gallery {
  background:var(--bg-alt);
  overflow:hidden;
}
.gallery-strip {
  display:flex; gap:1.2rem;
  padding:0 var(--gutter);
  max-width:1600px; margin:0 auto;
  overflow-x:auto; scrollbar-width:none;
}
.gallery-strip::-webkit-scrollbar { display:none; }
.gallery-tile {
  flex-shrink:0;
  border-radius:var(--radius-md);
  overflow:hidden; background:var(--bg-placeholder);
  position:relative;
}
.gallery-tile img { width:100%; height:100%; object-fit:cover; transition:transform 0.8s; }
.gallery-tile:hover img { transform:scale(1.06); }
.gallery-tile .pic-tag {
  position:absolute; top:1rem; left:1rem;
  background:rgba(255,255,255,0.9);
  padding:0.3rem 0.7rem; border-radius:4px;
  font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--text); font-family:var(--font-sans);
}
.gallery-tile.size-1 { width:280px; height:380px; }
.gallery-tile.size-2 { width:220px; height:280px; margin-top:60px; }
.gallery-tile.size-3 { width:260px; height:340px; margin-top:20px; }
.gallery-tile.size-4 { width:240px; height:300px; margin-top:80px; }
.gallery-tile.size-5 { width:300px; height:400px; }

/* =============================================
   服务区域 · 1大+4小
   ============================================= */
#areas { background:var(--bg); }
.area-hero-layout {
  display:grid; grid-template-columns:1.1fr 1fr;
  gap:1.2rem; max-width:var(--container); margin:0 auto;
  padding:0 var(--gutter);
}
.area-hero-card {
  grid-row:span 2;
  padding:4.5rem 3rem;
  background:var(--bg-card);
  border-radius:var(--radius-lg);
  display:flex; flex-direction:column; justify-content:center;
  border:1px solid var(--line);
  transition:background 0.4s, transform 0.4s;
}
.area-hero-card:hover { background:#fdfcf9; transform:translateY(-4px); }
.area-hero-card .area-name {
  font-family:var(--font-display);
  font-size:clamp(2.4rem, 4.5vw, 3.6rem); color:var(--text);
  margin-bottom:0.4rem; line-height:1.05;
}
.area-hero-card .area-en {
  font-size:0.66rem; color:var(--gold); letter-spacing:0.2em;
  text-transform:uppercase; margin-bottom:2rem; display:inline-block;
  font-family:var(--font-sans);
}
.area-hero-card .area-en::before {
  content:''; display:inline-block; width:20px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.7rem;
}
.area-hero-card .area-desc {
  font-size:0.95rem; line-height:2; color:var(--text-mid);
  max-width:380px; font-family:var(--font-sans);
}
.area-mini-card {
  padding:2.5rem 2rem;
  background:var(--bg-card); border-radius:var(--radius-md);
  display:flex; flex-direction:column;
  border:1px solid var(--line);
  transition:background 0.4s, transform 0.4s;
}
.area-mini-card:hover { background:#fdfcf9; transform:translateY(-4px); }
.area-mini-card .area-name {
  font-family:var(--font-display); font-size:1.3rem; color:var(--text);
  margin-bottom:0.3rem;
}
.area-mini-card .area-en {
  font-size:0.6rem; color:var(--gold); letter-spacing:0.16em;
  text-transform:uppercase; margin-bottom:0.8rem; display:inline-block;
  font-family:var(--font-sans);
}
.area-mini-card .area-en::before {
  content:''; display:inline-block; width:14px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.6rem;
}
.area-mini-card .area-desc { font-size:0.84rem; line-height:1.8; color:var(--text-mid); font-family:var(--font-sans); }

/* =============================================
   团队 · 1大 + 3小
   ============================================= */
#team { background:var(--bg-alt); }
.team-hero {
  display:grid; grid-template-columns:1.1fr 1fr; gap:5rem;
  max-width:1150px; margin:0 auto 6rem; padding:0 var(--gutter);
  align-items:center;
}
.team-hero-img {
  border-radius:var(--radius-lg); overflow:hidden;
  aspect-ratio:4/5; background:var(--bg-placeholder);
  box-shadow:0 20px 50px rgba(20,18,16,0.06);
}
.team-hero-img img { width:100%; height:100%; object-fit:cover; }
.team-hero-info .micro-label {
  font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:1.5rem;
  font-family:var(--font-sans);
}
.team-hero-info .micro-label::before {
  content:''; display:inline-block; width:20px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.7rem;
}
.team-hero-info h4 {
  font-family:var(--font-display);
  font-size:clamp(1.8rem, 3.2vw, 2.4rem); color:var(--text);
  margin-bottom:0.3rem; line-height:1.1; font-weight:400;
}
.team-hero-info .team-hero-role {
  font-size:0.85rem; color:var(--gold); letter-spacing:0.1em;
  margin-bottom:2rem; display:block; font-style:italic;
  font-family:var(--font-display);
}
.team-hero-info p {
  font-size:0.95rem; line-height:2.1; color:var(--text-mid);
  max-width:440px; font-family:var(--font-sans);
}
.team-sub-row {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2.5rem; max-width:1100px; margin:0 auto; padding:0 var(--gutter);
}
.team-sub-card { text-align:left; transition:transform 0.4s; }
.team-sub-card:hover { transform:translateY(-6px); }
.team-sub-photo {
  width:100%; aspect-ratio:16/9; margin:0 auto 1.5rem;
  border-radius:var(--radius-md); overflow:hidden;
  background:var(--bg-placeholder);
}
.team-sub-photo img { width:100%; height:100%; object-fit:cover; }
.team-sub-photo-designer img {
  height:120%;
  object-position:center top;
}
.team-sub-card .micro-label {
  font-size:0.62rem; letter-spacing:0.25em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:0.6rem;
  font-family:var(--font-sans);
}
.team-sub-card .micro-label::before {
  content:''; display:inline-block; width:14px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.6rem;
}
.team-sub-card h4 { font-family:var(--font-display); font-size:1.05rem; color:var(--text); margin-bottom:0.2rem; }
.team-sub-card .team-sub-role { font-size:0.76rem; color:var(--text-mid); font-style:italic; font-family:var(--font-display); }

/* =============================================
   合作伙伴 · 横向滚动
   ============================================= */
#partners {
  background:var(--bg); padding:5rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
#partners .section-header {
  padding-left: 0;
  padding-right: 0;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
#partners .section-title-xl {
  display: block;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.partners-track {
  display:flex; gap:1.5rem; align-items:center;
  animation:partnerScroll 38s linear infinite;
  width:max-content; padding:0 var(--gutter);
}
.partners-track:hover { animation-play-state:paused; }
.partner-logo-text {
  font-family:var(--font-display); font-size:0.95rem;
  color:var(--text-mid); letter-spacing:0.04em; white-space:nowrap;
  padding:0.7rem 1.8rem;
  border:1px solid var(--line); border-radius:60px;
  transition:color 0.3s, border-color 0.3s;
}
.partner-logo-text:hover { color:var(--gold); border-color:var(--gold-line); }
@keyframes partnerScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* =============================================
   Contact
   ============================================= */
#contact { background:var(--bg-alt); }
.contact-layout-golden {
  display:grid; grid-template-columns:1.4fr 1fr;
  gap:6rem; max-width:1100px; margin:0 auto; padding:0 var(--gutter);
  align-items:start;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  width:100%; padding:1rem 0;
  background:transparent;
  border:none; border-bottom:1px solid var(--line);
  color:var(--text); font-size:0.9rem; font-family:var(--font-sans);
  transition:border-color 0.3s; margin-bottom:2rem;
  outline:none;
}
.contact-form input::placeholder,
.contact-form select option[value=""],
.contact-form textarea::placeholder { color:var(--text-dim); }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-bottom-color:var(--gold); }
.contact-form select { color:var(--text-mid); }
.contact-form textarea { min-height:100px; resize:none; }
.contact-form button {
  width:100%;
  min-height:56px;
  padding:1.1rem;
  margin-top:1rem;
  position:relative;
  z-index:2;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(183,139,74,0.18);
}
.contact-form .btn-primary {
  background:linear-gradient(180deg, #b89656 0%, #9b7a43 100%);
  color:#080807;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 12px 24px rgba(155,122,67,0.22);
  font-weight:700;
}
.contact-form .btn-primary:hover {
  background:linear-gradient(180deg, #caa768 0%, #a98549 100%);
  color:#080807;
}
.form-msg {
  min-height:1.4em;
  font-size:0.82rem;
  margin-top:0.8rem;
  font-family:var(--font-sans);
}
.form-msg.success { color:#4a8f3f; }
.form-msg.error { color:#b03030; }
.privacy-consent {
  display:flex;
  align-items:flex-start;
  gap:0.72rem;
  margin:0.15rem 0 0.6rem;
  color:var(--text-mid);
  font-family:var(--font-sans);
  font-size:0.76rem;
  line-height:1.7;
}
.contact-form .privacy-consent input[type="checkbox"] {
  width:16px;
  min-width:16px;
  height:16px;
  min-height:16px;
  margin:0.24rem 0 0;
  padding:0;
  border:1px solid var(--line-2);
  accent-color:var(--gold);
  flex:0 0 auto;
}
.privacy-consent a {
  color:var(--text);
  text-decoration:underline;
  text-decoration-color:var(--gold-line);
  text-underline-offset:0.2em;
}
.privacy-consent a:hover { color:var(--gold); }
.contact-side .micro-label {
  font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:1.5rem;
  font-family:var(--font-sans);
}
.contact-side .micro-label::before {
  content:''; display:inline-block; width:20px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.7rem;
}
.contact-side p { font-size:0.95rem; line-height:2.2; color:var(--text-mid); font-family:var(--font-sans); }
.contact-side p .highlight { color:var(--text); font-family:var(--font-display); font-style:italic; }

/* =============================================
   Lightweight Chat · 轻量客服
   ============================================= */
.light-chat-shell {
  position:fixed;
  right:clamp(16px, 2vw, 28px);
  bottom:clamp(16px, 2vw, 28px);
  z-index:1200;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:0.85rem;
}
.light-chat-launcher {
  display:inline-flex;
  align-items:center;
  gap:0.7rem;
  padding:0.95rem 1.15rem;
  border-radius:999px;
  background:rgba(20,18,16,0.96);
  color:#fff;
  box-shadow:0 18px 50px rgba(20,18,16,0.18);
  border:1px solid rgba(255,255,255,0.06);
  transition:transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
  min-height:52px;
}
.light-chat-launcher:hover {
  transform:translateY(-2px);
  box-shadow:0 22px 60px rgba(20,18,16,0.22);
}
.light-chat-shell.open .light-chat-launcher {
  background:var(--gold);
  color:#fff;
}
.light-chat-launcher-dot {
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 6px rgba(184,146,90,0.16);
  flex:none;
}
.light-chat-launcher-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}
.light-chat-launcher-copy strong {
  font-size:0.86rem;
  letter-spacing:0.08em;
  font-family:var(--font-sans);
  text-transform:none;
}
.light-chat-launcher-copy span {
  font-size:0.7rem;
  color:rgba(255,255,255,0.72);
  letter-spacing:0.08em;
  font-family:var(--font-sans);
}
.light-chat-shell.open .light-chat-launcher-copy span {
  color:rgba(255,255,255,0.82);
}
.light-chat-panel {
  width:min(420px, calc(100vw - 32px));
  max-height:min(72vh, 760px);
  background:rgba(250,250,247,0.96);
  border:1px solid rgba(20,18,16,0.09);
  border-radius:24px;
  box-shadow:0 28px 90px rgba(20,18,16,0.18);
  backdrop-filter:blur(18px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transform:translateY(14px) scale(0.985);
  opacity:0;
  pointer-events:none;
  transition:transform 0.28s ease, opacity 0.28s ease;
}
.light-chat-shell.open .light-chat-panel {
  transform:none;
  opacity:1;
  pointer-events:auto;
}
.light-chat-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.05rem 1.05rem 0.95rem;
  border-bottom:1px solid var(--line);
}
.light-chat-kicker {
  font-size:0.68rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--gold);
  font-family:var(--font-sans);
  margin-bottom:0.4rem;
}
.light-chat-title {
  font-size:1.02rem;
  line-height:1.25;
  color:var(--text);
}
.light-chat-subtitle {
  margin-top:0.35rem;
  font-size:0.84rem;
  line-height:1.65;
  color:var(--text-mid);
  font-family:var(--font-sans);
}
.light-chat-head-actions {
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.light-chat-status {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  padding:0.8rem 1rem 0;
  color:var(--text-mid);
  font-family:var(--font-sans);
  font-size:0.72rem;
  line-height:1.5;
}
.light-chat-turns {
  color:var(--text);
  font-weight:600;
  white-space:nowrap;
}
.light-chat-note {
  font-size:0.78rem;
  line-height:1.7;
  color:var(--text-mid);
  font-family:var(--font-sans);
}
.light-chat-tabs {
  padding:0 1rem 0.2rem;
  display:flex;
  flex-direction:column;
  gap:0.55rem;
}
.light-chat-tabs-head {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:baseline;
  font-family:var(--font-sans);
}
.light-chat-tabs-head span:first-child {
  font-size:0.72rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.light-chat-tabs-head span:last-child {
  font-size:0.76rem;
  color:var(--text-mid);
  text-align:right;
  line-height:1.5;
}
.light-chat-tabs-row {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0.45rem;
}
.light-chat-tab {
  border:1px solid var(--line);
  border-radius:999px;
  padding:0.58rem 0.62rem;
  background:transparent;
  color:var(--text-mid);
  font-size:0.76rem;
  font-family:var(--font-sans);
  transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.light-chat-tab:hover {
  background:var(--gold-soft);
  color:var(--text);
  border-color:var(--gold-line);
  transform:translateY(-1px);
}
.light-chat-tab.active {
  background:var(--text);
  color:#fff;
  border-color:var(--text);
}
.light-chat-close {
  width:36px;
  height:36px;
  border-radius:999px;
  background:var(--gold-soft);
  color:var(--text);
  flex:none;
  font-size:1.2rem;
  line-height:1;
  transition:background 0.2s ease, transform 0.2s ease;
}
.light-chat-close:hover {
  background:rgba(184,146,90,0.2);
  transform:translateY(-1px);
}
.light-chat-reset {
  border:1px solid var(--line);
  border-radius:999px;
  padding:0.55rem 0.85rem;
  background:#fff;
  color:var(--text-mid);
  font-size:0.72rem;
  font-family:var(--font-sans);
  white-space:nowrap;
  transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.light-chat-reset:hover {
  background:var(--gold-soft);
  color:var(--text);
  border-color:var(--gold-line);
}
.light-chat-body {
  display:flex;
  flex-direction:column;
  gap:0.85rem;
  padding:1rem 1rem 0.8rem;
  overflow:auto;
  min-height:0;
}
.light-chat-messages {
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}
.light-chat-message {
  max-width:88%;
  border-radius:18px;
  padding:0.85rem 0.95rem;
  line-height:1.72;
  font-size:0.9rem;
  word-break:break-word;
  white-space:pre-wrap;
}
.light-chat-message.bot {
  align-self:flex-start;
  background:#fff;
  color:var(--text);
  border:1px solid var(--line);
}
.light-chat-message.user {
  align-self:flex-end;
  background:var(--text);
  color:#fff;
}
.light-chat-typing {
  padding:0.8rem 0.9rem;
}
.light-chat-typing-dots {
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
}
.light-chat-typing-dots span {
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(184,146,90,0.88);
  animation:light-chat-bounce 1s infinite ease-in-out;
}
.light-chat-typing-dots span:nth-child(2) {
  animation-delay:0.12s;
}
.light-chat-typing-dots span:nth-child(3) {
  animation-delay:0.24s;
}
.light-chat-message .meta {
  display:block;
  margin-bottom:0.35rem;
  font-size:0.7rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-family:var(--font-sans);
  opacity:0.7;
}
.light-chat-quick-title {
  font-size:0.7rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--text-dim);
  font-family:var(--font-sans);
  margin-top:0.15rem;
}
.light-chat-quick {
  display:flex;
  flex-wrap:wrap;
  gap:0.55rem;
}
.light-chat-chip {
  padding:0.58rem 0.82rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--text);
  font-size:0.76rem;
  line-height:1.2;
  transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.light-chat-chip:hover {
  background:var(--gold-soft);
  color:var(--gold);
  border-color:var(--gold-line);
  transform:translateY(-1px);
}
.light-chat-form {
  display:flex;
  gap:0.6rem;
  padding:0.1rem 1rem 0.95rem;
  border-top:1px solid var(--line);
  align-items:center;
}
.light-chat-input {
  flex:1;
  min-width:0;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  padding:0.82rem 1rem;
  color:var(--text);
  font-size:0.86rem;
  outline:none;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.light-chat-input::placeholder { color:var(--text-dim); }
.light-chat-input:focus {
  border-color:var(--gold-line);
  box-shadow:0 0 0 3px rgba(184,146,90,0.09);
}
.light-chat-send {
  flex:none;
  border-radius:999px;
  padding:0.82rem 1rem;
  background:var(--text);
  color:var(--bg);
  font-size:0.78rem;
  letter-spacing:0.12em;
  white-space:nowrap;
  transition:background 0.2s ease, transform 0.2s ease;
}
.light-chat-send:hover {
  background:var(--gold);
  transform:translateY(-1px);
}
.light-chat-send:disabled,
.light-chat-input:disabled {
  cursor:not-allowed;
  opacity:0.72;
}
.light-chat-footer {
  display:flex;
  justify-content:space-between;
  gap:0.85rem;
  padding:0 1rem 1rem;
  font-size:0.73rem;
  line-height:1.6;
  color:var(--text-mid);
  font-family:var(--font-sans);
  align-items:center;
}
.light-chat-footer-right {
  display:flex;
  align-items:center;
  gap:0.65rem;
  justify-content:flex-end;
}
.light-chat-footer a {
  color:var(--text);
  white-space:nowrap;
}
.light-chat-footer strong {
  color:var(--text);
  font-weight:600;
}
.light-chat-copy {
  border:1px solid var(--line);
  border-radius:999px;
  padding:0.4rem 0.7rem;
  background:transparent;
  color:var(--text-mid);
  font-size:0.7rem;
  white-space:nowrap;
  transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.light-chat-copy:hover {
  background:var(--gold-soft);
  color:var(--text);
  border-color:var(--gold-line);
}

@keyframes light-chat-bounce {
  0%, 80%, 100% { transform:translateY(0); opacity:0.4; }
  40% { transform:translateY(-3px); opacity:1; }
}

/* =============================================
   Buttons · 极简
   ============================================= */
.btn {
  display:inline-flex; align-items:center; gap:0.6rem;
  padding:1rem 2.4rem;
  font-family:var(--font-sans); font-size:0.8rem;
  letter-spacing:0.12em; border-radius:60px;
  transition:all 0.3s ease; cursor:pointer;
  text-transform:uppercase; font-weight:500;
}
.btn-primary { background:var(--text); color:var(--bg); }
.btn-primary:hover { background:var(--gold); color:var(--bg); transform:translateY(-2px); }
.btn-outline {
  background:transparent; color:var(--text);
  border:1px solid var(--text);
}
.btn-outline:hover { background:var(--text); color:var(--bg); }
.btn .arrow { display:inline-block; transition:transform 0.3s; }
.btn:hover .arrow { transform:translateX(4px); }

/* =============================================
   Before-After Slider（房东页）
   ============================================= */
.ba-wrap { max-width:1000px; margin:0 auto; padding:0 var(--gutter); }
.ba-container { position:relative; margin-bottom:5rem; }
.ba-images {
  position:relative; width:100%; aspect-ratio:16/10;
  overflow:hidden; border-radius:var(--radius-md); cursor:ew-resize;
  background:var(--bg-placeholder);
}
.ba-images img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
/* 实景图用 width + overflow 控制显示区域，比 clip-path 更可靠 */
.ba-after-wrap {
  position:absolute; inset:0; overflow:hidden; width:50%;
}
.ba-after-wrap img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ba-slider {
  position:absolute; top:0; bottom:0; left:50%; width:2px;
  background:rgba(255,255,255,0.9); cursor:ew-resize; z-index:5;
  transform:translateX(-50%);
}
.ba-handle {
  position:absolute; top:50%; left:50%;
  width:48px; height:48px;
  background:white; border-radius:50%;
  transform:translate(-50%,-50%);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; color:var(--text);
  box-shadow:0 6px 24px rgba(0,0,0,0.18);
}
.ba-caption {
  display:flex; justify-content:space-between;
  padding:1rem 0 0; font-size:0.78rem; color:var(--text-mid);
  font-family:var(--font-sans);
  border-top:1px solid var(--line); margin-top:1rem;
}
.ba-title-wrap { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:0.8rem; }
.ba-title-wrap h3 { font-family:var(--font-display); font-size:clamp(1.1rem,2vw,1.4rem); color:var(--text); font-weight:400; }
.ba-title-wrap .ba-tag {
  font-size:0.62rem; color:var(--gold); letter-spacing:0.2em;
  text-transform:uppercase; font-family:var(--font-sans);
}

/* =============================================
   5步入住 · 自由散布
   ============================================= */
.process-free {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:1.5rem;
  max-width:1200px; margin:0 auto; padding:0 var(--gutter);
  position:relative;
}
.pf-step {
  text-align:left;
  padding:0 1rem 2rem;
  position:relative;
  transition:transform 0.4s;
  border-top:1px solid var(--line);
  padding-top:1.5rem;
}
.pf-step:nth-child(1) { transform:translateY(0); }
.pf-step:nth-child(2) { transform:translateY(40px); }
.pf-step:nth-child(3) { transform:translateY(-10px); }
.pf-step:nth-child(4) { transform:translateY(30px); }
.pf-step:nth-child(5) { transform:translateY(8px); }
.pf-step:hover { transform:translateY(-8px) !important; }
.pf-step .num {
  font-family:var(--font-display); font-size:0.85rem;
  color:var(--gold); font-style:italic; margin-bottom:1rem;
  display:inline-block;
}
.pf-step h4 {
  font-family:var(--font-display); font-size:1.1rem;
  color:var(--text); margin-bottom:0.6rem; font-weight:400;
}
.pf-step p {
  font-size:0.84rem; line-height:1.85; color:var(--text-mid);
  font-family:var(--font-sans);
}

/* =============================================
   承诺砖石 · 房东页核心
   · 1大 + 5小（首项占 2 行高）
   ============================================= */
.promise-masonry {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  grid-template-rows:auto auto;
  gap:1.2rem;
  max-width:1200px; margin:0 auto; padding:0 var(--gutter);
}
.promise-masonry .process-plain-item {
  background:var(--bg-card); border-radius:var(--radius-md);
  padding:2.5rem; border:1px solid var(--line);
  transition:transform 0.4s, background 0.4s;
}
.promise-masonry .process-plain-item:hover { transform:translateY(-4px); background:#fdfcf9; }
.promise-masonry .process-plain-item:first-child {
  grid-column:1; grid-row:1/3;
  padding:3.5rem;
}
.promise-masonry .process-plain-item:first-child h4 { font-size:clamp(1.4rem,2.2vw,1.8rem); }
.promise-masonry .process-plain-item .micro-label {
  font-size:0.62rem; letter-spacing:0.25em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:1rem;
  font-family:var(--font-sans);
}
.promise-masonry .process-plain-item .micro-label::before {
  content:''; display:inline-block; width:14px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.6rem;
}
.promise-masonry .process-plain-item h4 {
  font-family:var(--font-display); font-size:1.1rem; color:var(--text);
  margin-bottom:0.8rem; font-weight:400;
}
.promise-masonry .process-plain-item p {
  font-size:0.88rem; line-height:1.9; color:var(--text-mid);
  font-family:var(--font-sans);
}

/* =============================================
   三大理由 · 大留白纯文本
   ============================================= */
#value-fuel { background:#d4bfa5 !important; padding:5rem 0; }
#experience { background:#d4bfa5 !important; padding:5rem 0; }
.reasons-free { max-width:820px; margin:0 auto; padding:0 var(--gutter); }
.rf-block {
  padding:6rem 0;
  border-bottom:1px solid var(--line);
  transition:padding 0.4s;
}
.rf-block:first-child { border-top:1px solid var(--line); }
.rf-block:hover { padding-left:1.2rem; }
.rf-block:nth-child(even):hover { padding-left:0; padding-right:1.2rem; }
.rf-block:nth-child(even) { text-align:right; }
.rf-block:nth-child(even) .rf-inner { display:inline-block; text-align:left; max-width:600px; }
.rf-block:nth-child(odd)  .rf-inner { display:inline-block; text-align:left; max-width:600px; }
.rf-block .micro-label {
  font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:1.2rem;
  font-family:var(--font-sans);
}
.rf-block .micro-label::before {
  content:''; display:inline-block; width:18px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.7rem;
}
.rf-block:nth-child(even) .micro-label::after {
  content:''; display:inline-block; width:18px; height:1px;
  background:var(--gold); vertical-align:middle; margin-left:0.7rem;
}
.rf-block h4 {
  font-family:var(--font-display);
  font-size:clamp(1.6rem, 2.8vw, 2.2rem);
  color:var(--text); margin-bottom:1.5rem; line-height:1.15;
  font-weight:400;
}
.rf-block p {
  font-size:0.95rem; line-height:2.1; color:var(--text-mid);
  font-family:var(--font-sans);
}

/* =============================================
   SEO FAQ · 轻入口 + 弹窗问答
   ============================================= */
#landlord-faq,
#tenant-faq,
#home-faq,
#partner-faq {
  background:var(--bg);
}
.seo-faq-modal-section {
  padding:3.2rem 0;
}
.seo-faq-entry {
  max-width:980px;
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:2rem;
  align-items:center;
}
.seo-faq-entry .micro-label {
  font-size:0.7rem;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--gold);
  font-family:var(--font-sans);
}
.seo-faq-entry .micro-label::before {
  content:'';
  display:inline-block;
  width:24px;
  height:1px;
  background:var(--gold);
  vertical-align:middle;
  margin-right:0.8rem;
}
.seo-faq-open {
  width:100%;
  min-height:72px;
  padding:1rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1.5rem;
  align-items:center;
  text-align:left;
  color:var(--text);
  transition:border-color 0.25s ease, color 0.25s ease;
}
.seo-faq-open::after {
  content:'+';
  width:2.2rem;
  height:2.2rem;
  border:1px solid var(--gold-line);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  font-family:var(--font-sans);
  font-size:1rem;
  line-height:1;
  transition:background 0.25s ease, transform 0.25s ease;
}
.seo-faq-open:hover {
  color:var(--gold);
  border-color:var(--gold-line);
}
.seo-faq-open:hover::after {
  background:var(--gold-soft);
  transform:translateY(-1px);
}
.seo-faq-open-title {
  display:block;
  font-family:var(--font-display);
  font-size:clamp(1.35rem,2.2vw,2rem);
  line-height:1.25;
  font-weight:400;
}
.seo-faq-open-sub {
  display:block;
  margin-top:0.45rem;
  max-width:620px;
  font-family:var(--font-sans);
  font-size:0.86rem;
  line-height:1.8;
  color:var(--text-mid);
}
.seo-faq-modal {
  position:fixed;
  inset:0;
  z-index:1500;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.24s ease;
}
.seo-faq-modal-section.is-open .seo-faq-modal {
  opacity:1;
  pointer-events:auto;
}
.seo-faq-backdrop {
  position:absolute;
  inset:0;
  background:rgba(20,18,16,0.46);
  backdrop-filter:blur(10px);
}
.seo-faq-dialog {
  position:absolute;
  left:50%;
  top:50%;
  width:min(920px, calc(100vw - 64px));
  max-height:min(82vh, 760px);
  transform:translate(-50%,-48%) scale(0.985);
  overflow:auto;
  background:rgba(250,250,247,0.98);
  border:1px solid rgba(20,18,16,0.1);
  border-radius:8px;
  box-shadow:0 30px 100px rgba(20,18,16,0.24);
  padding:3.2rem 3.5rem 2.8rem;
  transition:transform 0.24s ease;
}
.seo-faq-modal-section.is-open .seo-faq-dialog {
  transform:translate(-50%,-50%) scale(1);
}
.seo-faq-close {
  position:absolute;
  top:1.2rem;
  right:1.2rem;
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,255,255,0.72);
  color:var(--text);
  font-size:1.25rem;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background 0.2s ease, color 0.2s ease;
}
.seo-faq-close:hover {
  background:var(--gold-soft);
  color:var(--gold);
}
.seo-faq-modal-head {
  padding:0;
  margin-bottom:2.2rem;
}
.seo-faq-modal-head .section-title-xl {
  font-size:clamp(2.4rem,4.4vw,4.4rem);
}
.seo-faq-modal-head .section-sub {
  max-width:640px;
}
body.faq-modal-open {
  overflow:hidden !important;
}
.seo-faq-list {
  max-width:980px;
  margin:0 auto;
  padding:0 var(--gutter);
  border-top:1px solid var(--line);
}
.seo-faq-modal .seo-faq-list {
  max-width:none;
  padding:0;
}
.seo-faq-item {
  border-bottom:1px solid var(--line);
}
.seo-faq-item summary {
  display:grid;
  grid-template-columns:minmax(220px,0.9fr) auto;
  gap:3rem;
  align-items:center;
  padding:2.2rem 0;
  cursor:pointer;
  list-style:none;
}
.seo-faq-item summary::-webkit-details-marker {
  display:none;
}
.seo-faq-item summary::after {
  content:'+';
  width:2rem;
  height:2rem;
  border:1px solid var(--gold-line);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  font-family:var(--font-sans);
  font-size:1rem;
  line-height:1;
  transition:transform 0.25s ease, background 0.25s ease;
}
.seo-faq-item[open] summary::after {
  content:'-';
  background:var(--gold-soft);
}
.seo-faq-question {
  font-family:var(--font-display);
  font-size:clamp(1.35rem,2.2vw,2rem);
  font-weight:400;
  line-height:1.35;
  color:var(--text);
}
.seo-faq-item p {
  max-width:640px;
  margin:-0.6rem 0 2.2rem calc(34% + 1.5rem);
  font-family:var(--font-sans);
  font-size:0.95rem;
  line-height:2;
  color:var(--text-mid);
}
@media (max-width: 1100px) {
  .seo-faq-entry {
    grid-template-columns:1fr;
    gap:1rem;
  }
  .seo-faq-dialog {
    width:calc(100vw - 36px);
    padding:2.8rem 1.8rem 2.2rem;
  }
  .seo-faq-item summary {
    grid-template-columns:1fr;
    gap:1rem;
  }
  .seo-faq-item p {
    margin:0 0 2rem;
  }
}

/* =============================================
   精选房源 Bento
   · 1大竖图（跨2行）+ 4小图（2x2）
   ============================================= */
.listing-bento-v2 {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  grid-template-rows:auto auto;
  gap:1.2rem;
  max-width:var(--container); margin:0 auto; padding:0 var(--gutter);
}
.listing-bento-v2 .listing-card:first-child { grid-row:1/3; }
.listing-bento-v2 .listing-img {
  border-radius:var(--radius-md); overflow:hidden;
  position:relative; background:var(--bg-placeholder);
  aspect-ratio:3/4;
}
.listing-bento-v2 .listing-card:not(:first-child) .listing-img { aspect-ratio:4/3; }
.listing-bento-v2 .listing-img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.7s;
}
.listing-bento-v2 .listing-card:hover .listing-img img { transform:scale(1.05); }
.listing-body { padding:1.2rem 0.2rem; }
.listing-body h4 {
  font-family:var(--font-display); font-size:1.05rem;
  color:var(--text); margin-bottom:0.3rem; font-weight:400;
}
.listing-body .listing-en {
  font-size:0.62rem; color:var(--gold); letter-spacing:0.2em;
  text-transform:uppercase; margin-bottom:0.8rem; display:inline-block;
  font-family:var(--font-sans);
}
.listing-body .listing-en::before {
  content:''; display:inline-block; width:12px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.5rem;
}
.listing-desc { font-size:0.85rem; color:var(--text-mid); line-height:1.75; margin-bottom:0.8rem; font-family:var(--font-sans); }
.listing-meta { display:flex; gap:1.2rem; font-size:0.74rem; color:var(--text-dim); font-family:var(--font-sans); }
.listing-badge {
  position:absolute; top:1rem; left:1rem;
  padding:0.3rem 0.8rem; background:var(--bg-card);
  color:var(--text); font-size:0.62rem; border-radius:4px;
  letter-spacing:0.18em; text-transform:uppercase;
  font-family:var(--font-sans);
}

.listing-carousel { width:100%; height:100%; position:relative; }
.listing-carousel img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; border-radius:0;
  opacity:0; transition:opacity 0.8s ease;
}
.listing-carousel img.active { opacity:1; }

/* =============================================
   5维体验 · 同优势交错
   ============================================= */
.exp-free { max-width:1000px; margin:0 auto; padding:0 var(--gutter); }
.exp-free .af-item { padding:4.5rem 0; }
.exp-free .af-text h4 { font-size:clamp(1.3rem, 2.2vw, 1.7rem); }

/* =============================================
   涉外服务 · 3卡 + 大水印
   ============================================= */
.foreign-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.2rem; max-width:1100px; margin:0 auto; padding:0 var(--gutter);
}
.foreign-card {
  background:var(--bg-card); border-radius:var(--radius-md);
  padding:2.5rem 2rem; border:1px solid var(--line);
  transition:transform 0.4s, background 0.4s;
}
.foreign-card:hover { transform:translateY(-6px); background:#fdfcf9; }
.foreign-card .micro-label {
  font-size:0.62rem; letter-spacing:0.25em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:1.2rem;
  font-family:var(--font-sans);
}
.foreign-card .micro-label::before {
  content:''; display:inline-block; width:14px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:0.6rem;
}
.foreign-card h4 {
  font-family:var(--font-display); font-size:1.3rem;
  color:var(--text); margin-bottom:1rem; font-weight:400;
}
.foreign-card p {
  font-size:0.88rem; color:var(--text-mid); line-height:1.95;
  font-family:var(--font-sans);
}
.fs-watermark {
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(8rem, 18vw, 16rem);
  color:rgba(20,18,16,0.035);
  font-style:italic;
  pointer-events:none; user-select:none;
  line-height:1;
  display:block; text-align:center;
  margin:-4rem 0 -2rem;
}

/* =============================================
   租客口碑 · 卡片引用
   ============================================= */
.testimonials-v2 {
  display:grid; grid-template-columns:1fr 1fr 1fr;
  gap:1.2rem; max-width:1200px; margin:0 auto; padding:0 var(--gutter);
}
.testimonial-card-v2 {
  padding:3rem 2rem; background:var(--bg-card);
  border-radius:var(--radius-md); border:1px solid var(--line);
  transition:transform 0.4s;
}
.testimonial-card-v2:hover { transform:translateY(-6px); }
.testimonial-card-v2 .t-mark {
  font-family:var(--font-display); font-size:3.5rem; line-height:0.6;
  color:var(--gold); display:block; margin-bottom:2rem; font-style:italic;
}
.testimonial-card-v2 p {
  font-size:0.92rem; line-height:1.95; color:var(--text-mid);
  font-style:italic; margin-bottom:2rem; font-family:var(--font-sans);
}
.testimonial-card-v2 .t-author {
  display:flex; align-items:center; gap:0.8rem;
  border-top:1px solid var(--line); padding-top:1.2rem;
}
.testimonial-card-v2 .t-avatar {
  width:36px; height:36px; border-radius:50%;
  background:var(--gold-soft); display:flex; align-items:center; justify-content:center;
  font-size:0.8rem; color:var(--gold); font-family:var(--font-display);
  font-style:italic;
}
.testimonial-card-v2 .t-name {
  font-family:var(--font-display); font-size:0.9rem; color:var(--text);
}

/* =============================================
   CTA 区块
   ============================================= */
.cta-section {
  text-align:center; padding:10rem 2rem;
  background:var(--bg);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;
}
.cta-section .micro-label {
  font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:1.5rem;
  font-family:var(--font-sans);
}
.cta-section h2 {
  font-family:var(--font-display);
  font-size:clamp(2.4rem, 5vw, 4rem);
  color:var(--text); margin-bottom:1.2rem; line-height:1.05;
  font-weight:400;
}
.cta-section h2 .gold { color:var(--gold); font-style:italic; }
.cta-section p { color:var(--text-mid); margin-bottom:3rem; font-family:var(--font-sans); }

.landlord-guide-entry,
.tenant-guide-entry {
  display:flex;
  justify-content:center;
  margin-top:-1.1rem;
}

.landlord-guide-entry a,
.tenant-guide-entry a {
  padding:0.35rem 0;
  border-bottom:1px solid var(--gold-line);
  color:var(--text-mid);
  font-family:var(--font-sans);
  font-size:0.86rem;
  line-height:1.6;
}

.landlord-guide-entry a:hover,
.tenant-guide-entry a:hover {
  color:var(--gold);
  border-color:var(--gold);
}

html.site-auto-fit .landlord-guide-entry,
html.site-auto-fit .tenant-guide-entry {
  -webkit-text-size-adjust:none !important;
  text-size-adjust:none !important;
}

/* =============================================
   Page Hero · 子页面
   · 浅色 + 极简
   ============================================= */
.page-hero {
  position:relative; padding:13rem 0 6rem;
  background:#000 !important;
  background-image:none !important;
  overflow:hidden;
}
.page-hero .micro-label {
  font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold-light); display:inline-block; margin-bottom:1.5rem;
  font-family:var(--font-sans);
}
.page-hero .micro-label::before {
  content:''; display:inline-block; width:24px; height:1px;
  background:var(--gold-light); vertical-align:middle; margin-right:0.8rem;
}
.page-hero h1 {
  font-family:var(--font-display);
  font-size:clamp(3rem, 8vw, 6.5rem);
  color:var(--bg); margin-bottom:1.2rem; line-height:0.95;
  font-weight:400; letter-spacing:-0.03em;
  max-width:900px;
}
.page-hero h1 .gold { color:var(--gold); font-style:italic; }
.page-hero p {
  color:rgba(250,250,247,0.7); font-size:1rem; max-width:540px;
  line-height:1.95; font-family:var(--font-sans);
  margin-top:1.5rem;
}
/* Page Hero 背景图变体 */
.page-hero-bg {
  background:url('../images/hero/hero-poster.jpg') center/cover no-repeat;
}
.page-hero-bg::before {
  content:''; position:absolute; inset:0;
  background:rgba(20,18,16,0.7);
  z-index:0;
}
.page-hero-bg .container { position:relative; z-index:1; }

.page-hero-black,
html.touch-layout .page-hero-black {
  background:#000 !important;
  background-image:none !important;
}

/* =============================================
   Footer
   ============================================= */
footer {
  background:var(--bg);
  padding:5rem 0 2.5rem;
  border-top:1px solid var(--line);
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem; margin-bottom:4rem;
  max-width:var(--container); margin-left:auto; margin-right:auto;
  padding:0 var(--gutter);
}
.footer-brand p {
  font-size:0.84rem; color:var(--text-mid); line-height:1.95;
  margin-top:1rem; max-width:340px; font-family:var(--font-sans);
}
.footer-brand .logo span { color:var(--text); }
.footer-links h4 {
  font-family:var(--font-display); font-size:0.9rem; color:var(--text);
  margin-bottom:1.2rem; font-weight:400;
}
.footer-links a {
  display:block; font-size:0.8rem; color:var(--text-mid);
  padding:0.35rem 0; transition:color 0.3s; font-family:var(--font-sans);
}
.footer-links a:hover { color:var(--text); }
.footer-bottom {
  text-align:left; padding-top:2.5rem;
  border-top:1px solid var(--line);
  font-size:0.72rem; color:var(--text-dim);
  max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter);
  font-family:var(--font-sans);
}

.footer-bottom p {
  margin: 0.25rem 0;
}
.footer-bottom a {
  color: inherit;
}
.footer-legal {
  display:flex;
  align-items:center;
  gap:0.35rem;
  flex-wrap:wrap;
}
.footer-legal a {
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,0.2);
  text-underline-offset:0.22em;
}
.footer-legal a:hover { color:#fff; }
.footer-beian a {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  font-size: inherit;
  line-height: inherit;
}
.footer-beian img {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  object-fit: contain;
}
/* =============================================
   Scroll Reveal
   ============================================= */
/* ---- 滚动揭示动画已移除，内容默认可见 ---- */

/* =============================================
   Cursor Glow · 极弱
   ============================================= */
#glowDot {
  position:fixed; width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle, rgba(184,146,90,0.04), transparent 70%);
  pointer-events:none; z-index:9999; transform:translate(-50%,-50%);
  transition:opacity 0.3s;
}

/* =============================================
   Responsive
   ============================================= */






/* =====================================================
   Hero · 视频背景层
   ===================================================== */
.hero.hero-video {
  position: relative;
  overflow: hidden;
  background: #0a0a0a;
  min-height: 100vh;
  display: flex;
  align-items: center;
}
.hero-video-el {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 0.55;
}
.hero-video-tint {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(120deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.10) 100%),
    linear-gradient(0deg, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.00) 50%);
  pointer-events: none;
}
.hero.hero-video .hero-grid,
.hero.hero-video .hero-scroll-hint {
  position: relative;
  z-index: 2;
}
.hero.hero-video .hero-title,
.hero.hero-video .hero-sub,
.hero.hero-video .hero-eyebrow {
  color: #fff;
}
.hero.hero-video .hero-sub {
  color: rgba(255,255,255,0.78);
}
.hero.hero-video .hero-eyebrow {
  color: rgba(201,162,77,0.95);
}
.hero.hero-video .hero-meta-item .meta-num { color:#fff; }
.hero.hero-video .hero-meta-item .meta-label { color:rgba(255,255,255,0.55); }
.hero.hero-video .hero-meta-statement span { color:var(--gold); }
.hero.hero-video .hero-visual { border-color:rgba(255,255,255,0.10); }
.hero.hero-video .hero-float-card {
  background: rgba(255,255,255,0.95);
  color: var(--text);
  border: 1px solid rgba(201,162,77,0.4);
}
.hero.hero-video .btn.btn-outline {
  color: #fff;
  border-color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.05);
  backdrop-filter: blur(8px);
}
.hero.hero-video .btn.btn-outline:hover {
  background: #fff;
  color: var(--text);
  border-color: #fff;
}
.hero.hero-video .btn.btn-primary {
  background: #fff;
  color: var(--text);
}
.hero.hero-video .btn.btn-primary:hover { background: var(--gold); color:#fff; }

/* 手机端视频播放按钮 */
.video-play-btn {
  display:none;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  z-index:3;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  -webkit-user-select:none;
  padding:1.5rem;
  /* button 元素重置 */
  background:transparent;
  border:none;
  outline:none;
  -webkit-appearance:none;
  appearance:none;
  /* 关键：消除移动端300ms点击延迟 */
  touch-action:manipulation;
}
.video-play-btn span {
  color:rgba(255,255,255,0.9);
  font-size:0.8rem;
  letter-spacing:0.08em;
  font-family:var(--font-sans);
  pointer-events:none;
  text-shadow:0 1px 4px rgba(0,0,0,0.5);
}
.video-play-btn .play-icon {
  width:56px; height:56px;
  pointer-events:none;
  transition:transform 0.25s;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,0.4));
}
.video-play-btn:active .play-icon {
  transform:scale(0.92);
}
/* 脉冲呼吸动效 */
@keyframes playPulse {
  0%,100% { opacity:0.8; }
  50% { opacity:1; }
}
.video-play-btn .play-icon circle:first-child {
  animation:playPulse 2s ease-in-out infinite;
}

/* =============================================
   HEADER 语言切换按钮
   ============================================= */
.header-lang {
  display:flex;
  align-items:center;
  gap:0.35rem;
  margin-left:2.2rem;
}
/* 视频模式（header 未滚动）：按钮白色/金色半透明 */
#header:not(.scrolled) .lang-btn {
  color:rgba(255,255,255,0.7);
  border-color:rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(8px);
}
#header:not(.scrolled) .lang-btn:hover,
#header:not(.scrolled) .lang-btn.active {
  color:#fff;
  background:rgba(255,255,255,0.18);
  border-color:rgba(255,255,255,0.4);
}
/* 滚动后或普通页面：金色 */
#header.scrolled .lang-btn {
  color:rgba(184,146,90,0.55);
  border-color:rgba(184,146,90,0.18);
  background:rgba(184,146,90,0.06);
}
#header.scrolled .lang-btn:hover,
#header.scrolled .lang-btn.active {
  color:var(--gold);
  background:rgba(184,146,90,0.14);
  border-color:rgba(184,146,90,0.35);
}

/* 语言按钮基础样式 */
.lang-btn {
  display:block;
  padding:0.35rem 0.75rem;
  font-size:0.63rem;
  font-family:var(--font-sans);
  letter-spacing:0.08em;
  border:1px solid rgba(184,146,90,0.18);
  border-radius:20px;
  text-align:center;
  transition:all 0.3s;
  text-decoration:none;
  backdrop-filter:blur(8px);
  /* button 重置 */
  background:transparent;
  color:inherit;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  line-height:1.5;
  margin:0;
}
.lang-btn:hover,
.lang-btn.active {
  color:var(--gold);
  background:rgba(184,146,90,0.14);
  border-color:rgba(184,146,90,0.35);
}

/* 移动端：语言按钮放到 mobile-nav 顶部 */



/* =====================================================
   Panorama 3D · 圆柱曲面三排（拖动 / 滚轮 / 自动）
   · 图片沿圆柱面排列，中间凸出、两侧内收
   · 明显的弧面纵深感
   ===================================================== */
.panorama-3d {
  position: relative;
  width: 100%;
  padding: 5rem 0 6rem;
  background: var(--bg);
  overflow: hidden;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}

.panorama-strip {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 28px;
  /* 圆柱透视：近距离产生强弧面 */
  perspective: 600px;
  perspective-origin: 50% 45%;
}

.panorama-row {
  position: relative;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.panorama-track {
  display: flex;
  gap: 16px;
  width: max-content;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  /* 每张卡独立保留3D变换 */
  transform-style: preserve-3d;
}

.panorama-card {
  flex: 0 0 auto;
  width: 280px;
  height: 200px;
  border-radius: 16px;
  overflow: hidden;
  background: #e8e6e0;
  position: relative;
  box-shadow: 0 8px 32px rgba(0,0,0,0.10);
  transition: opacity .4s ease;
  transform-style: preserve-3d;
  /* 默认状态由JS动态计算 */
}
.panorama-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  backface-visibility: hidden;
}
.panorama-row:hover .panorama-card img { }

/* 中排放大突出 */
.panorama-row.mid { z-index: 2; margin: 0 -20px; }
.panorama-row.mid .panorama-card {
  width: 310px;
  height: 220px;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.16);
}

/* 上下排轻微上下偏移形成层次 */
.panorama-row.top { transform: translateY(-8px); }
.panorama-row.bot { transform: translateY(8px); }

/* hint */
.panorama-hint {
  position: absolute;
  bottom: 1.2rem;
  right: 2rem;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .45rem .9rem;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(10px);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--text-dim);
  pointer-events: none;
  font-family: var(--font-sans);
}
.panorama-hint .dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  animation: dotPulse 1.6s ease-in-out infinite;
}
@keyframes dotPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .4; transform: scale(.7); }
}

/* =====================================================
   Panda·Home · Editorial product direction
   2026 refresh: quieter, sharper, more design-led.
   ===================================================== */
:root {
  --bg: #ececea;
  --bg-alt: #f6f6f4;
  --bg-card: #fbfbf9;
  --bg-dark: #080807;
  --gold: #9b7a43;
  --gold-light: #b89656;
  --accent: #111111;
  --text: #070707;
  --text-mid: rgba(7,7,7,0.56);
  --text-dim: rgba(7,7,7,0.34);
  --line: rgba(7,7,7,0.10);
  --line-2: rgba(7,7,7,0.16);
  --font-display: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Inter", "Arial", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Inter", "Arial", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Inter", "Arial", "PingFang SC", "Microsoft YaHei", sans-serif;
  --section-pad: clamp(5rem, 9vw, 9rem);
  --container: 1320px;
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --radius-lg: 8px;
  --radius-md: 8px;
  --radius-sm: 6px;
}

html { font-size: 16px; }

body {
  background: var(--bg);
  color: var(--text);
  letter-spacing: 0;
}

h1, h2, h3, h4,
.logo span,
.section-title-xl,
.hero-title,
.page-hero h1,
.cta-section h2 {
  font-family: var(--font-display);
  letter-spacing: 0;
}

#glowDot { display: none; }

section {
  border-top: 1px solid var(--line);
}

.container,
.section-header,
.data-grid,
.editorial-free,
.values-grid,
.gallery-masonry,
.areas-layout,
.team-layout,
.contact-layout-golden,
.process-flow,
.promise-masonry,
.value-grid,
.ba-container,
.listing-bento-v2,
.experience-grid,
.foreign-grid,
.testimonials-v2,
.footer-grid {
  max-width: min(1320px, calc(100vw - (var(--gutter) * 2)));
}

#header {
  padding: 1.1rem var(--gutter);
  gap: 1.4rem;
}

#header.scrolled {
  background: rgba(236,236,234,0.88);
  padding: 0.8rem var(--gutter);
}

.logo span {
  font-size: 1.05rem;
  font-weight: 600;
}

nav a,
.lang-btn,
.micro-label,
.hero-eyebrow,
.pic-tag,
.data-label .en {
  letter-spacing: 0;
}

nav ul { gap: clamp(1.2rem, 2.4vw, 2.7rem); }

nav a {
  font-size: 0.82rem;
  font-weight: 500;
}

.lang-btn {
  border-radius: 999px;
  font-size: 0.68rem;
  padding: 0.34rem 0.72rem;
}

.hero.hero-video {
  min-height: min(900px, 100svh);
  background: #080807 !important;
}

.hero-video-el {
  opacity: 0.66;
  filter: saturate(0.72) contrast(1.05);
}

.hero-video-tint {
  background:
    linear-gradient(90deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.24) 56%, rgba(0,0,0,0.08) 100%),
    linear-gradient(0deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.00) 48%);
}

.hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.55fr);
  gap: clamp(2rem, 6vw, 6rem);
}

.hero-title {
  font-size: clamp(4.8rem, 8.8vw, 8.2rem);
  line-height: 1.03;
  font-weight: 500;
}

.section-title-xl .italic,
.page-hero .gold,
.cta-section .gold {
  color: currentColor;
  font-style: normal;
}

.hero.hero-video .hero-title .gold {
  color: var(--gold);
}

.hero-sub {
  max-width: 560px;
  font-size: clamp(1rem, 1.7vw, 1.35rem);
  line-height: 1.65;
}

.hero-cta {
  margin-top: clamp(2rem, 4vw, 4rem);
}

.btn {
  border-radius: 999px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 600;
}

.btn-primary {
  background: #080807;
  color: #fff;
}

.btn-outline {
  border-color: var(--line-2);
  color: var(--text);
}

.hero-meta {
  gap: clamp(1.3rem, 3vw, 3rem);
}

.meta-num,
.counter {
  font-family: var(--font-display);
  font-weight: 500;
}

.section-header {
  margin-bottom: clamp(3rem, 7vw, 7rem);
}

.section-title-xl {
  font-size: clamp(4.2rem, 11vw, 9.5rem);
  line-height: 0.9;
  font-weight: 500;
}

.micro-label {
  font-size: 0.72rem;
  color: var(--text-dim);
  text-transform: none;
  font-weight: 500;
}

.ef-heading,
.area-hero-card h3,
.process-plain-item h4,
.foreign-card h3,
.listing-info h3 {
  font-family: var(--font-display);
  letter-spacing: 0;
}

.data-grid,
.values-grid,
.experience-grid,
.foreign-grid,
.testimonials-v2 {
  gap: 1px;
}

.data-item,
.value-card,
.adv-card,
.area-hero-card,
.area-mini-card,
.team-card,
.team-sub-card,
.process-card,
.process-plain-item,
.listing-card,
.foreign-card,
.testimonial-card,
.testimonial-card-v2 {
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid var(--line);
  background: rgba(251,251,249,0.72);
}

.data-item:hover,
.value-card:hover,
.area-hero-card:hover,
.area-mini-card:hover,
.team-sub-card:hover,
.foreign-card:hover,
.testimonial-card-v2:hover {
  transform: translateY(-2px);
  background: #fff;
}

.trio-item,
.ef-visual,
.gallery-tile,
.listing-img,
.ba-images,
.panorama-card {
  border-radius: 8px;
}

.trio-item img,
.ef-visual img,
.gallery-tile img,
.listing-img img,
.ba-images img,
.panorama-card img {
  filter: saturate(0.82) contrast(1.04);
}

#value-fuel,
#experience {
  background: #d8d5ce !important;
  color: #080807;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  font-family: var(--font-sans);
  border-bottom-color: var(--line-2);
}

.page-hero {
  min-height: clamp(520px, 76svh, 820px);
  background:#000 !important;
  background-image:none !important;
}

.page-hero h1,
.cta-section h2 {
  font-size: clamp(4.2rem, 10vw, 9.5rem);
  line-height: 0.9;
  font-weight: 500;
}

.cta-section {
  background: #080807;
  color: #fff;
}

footer {
  background: #080807;
  color: rgba(255,255,255,0.72);
}

footer .logo span,
footer .footer-links h4,
footer .footer-links a:hover {
  color: #fff;
}

footer .footer-brand p,
footer .footer-links a,
footer .footer-bottom {
  color: rgba(255,255,255,0.56);
}

footer .footer-links a {
  opacity: 1;
}

footer .footer-bottom {
  border-top-color: rgba(255,255,255,0.10);
}

@media (max-width: 1100px) {
  #header {
    justify-content: space-between;
  }

  #header > nav:not(.mobile-nav),
  .header-lang {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  #header:not(.scrolled) .hamburger span {
    background: #fff;
  }

  .mobile-nav {
    display: flex;
    padding: 7.5rem var(--gutter) 3rem;
    align-items: flex-start;
    background: rgba(246,246,244,0.98);
  }

  .mobile-nav a {
    font-size: clamp(2.1rem, 11vw, 4.6rem);
    line-height: 0.95;
    color: var(--text);
  }

  .mobile-lang {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1.4rem;
  }

  .mobile-lang .lang-btn {
    font-size: 0.8rem;
    line-height: 1.2;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    min-height: 100svh;
    align-content: center;
    padding-top: 5.5rem;
  }

  .hero-visual {
    display: none;
  }

  .hero-scroll-hint {
    display: none;
  }

  .hero-title {
    font-size: clamp(4.8rem, 22vw, 7.2rem);
  }

  .video-play-btn {
    top: 68%;
  }

  .hero-cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .data-grid,
  .values-grid,
  .areas-layout,
  .team-layout,
  .contact-layout-golden,
  .process-flow,
  .promise-masonry,
  .value-grid,
  .listing-bento-v2,
  .experience-grid,
  .foreign-grid,
  .testimonials-v2 {
    grid-template-columns: 1fr;
  }

  .section-title-xl,
  .page-hero h1,
  .cta-section h2 {
    font-size: clamp(3.4rem, 17vw, 6.4rem);
    line-height: 0.92;
  }

  .editorial-free,
  .editorial-free.reverse {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .panorama-3d {
    overflow: hidden;
    max-width: 100vw;
  }

  .panorama-row {
    overflow: hidden;
    max-width: 100%;
  }

  .panorama-card {
    width: 220px;
    height: 156px;
  }

  .ef-float {
    display: none;
  }
}

@media (max-width: 640px) {
  :root {
    --section-pad: 4.5rem;
    --gutter: 1.15rem;
  }

  #header {
    padding: 0.95rem var(--gutter);
  }

  .logo img {
    height: 30px;
  }

  .logo span {
    font-size: 0.98rem;
  }

  .hero.hero-video {
    min-height: 100svh;
  }

  .hero-title {
    font-size: clamp(4.3rem, 24vw, 6rem);
  }

  .video-play-btn {
    top: 70%;
  }

  .hero-sub {
    font-size: 0.98rem;
  }

  .hero-meta {
    grid-template-columns: 1fr;
    display: grid;
  }

  .btn {
    width: auto;
    min-height: 48px;
  }

  .section-title-xl,
  .page-hero h1,
  .cta-section h2 {
    font-size: clamp(3rem, 18vw, 5.2rem);
  }

  .trio-grid {
    grid-template-columns: 1fr;
  }

  .trio-item.lg,
  .trio-item.sm {
    min-height: 260px;
    transform: none !important;
  }

  .page-hero {
    min-height: 72svh;
    padding: 7rem var(--gutter) 4rem;
  }

  .contact-form,
  .contact-side {
    padding-left: 0;
    padding-right: 0;
  }

  .hamburger.open span {
    background: var(--text) !important;
  }

  body,
  html {
    max-width: 100%;
    overflow-x: hidden;
  }
}

/* Desktop-composition mode for phones: keep the full web layout zoomable. */
@media (max-width: 1100px) {
  html,
  body {
    min-width: 1320px;
    max-width: none;
    overflow-x: auto;
  }

  #header {
    justify-content: flex-start;
  }

  #header > nav:not(.mobile-nav),
  .header-lang {
    display: flex;
  }

  .hamburger,
  .mobile-nav {
    display: none;
  }

  .container,
  .section-header,
  .data-grid,
  .editorial-free,
  .values-grid,
  .gallery-masonry,
  .areas-layout,
  .team-layout,
  .contact-layout-golden,
  .process-flow,
  .promise-masonry,
  .value-grid,
  .ba-container,
  .listing-bento-v2,
  .experience-grid,
  .foreign-grid,
  .testimonials-v2,
  .footer-grid {
    max-width: var(--container);
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.55fr);
    min-height: auto;
    align-content: initial;
    padding-top: 0;
  }

  .hero-visual {
    display: block;
  }

  .hero-scroll-hint {
    display: flex;
  }

  .hero-title {
    font-size: clamp(4.8rem, 8.8vw, 8.2rem);
    line-height: 1.03;
  }

  .hero-cta {
    flex-direction: row;
    align-items: center;
  }

  .data-grid,
  .values-grid,
  .experience-grid,
  .foreign-grid,
  .testimonials-v2 {
    grid-template-columns: repeat(3, 1fr);
  }

  .areas-layout,
  .team-layout,
  .contact-layout-golden,
  .value-grid,
  .listing-bento-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .editorial-free,
  .editorial-free.reverse {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trio-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .trio-item.lg,
  .trio-item.sm {
    transform: none;
  }

  .panorama-card {
    width: 280px;
    height: 200px;
  }
}

/* Display type safety: keep oversized Chinese headings elegant without overlap. */
.hero-title,
.section-title-xl,
.page-hero h1,
.cta-section h2 {
  letter-spacing: 0;
  text-wrap: balance;
}

.hero-title {
  font-size: clamp(4.6rem, 8.2vw, 7.6rem);
  line-height: 1.08;
}

.section-title-xl {
  font-size: clamp(3.8rem, 8vw, 7.4rem);
  line-height: 1.1;
}

.page-hero h1,
.cta-section h2 {
  font-size: clamp(3.8rem, 7.6vw, 7.2rem);
  line-height: 1.1;
}

.ef-heading,
.area-hero-card h3 {
  line-height: 1.14;
}

.testimonial-card-v2 .t-mark {
  line-height: 1;
}

.logo img {
  object-fit: contain;
}

.logo,
.logo span,
nav a,
.header-lang,
.lang-btn {
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}

footer .footer-brand .logo span {
  color: #fff;
  -webkit-text-fill-color: #fff;
}

@media (max-width: 1100px) {
  .editorial-free,
  .editorial-free.reverse {
    grid-template-columns: 0.85fr 1.15fr;
  }

  .editorial-free.reverse .ef-text { order: 2; }
  .editorial-free.reverse .ef-visual { order: 1; }

  .ef-visual {
    aspect-ratio: 4 / 5;
  }

  .ef-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .promise-masonry {
    grid-template-columns: 1.5fr 1fr 1fr;
    grid-template-rows: auto auto;
  }

  .promise-masonry .process-plain-item:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr 1fr;
  }

  #ba-showcase .ba-wrap {
    width: 1000px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  #ba-showcase .ba-container,
  #ba-showcase .ba-images,
  #ba-showcase .ba-title-wrap,
  #ba-showcase .ba-caption {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .ef-body,
  .ef-body p,
  .testimonial-card-v2 p,
  .foreign-card p,
  .promise-masonry .process-plain-item p,
  footer .footer-brand p,
  footer .footer-links a {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    word-break: normal;
    overflow-wrap: normal;
  }

  footer .footer-links a {
    white-space: nowrap;
  }
}

.counter,
.data-unit,
.hero-meta-item .meta-num,
.hero.hero-video .hero-meta-item .meta-num {
  color: var(--gold);
}

.team-sub-card .micro-label,
.team-sub-card h4 {
  margin-left: 1.1rem;
  margin-right: 1.1rem;
}

.team-sub-card {
  padding-bottom: 1.2rem;
}

/* Homepage statistics: quiet editorial numbers, no card borders or extra English labels. */
#data-dashboard {
  padding: clamp(4.5rem, 7vw, 7rem) var(--gutter);
}

.data-grid {
  width: min(980px, 100%);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 5rem);
  padding: 0;
}

.data-item {
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

.data-item:hover {
  transform: none;
  background: transparent;
}

.data-label .en {
  display: none !important;
}

.data-label,
.meta-label,
.hero-title span,
.section-title-xl span,
.page-hero h1 span,
.cta-section h2 span,
.btn,
nav a {
  word-break: keep-all;
  overflow-wrap: normal;
}

@media (max-width: 1100px) {
  .hero-title {
    font-size: clamp(4.6rem, 8.2vw, 7.6rem);
    line-height: 1.08;
  }

  .section-title-xl,
  .page-hero h1,
  .cta-section h2 {
    line-height: 1.1;
  }

  .data-grid,
  .hero-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .data-label,
  .meta-label {
    white-space: nowrap;
  }
}

@media (pointer: coarse) {
  html,
  body {
    width: 1320px;
    min-width: 1320px;
    max-width: none !important;
    overflow-x: auto !important;
  }

  #header {
    width: 1320px;
    min-width: 1320px;
  }

  .container,
  .hero-grid,
  .section-header,
  .editorial-free,
  .values-grid,
  .gallery-masonry,
  .areas-layout,
  .team-layout,
  .contact-layout-golden,
  .footer-grid {
    width: var(--container);
    max-width: var(--container);
    box-sizing: border-box;
  }

  .editorial-free,
  .editorial-free.reverse {
    grid-template-columns: 0.85fr 1.15fr !important;
    gap: 5rem;
  }

  .editorial-free.reverse .ef-text { order: 2; }
  .editorial-free.reverse .ef-visual { order: 1; }

  .ef-body {
    width: 420px;
    max-width: 420px;
  }

  .ef-visual {
    aspect-ratio: 4 / 5 !important;
  }

  .ef-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .testimonials-v2,
  .promise-masonry {
    width: 1200px;
    max-width: 1200px;
    box-sizing: border-box;
  }

  .testimonials-v2 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .foreign-grid {
    width: 1100px;
    max-width: 1100px;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    box-sizing: border-box;
  }

  .promise-masonry {
    grid-template-columns: 1.5fr 1fr 1fr !important;
    grid-template-rows: auto auto;
  }

  .promise-masonry .process-plain-item:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
  }

  .footer-bottom {
    width: var(--container);
    max-width: var(--container);
    box-sizing: border-box;
  }

  #ba-showcase .ba-wrap {
    width: 1000px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  #ba-showcase .ba-container,
  #ba-showcase .ba-images,
  #ba-showcase .ba-title-wrap,
  #ba-showcase .ba-caption {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .ef-body,
  .ef-body p,
  .testimonial-card-v2 p,
  .foreign-card p,
  .promise-masonry .process-plain-item p,
  footer .footer-brand p,
  footer .footer-links a {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  footer .footer-links a {
    white-space: nowrap !important;
  }
}

html.touch-layout,
html.touch-layout body {
  width: 1320px;
  min-width: 1320px;
  max-width: none !important;
  overflow-x: auto !important;
}

html.touch-layout #header {
  width: 1320px;
  min-width: 1320px;
}

html.touch-layout .page-hero {
  background:#000 !important;
  background-image:none !important;
}

html.touch-layout .container,
html.touch-layout .hero-grid,
html.touch-layout .section-header,
html.touch-layout .editorial-free,
html.touch-layout .values-grid,
html.touch-layout .gallery-masonry,
html.touch-layout .areas-layout,
html.touch-layout .team-layout,
html.touch-layout .contact-layout-golden,
html.touch-layout .footer-grid {
  width: var(--container);
  max-width: var(--container);
  box-sizing: border-box;
}

html.touch-layout .editorial-free,
html.touch-layout .editorial-free.reverse {
  grid-template-columns: 0.85fr 1.15fr !important;
  gap: 5rem;
}

html.touch-layout .editorial-free.reverse .ef-text { order: 2; }
html.touch-layout .editorial-free.reverse .ef-visual { order: 1; }

html.touch-layout .ef-body {
  width: 420px;
  max-width: 420px;
}

html.touch-layout .ef-visual {
  aspect-ratio: 4 / 5 !important;
}

html.touch-layout .ef-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html.touch-layout .testimonials-v2,
html.touch-layout .promise-masonry {
  width: 1200px;
  max-width: 1200px;
  box-sizing: border-box;
}

html.touch-layout .seo-faq-entry {
  width: 980px;
  max-width: 980px;
  box-sizing: border-box;
}

html.touch-layout .seo-faq-modal .seo-faq-list {
  width:auto;
  max-width:none;
}

html.touch-layout body.faq-modal-open {
  overflow:hidden !important;
}

html.touch-layout .testimonials-v2 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html.touch-layout .foreign-grid {
  width: 1100px;
  max-width: 1100px;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  box-sizing: border-box;
}

html.touch-layout .promise-masonry {
  grid-template-columns: 1.5fr 1fr 1fr !important;
  grid-template-rows: auto auto;
}

html.touch-layout .promise-masonry .process-plain-item:first-child {
  grid-column: 1;
  grid-row: 1 / 3;
}

html.touch-layout .seo-faq-item summary {
  grid-template-columns:minmax(260px,0.9fr) auto !important;
  gap:3rem;
}

html.touch-layout .seo-faq-item p {
  margin-left:calc(34% + 1.5rem);
}

html.touch-layout .footer-grid {
  grid-template-columns: 2fr 1fr 1fr 1fr !important;
}

html.touch-layout .footer-bottom {
  width: var(--container);
  max-width: var(--container);
  box-sizing: border-box;
}

html.touch-layout .ef-body,
html.touch-layout .ef-body p,
html.touch-layout .testimonial-card-v2 p,
html.touch-layout .foreign-card p,
html.touch-layout .promise-masonry .process-plain-item p,
html.touch-layout .seo-faq-item p,
html.touch-layout footer .footer-brand p,
html.touch-layout footer .footer-links a {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

html.touch-layout footer .footer-links a {
  white-space: nowrap !important;
}

html.touch-layout .contact-form input,
html.touch-layout .contact-form select,
html.touch-layout .contact-form textarea {
  min-height:58px;
  padding:1.15rem 0;
  font-size:1rem;
  touch-action:manipulation;
}

html.touch-layout .contact-form textarea {
  min-height:132px;
}

html.touch-layout .contact-form button {
  min-height:72px;
  padding:1.35rem 1.6rem;
  font-size:1.03rem;
  font-weight:700;
  letter-spacing:0.08em;
  margin-top:1.35rem;
  background:linear-gradient(180deg, #b89656 0%, #9b7a43 100%);
  color:#080807;
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:0 14px 28px rgba(155,122,67,0.24);
  border-radius:24px;
  justify-content:center;
}

html.touch-layout .form-msg {
  min-height:1.8em;
  font-size:0.95rem;
  line-height:1.8;
}

/* Auto-fit the approved 1320px desktop composition inside narrow viewports. */
html.site-fit-pending {
  background:#080807;
}

html.site-fit-pending body {
  visibility:hidden !important;
}

html.site-auto-fit,
html.site-auto-fit body,
html.site-auto-fit.touch-layout,
html.site-auto-fit.touch-layout body {
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow-x:hidden !important;
  -webkit-text-size-adjust:auto !important;
  text-size-adjust:auto !important;
}

/* iOS Safari enlarges small text inside a zoomed desktop canvas without
   enlarging its line boxes. Preserve that readable sizing and add only the
   vertical room needed by the affected multiline copy. */
@supports (-webkit-touch-callout: none) {
  html.site-auto-fit .hero-sub,
  html.site-auto-fit .ef-en {
    line-height:3.6 !important;
  }
}

/* Phone auto-fit refinements: keep all four languages visible and show the
   complete 16:9 hero video without changing the approved 1320px canvas. */
html.site-auto-fit #header {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  padding-left:1rem;
  padding-right:1rem;
  column-gap:1.2rem;
  row-gap:0.55rem;
  -webkit-text-size-adjust:none !important;
  text-size-adjust:none !important;
}

html.site-auto-fit #header .logo {
  grid-column:1;
  grid-row:1;
  justify-self:start;
}

html.site-auto-fit #header .logo img {
  height:56px;
}

html.site-auto-fit #header > nav:not(.mobile-nav) {
  grid-column:1 / -1;
  grid-row:2;
  margin-left:0;
  justify-self:stretch;
  width:100%;
  min-width:0;
}

html.site-auto-fit #header nav ul {
  justify-content:center;
  gap:1.6rem;
}

html.site-auto-fit #header .header-lang {
  grid-column:3;
  grid-row:1;
  margin-left:0;
  justify-self:end;
  gap:0.2rem;
}

html.site-auto-fit #header .lang-btn {
  font-size:0.72rem;
  padding:0.24rem 0.32rem;
}

html.site-auto-fit #header .logo span {
  font-size:1.4rem;
}

html.site-auto-fit #header nav a {
  font-size:0.72rem;
}

html.site-auto-fit .hero.hero-video {
  padding-top:18rem;
}

html.site-auto-fit .page-hero,
html.site-auto-fit .privacy-hero {
  padding-top:17rem;
}

html.site-auto-fit .hero-video-el {
  object-fit:contain;
  object-position:center center;
  background:#080807;
}

html.site-auto-fit #site-scale-root {
  width:1320px;
  min-width:1320px;
  max-width:none;
  margin:0;
  overflow:visible;
  transform-origin:top left;
}

/* Keep full-bleed media tied to the desktop canvas instead of mobile 100vw. */
html.site-auto-fit #site-scale-root .panorama-3d,
html.site-auto-fit #site-scale-root .panorama-strip,
html.site-auto-fit #site-scale-root .panorama-row {
  width:100%;
  max-width:none;
}

/* =============================================
   Privacy & Personal Information
   ============================================= */
.privacy-page,
.privacy-page main {
  background:#080807;
  color:#fff;
}
.privacy-hero {
  min-height:72svh;
  display:flex;
  align-items:flex-end;
  padding:13rem var(--gutter) 7rem;
  border-bottom:1px solid rgba(255,255,255,0.12);
  background:#080807;
}
.privacy-hero-inner {
  width:100%;
  max-width:var(--container);
  margin:0 auto;
}
.privacy-hero h1 {
  margin:1.4rem 0 2rem;
  max-width:920px;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(5rem, 10vw, 9rem);
  font-weight:400;
  line-height:0.92;
}
.privacy-hero h1 .gold { color:var(--gold); }
.privacy-hero p {
  max-width:720px;
  color:rgba(255,255,255,0.62);
  font-family:var(--font-sans);
  font-size:1rem;
  line-height:2;
}
.privacy-content {
  max-width:1040px;
  margin:0 auto;
  padding:4rem var(--gutter) 9rem;
}
.privacy-chapter {
  display:grid;
  grid-template-columns:190px minmax(0, 1fr);
  gap:3.5rem;
  padding:4rem 0;
  border-top:1px solid rgba(255,255,255,0.12);
}
.privacy-chapter h2 {
  color:var(--gold);
  font-family:var(--font-sans);
  font-size:0.76rem;
  font-weight:500;
  line-height:1.8;
  text-transform:uppercase;
}
.privacy-chapter p {
  color:rgba(255,255,255,0.72);
  font-family:var(--font-sans);
  font-size:0.96rem;
  line-height:2.05;
}
.privacy-section-head {
  padding:7rem 0 4rem;
}
.privacy-section-head h2 {
  margin:1.2rem 0 1.5rem;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(3.8rem, 7vw, 6.5rem);
  font-weight:400;
  line-height:0.98;
}
.privacy-section-head h2 .gold { color:var(--gold); }
.privacy-section-head p {
  max-width:720px;
  color:rgba(255,255,255,0.6);
  font-family:var(--font-sans);
  line-height:2;
}
.collection-row {
  display:grid;
  grid-template-columns:260px minmax(0, 1fr);
  gap:3.5rem;
  padding:2.7rem 0;
  border-top:1px solid rgba(255,255,255,0.12);
}
.collection-row h3 {
  color:#fff;
  font-family:var(--font-display);
  font-size:1.45rem;
  font-weight:400;
}
.collection-row p {
  color:rgba(255,255,255,0.68);
  font-family:var(--font-sans);
  font-size:0.92rem;
  line-height:2;
}
.privacy-note {
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid var(--gold-line);
  color:rgba(255,255,255,0.76);
  font-family:var(--font-sans);
  font-size:0.9rem;
  line-height:2;
}
.privacy-effective {
  color:rgba(255,255,255,0.45);
  font-family:var(--font-sans);
  font-size:0.78rem;
  margin-top:2rem;
}
.privacy-back {
  display:inline-flex;
  margin-top:2.5rem;
  color:#fff;
  border-bottom:1px solid var(--gold);
  font-family:var(--font-sans);
  font-size:0.82rem;
  padding-bottom:0.35rem;
}

html.touch-layout .light-chat-tabs-head {
  gap:0.6rem;
}

html.touch-layout .light-chat-tabs-row {
  gap:0.35rem;
}

html.touch-layout .light-chat-shell {
  right:12px;
  bottom:12px;
  left:12px;
  align-items:flex-end;
}

html.touch-layout .light-chat-panel {
  width:calc(100vw - 24px);
  max-width:420px;
}

@media (max-width: 720px) {
  .light-chat-shell {
    right:12px;
    left:12px;
    bottom:12px;
  }

  .light-chat-panel {
    width:100%;
    max-width:none;
  }

  .light-chat-tabs-head {
    flex-direction:column;
    align-items:flex-start;
  }

  .light-chat-tabs-head span:last-child {
    text-align:left;
  }

  .light-chat-message {
    max-width:92%;
  }

  .light-chat-footer {
    flex-direction:column;
    align-items:flex-start;
  }

  .light-chat-footer-right {
    justify-content:flex-start;
  }
}


/* Partner Network page */
.partner-hero {
  overflow: hidden;
  color: #fff;
  background: #000 !important;
  background-image: none !important;
}

.partner-hero-img,
.partner-hero-mask {
  display: none;
}

.partner-hero-copy {
  position: relative;
  z-index: 2;
  padding-top: clamp(8rem, 18vh, 13rem);
}

.partner-hero h1 {
  max-width: 820px;
}

.partner-hero p {
  max-width: 560px;
}

#partner-intro {
  padding-bottom: 6rem;
}

.partner-complete-visual {
  background: #e8e6df;
}

.partner-complete-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  padding: 1.8rem;
}

.partner-image-spread {
  max-width: var(--container);
  margin: -5rem auto 0;
  padding: 0 var(--gutter);
}

.partner-image-spread figure {
  margin-left: min(26vw, 360px);
  background: #e8e6df;
  border: 1px solid var(--line);
}

.partner-image-spread img {
  width: 100%;
  height: min(54vw, 620px);
  object-fit: contain;
  padding: clamp(1.4rem, 3vw, 3rem);
}

.partner-image-spread figcaption {
  border-top: 1px solid var(--line);
  padding: 1rem 1.4rem 1.2rem;
  color: var(--text-mid);
  font-family: var(--font-sans);
  font-size: 0.88rem;
}

.partner-section-soft {
  background: var(--bg-alt);
}

.partner-line-list {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.partner-line-item {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 3rem;
  align-items: baseline;
  padding: 2.4rem 0;
  border-top: 1px solid var(--line-2);
}

.partner-line-item:last-child {
  border-bottom: 1px solid var(--line-2);
}

.partner-line-item span,
.partner-focus-grid span {
  color: var(--gold);
  font-family: var(--font-display);
  font-size: 1.35rem;
}

.partner-line-item p {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.8vw, 2.4rem);
  line-height: 1.2;
  color: var(--text);
}

.partner-focus-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, 0.84fr);
  gap: clamp(5rem, 8vw, 9rem);
  align-items: start;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.partner-focus-copy .section-header {
  padding-left: 0;
  margin-bottom: clamp(3rem, 5vw, 5rem);
}

html[lang="en"] #partner-focus .section-title-xl .italic {
  margin-left: 0.16em;
}

.partner-focus-grid {
  display: block;
  max-width: none;
  margin: 0;
  padding: 0;
}

.partner-focus-grid div {
  min-height: 0;
  padding: 2.4rem 0;
  border: 0;
  border-top: 1px solid var(--line-2);
  background: transparent;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: baseline;
}

.partner-focus-grid div:last-child {
  border-bottom: 1px solid var(--line-2);
}

.partner-focus-grid div:nth-child(even) {
  margin-left: 0;
}

.partner-focus-grid h4 {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 3vw, 2.5rem);
  line-height: 1.18;
  color: var(--text);
  font-weight: 400;
}

.partner-focus-visual {
  position: relative;
  margin-top: clamp(9rem, 12vw, 15rem);
  background: transparent;
  border: 0;
}

.partner-focus-visual .pic-tag {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
}

.partner-focus-visual img {
  display: block;
  width: 108%;
  max-width: none;
  height: auto;
  object-fit: contain;
  margin-left: -4%;
  padding: 0;
}

.partner-focus-visual p {
  border-top: 1px solid var(--line);
  padding: 1rem 1.4rem 1.2rem;
  color: var(--text-mid);
  font-family: var(--font-sans);
  font-size: 0.88rem;
  line-height: 1.8;
}

.partner-cta {
  text-align: left;
  padding: clamp(7rem, 10vw, 10rem) var(--gutter);
  padding-left: max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter)));
  background: #080807 !important;
  color: #fff;
  min-height: auto;
  overflow: visible;
}

.partner-cta h2 {
  margin-bottom: 1.6rem;
  color: #fff !important;
  font-size: clamp(3rem, 7vw, 6.4rem);
  line-height: 1.08;
}

.partner-cta p {
  max-width: 700px;
  margin-bottom: 2.4rem;
  color: rgba(255,255,255,0.72) !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.9;
}

.partner-cta .btn-primary {
  background: #fff;
  color: #080807;
}

.partner-cta .btn-primary:hover {
  background: var(--gold);
  color: #080807;
}

@media (max-width: 1100px), (pointer: coarse) {
  .partner-focus-layout {
    width: var(--container);
    max-width: var(--container);
    grid-template-columns: minmax(0, 1.02fr) minmax(390px, 0.84fr);
    box-sizing: border-box;
  }

  .partner-focus-grid {
    display: block;
    max-width: none;
    box-sizing: border-box;
  }
}

/* Mobile Panda Assistant: anchor to the visible phone viewport, not the 1320px layout canvas. */
html.touch-layout .light-chat-shell.assistant-touch-chat,
.light-chat-shell.assistant-touch-chat {
  left: auto;
  right: calc(env(safe-area-inset-right, 0px) + 24px);
  top: 52%;
  bottom: auto;
  width: auto;
  height: auto;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 0;
  transform-origin: top right;
  will-change: transform, left, top, right, bottom, width, height;
}

html.touch-layout .light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher,
.light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher {
  min-width: 58px;
  min-height: 34px;
  gap: 0.3rem;
  padding: 0.42rem 0.58rem;
  box-shadow: 0 10px 28px rgba(20,18,16,0.18);
  transform: none;
  transform-origin: center;
}

html.touch-layout .light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher-dot,
.light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher-dot {
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 4px rgba(184,146,90,0.16);
}

html.touch-layout .light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher-copy strong,
.light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher-copy strong {
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
}

html.touch-layout .light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher-copy strong::after,
.light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher-copy strong::after {
  content: "Panda";
  font-size: 0.72rem;
  line-height: 1;
  letter-spacing: 0;
}

html.touch-layout .light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher-copy span,
.light-chat-shell.assistant-touch-chat:not(.open) .light-chat-launcher-copy span {
  display: none;
}

@media (pointer: coarse) {
  .data-grid,
  html.touch-layout .data-grid {
    width: 980px !important;
    max-width: 980px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5rem !important;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  .data-item,
  html.touch-layout .data-item {
    min-width: 0;
    text-align: center;
    padding: 0 !important;
  }

  .counter,
  .data-unit,
  html.touch-layout .counter,
  html.touch-layout .data-unit {
    white-space: nowrap;
  }

  .counter,
  html.touch-layout .counter {
    font-size: 5.4rem;
  }

  .data-label,
  html.touch-layout .data-label {
    white-space: nowrap;
  }
}

html.touch-layout .light-chat-shell.assistant-touch-chat .light-chat-panel,
.light-chat-shell.assistant-touch-chat .light-chat-panel {
  display: none;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
}

html.touch-layout .light-chat-shell.assistant-touch-chat.open,
.light-chat-shell.assistant-touch-chat.open {
  right: auto;
  bottom: auto;
  z-index: 1400;
  min-width: 0;
  max-width: none;
  align-items: stretch;
  justify-content: stretch;
  background: rgba(8,8,7,0.22);
  overflow: hidden;
  transform-origin: top left;
}

html.touch-layout .light-chat-shell.assistant-touch-chat.open .light-chat-launcher,
.light-chat-shell.assistant-touch-chat.open .light-chat-launcher {
  display: none;
}

html.touch-layout .light-chat-shell.assistant-touch-chat.open .light-chat-panel,
.light-chat-shell.assistant-touch-chat.open .light-chat-panel {
  display: flex;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  opacity: 1;
  pointer-events: auto;
  background: rgba(250,250,247,0.98);
}

html.touch-layout .light-chat-shell.assistant-touch-chat .light-chat-head,
.light-chat-shell.assistant-touch-chat .light-chat-head {
  padding-top: calc(env(safe-area-inset-top, 0px) + 1rem);
}

html.touch-layout .light-chat-shell.assistant-touch-chat .light-chat-body,
.light-chat-shell.assistant-touch-chat .light-chat-body {
  flex: 1 1 auto;
  min-height: 0;
}

html.touch-layout .light-chat-shell.assistant-touch-chat .light-chat-form,
html.touch-layout .light-chat-shell.assistant-touch-chat .light-chat-footer,
.light-chat-shell.assistant-touch-chat .light-chat-form,
.light-chat-shell.assistant-touch-chat .light-chat-footer {
  padding-left: max(1rem, env(safe-area-inset-left, 0px));
  padding-right: max(1rem, env(safe-area-inset-right, 0px));
}

html.touch-layout .light-chat-shell.assistant-touch-chat .light-chat-footer,
.light-chat-shell.assistant-touch-chat .light-chat-footer {
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 0.9rem);
}

/* =============================================
   Shanghai rental management guide
   ============================================= */
.guide-page {
  background:#ececea;
}

.guide-page main,
.guide-page article {
  display:block;
  background:#ececea;
}

.guide-page section {
  border-top:0;
}

.guide-cover {
  position:relative;
  min-height:840px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#080807;
  color:#fff;
}

.guide-cover > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 56%;
}

.guide-cover-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(4,4,3,0.86) 0%, rgba(4,4,3,0.55) 50%, rgba(4,4,3,0.15) 100%);
}

.guide-cover-inner {
  position:relative;
  z-index:1;
  width:100%;
  padding-top:13rem;
  padding-bottom:7.5rem;
}

.guide-kicker,
.guide-index,
.guide-toc > p {
  font-family:var(--font-sans);
  font-size:0.72rem;
  font-weight:600;
  line-height:1.4;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.guide-kicker {
  color:#d0b077;
  margin-bottom:2.1rem;
}

.guide-cover h1 {
  max-width:900px;
  margin:0;
  color:#fff;
  font-size:clamp(4.8rem, 8vw, 7.6rem);
  font-weight:500;
  line-height:0.98;
  letter-spacing:0;
}

.guide-cover-sub {
  max-width:780px;
  margin-top:2.3rem;
  color:rgba(255,255,255,0.82);
  font-size:1.28rem;
  line-height:1.8;
}

.guide-meta {
  display:flex;
  gap:2.2rem;
  margin-top:3rem;
  color:rgba(255,255,255,0.52);
  font-family:var(--font-sans);
  font-size:0.78rem;
}

.guide-breadcrumb {
  display:flex;
  align-items:center;
  gap:0.75rem;
  padding-top:1.5rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--line-2);
  color:var(--text-dim);
  font-family:var(--font-sans);
  font-size:0.76rem;
}

.guide-breadcrumb a {
  color:var(--text-mid);
}

.guide-layout {
  display:grid;
  grid-template-columns:220px 780px minmax(0, 1fr);
  gap:0 72px;
  align-items:start;
  padding-top:7rem;
  padding-bottom:9rem;
}

.guide-toc {
  position:sticky;
  top:120px;
  grid-column:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding-top:0.3rem;
}

.guide-toc > p {
  width:100%;
  margin-bottom:1.2rem;
  padding-bottom:0.9rem;
  border-bottom:1px solid var(--line-2);
  color:var(--gold);
}

.guide-toc a {
  width:100%;
  padding:0.55rem 0;
  color:var(--text-mid);
  font-family:var(--font-sans);
  font-size:0.78rem;
  line-height:1.5;
}

.guide-toc a:hover {
  color:var(--text);
}

.guide-content {
  grid-column:2;
  min-width:0;
}

.guide-lead {
  margin:0 0 8rem;
  color:var(--text);
  font-size:1.5rem;
  font-weight:500;
  line-height:1.9;
}

.guide-chapter,
.guide-reference,
.guide-faq {
  scroll-margin-top:130px;
  padding:0 0 7rem;
}

.guide-chapter + .guide-chapter,
.guide-figure + .guide-chapter,
.guide-reference,
.guide-faq {
  padding-top:7rem;
  border-top:1px solid var(--line-2);
}

.guide-index {
  display:block;
  margin-bottom:1.8rem;
  color:var(--gold);
}

.guide-content h2,
.guide-cta h2 {
  margin:0 0 2.2rem;
  font-family:var(--font-display);
  font-size:2.65rem;
  font-weight:500;
  line-height:1.3;
  letter-spacing:0;
}

.guide-content h3 {
  margin:0 0 0.7rem;
  font-family:var(--font-display);
  font-size:1.28rem;
  font-weight:600;
  line-height:1.5;
  letter-spacing:0;
}

.guide-content p,
.guide-content li {
  color:var(--text-mid);
  font-size:1.03rem;
  line-height:2;
}

.guide-content p + p {
  margin-top:1.35rem;
}

.guide-content a {
  color:#72562e;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:0.25em;
}

.guide-content blockquote {
  margin:3.2rem 0 0;
  padding:0.35rem 0 0.35rem 2rem;
  border-left:3px solid var(--gold);
  color:var(--text);
  font-size:1.35rem;
  font-weight:500;
  line-height:1.8;
}

.guide-table-wrap {
  margin:3rem 0 1.7rem;
  border-top:2px solid var(--text);
  overflow:hidden;
}

.guide-table {
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-family:var(--font-sans);
}

.guide-table th,
.guide-table td {
  padding:1.25rem 1rem;
  border-bottom:1px solid var(--line-2);
  vertical-align:top;
  text-align:left;
  font-size:0.88rem;
  line-height:1.7;
}

.guide-table thead th {
  color:var(--text-mid);
  font-size:0.72rem;
  font-weight:600;
}

.guide-table tbody th {
  width:16%;
  color:var(--text);
  font-weight:600;
}

.guide-note {
  padding-left:1rem;
  border-left:1px solid var(--gold);
  font-size:0.88rem !important;
}

.guide-figure {
  margin:0 0 7rem;
}

.guide-figure img {
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border-radius:4px;
}

.guide-figure figcaption {
  max-width:650px;
  margin-top:0.9rem;
  color:var(--text-dim);
  font-family:var(--font-sans);
  font-size:0.75rem;
  line-height:1.7;
}

.guide-figure-offset {
  width:840px;
  margin-left:-60px;
}

.guide-figure-offset img {
  aspect-ratio:3 / 2;
}

.guide-model-block {
  display:grid;
  grid-template-columns:180px minmax(0, 1fr);
  gap:2.5rem;
  padding:2rem 0;
  border-top:1px solid var(--line-2);
}

.guide-model-block + .guide-model-block {
  margin-top:0;
}

.guide-model-block p {
  margin:0 !important;
}

.guide-formula {
  margin:3rem 0;
  padding:2rem 0;
  border-top:2px solid var(--text);
  border-bottom:1px solid var(--line-2);
}

.guide-formula span {
  display:block;
  margin-bottom:0.8rem;
  color:var(--gold);
  font-family:var(--font-sans);
  font-size:0.78rem;
  font-weight:600;
}

.guide-formula strong {
  display:block;
  color:var(--text);
  font-size:1.35rem;
  font-weight:500;
  line-height:1.7;
}

.guide-number-list {
  counter-reset:guide-number;
}

.guide-number-list li {
  position:relative;
  padding:1.25rem 0 1.25rem 4rem;
  border-bottom:1px solid var(--line);
  counter-increment:guide-number;
}

.guide-number-list li::before {
  content:"0" counter(guide-number);
  position:absolute;
  left:0;
  top:1.62rem;
  color:var(--gold);
  font-family:var(--font-sans);
  font-size:0.72rem;
  font-weight:600;
}

.guide-number-list strong {
  color:var(--text);
}

.guide-split-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  margin-top:3rem;
}

.guide-split-list > div {
  padding-top:1.5rem;
  border-top:2px solid var(--text);
}

.guide-split-list li {
  position:relative;
  padding:0.75rem 0 0.75rem 1.4rem;
  border-bottom:1px solid var(--line);
}

.guide-split-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:1.55rem;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--gold);
}

.guide-question-list {
  border-top:2px solid var(--text);
}

.guide-question-list li {
  display:grid;
  grid-template-columns:46px minmax(0, 1fr);
  gap:1.4rem;
  padding:1.55rem 0;
  border-bottom:1px solid var(--line-2);
}

.guide-question-list > li > span {
  color:var(--gold);
  font-family:var(--font-sans);
  font-size:0.75rem;
  font-weight:600;
}

.guide-question-list strong {
  color:var(--text);
  font-size:1.02rem;
}

.guide-question-list p {
  margin-top:0.25rem !important;
  font-size:0.92rem;
}

.guide-tenant-chapter {
  margin-left:-72px;
  padding-left:72px;
  padding-right:72px;
  background:#e3e1dc;
}

.guide-tenant-chapter .guide-index {
  padding-top:7rem;
}

.guide-tenant-points {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  margin-top:3rem;
  border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line-2);
}

.guide-tenant-points span {
  padding:1.4rem 0;
  border-right:1px solid var(--line-2);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:0.85rem;
  text-align:center;
}

.guide-tenant-points span:last-child {
  border-right:0;
}

.guide-tenant-points-three {
  grid-template-columns:repeat(3, 1fr);
}

.guide-tenant-points span strong {
  display:block;
  margin-bottom:0.45rem;
  font-size:0.9rem;
}

.guide-checklist {
  margin:3rem 0 2rem;
  border-top:2px solid var(--text);
}

.guide-checklist li {
  position:relative;
  padding:1.25rem 3.5rem 1.25rem 0;
  border-bottom:1px solid var(--line-2);
  color:var(--text);
}

.guide-checklist li::after {
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:18px;
  height:18px;
  border:1px solid var(--gold);
  transform:translateY(-50%);
}

.guide-reference {
  margin-top:1rem;
}

.guide-reference ul {
  margin:2rem 0;
  border-top:1px solid var(--line-2);
}

.guide-reference li {
  padding:0.9rem 0;
  border-bottom:1px solid var(--line-2);
}

.guide-disclaimer {
  color:var(--text-dim) !important;
  font-size:0.82rem !important;
}

.guide-faq details {
  border-top:1px solid var(--line-2);
}

.guide-faq details:last-child {
  border-bottom:1px solid var(--line-2);
}

.guide-faq summary {
  position:relative;
  padding:1.45rem 3rem 1.45rem 0;
  color:var(--text);
  font-size:1.02rem;
  font-weight:600;
  line-height:1.6;
  cursor:pointer;
  list-style:none;
}

.guide-faq summary::-webkit-details-marker {
  display:none;
}

.guide-faq summary::after {
  content:"+";
  position:absolute;
  right:0;
  top:1.15rem;
  color:var(--gold);
  font-size:1.5rem;
  font-weight:300;
}

.guide-faq details[open] summary::after {
  content:"−";
}

.guide-faq details p {
  max-width:680px;
  margin:0;
  padding:0 0 1.6rem;
}

.guide-related {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin-top:5rem;
  padding:1.35rem 0;
  border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line-2);
}

.guide-related > span {
  color:var(--gold);
  font-family:var(--font-sans);
  font-size:0.67rem;
  font-weight:600;
  letter-spacing:0;
  white-space:nowrap;
}

.guide-related a {
  color:var(--text);
  font-family:var(--font-sans);
  font-size:0.9rem;
  text-align:right;
}

.guide-cta {
  background:#080807;
  color:#fff;
}

.guide-cta .container {
  padding-top:7.5rem;
  padding-bottom:7.5rem;
}

.guide-cta h2 {
  max-width:760px;
  margin-bottom:1.3rem;
  color:#fff;
  font-size:4rem;
}

.guide-cta > .container > p:not(.guide-kicker) {
  max-width:680px;
  color:rgba(255,255,255,0.62);
  font-size:1.08rem;
  line-height:1.9;
}

.guide-cta-actions {
  display:flex;
  align-items:center;
  gap:2rem;
  margin-top:2.7rem;
}

.guide-cta .btn {
  min-height:54px;
  border-radius:4px;
}

.guide-phone {
  color:#fff;
  font-family:var(--font-sans);
  font-size:1rem;
}

html.site-auto-fit .guide-cover-inner {
  padding-top:18rem;
}

html.touch-layout .guide-layout,
html.touch-layout .guide-breadcrumb,
html.touch-layout .guide-cover-inner,
html.touch-layout .guide-cta .container {
  width:1320px;
  max-width:1320px;
  box-sizing:border-box;
}

html.touch-layout .guide-cover {
  width:1320px;
  min-width:1320px;
}

html.touch-layout .guide-content p,
html.touch-layout .guide-content li,
html.touch-layout .guide-content h2,
html.touch-layout .guide-content h3,
html.touch-layout .guide-content blockquote,
html.touch-layout .guide-content summary,
html.touch-layout .guide-cover-sub {
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
