/* ============================================================
   认识一下 · Nice To Meet You
   设计系统 v3 —— Timeleft 式奶油系（用户指定一比一复刻其版式语言）
   兼容保留 v2 类名（chapter/display/night/card...），子页面不受影响
   ============================================================ */

/* ---------- 品牌字标字体：站酷快乐体（ZCOOL KuaiLe，SIL OFL 免费商用，自托管子集，仅含"认识一下."及常用字形） ---------- */
/* RENSHI_FONTFACES_START */
@font-face{font-family:"Renshi Logo";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/renshi-slice-1.woff2") format("woff2");unicode-range:U+2b, U+40, U+3000, U+300a-300b, U+4e16, U+4e66, U+4e70, U+4e91-4e92, U+4e94, U+4e9b, U+4ec0, U+4eca, U+4f01, U+4f17-4f18, U+4f46, U+4f4e, U+4f9b, U+4fee, U+503c, U+5065, U+50cf, U+513f, U+5148, U+518d, U+51c6, U+51e0, U+5217, U+529e-529f, U+5341, U+534f, U+5361, U+5386, U+53c2, U+53c8, U+53cc, U+53d7-53d8, U+53ea, U+5404, U+5411, U+5417, U+5427, U+5468, U+559c, U+5668, U+56e0, U+56e2, U+56ed, U+5740, U+57fa, U+58eb, U+5904, U+592a, U+59cb, U+5a31, U+5b58, U+5b9d, U+5bc6, U+5c71, U+5dde, U+5df1, U+5e08, U+5e26, U+5e2e, U+5e93, U+5e97, U+5eb7, U+5f15, U+5f20, U+5f3a, U+5f62, U+5f69, U+5f88, U+5f8b, U+5fc5, U+600e, U+620f, U+6218, U+623f, U+627e, U+628a, U+62a4, U+62db, U+62e9, U+6307, U+6362, U+636e, U+64ad, U+6539, U+653f, U+6548, U+6574, U+6613, U+6625, U+663e, U+666f, U+672a, U+6750, U+6784, U+6a21, U+6b3e, U+6b65, U+6bcf, U+6c11, U+6c5f, U+6df1, U+706b, U+7167, U+724c, U+738b, U+73a9, U+73af, U+7403, U+7537, U+754c, U+7559, U+767d, U+7740, U+786e, U+795e, U+798f, U+79f0, U+7aef, U+7b7e, U+7bb1, U+7ea2, U+7ea6, U+7ec4, U+7ec6, U+7ecd, U+7edc, U+7ef4, U+8003, U+80b2, U+81f3-81f4, U+822a, U+827a, U+82f1, U+83b7, U+8425, U+89c2, U+89c8, U+8ba9, U+8bb8, U+8bc6, U+8bd5, U+8be2, U+8be5, U+8bed, U+8c03, U+8d23, U+8d2d, U+8d34, U+8d70, U+8db3, U+8fbe, U+8fce, U+8fd1, U+8fde, U+9001, U+901f-9020, U+90a3, U+914d, U+91c7, U+94fe, U+9500, U+952e, U+9605, U+9645, U+9662, U+9664, U+9700, U+9752, U+975e, U+97f3, U+9879, U+9886, U+98df, U+9a6c, U+9a8c, U+9ed1, U+9f99;}
@font-face{font-family:"Renshi Logo";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/renshi-slice-2.woff2") format("woff2");unicode-range:U+4e, U+201c-201d, U+3010-3011, U+4e07, U+4e1c, U+4e24, U+4e3e, U+4e48, U+4e50, U+4e5f, U+4e8b-4e8c, U+4ea4, U+4eab-4eac, U+4ecb, U+4ece, U+4ed6, U+4ee3, U+4ef6-4ef7, U+4efb, U+4f20, U+4f55, U+4f7f, U+4fdd, U+505a, U+5143, U+5149, U+514d, U+5171, U+5177, U+518c, U+51fb, U+521b, U+5229, U+522b, U+52a9, U+5305, U+5317, U+534e, U+5355, U+5357, U+535a, U+5373, U+539f, U+53bb, U+53ca, U+53cd, U+53d6, U+53e3, U+53f0, U+5458, U+5546, U+56db, U+573a, U+578b, U+57ce, U+58f0, U+590d, U+5934, U+5973, U+5b57, U+5b8c, U+5b98, U+5bb9, U+5bfc, U+5c06, U+5c11, U+5c31, U+5c55, U+5df2, U+5e03, U+5e38, U+5e76, U+5e94, U+5efa, U+5f71, U+5f97, U+5feb, U+6001, U+603b, U+60f3, U+611f, U+6216, U+624d, U+6253, U+6295, U+6301, U+6392, U+641c, U+652f, U+653e, U+6559, U+6599, U+661f, U+671f, U+672f, U+6761, U+67e5, U+6807, U+6837, U+683c, U+6848, U+6b22, U+6b64, U+6bd4, U+6c14, U+6c34, U+6c42, U+6ca1, U+6d41, U+6d77, U+6d88, U+6e05, U+6e38, U+6e90, U+7136, U+7231, U+7531, U+767e, U+76ee, U+76f4, U+771f, U+7801, U+793a, U+79cd, U+7a0b, U+7a7a, U+7acb, U+7ae0, U+7b2c, U+7b80, U+7ba1, U+7cbe, U+7d22, U+7ea7, U+7ed3, U+7ed9, U+7edf, U+7f16, U+7f6e, U+8001, U+800c, U+8272, U+8282, U+82b1, U+8350, U+88ab, U+88c5, U+897f, U+89c1, U+89c4, U+89e3, U+8a00, U+8ba1, U+8ba4, U+8bae-8bb0, U+8bbe, U+8bc1, U+8bc4, U+8bfb, U+8d28, U+8d39, U+8d77, U+8d85, U+8def, U+8eab, U+8f66, U+8f6c, U+8f7d, U+8fd0, U+9009, U+90ae, U+90fd, U+91cc-91cd, U+91cf, U+95fb, U+9650, U+96c6, U+9891, U+98ce, U+ff1f;}
@font-face{font-family:"Renshi Logo";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/renshi-slice-3.woff2") format("woff2");unicode-range:U+d, U+3e, U+5f, U+7c, U+a0, U+a9, U+4e09-4e0b, U+4e0d-4e0e, U+4e13, U+4e1a, U+4e2a, U+4e3a-4e3b, U+4e4b, U+4e86, U+4e8e, U+4ea7, U+4eba, U+4ee4-4ee5, U+4eec, U+4f1a, U+4f4d, U+4f53, U+4f5c, U+4f60, U+4fe1, U+5165, U+5168, U+516c, U+5173, U+5176, U+5185, U+51fa, U+5206, U+5230, U+5236, U+524d, U+529b, U+52a0-52a1, U+52a8, U+5316, U+533a, U+53cb, U+53d1, U+53ef, U+53f7-53f8, U+5408, U+540c-540e, U+544a, U+548c, U+54c1, U+56de, U+56fd-56fe, U+5728, U+5730, U+5907, U+5916, U+591a, U+5927, U+5929, U+597d, U+5982, U+5b50, U+5b66, U+5b89, U+5b9a, U+5b9e, U+5ba2, U+5bb6, U+5bf9, U+5c0f, U+5de5, U+5e02, U+5e73-5e74, U+5e7f, U+5ea6, U+5f00, U+5f0f, U+5f53, U+5f55, U+5fae, U+5fc3, U+6027, U+606f, U+60a8, U+60c5, U+610f, U+6210-6211, U+6237, U+6240, U+624b, U+6280, U+62a5, U+63a5, U+63a8, U+63d0, U+6536, U+6570, U+6587, U+65b9, U+65e0, U+65f6, U+660e, U+662d, U+662f, U+66f4, U+6700, U+670d, U+672c, U+673a, U+6743, U+6765, U+679c, U+682a, U+6b21, U+6b63, U+6cbb, U+6cd5, U+6ce8, U+6d3b, U+70ed, U+7247-7248, U+7269, U+7279, U+73b0, U+7406, U+751f, U+7528, U+7535, U+767b, U+76f8, U+770b, U+77e5, U+793e, U+79d1, U+7ad9, U+7b49, U+7c7b, U+7cfb, U+7ebf, U+7ecf, U+7f8e, U+8005, U+8054, U+80fd, U+81ea, U+85cf, U+884c, U+8868, U+8981, U+89c6, U+8bba, U+8bdd, U+8bf4, U+8bf7, U+8d44, U+8fc7, U+8fd8-8fd9, U+8fdb, U+901a, U+9053, U+90e8, U+91d1, U+957f, U+95e8, U+95ee, U+95f4, U+9762, U+9875, U+9898, U+9996, U+9ad8, U+ff01, U+ff08-ff09;}
@font-face{font-family:"Renshi Logo";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/renshi-slice-4.woff2") format("woff2");unicode-range:U+20-22, U+27-2a, U+2c-3b, U+3f, U+41-4d, U+4f-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2, U+b7, U+bb, U+df-e5, U+e7-ea, U+ec-ed, U+f1-f4, U+f6, U+f9-fa, U+fc, U+101, U+103, U+113, U+12b, U+148, U+14d, U+16b, U+1ce, U+1d0, U+300-301, U+1ebf, U+1ec7, U+2013-2014, U+2022, U+2027, U+2039-203a, U+2122, U+3001-3002, U+3042, U+3044, U+3046, U+3048, U+304a-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-3073, U+3075-3076, U+3078-3079, U+307b, U+307e-307f, U+3081-308d, U+308f, U+3092-3093, U+30a1-30a4, U+30a6-30bb, U+30bd, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd-30d7, U+30d9-30e1, U+30e3-30e7, U+30e9-30ed, U+30ef, U+30f3, U+30fb-30fc, U+3127, U+4e00, U+4e2d, U+65b0, U+65e5, U+6708-6709, U+70b9, U+7684, U+7f51, U+ff0c, U+ff0e, U+ff1a;}
@font-face{font-family:"Renshi Logo";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/renshi-slice-5.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* RENSHI_FONTFACES_END */

:root {
  --cream: #F3EEE5;          /* Timeleft 奶油底 */
  --cream-2: #EFE8DC;        /* 内嵌卡片的深一号奶油 */
  --ink: #1B1B1B;
  --body: #4A4038;
  --muted: #8D8175;
  --card: #ffffff;
  --grad: linear-gradient(93deg, #FF9E5E 0%, #FF5C8A 100%);  /* 橙→粉 */
  --grad-soft: linear-gradient(93deg, #FFE3CF 0%, #FFD9E6 100%);
  --accent-deep: #E85D2A;
  --line: #E7DFD2;
  --night: #0D0C0E;
  --night-ink: #F5EFE8;
  --night-muted: #9A8F86;
  --r: 22px;
  --nav-h: 64px;
  --serif: Georgia, "Times New Roman", "Songti SC", "SimSun", serif;
  --ease: cubic-bezier(0.22, 0.61, 0.21, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  background: var(--cream);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro SC",
    "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
::selection { background: #FF5C8A; color: #fff; }

.serif { font-family: var(--serif); letter-spacing: -0.01em; }

/* ============ 漂浮胶囊导航 ============ */
.nav {
  position: fixed;
  top: 16px; left: 14px; right: 14px;
  margin: 0 auto;
  z-index: 100;
  max-width: 1180px;
  display: flex;
  align-items: center;
  gap: 18px;
  height: 62px;
  padding: 0 10px 0 26px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  box-shadow: 0 2px 20px rgba(60, 40, 20, 0.08);
  transition: box-shadow 0.3s var(--ease);
}
.nav .logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.logo-img { height: 42px; width: auto; display: block; transition: transform 0.25s var(--ease); }
.nav .logo:hover .logo-img { transform: scale(1.05) rotate(-1deg); }
.nav .links { display: flex; gap: 6px; margin-left: 8px; align-items: center; flex-wrap: nowrap; }
.nav .links > a, .nav .links > .navitem > .navlink {
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 14.5px;
  font-weight: 550;
  color: var(--ink);
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.nav .links > a:hover, .nav .links > .navitem:hover > .navlink { background: var(--cream-2); }
.nav .pills { margin-left: auto; display: flex; gap: 8px; align-items: center; padding-right: 6px; }
.pill {
  padding: 10px 22px;
  border-radius: 999px;
  font-size: 14.5px;
  font-weight: 650;
  white-space: nowrap;
}
.pill.white { background: #fff; border: 1px solid var(--line); color: var(--ink); }
.pill.white:hover { background: var(--cream-2); }
.pill.grad { background: var(--grad); color: #2B1A12; }
.pill.grad:hover { filter: brightness(1.05); }

@media (max-width: 960px) {
  .nav .links { display: none; }
}

/* ---------- 活动下拉 ---------- */
.navitem { position: relative; }
.navitem .caret { font-size: 10px; transition: transform 0.2s; }
.navitem.open .caret { transform: rotate(180deg); }
.dropdown {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%);
  display: none;
  gap: 40px;
  background: #fff;
  border-radius: 20px;
  padding: 24px 30px;
  box-shadow: 0 18px 50px rgba(60, 40, 20, 0.16);
  min-width: 440px;
}
.navitem.open .dropdown { display: flex; }
.navitem.open { background: var(--cream-2); border-radius: 999px; }
/* 悬停触发（桌面）；触屏设备仍走 .open 点击切换 */
@media (hover: hover) {
  .navitem::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 16px; }
  .navitem:hover .dropdown { display: flex; }
  .navitem:hover .caret { transform: rotate(180deg); }
}
.dropdown .drop-h { font-size: 12px; color: var(--muted); margin-bottom: 12px; }
.dropdown .drop-col { display: flex; flex-direction: column; gap: 4px; min-width: 150px; }
.dropdown .drop-col a {
  font-weight: 700; font-size: 15.5px;
  padding: 7px 10px; border-radius: 12px;
}
.dropdown .drop-col a:hover { background: var(--cream-2); }
.soon {
  font-size: 10px; font-weight: 700; color: #FF5C8A;
  border: 1px solid #FFC9DB; border-radius: 999px;
  padding: 1px 7px; margin-left: 6px; vertical-align: 2px;
}

/* ============ 全幅照片英雄区 ============ */
.hero-full {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  background:
    radial-gradient(ellipse 55% 42% at 78% 26%, rgba(255, 156, 94, 0.5), transparent 62%),
    radial-gradient(ellipse 48% 40% at 16% 76%, rgba(255, 92, 138, 0.34), transparent 60%),
    radial-gradient(ellipse 70% 60% at 50% 50%, #4A2E1E 0%, #241511 70%, #170E0B 100%);
  overflow: hidden;
}
.hero-full > img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.hero-full::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(20, 10, 6, 0.55) 0%, rgba(20, 10, 6, 0.18) 55%, rgba(20, 10, 6, 0.05) 100%);
}
.hero-inner {
  position: relative; z-index: 2;
  padding: 140px 40px 80px;
  max-width: 1180px;
  margin: 0 auto;
  width: 100%;
  color: #fff;
}
.loc-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 700; font-size: 15px;
  margin-bottom: 22px;
}
.hero-inner h1 {
  font-size: clamp(40px, 6.5vw, 76px);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: 0.5px;
  max-width: 640px;
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.35);
}
.hero-inner .btn { margin-top: 38px; }
.apps-line { margin-top: 26px; font-size: 15px; font-weight: 600; opacity: 0.92; }
.shop-badges { display: flex; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.shop {
  display: inline-flex; align-items: center; gap: 8px;
  background: #000; color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 12px;
  padding: 10px 20px;
  font-size: 14px; font-weight: 650;
}
.shop:hover { border-color: #fff; }

/* ============ 通用按钮（Timeleft 渐变·深色字） ============ */
.btn {
  display: inline-block;
  background: var(--grad);
  color: #2B1A12;
  border: none;
  border-radius: 999px;
  padding: 15px 38px;
  font-size: 16px;
  font-weight: 750;
  cursor: pointer;
  transition: transform 0.2s var(--ease), filter 0.2s, box-shadow 0.2s;
  box-shadow: 0 10px 30px rgba(255, 110, 110, 0.28);
}
.btn:hover { transform: translateY(-2px); filter: brightness(1.06); }
.btn.ghost {
  background: #fff; color: var(--ink);
  border: 1.5px solid var(--line); box-shadow: none;
}
.btn.ghost:hover { border-color: #d8cfc0; }
.btn:disabled { background: #E5DDD0; color: #A79A8B; box-shadow: none; cursor: not-allowed; transform: none; }
.btn.big { padding: 18px 46px; font-size: 17px; }
.actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 36px; }

/* ============ 版心与分栏 ============ */
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.narrow { max-width: 760px; margin: 0 auto; }
.section { padding: 110px 0; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
@media (max-width: 860px) { .split { grid-template-columns: 1fr; gap: 36px; } }

.split .eyebrow { font-size: 14px; font-weight: 700; margin-bottom: 18px; }
.split h2 {
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0.5px;
}
.split h2 .grad-text {
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.photo-card {
  border-radius: var(--r);
  overflow: hidden;
  min-height: 340px;
  background:
    radial-gradient(ellipse 60% 50% at 30% 30%, rgba(255, 158, 94, 0.75), transparent 70%),
    radial-gradient(ellipse 55% 55% at 80% 75%, rgba(255, 92, 138, 0.55), transparent 65%),
    #2A1812;
  position: relative;
}
.photo-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.photo-card .slot-note {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255, 255, 255, 0.85); font-size: 13px; letter-spacing: 1px;
}

/* ============ New to 认识一下 · 01/02/03 ============ */
.big-card {
  background: #fff;
  border-radius: 28px;
  padding: clamp(32px, 5vw, 64px);
}
.big-card h2 { font-family: var(--serif); font-size: clamp(30px, 4vw, 46px); font-weight: 700; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 36px 0; }
@media (max-width: 780px) { .steps { grid-template-columns: 1fr; } }
.step-card {
  background: var(--cream-2);
  border-radius: 18px;
  padding: 26px;
}
.step-card .num {
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 700;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 12px;
}
.step-card h4 { font-size: 17px; font-weight: 750; margin-bottom: 6px; }
.step-card p { font-size: 14.5px; color: #6B5D52; }

/* ============ 黑底椭圆收尾 ============ */
.night-cta {
  background: var(--night);
  color: var(--night-ink);
  padding: 110px 0 0;
  text-align: center;
  overflow: hidden;
}
.oval {
  width: min(92vw, 1080px);
  aspect-ratio: 2 / 1;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse 60% 55% at 30% 40%, rgba(255, 158, 94, 0.5), transparent 65%),
    radial-gradient(ellipse 55% 60% at 75% 65%, rgba(255, 92, 138, 0.4), transparent 62%),
    #221410;
}
.oval img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.oval .oval-inner { position: relative; z-index: 2; padding: 20px; }
.oval h2 {
  font-family: var(--serif);
  font-size: clamp(30px, 5vw, 54px);
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.4);
}
.oval p { color: rgba(255, 255, 255, 0.85); margin: 18px auto 0; max-width: 460px; font-size: 16px; }
.wordmark { padding: 70px 0 30px; text-align: center; }
.wordmark img { width: min(70vw, 560px); display: block; margin: 0 auto; }
.night-cta .foot {
  color: var(--night-muted);
  font-size: 13px;
  padding: 0 24px 44px;
}

/* ============ 专栏页 ============ */
.page-hero { padding-top: 150px; padding-bottom: 30px; }
.page-hero h1 {
  font-family: var(--serif);
  font-size: clamp(38px, 6vw, 68px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.page-hero h1 .grad-text {
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.page-hero .desc { color: #6B5D52; max-width: 560px; margin-top: 20px; font-size: 16.5px; }

.tagrow { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 26px; }
.tag {
  background: #fff;
  border-radius: 999px;
  padding: 9px 20px;
  font-size: 14px;
  font-weight: 650;
  border: 1px solid transparent;
  cursor: pointer;
}
.tag:hover { border-color: var(--line); }

.featured { display: grid; grid-template-columns: 1.1fr 1fr; border-radius: 26px; overflow: hidden; background: #fff; margin-top: 44px; }
@media (max-width: 860px) { .featured { grid-template-columns: 1fr; } }
.featured .cover {
  min-height: 300px;
  background:
    radial-gradient(ellipse 60% 55% at 30% 35%, rgba(255, 158, 94, 0.9), transparent 70%),
    linear-gradient(135deg, #FF9E5E 0%, #FF5C8A 100%);
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.featured .cover .cover-title {
  font-family: var(--serif);
  font-size: clamp(26px, 3.4vw, 40px);
  color: #fff;
  font-weight: 700;
  text-shadow: 0 2px 20px rgba(0,0,0,0.15);
  padding: 24px;
  text-align: center;
}
.featured .cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.featured .f-body { padding: 30px 34px; display: flex; flex-direction: column; justify-content: center; }
.featured .f-meta { font-size: 13px; color: var(--muted); margin-bottom: 12px; }
.featured .f-meta strong { color: var(--ink); }
.featured h3 { font-size: clamp(20px, 2.4vw, 27px); font-weight: 750; line-height: 1.35; }
.featured p { color: #6B5D52; margin-top: 12px; font-size: 15.5px; }

.guide-panel {
  background: #fff;
  border-radius: 26px;
  padding: clamp(22px, 4vw, 44px);
  margin-top: 40px;
}
.searchbar {
  display: flex; align-items: center; gap: 10px;
  background: var(--cream);
  border-radius: 14px;
  padding: 14px 20px;
  margin-bottom: 10px;
}
.searchbar input {
  border: none; outline: none; background: transparent;
  font-size: 15.5px; width: 100%; color: var(--ink);
  font-family: inherit;
}
.guide-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; }
@media (max-width: 780px) { .guide-list { grid-template-columns: 1fr; } }
.guide-row {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding: 20px 4px;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
}
.guide-row:hover h4 { color: var(--accent-deep); }
.guide-row h4 { font-size: 16.5px; font-weight: 700; transition: color 0.15s; }
.guide-row .g-meta { font-size: 13px; color: var(--muted); margin-top: 4px; }
.guide-row .chev {
  flex: none;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--cream-2);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
}
.center-cta { text-align: center; margin-top: 34px; }
.btn.outline { background: #fff; border: 1.5px solid var(--line); color: var(--ink); box-shadow: none; }
.btn.outline:hover { border-color: #d8cfc0; }

/* ============ 城市页 ============ */
.city-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 22px; align-items: stretch; }
@media (max-width: 900px) { .city-grid { grid-template-columns: 1fr; } }
.city-card {
  background: #fff; border-radius: 26px; padding: 40px;
  display: flex; flex-direction: column; justify-content: center;
}
.city-card h2 { font-family: var(--serif); font-size: clamp(32px, 4vw, 50px); font-weight: 700; line-height: 1.2; margin-top: 16px; }
.city-card p { color: #6B5D52; margin-top: 16px; }
.city-card .btn { align-self: flex-start; margin-top: 26px; }
.mini-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mini-card {
  background: #fff; border-radius: 20px; padding: 22px;
  display: flex; gap: 14px; align-items: center;
  transition: transform 0.15s var(--ease);
}
.mini-card:hover { transform: translateY(-2px); }
.mini-card .thumb {
  flex: none; width: 86px; height: 64px; border-radius: 12px;
  background: var(--grad);
}
.mini-card h4 { font-size: 15.5px; font-weight: 750; line-height: 1.35; }
.mini-card .g-meta { font-size: 12.5px; color: var(--muted); margin-top: 4px; }
.city-pills { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 34px; justify-content: center; }
.city-pill {
  background: #fff; border-radius: 999px; padding: 10px 24px;
  font-size: 14.5px; font-weight: 650; border: 1px solid transparent;
}
.city-pill.active { border-color: var(--ink); }
.city-pill.soonp { color: var(--muted); }
.city-pill:hover { border-color: var(--line); }

/* ============ 场次卡（城市页用） ============ */
.event-card {
  background: #fff; border-radius: 22px; padding: 30px;
}
.event-card h3 { font-size: 20px; font-weight: 750; }
.event-card .meta { color: var(--muted); font-size: 14px; margin: 8px 0; }
.event-card .foot { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; }
.event-card .price { color: var(--accent-deep); font-weight: 800; font-size: 24px; }

/* ============ v2 兼容类（子页面继续可用） ============ */
.chapter {
  min-height: 88vh;
  display: flex; flex-direction: column;
  justify-content: center; align-items: center;
  text-align: center;
  padding: 140px 24px;
}
.display { font-size: clamp(38px, 7vw, 84px); font-weight: 800; line-height: 1.12; letter-spacing: -0.02em; }
.display-lg { font-size: clamp(52px, 11vw, 128px); font-weight: 800; line-height: 1.02; letter-spacing: -0.03em; }
.kicker { font-size: 13px; letter-spacing: 4px; text-transform: uppercase; color: var(--muted); font-weight: 600; margin-bottom: 26px; }
.sub { color: var(--body); font-size: clamp(17px, 2vw, 21px); max-width: 620px; margin: 26px auto 0; }
.footnote { color: var(--muted); font-size: 14px; margin-top: 30px; }
.night { background: var(--night); color: var(--night-ink); }
.night .kicker { color: var(--night-muted); }
.night .sub { color: var(--night-muted); }

.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); transition-delay: var(--d, 0s); }
.reveal.in { opacity: 1; transform: none; }
.reveal-scale { opacity: 0; transform: scale(0.92); transition: opacity 1.1s var(--ease), transform 1.1s var(--ease); transition-delay: var(--d, 0s); }
.reveal-scale.in { opacity: 1; transform: none; }

.card {
  background: var(--card);
  border-radius: var(--r);
  padding: 32px;
  box-shadow: 0 2px 20px rgba(90, 60, 35, 0.06);
  text-align: left;
}
.card h3 { font-size: 19px; font-weight: 700; margin-bottom: 10px; }
.card p { color: var(--body); font-size: 15.5px; }
.grid { display: grid; gap: 22px; }
.grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 780px) { .grid.cols-3, .grid.cols-2 { grid-template-columns: 1fr; } }

.step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--grad-soft); color: var(--accent-deep);
  font-weight: 800; margin-bottom: 16px;
}
.chip {
  display: inline-block;
  background: var(--cream-2); color: var(--ink);
  border-radius: 999px; padding: 4px 15px;
  font-size: 13px; margin-right: 8px;
}

.stat-num { font-size: clamp(56px, 9vw, 104px); font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.stat-label { color: var(--muted); margin-top: 12px; font-size: 15px; }

.time-block { display: flex; flex-direction: column; align-items: center; padding: 44px 0; opacity: 0.18; transform: scale(0.97); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease); }
.time-block.lit { opacity: 1; transform: none; }
.time-block .t { font-size: clamp(44px, 8vw, 88px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; }
.time-block .d { color: var(--night-muted); margin-top: 14px; font-size: 17px; }
.time-rail { width: 2px; height: 64px; margin: 0 auto; background: linear-gradient(180deg, rgba(255, 92, 138, 0.5), rgba(255, 92, 138, 0.08)); }

.scroll-cue { margin-top: 56px; color: rgba(255,255,255,0.75); font-size: 13px; letter-spacing: 3px; }
.scroll-cue::after { content: ""; display: block; width: 1.5px; height: 44px; margin: 14px auto 0; background: linear-gradient(180deg, #FF5C8A, transparent); animation: cue 2s var(--ease) infinite; }
@keyframes cue { 0% { transform: scaleY(0); transform-origin: top; } 45% { transform: scaleY(1); transform-origin: top; } 55% { transform: scaleY(1); transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

details { background: #fff; border-radius: 18px; padding: 22px 26px; margin-bottom: 14px; box-shadow: 0 2px 14px rgba(90, 60, 35, 0.05); }
details summary { font-weight: 650; cursor: pointer; list-style: none; }
details summary::-webkit-details-marker { display: none; }
details summary::after { content: "+"; float: right; color: #FF5C8A; font-weight: 700; }
details[open] summary::after { content: "–"; }
details p { margin-top: 12px; color: var(--body); font-size: 15.5px; }

/* ---------- 报名流程 ---------- */
.apply-shell { max-width: 620px; margin: 0 auto; padding: calc(var(--nav-h) + 64px) 22px 80px; }
.progress-track { height: 5px; background: var(--cream-2); border-radius: 6px; overflow: hidden; }
.progress-bar { height: 5px; background: var(--grad); border-radius: 6px; transition: width 0.25s var(--ease); }
.q-title { font-size: clamp(22px, 3vw, 28px); font-weight: 750; margin: 22px 0 20px; line-height: 1.3; }
.q-tag { color: var(--muted); font-size: 13px; margin-bottom: 8px; }
.option { border: 1.5px solid var(--line); border-radius: 18px; padding: 16px 20px; margin-bottom: 12px; background: #fff; cursor: pointer; transition: border-color 0.15s, background 0.15s, transform 0.15s; }
.option:hover { border-color: #FF9E5E; transform: translateY(-1px); }
.option.active { border-color: #FF5C8A; background: linear-gradient(93deg, rgba(255,158,94,0.12), rgba(255,92,138,0.12)); color: var(--ink); font-weight: 650; }
.input { width: 100%; border: 1.5px solid var(--line); border-radius: 16px; padding: 15px 18px; font-size: 16px; background: #fff; outline: none; transition: border-color 0.15s; }
.input:focus { border-color: #FF5C8A; box-shadow: 0 0 0 4px rgba(255, 92, 138, 0.1); }
.summary-box { background: var(--cream-2); border-radius: 16px; padding: 18px 22px; font-size: 15px; margin: 18px 0; text-align: left; }
.qr-slot { border: 1.5px dashed var(--line); border-radius: 16px; min-height: 200px; display: flex; align-items: center; justify-content: center; color: var(--muted); font-size: 14px; text-align: center; padding: 14px; }
.apply-nav { display: flex; gap: 12px; margin-top: 26px; }
.apply-nav .btn { flex: 1; text-align: center; padding: 15px 0; }

/* ---------- 页脚 ---------- */
footer { padding: 64px 24px 44px; text-align: center; border-top: 1px solid var(--line); }
footer .brand { font-weight: 800; font-size: 18px; }
footer .en { color: var(--muted); font-size: 11px; letter-spacing: 3px; text-transform: uppercase; margin-top: 6px; }
footer p { color: var(--muted); font-size: 13px; margin-top: 14px; }
footer a { color: var(--accent-deep); }

/* ---------- 工具 ---------- */
.muted { color: var(--muted); }
.spacer { flex: 1; }
.section-pad { padding: 110px 0; }
@media (max-width: 640px) {
  .section-pad { padding: 80px 0; }
  .chapter { padding: 110px 22px; }
  .hero-inner { padding: 120px 26px 70px; }
  /* 手机导航收紧：logo/pill 缩小，双 pill 不再溢出屏幕 */
  .nav { height: 56px; gap: 10px; padding: 0 8px 0 14px; }
  .logo-img { height: 34px; }
  .pill { padding: 8px 14px; font-size: 13px; }
  .wrap { padding: 0 20px; }
  /* 手机上放弃 2:1 强制椭圆：内容撑高，标题与按钮不再被裁切 */
  .oval {
    width: 100%;
    aspect-ratio: auto;
    border-radius: 0;
    padding: 64px 26px;
  }
  .oval .oval-inner { padding: 0; }
  .oval p { font-size: 15px; }
  .night-cta { padding-top: 72px; }
  .wordmark { padding: 48px 0 22px; }
  .night-cta .foot { padding: 0 20px 36px; font-size: 12px; line-height: 1.7; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal, .reveal-scale, .time-block { opacity: 1 !important; transform: none !important; transition: none !important; }
  .scroll-cue::after { animation: none; }
}
