/* roulang page: index */
:root{--pine:#1B3A2F;--gold:#C9A876;--cream:#F5EFE3;--charcoal:#101615;--clay:#A5522B;--ink:#26261F;--paletext:#E9DFCF}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);background:var(--cream);color:var(--ink);line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit;transition:color .2s}
button{font-family:inherit;cursor:pointer}
.container{max-width:1280px;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem}
@media(min-width:768px){.container{padding-left:2rem;padding-right:2rem}}
/* ===== 按钮体系 ===== */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--gold);color:#101615;font-weight:600;border-radius:999px;padding:.85rem 2rem;font-size:.95rem;border:2px solid transparent;transition:background .25s,transform .15s,box-shadow .25s;letter-spacing:.02em}
.btn-primary:hover{background:#ddbd8f;box-shadow:0 8px 25px rgba(201,168,118,.3)}
.btn-primary:active{transform:scale(.98)}
.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(201,168,118,.5)}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--paletext);font-weight:500;border-radius:999px;padding:.85rem 2rem;font-size:.95rem;border:1px solid rgba(201,168,118,.5);transition:background .25s,border-color .25s,transform .15s}
.btn-outline:hover{background:rgba(201,168,118,.12);border-color:var(--gold)}
.btn-outline:active{transform:scale(.98)}
.btn-outline:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(201,168,118,.4)}
.btn-dark{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--pine);color:var(--paletext);font-weight:600;border-radius:999px;padding:.85rem 2rem;font-size:.95rem;border:2px solid transparent;transition:background .25s,transform .15s,box-shadow .25s}
.btn-dark:hover{background:#24503F}
.btn-dark:active{transform:scale(.98)}
.btn-dark:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(27,58,47,.5)}
.btn-sm{padding:.55rem 1.25rem;font-size:.85rem}
/* ===== 导航 ===== */
#site-header{position:fixed;top:0;left:0;width:100%;z-index:50;background:rgba(16,22,21,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .4s,box-shadow .4s;border-bottom:1px solid rgba(201,168,118,.15)}
#site-header.scrolled{background:rgba(27,58,47,.94);box-shadow:0 8px 30px rgba(16,22,21,.35)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
@media(min-width:1024px){.nav-wrap{height:80px}}
.logo{display:flex;flex-direction:column;line-height:1.1;flex-shrink:0}
.logo-main{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;color:var(--paletext);letter-spacing:.05em}
.logo-sub{font-size:.62rem;color:rgba(201,168,118,.85);letter-spacing:.18em;text-transform:uppercase;margin-top:2px}
.nav-chips{display:flex;align-items:center;gap:.5rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex:1;justify-content:center;padding:0 .5rem}
.nav-chips::-webkit-scrollbar{display:none}
.nav-chip{flex-shrink:0;display:inline-flex;align-items:center;padding:.45rem 1.15rem;border-radius:999px;font-size:.88rem;font-weight:500;color:rgba(233,223,207,.75);border:1px solid transparent;transition:all .2s ease;white-space:nowrap}
.nav-chip:hover{color:var(--paletext);border-color:rgba(201,168,118,.4)}
.nav-chip.active{background:var(--pine);color:var(--gold);border-color:rgba(201,168,118,.3);font-weight:600}
.nav-cta{flex-shrink:0}
@media(max-width:768px){.nav-cta .btn-primary{padding:.5rem 1rem;font-size:.82rem}.logo-main{font-size:1.1rem}.logo-sub{font-size:.52rem}}
/* ===== 通用区块标题 ===== */
.section-pad{padding:5rem 0}
@media(min-width:1024px){.section-pad{padding:7rem 0}}
.sec-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.sec-label::before{content:'';width:24px;height:1px;background:var(--gold)}
.sec-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;line-height:1.2;color:var(--ink);margin-top:.5rem;letter-spacing:-.01em}
@media(min-width:768px){.sec-title{font-size:2.5rem}}
.sec-desc{margin-top:1rem;font-size:1rem;color:rgba(38,38,31,.7);max-width:640px;line-height:1.8}
.sec-num{font-family:var(--font-serif);font-size:4rem;font-weight:900;color:transparent;-webkit-text-stroke:1px rgba(201,168,118,.6);line-height:1;display:block}
@media(min-width:768px){.sec-num{font-size:5rem}}
/* ===== Hero ===== */
#hero{position:relative;min-height:100vh;display:flex;align-items:flex-end}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,22,21,.78) 0%,rgba(16,22,21,.55) 45%,rgba(16,22,21,.9) 100%)}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1.1rem;border-radius:999px;border:1px solid rgba(201,168,118,.5);color:var(--gold);font-size:.78rem;letter-spacing:.16em;background:rgba(16,22,21,.5);backdrop-filter:blur(4px)}
.hero-eyebrow{font-size:.8rem;letter-spacing:.22em;color:rgba(201,168,118,.9);text-transform:uppercase;margin-bottom:1rem;font-weight:500}
.hero-title{font-family:var(--font-serif);font-size:3.2rem;font-weight:900;line-height:1.12;color:var(--paletext);letter-spacing:.02em;text-shadow:0 4px 30px rgba(16,22,21,.6)}
@media(min-width:768px){.hero-title{font-size:5rem}}
@media(min-width:1024px){.hero-title{font-size:5.8rem}}
.hero-subtitle{margin-top:1.2rem;font-size:1.05rem;color:rgba(233,223,207,.85);max-width:480px;line-height:1.85;font-weight:300}
@media(min-width:768px){.hero-subtitle{font-size:1.15rem}}
.hero-ctas{margin-top:1.8rem;display:flex;flex-wrap:wrap;gap:1rem}
.hero-bento-grid{display:grid;gap:1rem;margin-top:2.5rem}
@media(min-width:1024px){.hero-bento-grid{grid-template-columns:repeat(3,1fr);margin-top:3.5rem}}
.hero-bento-card{background:rgba(16,22,21,.6);backdrop-filter:blur(8px);border:1px solid rgba(201,168,118,.25);border-radius:16px;padding:1.75rem;position:relative;transition:border-color .3s,background .3s,transform .3s}
.hero-bento-card:hover{border-color:var(--gold);background:rgba(27,58,47,.65);transform:translateY(-4px)}
.bento-num{font-family:var(--font-serif);font-size:2.2rem;font-weight:700;color:transparent;-webkit-text-stroke:1px var(--gold);display:block;line-height:1}
@media(min-width:768px){.bento-num{font-size:2.8rem}}
.hero-bento-card h3{font-family:var(--font-serif);font-size:1.1rem;color:var(--paletext);margin-top:.75rem;font-weight:600}
.hero-bento-card p{font-size:.85rem;color:rgba(233,223,207,.7);margin-top:.4rem;line-height:1.6}
.hero-bento-cta{display:flex;align-items:center;justify-content:space-between;background:var(--gold);border-radius:16px;padding:1.75rem;transition:background .3s,transform .3s;color:#101615;font-weight:600}
.hero-bento-cta:hover{background:#ddbd8f;transform:translateY(-4px)}
.hero-bento-cta span{font-size:1.2rem;transition:transform .3s}
.hero-bento-cta:hover span{transform:translateX(4px)}
.gold-divider{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.scroll-hint{text-align:center;padding:1rem 0 1.5rem;font-size:.72rem;letter-spacing:.3em;color:rgba(201,168,118,.7);text-transform:uppercase;animation:bounceDown 1.6s ease-in-out infinite}
@keyframes bounceDown{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(6px);opacity:1}}
/* ===== 功能分组卡片 ===== */
.feature-card{background:#fffaf2;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(16,22,21,.06);transition:transform .3s,box-shadow .3s;position:relative;border:1px solid rgba(201,168,118,.12)}
.feature-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;z-index:2}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(16,22,21,.12)}
.feature-card:hover::before{transform:scaleX(1)}
.feature-card-img{height:180px;overflow:hidden;position:relative}
.feature-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:saturate(.92)}
.feature-card:hover .feature-card-img img{transform:scale(1.03)}
.feature-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(16,22,21,.25))}
.feature-card-body{padding:1.5rem}
.feature-card-body h3{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:var(--ink)}
.feature-card-body p{font-size:.88rem;color:rgba(38,38,31,.65);margin-top:.5rem;line-height:1.65}
.feature-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--goldDark);font-weight:500;margin-top:.9rem;transition:color .2s,gap .2s}
.feature-link:hover{color:var(--pine)}
.feature-link:hover svg{transform:translateX(3px)}
/* ===== 场景卡片 ===== */
.scene-card{border-radius:16px;overflow:hidden;position:relative;height:480px;box-shadow:0 12px 40px rgba(16,22,21,.35)}
.scene-card-img{position:absolute;inset:0;width:100%;height:100%}
.scene-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:brightness(.8) saturate(.85)}
.scene-card:hover .scene-card-img img{transform:scale(1.05)}
.scene-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(16,22,21,.55) 65%,rgba(16,22,21,.92) 100%)}
.scene-num{position:absolute;bottom:120px;left:1.5rem;font-family:var(--font-serif);font-size:3.5rem;font-weight:900;color:transparent;-webkit-text-stroke:1.5px var(--gold);line-height:1;transition:transform .3s}
.scene-card:hover .scene-num{transform:translateY(-4px)}
.scene-content{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;z-index:2}
.scene-content h3{font-family:var(--font-serif);font-size:1.3rem;color:var(--paletext);font-weight:700}
.scene-content p{font-size:.88rem;color:rgba(233,223,207,.8);margin-top:.4rem;line-height:1.6}
.scene-subtitle{font-size:.72rem;color:rgba(201,168,118,.8);letter-spacing:.12em;margin-top:.6rem;border-top:1px solid rgba(201,168,118,.3);padding-top:.6rem}
/* 场景滑动 */
.scene-scroll{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.scene-scroll::-webkit-scrollbar{height:4px}
.scene-scroll::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px}
.scene-scroll .scene-card{flex:0 0 85%;scroll-snap-align:start}
@media(min-width:768px){.scene-scroll .scene-card{flex:0 0 47%}}
@media(min-width:1024px){.scene-scroll .scene-card{flex:1 1 0}}
/* ===== 口碑区块 ===== */
.testimonial-card{background:#fffaf2;border-radius:16px;padding:1.5rem;border:1px solid rgba(201,168,118,.15);transition:border-color .3s,background .3s;position:relative}
.testimonial-card:hover{border-color:var(--gold);background:var(--warm)}
.testimonial-stars{display:flex;gap:.2rem;color:var(--gold);font-size:1rem}
.testimonial-quote{margin-top:.8rem;font-size:.95rem;color:var(--ink);line-height:1.7;font-weight:500}
.testimonial-meta{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(201,168,118,.2)}
.testimonial-name{font-size:.85rem;color:rgba(38,38,31,.7)}
.testimonial-badge{font-size:.68rem;color:var(--goldDark);border:1px solid rgba(201,168,118,.4);padding:.2rem .6rem;border-radius:999px;letter-spacing:.08em}
.stat-block{text-align:center;padding:1.25rem .5rem}
.stat-num{font-family:var(--font-serif);font-size:2.2rem;font-weight:900;color:var(--pine);line-height:1}
@media(min-width:768px){.stat-num{font-size:2.8rem}}
.stat-label{font-size:.8rem;color:rgba(38,38,31,.6);margin-top:.3rem}
.stat-divider{width:1px;background:rgba(201,168,118,.3)}
/* ===== 价格卡片 ===== */
.price-card{background:rgba(16,22,21,.6);border:1px solid rgba(201,168,118,.25);border-radius:20px;padding:2.25rem 1.75rem;transition:box-shadow .35s,transform .35s,border-color .35s;position:relative;display:flex;flex-direction:column}
.price-card:hover{box-shadow:0 0 40px rgba(201,168,118,.15);border-color:rgba(201,168,118,.5)}
.price-card.featured{background:rgba(27,58,47,.75);border-color:var(--gold);box-shadow:0 0 40px rgba(201,168,118,.12)}
@media(min-width:1024px){.price-card.featured{transform:scale(1.04)}}
.price-card.featured:hover{transform:scale(1.04)}
.price-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--clay);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.15em;padding:.3rem 1rem;border-radius:999px}
.price-title{font-family:var(--font-serif);font-size:1.3rem;color:var(--paletext);font-weight:700}
.price-amount{font-family:var(--font-serif);font-size:2.8rem;font-weight:900;color:var(--gold);line-height:1;margin-top:1rem}
.price-amount small{font-size:1rem;font-weight:400;color:rgba(233,223,207,.6)}
.price-desc{font-size:.85rem;color:rgba(233,223,207,.65);margin-top:.5rem}
.price-divider{height:1px;background:rgba(201,168,118,.25);margin:1.25rem 0}
.price-features{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.65rem;flex:1}
.price-features li{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:rgba(233,223,207,.85)}
.price-features li::before{content:'✦';color:var(--gold);font-size:.7rem;margin-top:.25rem;flex-shrink:0}
/* ===== FAQ ===== */
.faq-list{display:grid;gap:1rem}
.faq-item{background:#fffaf2;border:1px solid rgba(201,168,118,.15);border-radius:14px;overflow:hidden;transition:border-color .3s}
.faq-item.open{border-color:rgba(201,168,118,.45)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:transparent;border:none;text-align:left;font-family:var(--font-serif);font-size:1.02rem;font-weight:600;color:var(--ink);transition:color .2s}
.faq-question:hover{color:var(--goldDark)}
.faq-question::before{content:'品';font-family:var(--font-serif);font-size:.65rem;color:var(--gold);border:1px solid rgba(201,168,118,.5);border-radius:4px;padding:.15rem .35rem;margin-right:.4rem;flex-shrink:0}
.faq-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid rgba(201,168,118,.4);color:var(--goldDark);font-size:1rem;transition:transform .3s,background .3s;flex-shrink:0}
.faq-item.open .faq-toggle{transform:rotate(45deg);background:var(--gold);color:#101615}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.33,1,.68,1)}
.faq-answer-inner{padding:0 1.5rem 1.5rem 3rem;font-size:.9rem;color:rgba(38,38,31,.7);line-height:1.75}
/* ===== CTA横幅 ===== */
.cta-banner{position:relative;overflow:hidden;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.cta-banner-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.cta-banner-bg::after{content:'';position:absolute;inset:0;background:rgba(27,58,47,.82)}
.cta-banner .container{position:relative;z-index:2;text-align:center;padding-top:5rem;padding-bottom:5rem}
/* ===== 页脚 ===== */
#site-footer{background:var(--charcoal);color:rgba(233,223,207,.8)}
.footer-logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:var(--paletext);line-height:1.2}
.footer-logo span{display:block;font-size:.7rem;color:rgba(201,168,118,.8);letter-spacing:.2em;font-weight:400;margin-top:.2rem}
.footer-title{font-family:var(--font-serif);font-size:1rem;color:var(--paletext);font-weight:600;margin-bottom:1rem;letter-spacing:.05em}
.footer-links{list-style:none;display:grid;gap:.55rem}
.footer-links a{font-size:.88rem;color:rgba(233,223,207,.65);transition:color .2s,padding-left .2s}
.footer-links a:hover{color:var(--gold);padding-left:4px}
.footer-contact{font-size:.88rem;color:rgba(233,223,207,.65);display:grid;gap:.55rem}
.footer-contact span{display:flex;align-items:center;gap:.5rem}
.footer-bottom{border-top:1px solid rgba(201,168,118,.15);padding:1.25rem 0;text-align:center;font-size:.8rem;color:rgba(233,223,207,.45)}
/* ===== 进场动效 ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.33,1,.68,1),transform .6s cubic-bezier(.33,1,.68,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.scroll-hint{animation:none}}
/* ===== 分隔装饰 ===== */
.section-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,118,.35),transparent)}
/* ===== 响应式微调 ===== */
@media(max-width:520px){
  .hero-title{font-size:2.6rem}
  .sec-title{font-size:1.7rem}
  .hero-bento-cta{padding:1.25rem}
  .price-card{padding:1.6rem 1.25rem}
}

/* roulang page: category1 */
:root {
    --brand: #1B3A2F;
    --brand-light: #2A5243;
    --brand-dark: #101615;
    --accent: #C9A876;
    --accent-light: #DDBB8A;
    --accent-dark: #A5875B;
    --cream: #F5EFE3;
    --ink: #26261F;
    --paper: #E9DFCF;
    --terra: #A5522B;
    --muted: #6B7A72;
    --radius: 16px;
    --shadow: 0 8px 30px rgba(16,22,21,0.08);
    --shadow-hover: 0 16px 40px rgba(16,22,21,0.14);
    --ease: cubic-bezier(0.33, 1, 0.68, 1);
  }
  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body {
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    background: var(--cream);
    color: var(--ink);
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3, h4 {
    font-family: "Noto Serif SC", "Songti SC", STSong, serif;
    letter-spacing: -0.02em;
    line-height: 1.2;
  }
  a { text-decoration: none; color: inherit; }
  img { max-width: 100%; display: block; }
  .container { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
  @media (max-width: 640px) {
    .container { padding-left: 18px; padding-right: 18px; }
  }

  /* ========== Header ========== */
  #site-header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    background: rgba(16, 22, 21, 0.88);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(201, 168, 118, 0.18);
    transition: background 0.3s ease, box-shadow 0.3s ease;
  }
  #site-header.scrolled {
    background: rgba(16, 22, 21, 0.96);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  }
  .nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 74px; }
  .logo { display: flex; flex-direction: column; line-height: 1.15; flex-shrink: 0; }
  .logo-main {
    font-family: "Noto Serif SC", serif;
    font-size: 21px; font-weight: 700; color: #C9A876;
    letter-spacing: 0.08em;
  }
  .logo-sub {
    font-size: 10px; color: rgba(233, 223, 207, 0.7);
    letter-spacing: 0.18em; margin-top: 2px;
  }
  .nav-chips { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.06); border-radius: 999px; padding: 5px; overflow-x: auto; scrollbar-width: none; }
  .nav-chips::-webkit-scrollbar { display: none; }
  .nav-chip {
    padding: 9px 22px; border-radius: 999px;
    font-size: 14px; font-weight: 500; color: rgba(233,223,207,0.78);
    white-space: nowrap; transition: all 0.2s var(--ease);
    border: 1px solid transparent;
  }
  .nav-chip:hover { color: #C9A876; border-color: rgba(201,168,118,0.4); }
  .nav-chip.active { background: var(--brand); color: #C9A876; box-shadow: inset 0 0 0 1px rgba(201,168,118,0.35); }
  .nav-cta { flex-shrink: 0; }
  .btn-primary {
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--accent); color: var(--brand-dark);
    font-weight: 600; font-size: 14px;
    border-radius: 999px; padding: 12px 26px;
    border: 1px solid transparent;
    transition: all 0.25s var(--ease);
    cursor: pointer; line-height: 1;
  }
  .btn-primary:hover { background: var(--accent-light); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(201,168,118,0.22); }
  .btn-primary:active { transform: scale(0.97); }
  .btn-primary:focus, .btn-outline:focus { outline: none; box-shadow: 0 0 0 3px rgba(201,168,118,0.4); }
  .btn-sm { padding: 9px 20px; font-size: 13px; }
  .btn-outline {
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; color: var(--paper);
    font-weight: 500; font-size: 14px;
    border-radius: 999px; padding: 11px 26px;
    border: 1px solid rgba(201,168,118,0.55);
    transition: all 0.25s var(--ease); cursor: pointer; line-height: 1;
  }
  .btn-outline:hover { background: rgba(201,168,118,0.12); border-color: var(--accent); }
  .btn-outline:active { transform: scale(0.98); }

  /* ========== Category Hero ========== */
  .category-hero {
    position: relative; min-height: 48vh;
    display: flex; align-items: center;
    background-image: linear-gradient(115deg, rgba(16,22,21,0.92) 0%, rgba(16,22,21,0.62) 55%, rgba(16,22,21,0.44) 100%), url('/assets/images/coverpic/cover-1.webp');
    background-size: cover; background-position: center;
    padding: 130px 0 70px;
    margin-top: 74px;
  }
  .category-hero::after {
    content: ''; position: absolute; left: 0; bottom: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent 0%, #C9A876 50%, transparent 100%);
  }
  .category-hero .hero-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 48px; align-items: end; }
  .category-hero .eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; letter-spacing: 0.16em; color: #C9A876;
    border: 1px solid rgba(201,168,118,0.4); border-radius: 999px;
    padding: 6px 16px; margin-bottom: 22px; text-transform: uppercase;
  }
  .category-hero h1 {
    font-size: clamp(38px, 5vw, 58px); color: #F5EFE3; font-weight: 700;
    line-height: 1.12; letter-spacing: 0.01em; margin: 0 0 16px;
  }
  .category-hero h1 span { color: #C9A876; font-weight: 500; }
  .category-hero .lead {
    color: rgba(233,223,207,0.85); font-size: 16px; line-height: 1.85; max-width: 360px;
  }
  .category-hero .hero-meta-line {
    display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px;
  }
  .hero-tag {
    font-size: 12px; color: rgba(233,223,207,0.8);
    border: 1px solid rgba(233,223,207,0.2); border-radius: 999px;
    padding: 5px 14px;
  }

  /* ========== Filter Bar ========== */
  .filter-bar {
    background: var(--cream); padding: 30px 0 18px; border-bottom: 1px solid rgba(27,58,47,0.08);
  }
  .filter-inner { display: flex; gap: 10px; flex-wrap: wrap; }
  .filter-chip {
    padding: 8px 20px; border-radius: 999px; font-size: 13px; font-weight: 500;
    color: #4A5B52; background: rgba(27,58,47,0.06); border: 1px solid transparent;
    cursor: pointer; transition: all 0.2s var(--ease);
  }
  .filter-chip:hover { border-color: rgba(201,168,118,0.6); color: var(--brand); }
  .filter-chip.active { background: var(--brand); color: #C9A876; border-color: rgba(201,168,118,0.25); }

  /* ========== Category Main ========== */
  .category-main { padding: 56px 0 72px; background: var(--cream); }
  .category-grid { display: grid; grid-template-columns: 1fr 340px; gap: 44px; align-items: start; }
  .section-label {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; letter-spacing: 0.18em; color: var(--accent-dark);
    font-weight: 600; margin-bottom: 8px;
  }
  .section-label::before { content: '◆'; font-size: 8px; color: var(--accent); }
  .list-heading { font-size: 28px; font-weight: 600; color: var(--brand-dark); margin: 0 0 28px; }

  .article-card {
    display: grid; grid-template-columns: 260px 1fr; gap: 24px;
    background: #FBF6EA; border: 1px solid rgba(27,58,47,0.08);
    border-radius: var(--radius); padding: 14px;
    margin-bottom: 20px; position: relative; overflow: hidden;
    transition: all 0.35s var(--ease);
  }
  .article-card::before {
    content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
    background: var(--accent); opacity: 0; transition: opacity 0.3s ease;
  }
  .article-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-3px); border-color: rgba(201,168,118,0.45); }
  .article-card:hover::before { opacity: 1; }
  .article-card .ac-img { border-radius: 10px; overflow: hidden; width: 260px; height: 190px; flex-shrink: 0; }
  .article-card .ac-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
  .article-card:hover .ac-img img { transform: scale(1.03); }
  .article-card-body { display: flex; flex-direction: column; justify-content: center; padding-right: 6px; }
  .ac-tag {
    font-size: 11px; letter-spacing: 0.08em; color: var(--terra);
    border: 1px solid rgba(165,82,43,0.35); border-radius: 999px; padding: 3px 12px;
    align-self: flex-start; margin-bottom: 10px; background: rgba(165,82,43,0.04);
  }
  .ac-title { font-size: 20px; font-weight: 600; color: var(--brand-dark); margin: 0 0 8px; line-height: 1.4; }
  .ac-title a { transition: color 0.2s ease; }
  .ac-title a:hover { color: var(--accent-dark); }
  .ac-excerpt { font-size: 14px; color: #52615A; line-height: 1.75; margin: 0 0 14px; }
  .ac-meta { display: flex; align-items: center; gap: 16px; font-size: 12px; color: #88958E; border-top: 1px solid rgba(27,58,47,0.07); padding-top: 12px; }
  .ac-meta .meta-item { display: inline-flex; align-items: center; gap: 5px; }
  .ac-meta a { color: var(--brand); font-weight: 600; transition: color 0.2s; }
  .ac-meta a:hover { color: var(--accent-dark); }

  /* Sidebar */
  .sidebar-widget {
    background: #FBF6EA; border-radius: var(--radius);
    border: 1px solid rgba(27,58,47,0.08);
    padding: 28px 24px; margin-bottom: 20px;
  }
  .sidebar-widget .sw-title {
    font-size: 18px; font-weight: 600; color: var(--brand-dark);
    margin: 0 0 6px; position: relative; padding-bottom: 10px;
  }
  .sidebar-widget .sw-sub { font-size: 13px; color: #88958E; margin-bottom: 20px; }
  .sidebar-widget .sw-divider { border: 0; height: 1px; background: linear-gradient(90deg, rgba(201,168,118,0.4), transparent); margin-bottom: 18px; }
  .hot-item {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 14px 0; border-bottom: 1px solid rgba(27,58,47,0.06);
  }
  .hot-item:last-child { border-bottom: none; padding-bottom: 4px; }
  .hot-num {
    font-family: "Noto Serif SC", serif; font-size: 26px; font-weight: 700;
    color: var(--accent); line-height: 1; margin-top: 2px; min-width: 32px;
  }
  .hot-item .hi-name { font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.4; margin: 0 0 4px; }
  .hot-item .hi-name a:hover { color: var(--accent-dark); }
  .hot-item .hi-desc { font-size: 12px; color: #88958E; line-height: 1.55; }

  .book-card {
    background: linear-gradient(150deg, #1B3A2F 0%, #101615 78%);
    border-radius: var(--radius); padding: 32px 28px;
    border: 1px solid rgba(201,168,118,0.22);
    position: relative; overflow: hidden;
  }
  .book-card::before {
    content: '茶'; position: absolute; right: -18px; top: -28px;
    font-family: "Noto Serif SC", serif; font-size: 120px; color: rgba(201,168,118,0.06);
    line-height: 1; pointer-events: none;
  }
  .book-card h3 { color: #F5EFE3; font-size: 20px; margin: 0 0 12px; }
  .book-card p { color: rgba(233,223,207,0.75); font-size: 13px; line-height: 1.7; margin: 0 0 20px; }
  .book-card .btn-primary { width: 100%; }
  .book-card .book-hint { font-size: 11px; color: rgba(233,223,207,0.45); text-align: center; margin-top: 12px; }

  /* ========== Pagination ========== */
  .pagination-wrap { display: flex; justify-content: center; padding-top: 34px; }
  .pagination { display: flex; gap: 8px; list-style: none; padding: 0; margin: 0; }
  .page-link {
    display: inline-flex; align-items: center; justify-content: center;
    width: 42px; height: 42px; border-radius: 50%;
    font-size: 14px; color: rgba(27,58,47,0.55);
    border: 1px solid rgba(27,58,47,0.18); background: transparent;
    transition: all 0.25s var(--ease);
  }
  .page-link:hover { border-color: rgba(201,168,118,0.8); color: var(--accent-dark); }
  .page-item.active .page-link { background: var(--accent); color: var(--brand-dark); border-color: var(--accent); font-weight: 700; }
  .page-item.disabled .page-link { opacity: 0.35; pointer-events: none; }

  /* ========== Process ========== */
  .process-section { background: var(--brand-dark); padding: 80px 0; position: relative; }
  .process-section::before {
    content: '预约流程'; position: absolute; right: 4%; top: 30px;
    font-family: "Noto Serif SC", serif; font-size: 86px; font-weight: 700;
    color: rgba(201,168,118,0.05); line-height: 1; pointer-events: none;
  }
  .process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 40px; }
  .process-step { position: relative; padding-left: 52px; }
  .step-num {
    position: absolute; left: 0; top: -6px;
    font-family: "Noto Serif SC", serif; font-size: 48px; font-weight: 700;
    color: var(--accent); line-height: 1; opacity: 0.75;
  }
  .process-step h3 { color: #F5EFE3; font-size: 18px; margin: 0 0 10px; padding-top: 40px; }
  .process-step p { color: rgba(233,223,207,0.62); font-size: 13px; line-height: 1.7; margin: 0; }
  .process-step::after {
    content: ''; position: absolute; left: 34px; top: 58px; bottom: -30px; width: 1px;
    background: linear-gradient(to bottom, rgba(201,168,118,0.35), transparent);
  }
  .process-step:last-child::after { display: none; }

  /* ========== FAQ ========== */
  .faq-section { background: var(--cream); padding: 80px 0; }
  .faq-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 56px; }
  .faq-heading .section-label { margin-bottom: 14px; }
  .faq-heading h2 { font-size: 34px; color: var(--brand-dark); margin: 0 0 16px; }
  .faq-heading p { font-size: 14px; color: #6B7A72; line-height: 1.8; margin: 0; }
  .faq-list { display: flex; flex-direction: column; gap: 12px; }
  .faq-item {
    background: #FBF6EA; border: 1px solid rgba(27,58,47,0.08);
    border-radius: 12px; overflow: hidden; transition: all 0.3s var(--ease);
  }
  .faq-item:hover { border-color: rgba(201,168,118,0.4); }
  .faq-q {
    display: flex; justify-content: space-between; align-items: center; gap: 16px;
    padding: 18px 22px; cursor: pointer; user-select: none;
  }
  .faq-q::before {
    content: '品'; font-size: 13px; color: var(--accent); margin-right: 10px;
    font-family: "Noto Serif SC", serif; flex-shrink: 0;
  }
  .faq-q .q-text { font-size: 15px; font-weight: 600; color: var(--brand); flex: 1; transition: color 0.2s; }
  .faq-q:hover .q-text { color: var(--accent-dark); }
  .faq-icon { width: 18px; height: 18px; position: relative; flex-shrink: 0; }
  .faq-icon::before, .faq-icon::after {
    content: ''; position: absolute; background: var(--accent); border-radius: 2px;
    transition: transform 0.3s var(--ease);
  }
  .faq-icon::before { left: 0; right: 0; top: 8px; height: 2px; }
  .faq-icon::after { top: 0; bottom: 0; left: 8px; width: 2px; }
  .faq-item.open .faq-icon::after { transform: scaleY(0); }
  .faq-a { max-height: 0; overflow: hidden; transition: max-height 0.4s var(--ease); }
  .faq-item.open .faq-a { max-height: 260px; }
  .faq-a .a-inner { padding: 0 22px 20px 48px; font-size: 14px; color: #52615A; line-height: 1.75; }

  /* ========== CTA ========== */
  .cta-banner {
    position: relative; background: linear-gradient(rgba(16,22,21,0.85), rgba(27,58,47,0.88)),
      url('/assets/images/backpic/back-1.webp') center/cover;
    border-top: 1px solid rgba(201,168,118,0.3);
    border-bottom: 1px solid rgba(201,168,118,0.3);
    padding: 80px 0;
  }
  .cta-inner { text-align: center; max-width: 640px; margin: 0 auto; }
  .cta-inner h2 { font-size: clamp(28px, 4vw, 40px); color: #F5EFE3; margin-bottom: 14px; }
  .cta-inner p { color: rgba(233,223,207,0.68); font-size: 15px; margin-bottom: 30px; }
  .cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
  .cta-hint { font-size: 12px; color: rgba(233,223,207,0.4); margin-top: 18px; }

  /* ========== Footer ========== */
  #site-footer { background: var(--brand-dark); color: rgba(233,223,207,0.75); }
  #site-footer .py-14 { padding-top: 60px; padding-bottom: 40px; }
  .footer-logo { font-family: "Noto Serif SC", serif; font-size: 24px; font-weight: 700; color: #C9A876; }
  .footer-logo span { display: block; font-size: 12px; font-weight: 400; color: rgba(233,223,207,0.6); letter-spacing: 0.12em; margin-top: 4px; }
  .footer-title { font-size: 15px; font-weight: 600; color: #F5EFE3; margin: 0 0 18px; padding-bottom: 8px; border-bottom: 1px solid rgba(201,168,118,0.2); }
  .footer-links { list-style: none; padding: 0; margin: 0; }
  .footer-links li { margin-bottom: 10px; }
  .footer-links a { font-size: 14px; color: rgba(233,223,207,0.7); transition: color 0.2s; position: relative; padding-bottom: 2px; }
  .footer-links a::after {
    content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 1px;
    background: var(--accent); transition: width 0.3s var(--ease);
  }
  .footer-links a:hover { color: var(--accent); }
  .footer-links a:hover::after { width: 100%; }
  .footer-contact { display: flex; flex-direction: column; gap: 10px; font-size: 14px; color: rgba(233,223,207,0.7); }
  .footer-bottom { border-top: 1px solid rgba(201,168,118,0.12); padding: 22px 0; text-align: center; font-size: 13px; color: rgba(233,223,207,0.45); }

  /* ========== Intro Animation ========== */
  .fade-up { opacity: 0; transform: translateY(26px); transition: opacity 0.6s var(--ease), transform 0.6s var(--ease); }
  .fade-up.revealed { opacity: 1; transform: translateY(0); }
  @media (prefers-reduced-motion: reduce) {
    .fade-up { opacity: 1; transform: none; transition: none; }
  }

  /* ========== Responsive ========== */
  @media (max-width: 1023px) {
    .category-grid { grid-template-columns: 1fr; }
    .article-card { grid-template-columns: 220px 1fr; }
    .article-card .ac-img { width: 220px; height: 170px; }
    .process-grid { grid-template-columns: repeat(2, 1fr); }
    .process-step::after { display: none; }
    .faq-grid { grid-template-columns: 1fr; gap: 30px; }
  }
  @media (max-width: 767px) {
    .nav-wrap { height: 64px; }
    .nav-chips { max-width: calc(100vw - 190px); }
    .nav-chip { padding: 7px 14px; font-size: 13px; }
    .logo-main { font-size: 18px; }
    .logo-sub { font-size: 9px; }
    .category-hero { margin-top: 64px; padding: 100px 0 54px; min-height: auto; }
    .category-hero .hero-grid { grid-template-columns: 1fr; gap: 20px; }
    .category-hero h1 { font-size: 34px; }
    .category-hero .lead { font-size: 14px; }
    .article-card { grid-template-columns: 1fr; padding: 10px; }
    .article-card .ac-img { width: 100%; height: 180px; }
    .ac-title { font-size: 17px; }
    .list-heading { font-size: 24px; }
    .process-grid { grid-template-columns: 1fr; gap: 26px; }
    .process-step { padding-left: 46px; }
    .process-step h3 { padding-top: 30px; }
    .step-num { font-size: 38px; }
    .sidebar-widget, .book-card { padding: 22px 18px; }
    .cta-banner { padding: 56px 0; }
    .faq-heading h2 { font-size: 28px; }
  }
  @media (max-width: 480px) {
    .nav-cta .btn-sm { display: none; }
    .nav-chips { max-width: calc(100vw - 110px); }
    .filter-chip { padding: 7px 14px; font-size: 12px; }
    .ac-meta { flex-wrap: wrap; gap: 8px 12px; }
    .pagination .page-item:nth-child(4) { display: none; }
  }
