/* ============================================================
   SELECT OUR · 首页样式
   来源：设计稿 v6（视觉与间距 1:1 保留），仅拆分成独立文件
   分层：变量 → 基础 → 组件（nav/hero/theme/trip/...）→ 响应式
   ============================================================ */
  :root{
    --o:#FF9F15; --o-dk:#E88500; --ink:#3A3A3A; --gray:#6F6D67; --gray-lt:#A09C93;
    --cream:#FFFAF2; --paper:#FBF6EC; --line:#EDE5D6; --sea:#0E8C7A; --dark:#1E2A29;
    --shadow:0 18px 50px rgba(58,42,20,.10);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
  /* 顶部导航是 sticky，锚点跳转会把目标标题压在导航底下。
     页脚 / 菜单里的 #themes #trips #why #faq #journal #cta 全都要留出这段高度。 */
  section[id],main[id]{scroll-margin-top:76px}
  @media(max-width:900px){section[id],main[id]{scroll-margin-top:68px}}
  body{background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Helvetica Neue",sans-serif;line-height:1.6}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1340px;margin:0 auto;padding:0 44px}
  @media(max-width:820px){.wrap{padding:0 20px}}

  /* ---------- NAV ---------- */
  nav{position:sticky;top:0;z-index:60;background:rgba(255,250,242,.86);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
  .nav-in{max-width:1340px;margin:0 auto;padding:15px 44px;display:flex;align-items:center;justify-content:space-between;gap:20px}
  .brand{display:flex;align-items:center;gap:11px}
  .st{width:36px;height:36px;display:block;flex-shrink:0}
  /* 字标：S 与 T 取橙（对齐 St 标记），字母收紧要贴在一起 */
  .wm b{display:block;font-size:29px;letter-spacing:-.012em;line-height:.94;font-style:italic;font-weight:800;white-space:nowrap}
  .wm b i{font-style:italic;color:var(--o)}
  .wm span{display:block;font-size:9px;color:var(--gray-lt);letter-spacing:3px;margin-top:5px}
  .links{display:flex;gap:30px;font-size:13.5px;font-weight:600;color:#57554F}
  .links a:hover{color:var(--o-dk)}
  .nav-r{display:flex;align-items:center;gap:16px}
  .lang{font-size:12px;font-weight:700;color:var(--gray-lt)}

  /* ---------- 移动端菜单 ----------
     900px 以下 .links 会被隐藏，曾经因此没有任何站内导航入口，
     手机上只能靠滚动找东西。这里补一个汉堡 + 全屏抽屉。 */
  .nburger{display:none;width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;
    flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:0;flex-shrink:0}
  .nburger span{display:block;width:16px;height:1.6px;background:var(--ink);border-radius:1px;transition:transform .2s ease,opacity .15s ease}
  .nburger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.6px) rotate(45deg)}
  .nburger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.6px) rotate(-45deg)}
  .ndrawer{position:fixed;inset:0;z-index:59;background:var(--cream);padding:78px 22px 30px;
    opacity:0;transform:translateY(-6px);pointer-events:none;
    transition:opacity .2s ease,transform .2s ease;
    overflow-y:auto;-webkit-overflow-scrolling:touch}
  .ndrawer.on{opacity:1;transform:none;pointer-events:auto}
  .ndrawer-in{max-width:520px;margin:0 auto}
  .ndrawer-links a{display:flex;align-items:center;justify-content:space-between;
    padding:17px 2px;font-size:19px;font-weight:700;letter-spacing:-.2px;color:var(--ink);
    border-bottom:1px solid var(--line)}
  .ndrawer-links a::after{content:"\2192";color:var(--o);font-weight:400;font-size:16px}
  .ndrawer-links a.on{color:var(--o-dk)}
  .ndrawer-wa{display:block;text-align:center;margin-top:26px;background:var(--o);color:#fff;
    padding:16px;border-radius:13px;font-weight:700;font-size:15px}
  .ndrawer-foot{margin-top:22px;font-size:12.5px;color:var(--gray-lt);text-align:center}
  body.nav-lock{overflow:hidden}
  .lang b{color:var(--ink);border-bottom:2px solid var(--o);padding-bottom:2px}
  .lang em{font-style:normal;margin:0 6px;color:#D6CFC0}
  /* 繁中版还没上线：灰显 + 不可点，不做成假链接 */
  .lang-off{color:#CCC5B6;cursor:default}
  @media(max-width:900px){.links{display:none}}

  .btn{display:inline-flex;align-items:center;gap:8px;background:var(--o);color:#3A2E14;font-weight:800;font-size:13.5px;padding:12px 22px;border-radius:99px;border:none;cursor:pointer;transition:.2s}
  .btn:hover{background:#FFB33C}
  .btn.dark{background:var(--dark);color:#fff}
  .btn.ghost{background:transparent;border:1.5px solid #DCD4C3;color:var(--ink);font-weight:700}
  .btn.lg{padding:16px 30px;font-size:15px}

  /* ---------- HERO (social-first) ---------- */
  .hero{max-width:1280px;margin:0 auto;padding:14px 44px 0}
  .hero-stage{display:grid;grid-template-columns:minmax(0,1fr) 338px;gap:56px;align-items:center;min-height:0;padding:22px 0 2px}
  .hero-copy{color:var(--charcoal)}
  .hero-copy .kicker{display:inline-flex;align-self:flex-start;align-items:center;gap:9px;background:rgba(255,159,21,.13);border:1px solid rgba(255,159,21,.36);color:#8A5400;padding:7px 14px;border-radius:99px;font-size:10.5px;letter-spacing:1.9px;font-weight:800;margin-bottom:20px;text-transform:uppercase}
  .hero-copy .kicker i{width:6px;height:6px;border-radius:50%;background:var(--o);display:block}
  .hero h1{font-size:clamp(46px,5.4vw,80px);line-height:.94;letter-spacing:-.045em;font-weight:800}
  .hero h1 em{font-style:normal;color:var(--o)}
  .hero-lede{margin-top:18px;font-size:16.5px;line-height:1.6;color:#5A5A5A;max-width:496px}
  .hero-lede b{color:var(--charcoal);font-weight:800}
  .hero-cta{display:flex;align-items:center;gap:12px;margin-top:28px;flex-wrap:wrap}
  .hero-cta .btn{font-size:14.5px;padding:15px 26px}
  .hero-cta .wa{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:99px;border:1.5px solid #D9D3C5;font-weight:800;font-size:14px;color:var(--charcoal);text-decoration:none;background:#fff}
  .hero-trust{margin-top:22px;font-size:12px;color:#8B8578;display:flex;gap:16px;flex-wrap:wrap}
  .hero-trust i{width:5px;height:5px;border-radius:50%;background:#C9C2B2;display:inline-block;margin-right:7px;vertical-align:2px}
  .hero-social{margin-top:20px;display:flex;align-items:center;gap:11px;font-size:12.5px;color:#7C7668}
  .hero-social b{color:var(--charcoal);font-weight:800}
  .hero-social .avs{display:flex;flex:0 0 auto}
  .hero-social .avs i{width:23px;height:23px;border-radius:50%;border:2px solid #FFFAF2;background:linear-gradient(140deg,#FFD08A,#E8604C);margin-left:-8px;display:block}
  .hero-social .avs i:first-child{margin-left:0}
  .hero-social .avs i:nth-child(2){background:linear-gradient(140deg,#9BD9E8,#2E86A8)}
  .hero-social .avs i:nth-child(3){background:linear-gradient(140deg,#B8E6C8,#2E8B72)}

  /* vertical reel card = social video slot */
  .reel{position:relative;width:100%;aspect-ratio:9/16;border-radius:24px;overflow:hidden;isolation:isolate;
    background:#123039 center/cover no-repeat;
    box-shadow:0 34px 70px rgba(20,30,36,.26)}
  /* 动图层：video 本身就是 .reel-media（不是它的子元素），必须一并命中，
     否则浏览器回退到 video 默认的 object-fit:contain，画面按原始比例内缩、两边留缝 */
  .reel-media{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;overflow:hidden;
    background:#123039;object-fit:cover;object-position:center;border:0}
  .reel-media img,.reel-media video{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border:0}
  .reel-ridge{position:absolute;left:0;right:0;bottom:0;height:44%;z-index:2;background:linear-gradient(to top,rgba(7,24,29,.97) 0%,rgba(12,42,48,.74) 38%,rgba(18,58,64,0) 100%);clip-path:polygon(0 58%,9% 43%,18% 52%,29% 32%,41% 47%,52% 35%,63% 51%,74% 31%,85% 46%,94% 37%,100% 45%,100% 100%,0 100%)}
  .reel-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(8,24,28,.55) 0%,rgba(8,24,28,.06) 26%,rgba(8,24,28,.18) 55%,rgba(8,24,28,.86) 100%)}
  .reel-top{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;padding:13px 13px 0;gap:8px}
  .reel-handle{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);padding:5px 11px 5px 5px;border-radius:99px}
  .reel-av{width:24px;height:24px;border-radius:50%;background:linear-gradient(140deg,#FFD08A,#E8604C);border:1.5px solid rgba(255,255,255,.72);flex:0 0 auto}
  .reel-handle b{color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.2px;display:block;line-height:1.25}
  .reel-handle span{color:rgba(255,255,255,.74);font-size:9.5px;display:block;font-weight:600;line-height:1.3}
  .reel-dur{background:rgba(8,24,28,.55);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:10px;font-weight:800;padding:4px 8px;border-radius:7px;letter-spacing:.5px;flex:0 0 auto;display:flex;align-items:center;gap:5px}
  .reel-dur i{width:5px;height:5px;border-radius:50%;background:#FF9F15;animation:reelpulse 2s ease-out infinite}
  @keyframes reelpulse{0%{box-shadow:0 0 0 0 rgba(255,159,21,.6)}70%{box-shadow:0 0 0 6px rgba(255,159,21,0)}100%{box-shadow:0 0 0 0 rgba(255,159,21,0)}}
  .reel-play{position:absolute;z-index:3;left:50%;top:39%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(0,0,0,.42),0 0 0 7px rgba(255,255,255,.16)}
  .reel-play::after{content:"";border-left:16px solid #17262B;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:5px}
  .reel-tag{position:absolute;z-index:3;left:14px;bottom:90px;background:#FF9F15;color:#1F2933;font-size:9.5px;font-weight:800;padding:4px 9px;border-radius:6px;letter-spacing:.7px}
  .reel-cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 15px 22px;color:#fff}
  .reel-cap b{font-size:12.5px;font-weight:800;display:block;line-height:1.35}
  .reel-cap span{font-size:10.5px;color:rgba(255,255,255,.72);display:block;margin-top:3px}
  .reel-bar{position:absolute;left:14px;right:14px;bottom:9px;height:2.5px;border-radius:2px;background:rgba(255,255,255,.28);z-index:4}
  .reel-bar i{display:block;height:100%;width:38%;border-radius:2px;background:#FF9F15}
  .reel-note{text-align:center;font-size:10.5px;color:#A29C8E;margin-top:9px;letter-spacing:.3px}

  @media(max-width:900px){
    .nav-in{padding:12px 16px;gap:10px}
    .wm b{font-size:22px;letter-spacing:-.012em;white-space:nowrap}
    .nav-r{gap:10px}
    .nav-r .btn{padding:9px 13px;font-size:11.5px;white-space:nowrap}
    .hide-sm{display:none}
    /* 移动端：显示汉堡，隐藏货币药丸（给汉堡腾位置，375px 下不会挤爆） */
    .nburger{display:flex}
    .nav-r .cur{display:none}
    .hero{padding:0}
    .hero-stage{display:flex;flex-direction:column;justify-content:flex-end;position:relative;min-height:calc(100svh - 58px);gap:0;padding:0}
    .reel{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
    /* 换成真实日出照片后，原遮罩压不住亮云海，文字会看不清 —— 移动端单独加深 */
    .reel-veil{background:linear-gradient(to bottom,rgba(8,24,28,.62) 0%,rgba(8,24,28,.10) 20%,rgba(8,24,28,.26) 42%,rgba(8,24,28,.74) 60%,rgba(8,24,28,.93) 84%,rgba(8,24,28,.96) 100%)}
    .reel-play{top:32%;width:54px;height:54px}
    .reel-cap{display:none}
    .reel-tag{bottom:auto;top:64px;left:16px;font-size:9px}
    .reel-note{display:none}
    .hero-copy{position:relative;z-index:5;padding:0 20px 26px;color:#fff}
    .hero h1{font-size:40px;text-shadow:0 2px 24px rgba(0,0,0,.4)}
    .hero-copy .kicker{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);color:#fff;margin-bottom:16px;font-size:9px;letter-spacing:.9px;padding:6px 10px;gap:6px;white-space:nowrap;max-width:100%}
    .hero-lede{color:rgba(255,255,255,.9);font-size:13.5px;margin-top:13px;line-height:1.56}
    .hero-lede b{color:#fff}
    .hero-cta{margin-top:20px;gap:10px;flex-wrap:nowrap}
    .hero-cta .btn{flex:1.35;justify-content:center;padding:15px 10px;font-size:13px;white-space:nowrap}
    .hero-cta .wa{flex:1;justify-content:center;padding:15px 8px;font-size:12px;background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.38);color:#fff;white-space:nowrap}
    .hero-trust{color:rgba(255,255,255,.66);font-size:10px;margin-top:12px;gap:12px}
    .hero-trust span:nth-child(3){display:none}
    .hero-social{display:none}
    .hero-trust i{background:rgba(255,255,255,.5)}
    .tray-act{gap:8px}
    .btn-ask,.btn-book{padding:14px 12px;font-size:13px}
    .btn-ask{flex:0 0 38%}
    .tray-f .t b{font-size:19px}
  }

  /* 320px 级小屏：字标再收一档，导航内边距收窄，避免挤爆 */
  @media(max-width:340px){
    .nav-in{padding:12px 12px;gap:8px}
    .brand{gap:8px}
    .st{width:30px;height:30px}
    .wm b{font-size:18px}
    .nav-r{gap:8px}
  }

  /* ==========================================================
     桌面端（>900px）：首屏改成通栏横版视频 hero
     结构跟移动端一致（视频绝对铺满 + 文案叠图层），只是字号与
     文案位置换成「左下文案 / 右下角真实感引语」
     ========================================================== */
  @media(min-width:901px){
    .hero{max-width:none;margin:0;padding:14px 20px 0}
    .hero-stage{position:relative;display:block;padding:0;gap:0;overflow:hidden;isolation:isolate;
      min-height:clamp(520px,calc(100svh - 108px),760px);border-radius:26px;
      box-shadow:0 30px 70px rgba(20,30,36,.2)}
    .reel{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
    /* 左侧压暗 + 底部压暗：横版画面里亮云海很多，文案区必须单独加一层 */
    .reel-veil{background:
      linear-gradient(to right,rgba(8,24,28,.87) 0%,rgba(8,24,28,.6) 32%,rgba(8,24,28,.08) 62%,rgba(8,24,28,0) 78%),
      linear-gradient(to top,rgba(8,24,28,.72) 0%,rgba(8,24,28,.14) 36%,rgba(8,24,28,0) 55%)}
    .reel-top{padding:20px 22px 0}
    .reel-handle{padding:6px 15px 6px 6px}
    .reel-av{width:28px;height:28px}
    .reel-handle b{font-size:12.5px}
    .reel-handle span{font-size:10px}
    .reel-dur{font-size:10.5px;padding:5px 10px}
    /* 引语改到右下角，给左下角的标题让位 */
    .reel-cap{left:auto;right:44px;bottom:42px;max-width:340px;text-align:right;padding:0}
    .reel-cap b{font-size:14px;line-height:1.4}
    .reel-cap span{font-size:11px;margin-top:4px}
    .reel-tag{left:auto;right:44px;bottom:100px;font-size:10px}
    .reel-bar{display:none}
    .reel-note{display:none}

    .hero-copy{position:relative;z-index:5;display:flex;flex-direction:column;justify-content:flex-end;
      max-width:760px;color:#fff;
      min-height:clamp(520px,calc(100svh - 108px),760px);padding:130px 56px 52px}
    .hero h1{font-size:clamp(44px,3.9vw,76px);text-shadow:0 3px 30px rgba(0,0,0,.42)}
    .hero-copy .kicker{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.32);color:#fff;
      margin-bottom:18px;padding:7px 15px;backdrop-filter:blur(6px)}
    .hero-lede{color:rgba(255,255,255,.9);max-width:520px;margin-top:16px;text-shadow:0 1px 14px rgba(0,0,0,.35)}
    .hero-lede b{color:#fff}
    .hero-cta{margin-top:26px}
    .hero-cta .wa{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.4);color:#fff;backdrop-filter:blur(6px)}
    .hero-trust{color:rgba(255,255,255,.68);margin-top:20px}
    .hero-trust i{background:rgba(255,255,255,.55)}
    .hero-social{color:rgba(255,255,255,.78);margin-top:18px}
    .hero-social b{color:#fff}
    .hero-social .avs i{border-color:rgba(255,255,255,.72)}
  }

  .stat-row{display:flex;gap:40px;padding:26px 0 6px;flex-wrap:wrap}
  .stat b{display:block;font-size:22px;letter-spacing:-.6px}
  .stat span{font-size:11.5px;color:var(--gray-lt);letter-spacing:1.2px;text-transform:uppercase;font-weight:700}

  /* ---------- SECTION SHELL ---------- */
  section{padding:76px 0}
  .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;color:var(--o-dk);margin-bottom:14px}
  .eyebrow i{width:22px;height:2px;background:var(--o);display:block}
  h2{font-size:clamp(28px,3.4vw,46px);line-height:1.06;letter-spacing:-.035em;font-weight:800}
  .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap}
  .sec-head p{color:var(--gray);font-size:14.5px;max-width:420px;margin-top:10px}

  /* chips */
  .chips{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{white-space:nowrap;font-size:12.5px;font-weight:700;padding:9px 17px;border-radius:99px;border:1.5px solid #E4DCCA;color:#5E5B54;background:#fff}
  .chip.on{background:var(--dark);border-color:var(--dark);color:#fff}

  /* ---------- PIECES GRID ---------- */
  .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  @media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.grid{grid-template-columns:1fr}}
  .card{background:transparent}
  .ph{position:relative;height:330px;border-radius:16px;overflow:hidden;isolation:isolate;background:#ddd}
  /* 首页「找产品」：区域 × 主题 双维筛选（两行标签） + 细行结果列表 */
  .fltrow{display:flex;align-items:center;gap:14px;margin-bottom:12px}
  .fltlab{flex:none;width:52px;font-size:9.5px;font-weight:800;letter-spacing:1.4px;color:#B3AFA5}
  .fltrow .chips{margin:0;padding-bottom:2px}
  .fltrow .chip{cursor:pointer;user-select:none}
  .fltrow .chip:hover{border-color:#C9C0AC}
  .fltrow .chip em{font-style:normal;margin-left:6px;font-size:10.5px;font-weight:800;color:var(--gray-lt)}
  .fltrow .chip.on em{color:rgba(255,255,255,.66)}
  /* 筛选面板：区域 + 主题两行 chip + 计数 + 重置，全部装在同一张白卡里，避免页面上散着一堆白块 */
  .fpanel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px 18px 13px;
          box-shadow:0 10px 26px rgba(28,38,46,.05);margin-bottom:18px}
  .fpanel-h{display:flex;align-items:center;gap:10px;padding-bottom:11px;margin-bottom:12px;border-bottom:1px solid #F2EEE3}
  .fplab{font-size:9.5px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase;color:var(--o-dk)}
  .fpsub{font-size:11.5px;color:#B3AFA5;margin-left:auto}
  .fpanel .fltrow{margin-bottom:10px}
  .fpanel .fltrow:nth-of-type(2){margin-bottom:0}
  /* 卡内 chip 用纸色底，不再是「白块套白卡」 */
  .fpanel .chip{background:#FAF5E8;border-color:#EDE4D0;color:#5E5B54}
  .fpanel .chip:hover{background:#F6EEDA;border-color:#DFD3B8}
  .fpanel .chip.on,.fpanel .chip.on:hover{background:var(--dark);border-color:var(--dark);color:#fff}
  .fpanel-f{display:flex;align-items:center;justify-content:space-between;gap:12px;
            margin-top:12px;padding-top:11px;border-top:1px solid #F2EEE3}
  .fpanel-f b{font-size:11.5px;font-weight:800;letter-spacing:.2px;color:var(--ink)}
  .freset{font-size:11.5px;font-weight:800;color:#8B8578;background:none;border:0;padding:2px 0;cursor:pointer;
          text-decoration:underline;text-underline-offset:3px}
  .freset:hover{color:var(--ink)}
  .freset[hidden]{display:none}
  .prow[hidden]{display:none}
  .pempty{display:none;padding:26px;text-align:center;font-size:13px;color:var(--gray);background:#fff;border:1px dashed var(--line);border-radius:14px}
  .pempty.on{display:block}
  .plist{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .prow{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 14px 8px 8px;transition:transform .15s,box-shadow .15s}
  .prow:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(72,72,72,.08)}
  .prow .pp{width:66px;height:56px;border-radius:10px;flex:none}
  .prow .pm{flex:1;min-width:0}
  .prow .pm .pt{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:800;letter-spacing:1px;color:var(--o-dk)}
  .prow .pm .pt em{font-style:normal;color:#3A3A3A;background:#F3EEE3;padding:3px 8px;border-radius:99px;letter-spacing:.6px;font-size:9px;white-space:nowrap}
  .prow .pm .pt em.dk{background:var(--ink);color:#fff}
  .prow .pm b{display:block;font-size:14.5px;letter-spacing:-.2px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .prow .pm .pd{display:flex;align-items:center;gap:8px;font-size:11px;color:#8B8578;margin-top:3px;white-space:nowrap;overflow:hidden}
  .prow .pm .pd i{font-style:normal;color:var(--sea);background:#EAF4F0;padding:2px 8px;border-radius:99px;font-weight:700;flex:none}
  .prow .pv{flex:none;text-align:right}
  .prow .pv b{font-size:15.5px;letter-spacing:-.3px}
  .prow .pv s{display:block;font-size:10px;color:#B3AFA5;text-decoration:none;margin-top:2px}
  /* 真实订单人数：右侧第三行，小字不加粗冲突 */
  .prow .pv .pbk{display:block;font-style:normal;font-size:9.5px;font-weight:800;color:#A29B8C;margin-top:2px;
                 letter-spacing:.1px;white-space:nowrap}
  .prow .padd{flex:none;width:30px;height:30px;border-radius:50%;background:var(--o);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;margin-left:2px}
  /* 移动端：区域条 2×2、产品行单列 —— 必须写在基础样式之后，否则被覆盖 */
  @media(max-width:900px){
    .fltrow{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:10px}
    .fltlab{width:auto;margin-bottom:2px}
    .fpanel{padding:13px 13px 11px;border-radius:16px;margin-bottom:14px}
    .fpsub{display:none}
    .fpanel-h{padding-bottom:9px;margin-bottom:10px}
    .prow .pv .pbk{font-size:9px}
    .plist{grid-template-columns:minmax(0,1fr);gap:8px}
    .prow{padding:7px 12px 7px 7px;gap:10px}
    .prow .pp{width:58px;height:50px}
    .prow .pm b{font-size:13.5px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.28}
    /* 分类标签（RICE TERRACE 这类长词）在窄屏不许折行 */
    .prow .pm .pt{white-space:nowrap;gap:6px;font-size:8.5px;letter-spacing:.7px}
    .prow .pm .pt em{font-size:8.5px;padding:3px 7px;flex:none}
    .prow .pv s{display:none}
    .prow .pm .pd span:last-child{display:none}
    .prow .pv b{font-size:14px}
  }
  .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,24,26,.86) 0%,rgba(10,24,26,.18) 44%,transparent 70%)}
  .ph-a{background:radial-gradient(78% 58% at 50% 6%,#FFE3B0,#E9814F 44%,#8A4433 76%,#3A2320)}
  .ph-b{background:linear-gradient(168deg,#9BD8EA,#2E86A8 46%,#194B60 100%)}
  .ph-c{background:radial-gradient(82% 62% at 28% 18%,#BEEBD0,#2E8B72 56%,#0F3B36)}
  .ph-d{background:linear-gradient(158deg,#FCE7BC,#D79E57 52%,#6B4227)}
  .ph-e{background:linear-gradient(172deg,#CFE9A8,#6E9C4E 46%,#2C4A2A)}
  .ph-f{background:linear-gradient(162deg,#FFD8C0,#F08A5D 50%,#7C3C2C)}
  .ph-g{background:linear-gradient(150deg,#D9E4EC,#7E99AC 48%,#2F4552)}
  .ph-h{background:linear-gradient(176deg,#FFCFA0,#C9663F 48%,#3E2620)}
  .ph .top{position:absolute;left:14px;top:14px;z-index:3;display:flex;gap:6px}
  .tag{font-size:10px;font-weight:800;letter-spacing:.6px;padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.94);color:#3A3A3A}
  .tag.o{background:var(--o)}
  .ph .bot{position:absolute;left:16px;right:16px;bottom:16px;z-index:3;color:#fff}
  .ph .bot h3{font-size:18px;line-height:1.22;letter-spacing:-.4px;font-weight:800}
  .ph .bot .meta{display:flex;align-items:center;gap:9px;font-size:11.5px;margin-top:8px;color:rgba(255,255,255,.82);flex-wrap:wrap}
  .ph .bot .meta b{color:#fff}
  .plus{position:absolute;right:14px;bottom:16px;z-index:3;width:38px;height:38px;border-radius:50%;background:var(--o);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#3A2E14;box-shadow:0 8px 18px rgba(0,0,0,.28)}
  .card .foot{display:flex;align-items:center;justify-content:space-between;padding:12px 3px 0;font-size:12.5px}
  .card .foot b{font-size:15.5px;letter-spacing:-.3px}
  .card .foot s{color:var(--gray-lt);font-size:11px;text-decoration:none;display:block;margin-top:2px}
  .left{font-size:11px;font-weight:700;color:var(--sea);background:#EAF4F0;padding:4px 9px;border-radius:99px}

  /* ---------- AREAS ---------- */
  .areas{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:18px;height:400px}
  @media(max-width:1000px){.areas{grid-template-columns:1fr 1fr;height:auto}.areas .area{height:260px}}
  .area{position:relative;border-radius:18px;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;padding:20px;color:#fff}
  .area:nth-child(1){background:linear-gradient(160deg,#A9DCC6,#3B8A6D 48%,#12352F)}
  .area:nth-child(2){background:linear-gradient(160deg,#9BD3EA,#2C7FA4 50%,#123449)}
  .area:nth-child(3){background:linear-gradient(160deg,#F7E0B4,#C98A4A 52%,#4A2D1D)}
  .area:nth-child(4){background:linear-gradient(160deg,#C9D9E6,#6E8EA6 50%,#253B4A)}
  .area::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,22,24,.72),transparent 62%)}
  .area div{position:relative;z-index:2}
  .area b{display:block;font-size:19px;letter-spacing:-.4px}
  .area span{font-size:11.5px;opacity:.82}
  .area .n{position:absolute;right:16px;top:16px;z-index:2;font-size:11px;font-weight:800;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.34);padding:5px 11px;border-radius:99px}

  /* ---------- HOW ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative}
  @media(max-width:820px){.steps{grid-template-columns:1fr}}
  .step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}
  .step .num{width:40px;height:40px;border-radius:11px;background:var(--o);color:#3A2E14;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;margin-bottom:16px}
  .step h4{font-size:17px;letter-spacing:-.3px;margin-bottom:8px}
  .step p{font-size:13.5px;color:var(--gray);line-height:1.65}
  .step.mini{background:transparent;border:1px dashed #DCD3BF}

  /* ---------- MY PIECES ---------- */
  .traybox{background:var(--dark);color:#fff;border-radius:26px;padding:64px;display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
  @media(max-width:900px){.traybox{grid-template-columns:1fr;padding:34px 22px;gap:28px}}
  .traybox h2{color:#fff}
  .traybox h2 em{font-style:normal;color:var(--o)}
  .traybox p{color:#A9AFAD;font-size:14.5px;margin-top:16px;max-width:400px}
  .traybox .list{margin-top:26px;display:grid;gap:11px}
  .traybox .list div{display:flex;align-items:center;gap:11px;font-size:13.5px;color:#D9DEDC}
  .traybox .list i{width:18px;height:18px;border-radius:50%;background:rgba(255,159,21,.18);color:var(--o);display:flex;align-items:center;justify-content:center;font-size:10px;font-style:normal;flex-shrink:0}

  .tray{background:#26332F;border:1px solid #34443F;border-radius:18px;padding:18px}
  .tray-h{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#8E9794;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;padding:0 6px 14px}
  .tray-h b{color:var(--o)}
  .piece{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;background:#2E3C37;margin-bottom:8px}
  .piece .sw{width:38px;height:38px;border-radius:9px;flex-shrink:0}
  .piece .info{flex:1;min-width:0}
  .piece .info b{display:block;font-size:13px;font-weight:700}
  .piece .info span{font-size:10px;color:#8E9794;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .piece .p{font-size:12px;font-weight:700;flex-shrink:0}
  .piece .x{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;font-size:11px;color:#9AA5A1;flex-shrink:0}
  .tray-f{border-top:1px solid #34443F;margin-top:6px;padding:14px 6px 0}
  .tray-f .t{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}
  .tray-f .t b{font-size:21px;letter-spacing:-.6px;color:#fff;font-variant-numeric:tabular-nums}
  .tray-f .t span{font-size:10.5px;color:#8E9794}
  .tray-act{display:flex;gap:8px}
  .btn-ask,.btn-book{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:11px;
    font-weight:800;text-decoration:none;white-space:nowrap;padding:13px 16px;font-size:13px}
  .btn-ask{flex:0 0 auto;border:1.5px solid rgba(255,255,255,.3);color:#fff;background:transparent}
  .btn-book{flex:1;background:#FF9F15;color:#2E2415;box-shadow:0 6px 18px rgba(255,159,21,.28)}
  .tray-note{font-size:9.5px;color:#6F7B77;text-align:center;margin-top:8px;letter-spacing:.2px}
  .wa{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#08281A;font-weight:800;font-size:13.5px;padding:13px 20px;border-radius:11px}

  /* ---------- REVIEWS ---------- */
  .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media(max-width:900px){.reviews{grid-template-columns:1fr}}
  .rev{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:14px}
  .rev .stars{color:var(--o);letter-spacing:2px;font-size:13px}
  .rev p{font-size:14px;line-height:1.7;color:#4A4842}
  .rev .who{display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:6px}
  .rev .av{width:36px;height:36px;border-radius:50%;background:linear-gradient(140deg,#FFD08A,#E9814F);flex-shrink:0}
  .rev .who b{display:block;font-size:12.5px}
  .rev .who span{font-size:11px;color:var(--gray-lt)}
  .rev .lg{margin-left:auto;font-size:9.5px;font-weight:800;color:#9C9A92;border:1px solid #E6DFD0;padding:3px 8px;border-radius:99px}

  /* ---------- WHY ---------- */
  .why{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  @media(max-width:900px){.why{grid-template-columns:1fr 1fr}}
  .why div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px}
  .why b{display:block;font-size:14.5px;margin-bottom:7px;letter-spacing:-.2px}
  .why p{font-size:12.5px;color:var(--gray);line-height:1.7}

  /* ---------- JOURNAL ---------- */
  .journal{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  @media(max-width:900px){.journal{grid-template-columns:1fr}}
  .post .ph{height:210px}
  .post h4{font-size:15.5px;margin-top:14px;letter-spacing:-.3px;line-height:1.4}
  .post span{font-size:11px;color:var(--gray-lt);letter-spacing:1px;text-transform:uppercase;font-weight:700}

  /* ---------- FAQ ---------- */
  .faq{max-width:840px;margin:0 auto}
  details{border-bottom:1px solid var(--line);padding:20px 4px}
  details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15.5px;font-weight:700;letter-spacing:-.2px}
  details summary::-webkit-details-marker{display:none}
  details summary::after{content:"+";font-size:20px;color:var(--o);font-weight:400;flex-shrink:0}
  details[open] summary::after{content:"–"}
  details p{font-size:13.5px;color:var(--gray);line-height:1.75;padding:12px 40px 0 0}

  /* ---------- CTA ---------- */
  .cta{background:linear-gradient(120deg,#FFB33C,#FF9F15 42%,#F0813C);border-radius:26px;padding:64px;text-align:center;position:relative;overflow:hidden;isolation:isolate}
  .cta::after{content:"";position:absolute;right:-8%;top:-40%;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.22);filter:blur(10px)}
  .cta h2{color:#3A2A10;position:relative;z-index:2}
  .cta p{color:rgba(58,42,16,.78);margin:14px auto 26px;font-size:15px;max-width:440px;position:relative;z-index:2}
  .cta .btn{position:relative;z-index:2}
  @media(max-width:820px){.cta{padding:40px 22px}}

  /* ---------- FOOTER ---------- */
  footer{background:var(--dark);color:#BFC6C3;padding:64px 0 28px;margin-top:76px}
  .fgrid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:36px}
  @media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr;gap:26px}}
  footer .brand .wm b{color:#fff}
  footer .brand .wm span{color:#6E7C78}
  footer p{font-size:12.5px;line-height:1.8;color:#8C9793;max-width:280px;margin-top:14px}
  footer h5{font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:#7C8985;margin-bottom:14px;font-weight:800}
  footer ul{list-style:none;display:grid;gap:9px;font-size:13px}
  footer li:hover{color:var(--o)}
  .fbot{border-top:1px solid #2F3D39;margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;gap:14px;font-size:11.5px;color:#6E7C78;flex-wrap:wrap}
  /* 页脚链接（以前是纯文本，点不动） */
  footer a{transition:color .15s}
  footer a:hover{color:var(--o)}
  .fbot-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
  .fbot-links em{font-style:normal;color:#4A5A56}
  .socials{display:flex;gap:8px}
  .socials span{width:30px;height:30px;border-radius:9px;border:1px solid #3A4A45;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#9AA5A1}

  /* ==========================================================
     v6 追加层：只加 v3 没有的组件，全部沿用 v3 语言
     （白底 + 1px var(--line) + 14~18px 圆角 + 800 字重 + 橙点缀）
     ========================================================== */

  .page{display:none}
  .page.on{display:block}

  /* nav 里补的两件 v3 没有的东西：货币药丸 / 当前页高亮 */
  .cur{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#57554F;background:#fff;border:1px solid var(--line2,#E4DCCA);padding:7px 11px;border-radius:99px;cursor:pointer}
  .cur i{font-style:normal;color:#BDB6A6;font-size:9px}
  .links a.on{color:var(--ink);font-weight:800;position:relative}
  .links a.on::after{content:"";position:absolute;left:0;right:0;bottom:-20px;height:2px;background:var(--o)}

  /* ---------- 主题卡（用 v3 .area 的语言：大图 + 底部白字 + 右上计数） ---------- */
  .tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  @media(max-width:1000px){.tgrid{grid-template-columns:1fr 1fr}}
  @media(max-width:620px){.tgrid{grid-template-columns:1fr}}
  /* 首页主题区用独立容器（行分组 + 就地展开面板），不能复用 .tgrid */
  .tstack{display:block}
  .trow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
  .trow + .trow{margin-top:18px}
  @media(max-width:1000px){.trow{grid-template-columns:1fr 1fr}}
  @media(max-width:620px){.trow{grid-template-columns:1fr;gap:14px}.trow + .trow{margin-top:14px}}
  .tcard{position:relative;border-radius:18px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;
    padding:22px;color:#fff;height:246px;transition:transform .22s,box-shadow .22s;cursor:pointer;text-align:left}
  .tcard:focus-visible{outline:2px solid var(--o);outline-offset:3px}
  .tcard.open{box-shadow:inset 0 0 0 2px var(--o)}
  /* 右上角展开指示：＋ / －（纯 CSS 两条线，展开时竖线收起） */
  .ttog{position:absolute;right:14px;bottom:14px;z-index:4;width:34px;height:34px;border-radius:50%;
    background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.36);transition:.2s}
  .ttog::before,.ttog::after{content:"";position:absolute;left:50%;top:50%;background:#fff;border-radius:2px;transform:translate(-50%,-50%)}
  .ttog::before{width:13px;height:2px}
  .ttog::after{width:2px;height:13px;transition:transform .2s}
  .tcard:hover .ttog{background:rgba(255,255,255,.32)}
  .tcard.open .ttog{background:var(--o);border-color:var(--o)}
  .tcard.open .ttog::before,.tcard.open .ttog::after{background:#2E2415}
  .tcard.open .ttog::after{transform:translate(-50%,-50%) scaleY(0)}
  .tcard:hover{transform:translateY(-3px)}
  .tcard::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(10,22,24,.9) 0%,rgba(10,22,24,.34) 48%,rgba(10,22,24,.02) 78%)}
  .tcard .tbg{position:absolute;inset:0;z-index:0}
  .tcard.t1 .tbg{background:radial-gradient(72% 58% at 52% 6%,#FFE0AC,#E9814F 44%,#7C3B2C 76%,#2E1E1B)}
  .tcard.t2 .tbg{background:linear-gradient(168deg,#9BD8EA,#2E86A8 46%,#123F52)}
  .tcard.t3 .tbg{background:linear-gradient(158deg,#FFD9AE,#F08A5D 48%,#7C3C2C)}
  .tcard.t4 .tbg{background:linear-gradient(162deg,#CFE9A8,#6E9C4E 46%,#2C4A2A)}
  .tcard.t5 .tbg{background:linear-gradient(160deg,#E7D3B4,#A87C4E 48%,#3E2A1C)}
  .tcard.t6 .tbg{background:linear-gradient(172deg,#A9DCC6,#3B8A6D 48%,#12352F)}
  .tcard .tbg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;
    background:linear-gradient(to top,rgba(7,24,29,.72) 0%,rgba(12,42,48,.3) 46%,rgba(18,58,64,0) 100%);
    clip-path:polygon(0 62%,8% 44%,17% 54%,28% 30%,40% 48%,51% 34%,62% 52%,73% 28%,84% 46%,93% 36%,100% 46%,100% 100%,0 100%)}
  .tcard .tn{position:absolute;z-index:3;right:18px;top:16px;font-size:10.5px;font-weight:800;letter-spacing:1.2px;
    background:rgba(9,17,21,.55);border:1px solid rgba(255,255,255,.26);padding:5px 10px;border-radius:99px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  .tcard .tbody{position:relative;z-index:3}
  .tcard .zh{font-size:10.5px;font-weight:800;letter-spacing:2.2px;color:rgba(255,255,255,.76);margin-bottom:6px;text-transform:uppercase}
  .tcard h3{font-size:22px;line-height:1.1;letter-spacing:-.6px;font-weight:800}
  .tcard .tsub{font-size:11.5px;color:rgba(255,255,255,.8);margin-top:7px;line-height:1.5}
  .tcard .tfoot{display:flex;align-items:center;gap:10px;margin-top:14px;padding-right:54px;font-size:10.5px;font-weight:800;letter-spacing:.5px}
  .tcard .tfoot em{font-style:normal;margin-left:auto;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);padding:4px 9px;border-radius:99px;white-space:nowrap}
  .tcard .tfoot b{color:#FF9F15;white-space:nowrap}

  /* ---------- 主题卡就地展开的产品面板 ---------- */
  .tpanel{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:18px;padding:6px;display:none}
  .tpanel.on{display:block;animation:tpin .26s ease both}
  @keyframes tpin{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
  .tpn-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px 11px;border-bottom:1px solid var(--line)}
  .tpn-head b{display:block;font-size:13.5px;letter-spacing:-.2px}
  .tpn-head span{display:block;font-size:11.5px;color:var(--gray);margin-top:3px}
  .tpn-all{font-size:12px;font-weight:800;color:var(--o-dk);white-space:nowrap;flex:0 0 auto}
  .tpn-list{padding:4px 4px 4px}
  .tpn-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto 26px;align-items:center;gap:14px;
    padding:10px;border-radius:13px;transition:.16s}
  .tpn-row + .tpn-row{box-shadow:inset 0 1px 0 #F5EFE3}
  .tpn-row:hover{background:var(--paper)}
  .tpn-pic{display:block;height:56px;border-radius:10px;position:relative;overflow:hidden;isolation:isolate}
  .tpn-mid{min-width:0}
  .tpn-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
  .tpn-tags i{font-style:normal;font-size:9px;font-weight:800;letter-spacing:.5px;padding:3px 8px;border-radius:99px;background:#F4EFE4;color:#6F6D67;white-space:nowrap}
  .tpn-tags i.dk{background:var(--dark);color:#fff}
  .tpn-mid > b{display:block;font-size:14px;letter-spacing:-.2px;line-height:1.3}
  .tpn-meta{display:block;font-size:11.5px;color:var(--gray);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tpn-price{text-align:right;white-space:nowrap}
  .tpn-price b{display:block;font-size:14.5px;letter-spacing:-.3px}
  .tpn-price s{display:block;text-decoration:none;font-size:9.5px;color:var(--gray-lt);margin-top:2px}
  .tpn-go{font-size:15px;color:#C9C2B2;font-weight:800;justify-self:end;transition:.16s}
  .tpn-row:hover .tpn-go{color:var(--o);transform:translateX(3px)}
  @media(max-width:620px){
    .tpn-head{padding:11px 10px 10px;align-items:flex-start;flex-direction:column;gap:6px}
    .tpn-head span{font-size:11px}
    .tpn-row{grid-template-columns:52px minmax(0,1fr) auto;gap:11px;padding:9px 8px}
    .tpn-go{display:none}
    .tpn-pic{height:50px}
    .tpn-mid > b{font-size:13.5px}
    /* 手机端 meta 允许折两行（地接社名不截断成 …），每人类别省掉 */
    .tpn-meta{white-space:normal;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
    .tpn-price s{display:none}
  }

  /* ---------- 地接社入口条（产品页 + 主题页头部共用） ---------- */
  .opstrip{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .opstrip .osi{width:42px;height:42px;border-radius:11px;background:linear-gradient(150deg,#FFD79A,#B9573D);flex:0 0 auto}
  .opstrip .osb{flex:1;min-width:0}
  .opstrip .osb em{font-style:normal;display:block;font-size:9px;font-weight:800;letter-spacing:1.8px;color:#B3AFA5;margin-bottom:3px}
  .opstrip .osb b{display:block;font-size:14px;letter-spacing:-.2px;line-height:1.3}
  .opstrip .osb span{display:block;font-size:11px;color:var(--gray-lt);margin-top:2px}
  .opb{display:flex;gap:6px;flex-wrap:wrap}
  .opb i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.4px;color:var(--sea);background:#EAF4F0;padding:4px 8px;border-radius:99px;white-space:nowrap}
  .opstrip .osgo{font-size:12px;font-weight:800;color:var(--o-dk);white-space:nowrap;flex:0 0 auto}

  /* ---------- 主题页头部（v3 area 语言的放大版） ---------- */
  .tp-head{position:relative;border-radius:22px;overflow:hidden;isolation:isolate;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;
    padding:66px 36px 34px;color:#fff;background:radial-gradient(72% 58% at 52% 6%,#FFE0AC,#E9814F 44%,#7C3B2C 76%,#2E1E1B)}
  .tp-head::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(10,22,24,.9),rgba(10,22,24,.18) 62%,transparent)}
  .tp-head .body{position:relative;z-index:3}
  .tp-head .crumbs{position:absolute;z-index:3;left:36px;top:26px;font-size:11.5px;color:rgba(255,255,255,.72);font-weight:700}
  .tp-head .crumbs b{color:#fff}
  .tp-head h1{font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.04em;font-weight:800}
  .tp-head p{font-size:14.5px;color:rgba(255,255,255,.86);max-width:520px;margin-top:12px;line-height:1.6}
  .tp-stats{display:flex;gap:34px;margin-top:22px;flex-wrap:wrap}
  .tp-stats div b{display:block;font-size:20px;letter-spacing:-.4px}
  .tp-stats div span{font-size:10.5px;color:rgba(255,255,255,.66);letter-spacing:1.1px;text-transform:uppercase;font-weight:800}
  .filterbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0 28px;flex-wrap:wrap}
  .filterbar .chips{padding-bottom:0}
  .filterbar .sort{font-size:12.5px;font-weight:700;color:var(--gray);white-space:nowrap}
  .filterbar .sort b{color:var(--ink)}

  /* 产品卡上的「多日游」标签：深底白字，和日游浅底一眼分 */
  .tag.dk{background:var(--dark);color:#fff}
  .card .foot{align-items:flex-start}
  .card .foot .left{align-self:flex-start;margin-top:1px}
  .card .foot .ops{display:block;font-size:10.5px;color:var(--gray-lt);margin-top:3px;font-weight:700}
  .card .foot .ops b{font-size:10.5px;color:#6F6D67;font-weight:800}

  /* ---------- 产品详情页 ---------- */
  .pdp-top{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-bottom:30px}
  @media(max-width:900px){.pdp-top{grid-template-columns:1fr}}
  .gal-main{position:relative;border-radius:18px;overflow:hidden;isolation:isolate;min-height:420px;
    background:radial-gradient(72% 58% at 52% 6%,#FFE0AC,#E9814F 44%,#7C3B2C 76%,#2E1E1B)}
  .gal-main::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(10,22,24,.5),transparent 55%)}
  .gal-main .gc{position:absolute;z-index:3;right:14px;bottom:14px;font-size:11px;font-weight:800;background:rgba(255,255,255,.94);color:#3A3A3A;padding:6px 12px;border-radius:99px}
  .gal-main .gt{position:absolute;z-index:3;left:16px;top:16px;display:flex;gap:6px}
  .gal-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px}
  .gal-side div{border-radius:14px;overflow:hidden;position:relative}
  .gal-side div:nth-child(1){background:linear-gradient(168deg,#9BD8EA,#2E86A8 46%,#123F52)}
  .gal-side div:nth-child(2){background:linear-gradient(162deg,#CFE9A8,#6E9C4E 46%,#2C4A2A)}
  .gal-side div:nth-child(3){background:linear-gradient(158deg,#FFD9AE,#F08A5D 48%,#7C3C2C)}
  .gal-side div:nth-child(4){background:linear-gradient(160deg,#E7D3B4,#A87C4E 48%,#3E2A1C);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800}

  .pdp-wrap{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:48px;align-items:start}
  @media(max-width:1000px){.pdp-wrap{grid-template-columns:1fr;gap:34px}}
  .pdp h1{font-size:clamp(30px,3.4vw,42px);line-height:1.06;letter-spacing:-.04em;font-weight:800;margin-bottom:12px}
  .pdp-sub{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--gray);flex-wrap:wrap;font-weight:700}
  .pdp-sub .pst{font-size:10.5px;font-weight:800;letter-spacing:.6px;padding:5px 11px;border-radius:99px;background:var(--paper);border:1px solid var(--line);color:#6F6D67;white-space:nowrap}
  .pdp-sub .pst.dk{background:var(--dark);border-color:var(--dark);color:#fff}
  .pdp-sub .dot{color:#D6CFC0}
  .pdp .opstrip{margin:18px 0 22px}

  .facts4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:30px}
  @media(max-width:700px){.facts4{grid-template-columns:1fr 1fr}}
  .facts4 div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:15px 16px}
  .facts4 em{font-style:normal;display:block;font-size:9px;font-weight:800;letter-spacing:1.6px;color:#B3AFA5;margin-bottom:5px}
  .facts4 b{display:block;font-size:13.5px;letter-spacing:-.2px;line-height:1.35}
  .facts4 span{display:block;font-size:10.5px;color:var(--gray-lt);margin-top:2px}

  .pdp-sec{margin-bottom:34px}
  .pdp-sec h3{font-size:19px;letter-spacing:-.3px;margin-bottom:14px;font-weight:800}
  .pdp-sec > p{font-size:14px;color:#4A4842;line-height:1.78}
  .pdp-sec > p + p{margin-top:10px}
  .pdp-sec .lead{font-size:15px;line-height:1.75;color:#3A3A3A}

  .tl{border-top:1px solid var(--line)}
  .tl-row{display:grid;grid-template-columns:88px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
  .tl-row .hr{font-size:12.5px;font-weight:800;color:var(--o-dk);font-variant-numeric:tabular-nums;letter-spacing:-.2px;padding-top:1px}
  .tl-row b{display:block;font-size:14px;letter-spacing:-.2px;margin-bottom:4px}
  .tl-row p{font-size:13px;color:var(--gray);line-height:1.7}

  .inc{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:700px){.inc{grid-template-columns:1fr}}
  .inc > div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
  .inc h4{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;margin-bottom:12px}
  .inc .yes h4{color:var(--sea)}
  .inc .no h4{color:#9C9A92}
  .inc ul{list-style:none;display:grid;gap:9px}
  .inc li{font-size:13px;color:#4A4842;display:flex;gap:9px;line-height:1.6}
  .inc li i{font-style:normal;color:var(--sea);font-weight:800;flex:0 0 auto}
  .inc .no li i{color:#C9C2B2}

  /* 预订卡：白底 + line 边，和 v3 .step 同语言 */
  .bookcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 14px 40px rgba(58,42,20,.07);position:sticky;top:86px}
  .bookcard .price{display:flex;align-items:baseline;gap:7px}
  .bookcard .price b{font-size:36px;letter-spacing:-1.4px;font-weight:800;font-variant-numeric:tabular-nums}
  .bookcard .price span{font-size:12px;color:var(--gray-lt);font-weight:700}
  .bookcard .price em{font-style:normal;margin-left:auto;font-size:10.5px;font-weight:800;color:var(--sea);background:#EAF4F0;padding:4px 9px;border-radius:99px}
  .bkfields{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
  .bkfields > div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;font-size:12.5px;font-weight:700;border-bottom:1px solid var(--line)}
  .bkfields > div:last-child{border:none}
  .bkfields > div > div{display:flex;align-items:baseline;gap:10px;min-width:0}
  .bkfields em{font-style:normal;font-size:9px;font-weight:800;letter-spacing:1.4px;color:#B3AFA5;flex:0 0 auto}
  .bkfields span{color:#BDB6A6;font-size:10px;flex:0 0 auto;line-height:1}
  .bkfields b{font-weight:800;white-space:nowrap}
  .bktotal{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:16px 0 4px}
  .bktotal span{font-size:11px;color:var(--gray-lt);font-weight:700}
  .bktotal b{font-size:22px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
  .bknote{font-size:9.5px;color:#A9A399;margin-bottom:14px}
  .bkb{display:grid;gap:8px}
  .bkb .btn{width:100%;padding:15px 18px;font-size:14px;border-radius:12px}
  .bkb .ghost-b{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 18px;border-radius:12px;
    border:1.5px solid var(--line2,#E4DCCA);background:#fff;font-weight:800;font-size:13.5px;color:var(--ink)}
  .bkperks{display:grid;gap:7px;border-top:1px solid var(--line);margin-top:16px;padding-top:14px}
  .bkperks div{font-size:11px;color:var(--gray);display:flex;gap:8px;align-items:center}
  .bkperks i{font-style:normal;color:var(--sea);font-weight:800}
  .bkop{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
  .bkop .osi{width:34px;height:34px;border-radius:9px;background:linear-gradient(150deg,#FFD79A,#B9573D);flex:0 0 auto}
  .bkop .osb{flex:1;min-width:0}
  .bkop .osb em{font-style:normal;display:block;font-size:8.5px;font-weight:800;letter-spacing:1.4px;color:#B3AFA5}
  .bkop .osb b{display:block;font-size:12px;line-height:1.3}
  .bkop .osgo{font-size:11px;font-weight:800;color:var(--o-dk);white-space:nowrap}

  /* 移动端产品页底部固定双按钮 */
  /* ---------- 下单后托盘（仅点过 Book this trip 才出现，全站常驻） ---------- */
  .planbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:95;padding:0 22px 18px;pointer-events:none}
  .planbar.on{display:block}
  .planbar .pb-in{pointer-events:auto;max-width:880px;margin:0 auto;background:var(--dark);color:#fff;
    border-radius:18px;padding:13px 58px 13px 14px;display:flex;align-items:center;gap:16px;position:relative;
    box-shadow:0 18px 46px rgba(18,28,26,.34);animation:pbUp .32s cubic-bezier(.22,1,.36,1)}
  @keyframes pbUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  .pb-item{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
  .pb-pic{width:46px;height:46px;border-radius:11px;flex:0 0 auto;position:relative;overflow:hidden;isolation:isolate}
  .pb-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,24,26,.5),transparent 65%)}
  .pb-txt{min-width:0}
  .pb-txt b{display:block;font-size:13.5px;letter-spacing:-.2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pb-txt span{display:block;font-size:11px;color:#9BA5A2;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pb-op{font-style:normal}
  .pb-sum{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-right:4px}
  .pb-hold{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;font-weight:800;letter-spacing:1px;color:var(--o);text-transform:uppercase}
  .pb-hold i{width:6px;height:6px;border-radius:50%;background:var(--o);display:block;animation:pbDot 1.6s infinite}
  .pb-hold b{color:var(--o);font-variant-numeric:tabular-nums;letter-spacing:.4px}
  @keyframes pbDot{0%,100%{opacity:1}50%{opacity:.25}}
  .pb-total{font-size:19px;font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
  .pb-act{flex:0 0 auto;display:flex;align-items:center;gap:8px}
  .pb-add{font-size:12px;font-weight:800;color:#fff;text-decoration:none;border:1.5px solid rgba(255,255,255,.28);border-radius:99px;padding:10px 15px;white-space:nowrap}
  .pb-add:hover{border-color:rgba(255,255,255,.6)}
  .pb-go{font-size:12.5px;font-weight:800;color:#3A2E14;background:var(--o);border-radius:99px;padding:11px 17px;text-decoration:none;white-space:nowrap}
  .pb-x{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;
    border:1px solid rgba(255,255,255,.2);background:transparent;color:#9BA5A2;font-size:11px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;padding:0}
  .pb-x:hover{color:#fff;border-color:rgba(255,255,255,.5)}
  .planpill{display:none;position:fixed;right:22px;bottom:22px;z-index:95;
    background:var(--dark);color:#fff;border:none;border-radius:99px;padding:11px 18px;cursor:pointer;
    align-items:center;gap:10px;box-shadow:0 14px 32px rgba(18,28,26,.3);font-family:inherit}
  .planpill.on{display:flex}
  .planpill b{font-size:12.5px;letter-spacing:-.1px;color:#fff}
  .planpill span{font-size:11px;color:var(--o);font-weight:800;font-variant-numeric:tabular-nums}
  body.hasplan{padding-bottom:110px}
  @media(max-width:900px){
    .planbar{padding:0 12px 12px}
    .planbar .pb-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 10px;padding:11px 40px 11px 11px;border-radius:15px}
    .pb-item{grid-column:1;gap:10px}
    .pb-pic{width:38px;height:38px;border-radius:9px}
    .pb-txt b{font-size:12.5px}
    .pb-txt span{font-size:10px}
    .pb-op{display:none}
    .pb-sum{grid-column:2;flex-direction:column;align-items:flex-end;gap:2px;padding-right:0}
    .pb-total{font-size:16px}
    .pb-act{grid-column:1/-1;width:100%;gap:7px}
    .pb-add{padding:9px 12px;font-size:11px}
    .pb-go{flex:1;text-align:center;padding:10px 12px;font-size:12px}
    .planpill{bottom:14px;right:12px;padding:9px 14px}
    body.hasplan .mbar{display:none}
    body.hasplan{padding-bottom:150px}
  }

  .mbar{display:none}
  @media(max-width:700px){
    .mbar{display:flex;gap:8px;position:fixed;z-index:80;left:0;right:0;bottom:0;padding:10px 14px 14px;
      background:rgba(255,250,242,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
    .mbar a{display:flex;align-items:center;justify-content:center;border-radius:12px;font-weight:800;font-size:13.5px;padding:15px 12px}
    .mbar .ma{flex:0 0 38%;border:1.5px solid var(--line2,#E4DCCA);background:#fff;color:var(--ink)}
    .mbar .mb{flex:1;background:var(--o);color:#3A2E14}
    .pdp{padding-bottom:86px}
    .bookcard{position:static}
    .gal-main{min-height:0;aspect-ratio:4/3}
    .gal-side{display:none}
  }

  /* ---------- 地接社资质页 ---------- */
  .op-cover{position:relative;border-radius:22px;overflow:hidden;isolation:isolate;padding:38px 38px 32px;color:#fff;
    background:linear-gradient(158deg,#3E6F63,#1E2A29 62%,#16201F)}
  .op-cover::after{content:"";position:absolute;right:-10%;top:-46%;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,159,21,.16) 0%,rgba(255,159,21,.05) 45%,rgba(255,159,21,0) 72%)}
  .op-cover .body{position:relative;z-index:3}
  .op-cover .crumbs{font-size:11.5px;color:rgba(255,255,255,.6);font-weight:700;margin-bottom:16px}
  .op-cover .badge-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
  .op-cover .badge-row i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.6px;color:#FFD9A8;background:rgba(255,159,21,.14);
    border:1px solid rgba(255,159,21,.34);padding:5px 10px;border-radius:99px}
  .op-cover h1{font-size:clamp(32px,3.8vw,50px);line-height:1.04;letter-spacing:-.04em;font-weight:800}
  .op-cover h1 em{font-style:normal;color:var(--o)}
  .op-cover .legal{font-size:13px;color:rgba(255,255,255,.7);margin-top:10px;line-height:1.7}
  .op-cover .legal b{color:rgba(255,255,255,.92);font-weight:700}
  .op-cover .ostats{display:flex;gap:30px;margin-top:24px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);padding-top:20px}
  .op-cover .ostats b{display:block;font-size:19px;letter-spacing:-.4px}
  .op-cover .ostats span{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.55)}

  .op-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start;margin-top:36px}
  @media(max-width:1000px){.op-wrap{grid-template-columns:1fr;gap:32px}}
  .lic{width:100%;border-collapse:collapse;font-size:13px}
  .lic th{text-align:left;font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;color:#B3AFA5;font-weight:800;
    padding:0 0 10px;border-bottom:1px solid var(--line)}
  .lic th:last-child{text-align:right}
  .lic td{padding:12px 0;border-bottom:1px solid var(--line);color:#4A4842}
  .lic td:first-child{color:var(--gray);font-weight:700;width:44%}
  .lic td:last-child{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
  .lic td.ok{color:var(--sea)}
  .lic-h{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
  .lic-h .chk{font-size:10.5px;font-weight:800;color:var(--sea);background:#EAF4F0;padding:5px 10px;border-radius:99px}
  .op-team{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  @media(max-width:700px){.op-team{grid-template-columns:1fr}}
  .op-team .step{padding:22px}
  .op-team .step h4{font-size:15px}
  .op-team .step span{display:block;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--o-dk);font-weight:800;margin-bottom:8px}
  .op-safety{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  @media(max-width:700px){.op-safety{grid-template-columns:1fr}}
  .op-safety div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px}
  .op-safety b{display:block;font-size:26px;letter-spacing:-.9px;margin-bottom:5px}
  .op-safety span{font-size:11.5px;color:var(--gray);line-height:1.6;display:block}

  .op-side{display:grid;gap:14px;position:sticky;top:86px}
  @media(max-width:1000px){.op-side{position:static}}
  .oside{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
  .oside h5{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#B3AFA5;font-weight:800;margin-bottom:12px}
  .oside .score{display:flex;align-items:baseline;gap:8px}
  .oside .score b{font-size:30px;letter-spacing:-1px}
  .oside .score span{font-size:11.5px;color:var(--gray-lt);font-weight:700}
  .oside .bar{height:5px;border-radius:3px;background:#F0EADD;margin-top:12px;overflow:hidden}
  .oside .bar i{display:block;height:100%;width:96%;background:var(--o);border-radius:3px}
  .oside p{font-size:11.5px;color:var(--gray);line-height:1.65;margin-top:10px}
  .oside .btn,.oside .ghost-b{width:100%;margin-top:10px;border-radius:11px;padding:12px 14px;font-size:12.5px;justify-content:center}
  .oside .ghost-b{display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line2,#E4DCCA);background:#fff;font-weight:800;color:var(--ink)}
  .oside .plist{display:grid;gap:9px}
  .oside .plist div{display:flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;color:#4A4842}
  .oside .plist .sw{width:26px;height:26px;border-radius:7px;flex:0 0 auto}

  @media(max-width:700px){
    .opstrip{padding:12px 14px;gap:9px 12px}
    .opstrip .osb{flex:1 1 calc(100% - 56px)}
    .opstrip .opb{flex:1 0 100%;order:3}
    .opstrip .osgo{order:4;margin-left:auto}
    .pdp-sub .dot{display:none}
    .pdp-sub > span:last-child{display:none}
    .op-cover .ostats{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
    .op-cover .legal{font-size:12px}
  }
  @media(max-width:900px){
    .tcard{height:210px}
    .tp-head{height:auto;padding:24px 20px 26px}
    .tp-head .crumbs{position:static;margin-bottom:12px}
    .op-cover{padding:24px 20px 26px}
    .pdp-top{margin-bottom:22px}
    .tl-row{grid-template-columns:66px 1fr;gap:12px}
  }

/* ============================================================
   图片位
   ------------------------------------------------------------
   占位期用 .ph-a ~ .ph-h 渐变色块；真图到位后数据里写图片路径，
   app.js 自动加 .has-img 铺底。现在六张主题卡、行程缩略图、
   Journal 配图都已是真图。
   ============================================================ */
.has-img{background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important}

/* 懒加载占位底色：图片还没进视口时给个中性底，避免透明闪白 */
.tcard.has-img{background-color:#26343B}
.pp.has-img,.tpn-pic.has-img{background-color:#E7E1D4}

/* 主题卡铺上照片后，原六色渐变让位：改成底部压暗，保证白字可读 */
.tcard.has-img .tbg{background:linear-gradient(to top,rgba(9,17,21,.90) 0%,rgba(9,17,21,.42) 44%,rgba(9,17,21,.06) 100%)}

  /* ============================================================
     产品详情页 /trips/<id>.html
     版式对齐设计稿 v5-3：图廊跨两栏 → 左正文 + 右粘性预订卡
     ============================================================ */
  .crumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11.5px;color:#A29B8C;padding:18px 0 16px}
  .crumb a{color:#8B8578}
  .crumb a:hover{color:var(--o-dk)}
  .crumb i{font-style:normal;color:#D6CFC0}
  .crumb b{color:var(--ink);font-weight:700}

  .td-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;column-gap:52px;
           grid-template-areas:"gal gal" "main side";align-items:start;padding-bottom:56px}
  .gal{grid-area:gal}
  .td-main{grid-area:main;min-width:0}
  /* aside 必须撑满整行高度，里面的 .stick 才能跟着滚动粘住 */
  .td-side{grid-area:side;align-self:stretch}
  .td-side .stick{position:sticky;top:88px}
  .book-inline{display:none}

  /* ---- 图廊 ---- */
  .gal{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(0,1fr);gap:14px;margin-bottom:30px}
  .gal-main{position:relative;border-radius:22px;overflow:hidden;background:#26343B;margin:0;min-height:0}
  .gal-main img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}
  .gal-pills{position:absolute;top:16px;left:16px;display:flex;gap:8px}
  .gal-pills span{background:#fff;color:#3A3A3A;font-size:10px;font-weight:800;letter-spacing:1.4px;
                  text-transform:uppercase;padding:7px 13px;border-radius:99px}
  .gal-pills span:first-child{background:var(--o);color:#3A2E14}
  .gal-ill{position:absolute;bottom:14px;left:16px;background:rgba(12,24,28,.6);color:#EAF0EE;
           font-size:9.5px;font-weight:700;letter-spacing:.6px;padding:6px 11px;border-radius:99px;
           backdrop-filter:blur(6px)}
  .gal-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;min-width:0}
  .gal-th,.gal-half,.gal-more{border-radius:16px;min-height:0}
  .gal-th{background-size:cover;background-position:center;background-color:#26343B;display:block}
  .gal-half{background:#FBF6EC;border:1px solid #F0E9DA;display:flex;flex-direction:column;justify-content:center;
            align-items:center;gap:3px;text-align:center;padding:10px;font-size:10.5px;color:#A29B8C;line-height:1.4}
  .gal-half s{text-decoration:none;font-size:8.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800;color:#B3AFA5}
  .gal-half b{font-size:22px;color:var(--ink);font-weight:800;letter-spacing:-.02em;line-height:1.1}
  .gal-half em{font-style:normal;font-size:10px;color:#A29B8C}
  .gal-more{background:var(--dark);color:#fff;display:flex;flex-direction:column;align-items:center;
            justify-content:center;gap:3px;text-align:center;font-size:13px;font-weight:800;line-height:1.35;
            transition:.2s}
  .gal-more s{text-decoration:none;font-size:10px;font-weight:700;color:#93A29D;letter-spacing:.3px}
  .gal-more:hover{background:#16211F}

  /* ---- 标题 ---- */
  .td-h1{font-size:clamp(30px,3.3vw,44px);line-height:1.05;letter-spacing:-.032em;font-weight:800;margin:0 0 14px}
  .td-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px;color:#8B8578;
           font-weight:700;margin-bottom:22px}
  .td-meta .mrate{color:var(--ink);display:inline-flex;align-items:center;gap:5px}
  .td-meta .mrate{color:var(--o-dk)}
  .td-meta .mrate em{font-style:normal;color:#A29B8C;font-weight:600}

  /* ---- 地接社条 ---- */
  .opcard{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
          border-radius:16px;padding:14px 18px;box-shadow:0 8px 22px rgba(40,30,10,.04);flex-wrap:wrap}
  .opimg{width:46px;height:46px;border-radius:11px;flex:0 0 auto;
         background:linear-gradient(140deg,#FFD08A,#E9814F)}
  .opmain{min-width:0}
  .opmain s{display:block;text-decoration:none;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;
            color:#A29B8C;font-weight:800;margin-bottom:2px}
  .opmain b{display:block;font-size:15px;font-weight:800;line-height:1.2}
  .opmain span{display:block;font-size:11px;color:#A29B8C;margin-top:3px}
  /* badges + 链接收进右端一组，窄屏时整组换到下一行两端对齐 */
  .opend{display:flex;align-items:center;gap:24px;margin-left:auto;flex-wrap:wrap}
  .opbadges{display:flex;gap:6px;flex-wrap:wrap}
  .opbadges i{font-style:normal;font-size:9px;font-weight:800;letter-spacing:.7px;color:var(--sea);
              background:#EAF6F1;border:1px solid #CFE9DF;padding:4px 9px;border-radius:99px}
  .opmore{background:none;border:0;padding:4px 0;cursor:pointer;
          font-size:11.5px;font-weight:800;color:var(--o-dk);white-space:nowrap}
  .opmore:hover{color:var(--ink)}
  .opdetail{background:#FBF6EC;border:1px solid #F0E9DA;border-radius:14px;padding:16px 18px;margin-top:10px}
  .opdetail p{font-size:13px;line-height:1.7;color:#5A5852}
  .opdetail .opdetail-x{font-size:11.5px;color:#8B8578;margin-top:10px}

  /* ---- 四格信息 ---- */
  .infogrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 4px}
  .infogrid > div{background:#FBF6EC;border:1px solid #F0E9DA;border-radius:14px;padding:15px 16px}
  .infogrid s{display:block;text-decoration:none;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;
              color:#A29B8C;font-weight:800;margin-bottom:6px}
  .infogrid b{display:block;font-size:17px;font-weight:800;letter-spacing:-.01em}
  .infogrid span{display:block;font-size:11px;color:#A29B8C;margin-top:2px}

  /* ---- 正文 ---- */
  .td-h2{font-size:clamp(19px,1.7vw,23px);font-weight:800;letter-spacing:-.02em;margin:38px 0 14px}
  .td-body{max-width:720px}
  .td-body p{font-size:15px;line-height:1.78;color:#4E4C46;margin-bottom:14px}
  .td-policy p{font-size:13.5px;line-height:1.75}

  /* ---- 时间线 ---- */
  .tline{border-top:1px solid var(--line)}
  .tl-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:17px 0;
          border-bottom:1px solid var(--line)}
  .tl-row > b{font-size:12.5px;font-weight:800;color:var(--o-dk);letter-spacing:.3px;padding-top:2px}
  .tl-row strong{display:block;font-size:14.5px;font-weight:800;margin-bottom:4px}
  .tl-row span{display:block;font-size:13.5px;line-height:1.7;color:#6F6D67}

  /* ---- 含 / 不含 ---- */
  .incgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .inc{display:block;background:#FBF6EC;border:1px solid #F0E9DA;border-radius:16px;padding:18px 20px}
  .inc s{display:block;text-decoration:none;font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;
         font-weight:800;color:var(--sea);margin-bottom:12px}
  .inc.exc s{color:#A29B8C}
  .inc ul{list-style:none;display:grid;gap:9px}
  .inc li{display:flex;gap:9px;font-size:13.5px;line-height:1.55;color:#4E4C46}
  .inc li i{flex:0 0 auto;font-style:normal;font-size:11px;font-weight:800;width:16px;height:16px;
            border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}
  .inc li .ck{background:#E4F4EC;color:#0E8C7A}
  .inc li .no{background:#F2EEE3;color:#A29B8C}

  /* ---- 评价 ---- */
  .td-revs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .td-revall{font-size:11.5px;color:#A29B8C;margin-top:14px}
  .td-revall a{color:var(--o-dk);font-weight:800;text-decoration:underline;text-underline-offset:3px}

  /* ---- 预订卡 ---- */
  .bookcard{position:static;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;
            box-shadow:0 20px 46px rgba(40,30,10,.09)}
  .bc-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding-bottom:14px}
  .bc-price b{font-size:34px;font-weight:800;letter-spacing:-.035em;line-height:1}
  .bc-price > span{font-size:11.5px;color:#A29B8C;font-weight:700}
  .bc-slot{margin-left:auto;font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.4px;
           color:var(--sea);background:#EAF6F1;border:1px solid #CFE9DF;padding:5px 10px;border-radius:99px;
           white-space:nowrap}
  .bc-fields{border:1px solid var(--line);border-radius:13px;overflow:hidden}
  .bc-row{position:relative;display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer}
  .bc-row + .bc-row{border-top:1px solid var(--line)}
  .bc-row > span{font-size:9.5px;letter-spacing:1.3px;text-transform:uppercase;color:#A29B8C;
                 font-weight:800;min-width:64px}
  .bc-row > b{font-size:12.5px;font-weight:800;margin-left:auto;color:var(--ink)}
  .bc-row > em{font-style:normal;font-size:9px;color:#C3BCAC}
  .bc-row select{position:absolute;inset:0;width:100%;height:100%;opacity:0;appearance:none;
                 border:0;cursor:pointer;font-size:16px}
  .bc-row:hover{background:#FFFCF6}
  .bc-total{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:14px 0 12px}
  .bc-total span{display:block;font-size:11px;color:#8B8578;font-weight:700}
  .bc-total span b{color:var(--ink);font-weight:800}
  .bc-total s{display:block;text-decoration:none;font-size:9.5px;color:#B3AFA5;margin-top:4px;line-height:1.5}
  .bc-total > b{font-size:20px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
  .bc-cta{display:flex;width:100%;justify-content:center;font-size:14px;padding:14px 18px}
  .bc-wa{display:flex;width:100%;justify-content:center;font-size:13.5px;padding:13px 18px;margin-top:8px;
         background:#fff}
  .bc-note{font-size:10px;color:#B3AFA5;text-align:center;line-height:1.6;margin:10px 0 12px}
  .bc-perks{list-style:none;display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}
  .bc-perks li{display:flex;align-items:center;gap:8px;font-size:12px;color:#5A5852}
  .bc-perks i{width:13px;height:13px;border-radius:50%;background:var(--sea);flex:0 0 auto;position:relative}
  .bc-perks i::after{content:"";position:absolute;left:3.5px;top:4px;width:5px;height:2.5px;
                     border-left:1.6px solid #fff;border-bottom:1.6px solid #fff;transform:rotate(-45deg)}
  .bc-op{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px}
  .bc-opimg{width:30px;height:30px;border-radius:8px;flex:0 0 auto;
            background:linear-gradient(140deg,#FFD08A,#E9814F)}
  .bc-op s{display:block;text-decoration:none;font-size:8.5px;letter-spacing:1.3px;text-transform:uppercase;
           color:#A29B8C;font-weight:800}
  .bc-op b{display:block;font-size:12px;font-weight:800}
  .bc-op .opmore{margin-left:auto;font-size:11px}
  .bc-fine{font-size:10px;color:#B3AFA5;text-align:center;margin-top:10px;line-height:1.5}

  /* ---- 404（id 对不上时的兜底） ---- */
  .td-404{max-width:560px;margin:80px auto;text-align:center}
  .td-404 b{display:block;font-size:22px;margin-bottom:10px}
  .td-404 p{font-size:14px;color:#6F6D67;margin-bottom:22px}

  /* ---- 响应式 ---- */
  @media(max-width:1180px){
    .td-grid{grid-template-columns:minmax(0,1fr) 352px;column-gap:36px}
    .infogrid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:1000px){
    .td-grid{display:block;padding-bottom:40px}
    .td-side{display:none}
    .book-inline{display:block;margin:34px 0 6px}
    /* 窄屏按设计稿：只留一张主图（4:3），右侧缩略格整块隐藏 */
    .gal{grid-template-columns:1fr;gap:10px;margin-bottom:22px}
    .gal-side{display:none}
    .gal-main img{aspect-ratio:4/3}
    .gal-ill{font-size:8.5px;padding:5px 9px;bottom:10px;left:12px}
    .opcard{padding:12px 14px;gap:10px 12px}
    .opimg{width:40px;height:40px}
    .opmain{flex:1 1 auto}
    .opmain span{font-size:10.5px;line-height:1.5}
    .opend{flex:1 1 100%;margin-left:0;justify-content:space-between}
    .incgrid{grid-template-columns:1fr}
  }
  @media(max-width:560px){
    .td-h1{font-size:27px}
    .td-meta{gap:12px;font-size:11px;margin-bottom:18px}
    .td-h2{margin:30px 0 12px}
    .td-body p{font-size:14.5px;line-height:1.72}
    .td-revs{grid-template-columns:1fr}
    .tl-row{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:15px 0}
    .tl-row span{font-size:13px}
    .bc-price b{font-size:30px}
    .bc-total s{max-width:none}
    .crumb{padding:14px 0 12px;font-size:11px}
    .crumb > a:first-child,.crumb > i:first-of-type{display:none}
  }
