/* =====================================================================
   骑楼晚亭 QILOU ARCADE SPA（海口）全站样式
   母题：五尖拱廊 · 南洋水泥花砖 · 百叶横条 · 天花吊扇 · 旧报纸细线
   覆盖全部 36 页：index/about/about-1~3/services/service-1~6/team/
   teacher-1~3/gallery/scene-1~4/articles/article-1~8/reviews/card/
   stores/store-1~3
   ===================================================================== */

/* ---------------- 0. 变量与重置 ---------------- */
:root{
  --wall:#e7dcc2;        /* 骑楼米墙 */
  --wall-2:#efe7d1;      /* 浅墙 */
  --paper:#f5eeda;       /* 旧报纸 */
  --paper-2:#efe5cb;
  --green:#2e4a40;       /* 百叶墨绿 */
  --green-d:#22382f;
  --green-l:#466659;
  --ochre:#a6543d;       /* 花砖赭 */
  --ochre-d:#8c432f;
  --ochre-t:#f0ddcd;     /* 赭色淡底 */
  --gold:#bf9d54;        /* 旧金 */
  --gold-l:#d8bd7e;
  --stone:#6b6a63;       /* 青石灰 */
  --bronze:#3a342c;      /* 灯下褐 */
  --ink:#2d2720;
  --ink-2:#57503f;
  --line:rgba(45,39,32,.22);
  --line-d:rgba(245,238,218,.28);
  --ff-t:"STFangsong","华文仿宋","FangSong","FangSong_GB2312","Microsoft YaHei",serif;
  --ff-en:"Times New Roman",Times,Georgia,serif;
  --ff-b:"Microsoft YaHei","微软雅黑",sans-serif;
  --w:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--ff-b);
  color:var(--ink);
  background:var(--wall);
  line-height:1.75;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font-family:inherit}
h1,h2,h3,h4{font-family:var(--ff-t);font-weight:600;line-height:1.35;color:var(--ink)}
::selection{background:var(--ochre);color:#fff}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
.hidden{display:none !important}

/* 水泥花砖：八瓣花 + 十字四方连续 */
.tile-bg{
  background-color:var(--ochre-t);
  background-image:
    radial-gradient(circle at 50% 50%, rgba(166,84,61,.55) 0 3px, transparent 3.6px),
    radial-gradient(circle at 0 0, rgba(46,74,64,.34) 0 2px, transparent 2.5px),
    radial-gradient(circle at 100% 0, rgba(46,74,64,.34) 0 2px, transparent 2.5px),
    radial-gradient(circle at 0 100%, rgba(46,74,64,.34) 0 2px, transparent 2.5px),
    radial-gradient(circle at 100% 100%, rgba(46,74,64,.34) 0 2px, transparent 2.5px),
    linear-gradient(rgba(107,106,99,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(107,106,99,.16) 1px,transparent 1px);
  background-size:34px 34px,34px 34px,34px 34px,34px 34px,34px 34px,34px 34px,34px 34px;
}
.tile-bg.dark{
  background-color:var(--green-d);
  background-image:
    radial-gradient(circle at 50% 50%, rgba(191,157,84,.5) 0 3px, transparent 3.6px),
    radial-gradient(circle at 0 0, rgba(245,238,218,.25) 0 2px, transparent 2.5px),
    radial-gradient(circle at 100% 0, rgba(245,238,218,.25) 0 2px, transparent 2.5px),
    radial-gradient(circle at 0 100%, rgba(245,238,218,.25) 0 2px, transparent 2.5px),
    radial-gradient(circle at 100% 100%, rgba(245,238,218,.25) 0 2px, transparent 2.5px),
    linear-gradient(rgba(191,157,84,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(191,157,84,.12) 1px,transparent 1px);
  background-size:34px 34px,34px 34px,34px 34px,34px 34px,34px 34px,34px 34px,34px 34px;
}
/* 百叶横条 */
.louver-bg{
  background-image:repeating-linear-gradient(0deg,
    rgba(245,238,218,.10) 0 2px,transparent 2px 13px);
}

/* ---------------- 1. 顶条 ---------------- */
.topbar{
  background:var(--green-d);
  color:var(--gold-l);
  font-size:12.5px;
  letter-spacing:.08em;
  border-bottom:1px solid rgba(191,157,84,.35);
}
.topbar-inner{
  max-width:var(--w);margin:0 auto;padding:7px 24px;
  display:flex;justify-content:space-between;gap:16px;align-items:center;
}
.topbar-inner span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-inner b{color:#f1e7d0;font-weight:400}
.topbar-right{font-family:var(--ff-en);font-style:italic;opacity:.85}

/* ---------------- 2. 导航 ---------------- */
.nav{
  position:sticky;top:0;z-index:80;
  background:rgba(231,220,194,.96);
  border-bottom:1px solid transparent;
  transition:background .3s,box-shadow .3s,border-color .3s;
}
.nav.scrolled{
  background:rgba(231,220,194,.97);
  border-bottom-color:var(--line);
  box-shadow:0 6px 22px rgba(45,39,32,.12);
}
.nav-inner{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  height:72px;display:flex;align-items:center;gap:26px;
}
.nav-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav-mark{
  width:42px;height:42px;position:relative;flex:0 0 auto;
  background:var(--green);
  clip-path:polygon(0 100%,0 34%,50% 0,100% 34%,100% 100%);
  box-shadow:inset 0 0 0 1px var(--gold);
}
.nav-mark::before{ /* 拱窗棂 */
  content:"";position:absolute;left:50%;top:12px;transform:translateX(-50%);
  width:22px;height:22px;border:1px solid var(--gold);
  border-radius:50% 50% 0 0 / 70% 70% 0 0;
}
.nav-mark::after{ /* 吊扇剪影 */
  content:"";position:absolute;left:50%;top:21px;width:2px;height:7px;
  background:var(--gold);transform:translateX(-50%);
  box-shadow:0 7px 0 -1px var(--gold);
}
.nav-brand-text{display:flex;flex-direction:column;line-height:1.2}
.nav-brand-text strong{font-family:var(--ff-t);font-size:20px;letter-spacing:.22em;color:var(--green-d)}
.nav-brand-text small{font-family:var(--ff-en);font-size:9.5px;letter-spacing:.24em;color:var(--stone);margin-top:2px}
.nav-links{display:flex;align-items:center;gap:20px;margin-left:auto}
.nav-links>a,.nav-links .has-sub>a{
  font-size:14.5px;letter-spacing:.14em;color:var(--green-d);
  padding:6px 2px;position:relative;transition:color .3s;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--ochre);transition:width .35s;
}
.nav-links a:hover{color:var(--ochre)}
.nav-links a:hover::after{width:100%}
.nav-links a.on{color:var(--ochre)}
.nav-links a.on::after{width:100%}
.has-sub{position:relative}
.nav-sub{
  position:absolute;top:100%;left:50%;transform:translate(-50%,10px);
  min-width:132px;background:var(--paper);
  border:1px solid var(--gold);
  box-shadow:0 14px 30px rgba(45,39,32,.18);
  padding:8px 0;opacity:0;visibility:hidden;transition:.3s;
  z-index:30;
}
.has-sub:hover .nav-sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-sub li a{
  display:block;padding:8px 20px;font-size:13.5px;letter-spacing:.12em;
  color:var(--ink-2);text-align:center;
}
.nav-sub li a::after{display:none}
.nav-sub li a:hover{background:var(--ochre-t);color:var(--ochre-d)}
.nav-cta{
  flex-shrink:0;background:var(--ochre);color:#fff !important;
  font-size:14px;letter-spacing:.2em;padding:10px 24px;
  border:1px solid var(--ochre);
  transition:background .3s,transform .35s,box-shadow .3s;
}
.nav-cta::after{display:none !important}
.nav-cta:hover{background:var(--ochre-d);transform:translateY(-2px);box-shadow:0 8px 18px rgba(166,84,61,.35)}
#burger{
  display:none;margin-left:auto;width:42px;height:42px;background:none;border:1px solid var(--green);
  flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;
}
#burger span{width:20px;height:2px;background:var(--green);transition:.3s}
#burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#burger[aria-expanded="true"] span:nth-child(2){opacity:0}
#burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{
  display:none;flex-direction:column;background:var(--green-d);
  max-height:0;overflow:hidden;transition:max-height .4s ease;
}
.drawer.open{max-height:80vh}
.drawer a{
  color:#efe7d1;padding:13px 28px;font-size:15px;letter-spacing:.18em;
  border-bottom:1px solid rgba(191,157,84,.18);
}
.drawer a:hover{background:rgba(191,157,84,.14);color:var(--gold-l)}
.drawer .dw-label{
  padding:16px 28px 6px;color:var(--gold);font-size:12px;letter-spacing:.3em;
}

/* ---------------- 3. 通用元素 ---------------- */
.btn-a,.btn-b{
  display:inline-block;font-size:15px;letter-spacing:.22em;
  padding:13px 34px;cursor:pointer;transition:.35s;
  font-family:var(--ff-b);border:1px solid transparent;
}
.btn-a{background:var(--ochre);border-color:var(--ochre);color:#fff}
.btn-a:hover{background:var(--ochre-d);border-color:var(--ochre-d);transform:translateY(-4px);box-shadow:0 10px 22px rgba(166,84,61,.35)}
.btn-a:active{transform:scale(.97)}
.btn-b{background:transparent;border-color:var(--green);color:var(--green-d)}
.btn-b:hover{border-color:var(--ochre);color:var(--ochre);transform:translateY(-4px)}
.btn-b:active{transform:scale(.97)}
.hero .btn-b,.member .btn-b,.book .btn-b{border-color:var(--gold-l);color:var(--gold-l)}
.hero .btn-b:hover,.member .btn-b:hover,.book .btn-b:hover{border-color:var(--ochre);color:#fff;background:rgba(166,84,61,.25)}
.sec-head{
  max-width:760px;margin:0 auto 46px;text-align:center;position:relative;
}
.sec-head.left{text-align:left;margin-left:0}
.sh-kicker{
  font-family:var(--ff-en);font-style:italic;font-size:13px;letter-spacing:.28em;
  color:var(--ochre);text-transform:uppercase;margin-bottom:12px;
}
.sec-head h2{font-size:32px;letter-spacing:.16em;color:var(--green-d)}
.sec-head h2::after{
  content:"";display:block;width:56px;height:2px;background:var(--gold);
  margin:16px auto 0;position:relative;
}
.sec-head.left h2::after{margin-left:0}
.sh-sub{margin-top:14px;color:var(--ink-2);font-size:14.5px}
.sec-head.light h2{color:#f4ecd8}
.sec-head.light .sh-sub{color:rgba(244,236,216,.78)}
.sec-head.light .sh-kicker{color:var(--gold-l)}
.sec-more{
  display:inline-block;margin-top:18px;font-size:13.5px;letter-spacing:.16em;
  color:var(--ochre);border-bottom:1px solid var(--gold);padding-bottom:2px;transition:.3s;
}
.sec-more:hover{color:var(--green-d);border-color:var(--green-d)}
.sec-head.light .sec-more{color:var(--gold-l)}
.sec-head.light .sec-more:hover{color:#fff;border-color:#fff}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.more{
  display:inline-block;margin-top:12px;font-size:13px;letter-spacing:.14em;
  color:var(--ochre-d);border-bottom:1px solid rgba(166,84,61,.4);padding-bottom:1px;transition:.3s;
}
.more:hover{color:var(--green);border-color:var(--green)}
section{scroll-margin-top:80px}

/* ---------------- 4. Hero ---------------- */
.hero{
  position:relative;overflow:hidden;background:var(--green-d);
  color:#f1e7d0;padding:108px 0 118px;
}
.hero::before{ /* 百叶斜光 */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(104deg,
    rgba(216,189,126,.07) 0 14px,transparent 14px 38px);
}
.hero::after{ /* 地面花砖带 */
  content:"";position:absolute;left:0;right:0;bottom:0;height:46px;opacity:.5;pointer-events:none;
  background-image:
    radial-gradient(circle at 17px 23px, rgba(216,189,126,.5) 0 2.5px, transparent 3px),
    linear-gradient(rgba(216,189,126,.25) 1px,transparent 1px),
    linear-gradient(90deg,rgba(216,189,126,.25) 1px,transparent 1px);
  background-size:34px 46px,34px 46px,34px 46px;
  border-top:1px solid rgba(216,189,126,.35);
}
.hero-arches{position:absolute;right:-40px;top:60px;bottom:90px;width:520px;pointer-events:none}
.ha-arch{
  position:absolute;bottom:0;
  background:linear-gradient(180deg,rgba(191,157,84,.10),rgba(191,157,84,.02));
  border:1px solid rgba(216,189,126,.38);border-bottom:none;
  clip-path:polygon(0 100%,0 30%,50% 0,100% 30%,100% 100%);
}
.ha-arch::after{ /* 拱内罗马柱影 */
  content:"";position:absolute;left:12px;right:12px;bottom:0;top:44%;
  border-left:1px solid rgba(216,189,126,.28);border-right:1px solid rgba(216,189,126,.28);
}
.ha-arch.a1{left:0;width:180px;height:420px}
.ha-arch.a2{left:170px;width:150px;height:330px;opacity:.75}
.ha-arch.a3{left:300px;width:120px;height:250px;opacity:.5}
.hero-fan{position:absolute;right:96px;top:64px;width:120px;height:120px;pointer-events:none}
.hero-fan::before{ /* 吊杆 */
  content:"";position:absolute;left:50%;top:-58px;width:1px;height:58px;background:rgba(216,189,126,.6);
}
.hero-fan i{position:absolute;inset:0;animation:fanspin 9s linear infinite}
.hero-fan i b{position:absolute;left:50%;top:50%;width:52px;height:12px;margin:-6px 0 0 -6px;
  background:rgba(216,189,126,.42);border-radius:100% 8% 100% 8%;transform-origin:6px 6px}
.hero-fan i b:nth-child(1){transform:rotate(0)}
.hero-fan i b:nth-child(2){transform:rotate(90deg)}
.hero-fan i b:nth-child(3){transform:rotate(180deg)}
.hero-fan i b:nth-child(4){transform:rotate(270deg)}
.hero-fan::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;
  margin:-7px 0 0 -7px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 4px rgba(191,157,84,.25)}
@keyframes fanspin{to{transform:rotate(360deg)}}
.hero-inner{position:relative;z-index:2;max-width:680px}
.hero-eyebrow{
  font-family:var(--ff-en);font-style:italic;font-size:13.5px;letter-spacing:.26em;
  color:var(--gold-l);margin-bottom:22px;
}
.hero-title{font-size:46px;line-height:1.5;letter-spacing:.14em;color:#f7efdd;font-weight:600}
.hero-title span{display:block}
.hero-sub{margin:26px 0 36px;max-width:600px;color:rgba(244,236,216,.86);font-size:15.5px}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap}
.hero-note{
  margin-top:40px;max-width:620px;font-size:12px;line-height:1.9;
  color:rgba(244,236,216,.62);
  border-top:1px solid rgba(216,189,126,.3);padding-top:16px;letter-spacing:.04em;
}

/* ---------------- 5. 数字带 ---------------- */
.numbers{background:var(--wall-2);border-bottom:1px solid var(--line);position:relative}
.numbers::before{content:"";display:block;height:8px}
.num-belt{
  max-width:var(--w);margin:0 auto;padding:40px 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
}
.num-item{
  text-align:center;padding:6px 22px;position:relative;
}
.num-item+.num-item::before{
  content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:var(--line);
}
.num-item b{
  display:block;font-family:var(--ff-t);font-size:40px;font-weight:600;
  letter-spacing:.06em;line-height:1.2;
}
.num-item span{display:block;margin-top:10px;font-size:13px;color:var(--ink-2);letter-spacing:.04em}
.num-item.n1 b{color:var(--ochre)}
.num-item.n2 b{color:var(--green)}
.num-item.n3 b{color:var(--gold)}
.num-item.n3 b{font-family:var(--ff-t)}
.num-item.n4 b{color:var(--stone)}
.num-item::after{
  content:"";display:block;width:26px;height:3px;margin:12px auto 0;opacity:.8;
}
.num-item.n1::after{background:var(--ochre)}
.num-item.n2::after{background:var(--green)}
.num-item.n3::after{background:var(--gold)}
.num-item.n4::after{background:var(--stone)}

/* ---------------- 6. 三事卡 ---------------- */
.about{background:var(--wall);padding:88px 0;position:relative}
.about-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
.about-card{
  background:var(--paper);border:1px solid var(--line);
  padding:38px 30px 32px;position:relative;
  transition:transform .35s,box-shadow .35s,border-color .35s;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
}
.about-card::before{ /* 报头双线 */
  content:"";position:absolute;left:0;right:0;top:0;height:6px;
  border-bottom:3px double var(--ochre);
}
.about-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(45,39,32,.14);border-color:var(--gold)}
.about-card:active{transform:scale(.97)}
.ac-ic{
  width:64px;height:64px;margin:6px auto 22px;position:relative;
  border:1px solid var(--gold);border-radius:50%;
  background:radial-gradient(circle at 50% 42%,var(--wall-2),var(--ochre-t));
}
.ac-ic::after{
  content:"";position:absolute;inset:6px;border:1px dashed rgba(166,84,61,.45);border-radius:50%;
}
/* 毛巾 */
.ac-ic.i-towel::before{content:"";position:absolute;left:16px;right:16px;top:22px;bottom:18px;
  background:repeating-linear-gradient(90deg,var(--green) 0 5px,var(--green-l) 5px 10px);
  border-radius:2px;box-shadow:0 12px 0 -8px var(--ochre)}
/* 香水瓶 */
.ac-ic.i-oil::before{content:"";position:absolute;left:26px;top:14px;width:12px;height:10px;background:var(--green)}
.ac-ic.i-oil{font-size:0}
.ac-ic.i-oil::after{inset:16px 20px 12px;border:none;border-radius:4px 4px 8px 8px;
  background:linear-gradient(180deg,var(--gold-l),var(--ochre-t));border:1px solid var(--ochre)}
/* 蒲扇 */
.ac-ic.i-fan::before{content:"";position:absolute;left:50%;top:12px;width:34px;height:34px;
  transform:translateX(-50%);border-radius:50% 50% 50% 0;
  background:
    repeating-conic-gradient(from -45deg at 100% 100%,var(--ochre-t) 0 9deg,var(--gold-l) 9deg 18deg);
  border:1px solid var(--ochre);
}
.ac-ic.i-fan::after{border:none;width:2px;height:16px;background:var(--green);
  inset:auto;left:50%;bottom:10px;transform:translateX(-50%) rotate(35deg);transform-origin:top}
.about-card h3{text-align:center;font-size:22px;letter-spacing:.2em;margin-bottom:12px;color:var(--green-d)}
.about-card h3 a:hover{color:var(--ochre)}
.about-card p{font-size:14px;color:var(--ink-2);text-indent:2em;text-align:justify}
.about-card .more{display:block;text-align:center;margin-top:18px}

/* ---------------- 7. 六服务（首页） ---------------- */
.svc{background:var(--green);color:#efe7d1;padding:92px 0;position:relative;overflow:hidden}
.svc::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;
  background-image:repeating-linear-gradient(90deg,var(--gold) 0 26px,transparent 26px 52px);opacity:.4}
.svc-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px;
}
.svc-card{
  background:var(--paper);color:var(--ink);
  border:1px solid rgba(191,157,84,.6);
  display:flex;flex-direction:column;position:relative;
  transition:transform .35s,box-shadow .35s;
}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,.35)}
.svc-card:active{transform:scale(.97)}
.svc-card::before{
  content:"";position:absolute;left:8px;right:8px;top:8px;bottom:8px;
  border:1px solid rgba(166,84,61,.28);pointer-events:none;z-index:2;
}
.svc-img{aspect-ratio:16/9;overflow:hidden}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.svc-card:hover .svc-img img{transform:scale(1.05)}
.svc-fig{aspect-ratio:16/9;position:relative;overflow:hidden}
.svc-fig.f1{background:
  radial-gradient(circle at 50% 54%, rgba(166,84,61,.5) 0 4px,transparent 4.6px),
  linear-gradient(rgba(46,74,64,.12) 1px,transparent 1px),
  linear-gradient(90deg,rgba(46,74,64,.12) 1px,transparent 1px),
  var(--ochre-t);
  background-size:30px 30px,30px 30px,30px 30px,auto}
.svc-fig.f1::after{content:"推拿";position:absolute;right:14px;bottom:8px;font-family:var(--ff-t);
  font-size:44px;color:rgba(46,74,64,.25);letter-spacing:.1em}
.svc-fig.f2{background:
  repeating-linear-gradient(0deg,var(--green-l) 0 7px,var(--green) 7px 14px)}
.svc-fig.f2::after{content:"百叶 · 舒压";position:absolute;left:14px;bottom:10px;color:rgba(245,238,218,.75);
  font-family:var(--ff-t);letter-spacing:.2em;font-size:20px}
.svc-fig.f3{background:linear-gradient(160deg,var(--wall-2),var(--ochre-t))}
.svc-fig.f3::before{content:"";position:absolute;left:50%;top:24px;transform:translateX(-50%);
  width:70px;height:70px;border:1px solid var(--ochre);border-radius:50%;
  clip-path:polygon(0 100%,0 30%,50% 0,100% 30%,100% 100%);opacity:.6}
.svc-fig.f3::after{content:"拱窗足道";position:absolute;right:14px;bottom:8px;font-family:var(--ff-t);
  font-size:28px;color:rgba(166,84,61,.5);letter-spacing:.12em}
.svc-fig.f4{background:
  radial-gradient(circle at 22px 22px,rgba(191,157,84,.65) 0 4px,transparent 4.5px) 0 0/44px 44px,
  var(--green-d)}
.svc-fig.f4::after{content:"头疗";position:absolute;left:16px;bottom:10px;font-family:var(--ff-t);
  font-size:30px;color:rgba(216,189,126,.8);letter-spacing:.2em}
.svc-card h3{padding:20px 24px 0;font-size:19px;letter-spacing:.1em}
.svc-card h3 a{color:var(--green-d)}
.svc-card h3 a:hover{color:var(--ochre)}
.svc-card p{padding:10px 24px 0;font-size:13.5px;color:var(--ink-2);flex:1}
.svc-meta{padding:14px 24px 0;font-size:12.5px;color:var(--stone);letter-spacing:.08em}
.svc-meta b{font-family:var(--ff-t);color:var(--ochre-d);font-size:16px;font-weight:600;margin-right:6px}
.svc-price{
  margin:14px 24px 0;padding-top:12px;border-top:1px dashed var(--line);
  font-family:var(--ff-t);color:var(--ochre-d);font-size:15px;letter-spacing:.05em;
}
.svc-price b{font-size:22px}
.svc-go{
  margin:16px 24px 22px;display:inline-block;font-size:13px;letter-spacing:.16em;
  color:var(--green);border-bottom:1px solid var(--green);padding-bottom:1px;transition:.3s;
}
.svc-go:hover{color:var(--ochre);border-color:var(--ochre)}

/* ---------------- 8. 四步流程 ---------------- */
.craft{background:var(--ochre-t);padding:92px 0;position:relative}
.craft-steps{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;
}
.craft-steps::before{
  content:"";position:absolute;left:8%;right:8%;top:39px;height:2px;
  background:repeating-linear-gradient(90deg,var(--ochre) 0 10px,transparent 10px 20px);opacity:.6;
}
.craft-step{
  position:relative;background:var(--paper);border:1px solid rgba(166,84,61,.35);
  padding:74px 22px 28px;text-align:center;min-height:230px;
  transition:transform .35s,box-shadow .35s;
}
.craft-step:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(140,67,47,.18)}
.craft-step:active{transform:scale(.97)}
.cs-no{
  position:absolute;left:50%;top:-27px;transform:translateX(-50%);
  width:54px;height:54px;border-radius:50%;
  background:var(--green);color:var(--gold-l);
  font-family:var(--ff-t);font-size:22px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 4px var(--ochre-t),0 0 0 5px var(--gold);
}
.craft-step h3{font-size:19px;letter-spacing:.18em;color:var(--green-d);margin-bottom:10px}
.craft-step p{font-size:13px;color:var(--ink-2)}
.craft-foot{text-align:center;margin-top:44px}

/* ---------------- 9. 精油四香 ---------------- */
.oils{background:var(--wall);padding:92px 0;position:relative}
.oils::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.oil-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.oil-card{
  text-align:center;background:transparent;padding:34px 18px 26px;position:relative;
  border:1px solid transparent;transition:background .35s,border-color .35s,transform .35s;
}
.oil-card:hover{background:var(--paper);border-color:var(--gold);transform:translateY(-4px)}
.oil-card:active{transform:scale(.97)}
.oil-bottle{width:48px;height:92px;margin:0 auto 18px;position:relative}
.ob-cap{position:absolute;top:0;left:50%;transform:translateX(-50%);width:16px;height:12px;
  background:var(--green);border:1px solid var(--gold)}
.ob-neck{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:22px;height:12px;
  background:rgba(191,157,84,.55);border:1px solid var(--ochre);border-bottom:none}
.ob-body{position:absolute;top:24px;left:0;right:0;bottom:0;
  border:1px solid rgba(166,84,61,.6);border-radius:6px 6px 12px 12px;
  background:linear-gradient(170deg,rgba(216,189,126,.55),rgba(166,84,61,.28));
  display:flex;align-items:center;justify-content:center;
}
.ob-label{
  width:34px;height:26px;background:var(--paper);border:1px solid var(--ochre);
  font-family:var(--ff-t);font-size:15px;color:var(--ochre-d);
  display:flex;align-items:center;justify-content:center;
}
.oil-card:nth-child(2) .ob-body{background:linear-gradient(170deg,rgba(216,189,126,.4),rgba(140,67,47,.35))}
.oil-card:nth-child(3) .ob-body{background:linear-gradient(170deg,rgba(244,236,218,.85),rgba(191,157,84,.4))}
.oil-card:nth-child(4) .ob-body{background:linear-gradient(170deg,rgba(107,106,99,.5),rgba(46,74,64,.45))}
.oil-card h3{font-size:18px;letter-spacing:.16em;margin-bottom:4px}
.oil-card h3 small{display:block;font-family:var(--ff-en);font-style:italic;font-size:11px;
  letter-spacing:.2em;color:var(--stone);margin-top:3px;font-weight:400}
.oil-card p{font-size:12.5px;color:var(--ink-2);margin:10px 0 12px}
.oil-pair{font-size:12px;color:var(--stone)}
.oil-pair a{color:var(--ochre-d);border-bottom:1px solid rgba(166,84,61,.4);transition:.3s}
.oil-pair a:hover{color:var(--green);border-color:var(--green)}

/* ---------------- 10. 环境四间 ---------------- */
.rooms{background:var(--green-d);padding:92px 0;position:relative;color:#f1e7d0}
.rooms-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
}
.room-card{
  background:transparent;transition:transform .35s;
}
.room-card:hover{transform:translateY(-4px)}
.room-card:active{transform:scale(.97)}
.rm-frame{
  aspect-ratio:3/4;overflow:hidden;position:relative;
  border:1px solid var(--gold);
  clip-path:polygon(0 100%,0 22%,50% 0,100% 22%,100% 100%);
  padding:7px;background:var(--green);
}
.rm-frame img{width:100%;height:100%;object-fit:cover;
  clip-path:polygon(0 100%,0 22%,50% 0,100% 22%,100% 100%);transition:transform .6s}
.room-card:hover .rm-frame img{transform:scale(1.05)}
.rm-frame::after{content:"";position:absolute;inset:7px;pointer-events:none;
  clip-path:polygon(0 100%,0 22%,50% 0,100% 22%,100% 100%);
  background:linear-gradient(180deg,rgba(34,56,47,.05) 55%,rgba(34,56,47,.55));
}
.room-card h3{margin-top:18px;font-size:17.5px;letter-spacing:.12em;text-align:center}
.room-card h3 a{color:var(--gold-l)}
.room-card h3 a:hover{color:#fff}
.room-card p{margin-top:8px;font-size:12.5px;color:rgba(244,236,216,.72);text-align:center}

/* ---------------- 11. 三位理疗师（首页） ---------------- */
.team{background:var(--wall-2);padding:92px 0}
.team-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
.t-card{
  background:var(--paper);border:1px solid var(--line);
  padding:40px 30px 32px;text-align:center;position:relative;
  transition:transform .35s,box-shadow .35s,border-color .35s;
}
.t-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(45,39,32,.14);border-color:var(--gold)}
.t-card:active{transform:scale(.97)}
.t-card::before{content:"";position:absolute;top:14px;left:50%;transform:translateX(-50%);
  width:2px;height:18px;background:var(--gold)}
.t-face{
  width:96px;height:96px;margin:14px auto 20px;border-radius:50%;position:relative;
  background:
    radial-gradient(circle at 50% 50%, rgba(166,84,61,.5) 0 3px,transparent 3.6px),
    repeating-conic-gradient(from 0deg,var(--green) 0 18deg,var(--green-l) 18deg 36deg);
  border:2px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
}
.t-face span{
  width:66px;height:66px;border-radius:50%;background:var(--paper);
  font-family:var(--ff-t);font-size:30px;color:var(--ochre-d);
  display:flex;align-items:center;justify-content:center;letter-spacing:.05em;
}
.t-ribbon{font-family:var(--ff-en);font-style:italic;font-size:11px;letter-spacing:.24em;color:var(--stone)}
.t-card h3{margin:8px 0 4px;font-size:22px;letter-spacing:.24em}
.t-card h3 a:hover{color:var(--ochre)}
.t-title{font-size:13px;color:var(--ochre-d);letter-spacing:.1em}
.t-card p{margin-top:12px;font-size:13px;color:var(--ink-2)}

/* ---------------- 12. 时辰四段 ---------------- */
.hours{background:var(--bronze);color:#efe7d1;padding:90px 0;position:relative;overflow:hidden}
.hours::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:repeating-linear-gradient(90deg,rgba(191,157,84,.06) 0 2px,transparent 2px 60px)}
.hour-belt{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);
}
.hour-item{
  padding:12px 26px;position:relative;
}
.hour-item+.hour-item::before{content:"";position:absolute;left:0;top:10%;bottom:10%;
  width:1px;background:rgba(216,189,126,.35)}
.hour-item b{
  font-family:var(--ff-en);font-size:27px;font-weight:400;color:var(--gold-l);letter-spacing:.06em;
}
.hour-item h3{margin:8px 0 10px;font-size:17px;letter-spacing:.18em;color:#f4ecd8}
.hour-item h3::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;
  background:var(--ochre);transform:rotate(45deg)}
.hour-item p{font-size:12.5px;color:rgba(244,236,216,.72)}

/* ---------------- 13. 城市四停 ---------------- */
.trail{background:var(--wall);padding:92px 0}
.trail-stops{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;
}
.trail-stops::before{content:"";position:absolute;left:10%;right:10%;top:27px;height:0;
  border-top:2px dashed rgba(107,106,99,.55)}
.stop{padding:0 18px;text-align:center;position:relative}
.st-no{
  width:54px;height:54px;margin:0 auto 20px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);
  background:var(--paper);border:1px solid var(--ochre);
  display:flex;align-items:center;justify-content:center;position:relative;z-index:2;
  box-shadow:0 4px 0 var(--gold);
}
.st-no span{transform:rotate(45deg);font-family:var(--ff-t);font-size:20px;color:var(--ochre-d)}
.stop h3{font-size:18px;letter-spacing:.1em;margin-bottom:8px}
.stop h3 a:hover{color:var(--ochre)}
.stop p{font-size:12.5px;color:var(--ink-2)}
.trail .sh-sub{margin-top:-20px}

/* ---------------- 14. 养生四盏 ---------------- */
.tonic{background:var(--paper-2);padding:92px 0;position:relative}
.tt-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.tt-card{
  background:var(--paper);border:1px solid var(--line);
  padding:34px 20px 26px;text-align:center;position:relative;
  transition:transform .35s,box-shadow .35s;
}
.tt-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(45,39,32,.12)}
.tt-card:active{transform:scale(.97)}
.tt-card::before{content:"";position:absolute;left:14px;top:14px;right:14px;bottom:14px;
  border:1px solid rgba(191,157,84,.45);pointer-events:none}
.tt-cup{width:62px;height:58px;margin:4px auto 18px;position:relative}
.tt-cup::before{content:"";position:absolute;left:8px;right:4px;top:6px;height:38px;
  background:linear-gradient(180deg,var(--ochre-t),var(--ochre));
  border-radius:4px 4px 16px 16px;border:1px solid var(--ochre-d)}
.tt-cup::after{content:"";position:absolute;left:2px;right:0;bottom:0;height:9px;
  border:1px solid var(--green);border-radius:50%;background:var(--green-l)}
.tt-cup i{position:absolute;right:-2px;top:14px;width:12px;height:16px;border:3px solid var(--gold);
  border-left:none;border-radius:0 10px 10px 0}
.tt-cup b{position:absolute;left:50%;top:-10px;width:2px;height:12px;background:var(--stone);opacity:.5}
.tt-cup b::before,.tt-cup b::after{content:"";position:absolute;width:2px;height:10px;background:var(--stone);opacity:.5}
.tt-cup b::before{left:-4px;top:2px;transform:rotate(12deg)}
.tt-cup b::after{left:4px;top:2px;transform:rotate(-12deg)}
.tt-card h3{font-size:17px;letter-spacing:.14em;margin-bottom:8px}
.tt-card p{font-size:12.5px;color:var(--ink-2)}
.tt-note{text-align:center;margin-top:36px;font-size:12px;color:var(--stone)}

/* ---------------- 15. 海南话挂牌 ---------------- */
.dialect{background:var(--green);padding:92px 0;position:relative;color:#f1e7d0}
.dl-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:26px;
}
.dl-card{
  background:var(--bronze);border:1px solid var(--gold);
  padding:34px 22px 26px;text-align:center;position:relative;margin-top:16px;
  transition:transform .35s,box-shadow .35s;
}
.dl-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.4)}
.dl-card:active{transform:scale(.97)}
.dl-card::before{content:"";position:absolute;left:50%;top:-17px;width:2px;height:17px;background:var(--gold)}
.dl-card::after{content:"";position:absolute;left:50%;top:-23px;transform:translateX(-50%);
  width:12px;height:12px;border:2px solid var(--gold);border-radius:50%;background:var(--green-d)}
.dl-word{font-family:var(--ff-t);font-size:30px;letter-spacing:.14em;color:var(--gold-l)}
.dl-word::before{content:"「";color:rgba(191,157,84,.6)}
.dl-word::after{content:"」";color:rgba(191,157,84,.6)}
.dl-mean{margin-top:12px;font-size:13.5px;color:rgba(244,236,216,.85)}
.dl-card small{display:block;margin-top:14px;font-size:10.5px;color:rgba(244,236,216,.5);
  letter-spacing:.14em;border-top:1px dashed rgba(191,157,84,.4);padding-top:10px}

/* ---------------- 16. 评价四言 ---------------- */
.voices{background:var(--wall);padding:92px 0}
.v-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:26px;
}
.v-card{
  background:var(--paper);border:1px solid var(--line);
  padding:32px 34px 26px 58px;position:relative;
  transition:transform .35s,box-shadow .35s;
}
.v-card:nth-child(odd){transform:rotate(-.4deg)}
.v-card:nth-child(even){transform:rotate(.4deg)}
.v-card:hover{transform:rotate(0) translateY(-4px);box-shadow:0 14px 30px rgba(45,39,32,.13)}
.v-card:active{transform:scale(.97)}
.v-card::before{
  content:"\201C";position:absolute;left:18px;top:14px;
  font-family:var(--ff-en);font-size:64px;line-height:1;color:rgba(166,84,61,.4);
}
.v-card p{font-size:14.5px;color:var(--ink);letter-spacing:.02em}
.v-who{margin-top:14px;text-align:right;font-size:12.5px;color:var(--stone);letter-spacing:.06em}
.v-who::before{content:"—— "}

/* ---------------- 17. 会籍横幅 ---------------- */
.member{background:var(--green-d);padding:96px 0;position:relative;overflow:hidden;color:#f1e7d0}
.member::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;
  border:1px solid rgba(191,157,84,.25);border-radius:50%;pointer-events:none}
.member::after{content:"";position:absolute;right:-40px;bottom:-160px;width:360px;height:360px;
  border:1px solid rgba(191,157,84,.18);border-radius:50%;pointer-events:none}
.member-wrap{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative;z-index:2;
}
.member-copy .sh-kicker{color:var(--gold-l)}
.member-copy h2{color:#f7efdd;font-size:32px;letter-spacing:.16em;line-height:1.5}
.member-copy p{margin:20px 0 30px;color:rgba(244,236,216,.82);font-size:14.5px;max-width:480px}
.member-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.member-card{
  position:relative;background:var(--paper);color:var(--ink);
  padding:42px 40px 38px;border:1px solid var(--gold);
  box-shadow:0 24px 50px rgba(0,0,0,.45);
  transform:rotate(-1.4deg);
}
.member-card::before,.member-card::after{ /* 打孔边 */
  content:"";position:absolute;left:0;right:0;height:14px;
  background:radial-gradient(circle at 12px 7px,var(--green-d) 4px,transparent 4.6px) 0 0/24px 14px repeat-x;
}
.member-card::before{top:-1px}
.member-card::after{bottom:-1px}
.mc-top{display:flex;justify-content:space-between;align-items:flex-start;
  border-bottom:3px double var(--ochre);padding-bottom:16px}
.mc-top b{font-family:var(--ff-t);font-size:26px;letter-spacing:.3em;color:var(--green-d)}
.mc-top span{font-family:var(--ff-en);font-style:italic;font-size:11px;color:var(--stone);letter-spacing:.2em}
.mc-seal{
  width:62px;height:62px;border-radius:6px;border:2px solid var(--ochre);
  color:var(--ochre);font-family:var(--ff-t);font-size:24px;
  display:flex;align-items:center;justify-content:center;
  transform:rotate(-8deg);opacity:.85;letter-spacing:0;
  background:rgba(166,84,61,.06);
}
.mc-rows{margin:20px 0 0}
.mc-rows li{display:flex;justify-content:space-between;padding:9px 0;
  border-bottom:1px dashed var(--line);font-size:13.5px;letter-spacing:.08em}
.mc-rows li b{font-family:var(--ff-t);color:var(--ochre-d);font-size:17px}
.mc-foot{margin-top:18px;font-size:11px;color:var(--stone);letter-spacing:.1em}

/* ---------------- 18. 四时调养 ---------------- */
.season{background:var(--wall-2);padding:92px 0}
.sn-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);
}
.sn-card{
  background:var(--paper);padding:36px 26px 30px;position:relative;
  border-right:1px solid var(--line);
  transition:background .35s;
}
.sn-card:last-child{border-right:none}
.sn-card:hover{background:#fff8e8}
.sn-term{
  font-family:var(--ff-t);font-size:34px;color:var(--ochre);letter-spacing:.18em;
  line-height:1.2;
}
.sn-term small{display:block;font-family:var(--ff-en);font-style:italic;font-size:11px;
  letter-spacing:.24em;color:var(--stone);margin-top:6px}
.sn-card h3{margin:16px 0 10px;font-size:17px;letter-spacing:.1em;color:var(--green-d)}
.sn-card p{font-size:12.5px;color:var(--ink-2);min-height:88px}
.sn-links{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.sn-links a{font-size:12.5px;letter-spacing:.08em;border-bottom:1px solid rgba(107,106,99,.35);
  padding-bottom:2px;color:var(--ink-2);transition:.3s;display:block}
.sn-links a::before{margin-right:8px;font-family:var(--ff-t)}
.sn-links a.sn-svc{color:var(--ochre-d)}
.sn-links a.sn-svc::before{content:"养 ·"}
.sn-links a.sn-art::before{content:"读 ·"}
.sn-links a:hover{color:var(--green);border-color:var(--green)}

/* ---------------- 19. 三馆 ---------------- */
.halls{background:var(--wall);padding:92px 0}
.halls-grid{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
.hall-card{
  background:var(--paper);border:1px solid var(--line);padding:0 0 28px;
  transition:transform .35s,box-shadow .35s,border-color .35s;
}
.hall-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(45,39,32,.14);border-color:var(--gold)}
.hall-card:active{transform:scale(.97)}
.hall-facade{
  height:150px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--ochre-t),var(--wall-2));
  border-bottom:1px solid var(--line);
}
.hf-col{position:absolute;bottom:0;top:34px;width:12px;background:var(--green-l);opacity:.85}
.hf-col.c1{left:12%}.hf-col.c2{left:84%}
.hf-arch{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:84px;height:96px;
  background:var(--green-d);
  clip-path:polygon(0 100%,0 26%,50% 0,100% 26%,100% 100%);
}
.hf-louver{position:absolute;left:50%;top:56px;transform:translateX(-50%);width:54px;height:40px;
  background:repeating-linear-gradient(0deg,var(--gold-l) 0 3px,var(--green-d) 3px 8px)}
.hf-roof{position:absolute;left:0;right:0;top:0;height:22px;background:var(--ochre);opacity:.8}
.hf-roof::before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;
  background:repeating-linear-gradient(90deg,var(--green-d) 0 8px,transparent 8px 16px)}
.hall-card h3{padding:24px 26px 0;font-size:20px;letter-spacing:.14em}
.hall-card h3 a:hover{color:var(--ochre)}
.hall-card p{padding:8px 26px 0;font-size:13px;color:var(--ink-2)}
.hall-time{padding:10px 26px 0;font-size:12px;color:var(--stone);letter-spacing:.08em}
.hall-time::before{content:"营业 ";color:var(--ochre-d)}

/* ---------------- 20. FAQ ---------------- */
.faq{background:var(--paper-2);padding:92px 0}
.faq-list{max-width:820px;margin:0 auto;padding:0 24px}
.qa{background:var(--paper);border:1px solid var(--line);margin-bottom:14px;
  transition:border-color .3s,box-shadow .3s}
.qa.open{border-color:var(--gold);box-shadow:0 8px 22px rgba(45,39,32,.1)}
.qa-head{
  width:100%;background:none;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 26px;text-align:left;
}
.qh-title{font-family:var(--ff-t);font-size:17px;letter-spacing:.08em;color:var(--green-d);font-weight:600}
.qa-ico{position:relative;width:16px;height:16px;flex:0 0 auto}
.qa-ico::before,.qa-ico::after{content:"";position:absolute;background:var(--ochre);transition:transform .3s}
.qa-ico::before{left:0;right:0;top:50%;height:2px;margin-top:-1px}
.qa-ico::after{top:0;bottom:0;left:50%;width:2px;margin-left:-1px}
.qa.open .qa-ico::after{transform:scaleY(0)}
.qa-body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.qa-body p{padding:0 26px 22px;font-size:14px;color:var(--ink-2);letter-spacing:.02em}

/* ---------------- 21. 预约 ---------------- */
.book{background:var(--green);padding:96px 0;position:relative;color:#f1e7d0;overflow:hidden}
.book::before{content:"";position:absolute;left:-100px;bottom:-140px;width:380px;height:380px;
  border:1px solid rgba(191,157,84,.2);border-radius:50%;pointer-events:none}
.book-wrap{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start;position:relative;z-index:2;
}
.book-info h2{color:#f7efdd;font-size:32px;letter-spacing:.14em;line-height:1.5}
.book-info>p{margin:20px 0 26px;font-size:14px;color:rgba(244,236,216,.82)}
.book-note{font-size:12px !important;line-height:1.9;color:rgba(244,236,216,.6) !important;
  border-top:1px solid rgba(216,189,126,.3);padding-top:16px;margin-top:22px !important}
.book-meta{margin-top:26px;border-top:1px solid rgba(216,189,126,.3);padding-top:8px}
.book-meta li{padding:12px 0;border-bottom:1px dashed rgba(216,189,126,.3);font-size:13.5px;
  letter-spacing:.06em;color:rgba(244,236,216,.9)}
.book-meta li b{font-family:var(--ff-t);color:var(--gold-l);margin-right:14px;letter-spacing:.2em}
#vForm{
  background:var(--paper);color:var(--ink);padding:40px 38px;
  border:1px solid var(--gold);
}
#vForm .field{margin-bottom:18px}
#vForm .field.textarea{margin-bottom:22px}
#vForm label{display:block;font-size:13px;letter-spacing:.16em;color:var(--green-d);margin-bottom:7px}
#vForm label::before{content:"◆ ";color:var(--ochre);font-size:9px;vertical-align:2px}
#vForm input,#vForm select,#vForm textarea{
  width:100%;padding:11px 14px;font-family:var(--ff-b);font-size:14px;color:var(--ink);
  background:#fffdf5;border:1px solid var(--line);border-radius:0;outline:none;transition:border-color .3s;
}
#vForm input:focus,#vForm select:focus,#vForm textarea:focus{border-color:var(--ochre)}
#vForm textarea{resize:vertical;min-height:84px}
#vForm .field.err input,#vForm .field.err select{border-color:#c0392b;background:#fdf1ef}
#vForm .btn-a{width:100%;border:none}
.v-ok{margin-top:14px;padding:12px 16px;background:rgba(191,157,84,.18);
  border:1px solid var(--gold-l);color:var(--gold-l);font-size:13px;letter-spacing:.06em}

/* ---------------- 22. 页脚 ---------------- */
.footer{background:#1d2c25;color:rgba(244,236,216,.82);padding:70px 0 0;position:relative}
.footer::before{content:"";display:block;height:6px;
  background:repeating-linear-gradient(90deg,var(--gold) 0 22px,transparent 22px 44px);opacity:.5;
  position:absolute;top:0;left:0;right:0}
.cols{
  max-width:var(--w);margin:0 auto;padding:0 24px 46px;
  display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:56px;
}
.f-col h4{color:var(--gold-l);font-size:14px;letter-spacing:.26em;margin-bottom:18px}
.f-brand{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.f-mark{width:40px;height:40px;background:var(--green-l);
  clip-path:polygon(0 100%,0 34%,50% 0,100% 34%,100% 100%);
  box-shadow:inset 0 0 0 1px var(--gold)}
.f-brand strong{font-family:var(--ff-t);font-size:19px;letter-spacing:.22em;color:#f4ecd8;display:block}
.f-brand small{font-family:var(--ff-en);font-size:9.5px;letter-spacing:.24em;color:rgba(216,189,126,.7)}
.f-slogan{font-family:var(--ff-t);font-size:15px;letter-spacing:.12em;color:var(--gold-l);margin-bottom:12px}
.f-col p{font-size:12.5px;line-height:2;color:rgba(244,236,216,.62)}
.f-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.f-nav a{font-size:13px;color:rgba(244,236,216,.7);letter-spacing:.1em;transition:.3s}
.f-nav a:hover{color:var(--gold-l)}
.f-contact li{font-size:12.5px;padding:7px 0;border-bottom:1px dashed rgba(216,189,126,.2);
  color:rgba(244,236,216,.7)}
.copy{
  border-top:1px solid rgba(216,189,126,.25);
  text-align:center;padding:20px 24px;font-size:12px;
  color:rgba(244,236,216,.5);letter-spacing:.06em;
}

/* =====================================================================
   子页通用
   ===================================================================== */
.crumb{background:var(--wall-2);border-bottom:1px solid var(--line);font-size:12.5px}
.crumb .wrap{padding-top:12px;padding-bottom:12px;color:var(--stone);letter-spacing:.08em}
.crumb a{transition:color .3s}
.crumb a:hover{color:var(--ochre)}
.c-sep{display:inline-block;width:7px;height:7px;background:var(--gold);
  transform:rotate(45deg);margin:0 10px;vertical-align:2px}
.crumb b{font-weight:400;color:var(--green-d)}
.phead{background:var(--wall);padding:72px 0 64px;text-align:center;position:relative;
  border-bottom:1px solid var(--line)}
.phead::after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);
  width:120px;height:3px;background:var(--ochre)}
.phead h1{font-size:38px;letter-spacing:.18em;color:var(--green-d);margin:10px 0 16px}
.ph-sub{font-size:14px;color:var(--ink-2);max-width:720px;margin:0 auto}
/* 翻页 */
.pg-nav{
  max-width:var(--w);margin:56px auto 0;padding:28px 24px 0;
  display:flex;justify-content:space-between;gap:16px;align-items:center;
  border-top:1px solid var(--line);
}
.pg-nav a{
  font-size:13.5px;letter-spacing:.12em;color:var(--green-d);
  border:1px solid var(--line);background:var(--paper);
  padding:12px 22px;transition:.35s;max-width:32%;
}
.pg-nav a:hover{border-color:var(--ochre);color:var(--ochre);transform:translateY(-3px)}
.pg-nav a:active{transform:scale(.97)}
.pg-next{text-align:right;margin-left:auto}
.pg-prev{margin-right:auto}
.pg-back{position:relative}

/* =====================================================================
   services.html —— 老报纸价目栏
   ===================================================================== */
.pg-services{background:var(--wall);padding-bottom:80px}
.paper-mast{
  max-width:var(--w);margin:56px auto 0;padding:36px 48px 26px;
  background:var(--paper);border:1px solid var(--line);
  text-align:center;position:relative;
}
.pm-kicker{font-family:var(--ff-en);font-style:italic;font-size:12px;letter-spacing:.3em;color:var(--stone)}
.paper-mast h1{font-size:34px;letter-spacing:.34em;color:var(--green-d);margin:10px 0 6px}
.pm-en{font-family:var(--ff-en);font-style:italic;font-size:13px;color:var(--ochre);letter-spacing:.2em}
.pm-rule{border-top:4px double var(--green-d);margin:18px 0 10px}
.pm-date{font-size:12px;color:var(--stone);letter-spacing:.16em}
.ledger{max-width:var(--w);margin:26px auto 0;padding:0 24px}
.ledger-head,.ledger-row{
  display:grid;grid-template-columns:64px 1.2fr 2.4fr 1fr 1.1fr 130px;
  align-items:center;gap:14px;
}
.ledger-head{
  background:var(--green);color:var(--gold-l);
  border:1px solid var(--green);
}
.ledger-head span{padding:13px 10px;font-size:13px;letter-spacing:.2em;text-align:center}
.ledger-head span+span{border-left:1px solid rgba(216,189,126,.35)}
.ledger-row{
  background:var(--paper);border:1px solid var(--line);border-top:none;
  padding:22px 10px;transition:background .3s,box-shadow .3s,transform .35s;
}
.ledger-row:hover{background:#fff8e8;box-shadow:0 8px 20px rgba(45,39,32,.1);transform:translateY(-2px)}
.l-no{text-align:center;font-family:var(--ff-t);font-size:22px;color:var(--ochre)}
.l-name{font-family:var(--ff-t);font-size:19px;letter-spacing:.08em}
.l-name a:hover{color:var(--ochre)}
.l-name small{display:block;font-family:var(--ff-en);font-style:italic;font-size:10.5px;
  letter-spacing:.18em;color:var(--stone);margin-top:3px;font-weight:400}
.l-desc{font-size:12.5px;color:var(--ink-2);line-height:1.8}
.l-time{text-align:center;font-size:13px;color:var(--green-d);letter-spacing:.08em}
.l-time b{display:block;font-family:var(--ff-t);font-size:19px;color:var(--ochre-d)}
.l-price{text-align:center;font-family:var(--ff-t);font-size:20px;color:var(--ochre-d)}
.l-price small{display:block;font-size:10.5px;color:var(--stone);font-family:var(--ff-b);margin-top:2px}
.l-go{display:flex;flex-direction:column;gap:8px}
.l-go a{font-size:12px;text-align:center;letter-spacing:.1em;padding:8px 6px;transition:.3s}
.l-go a:first-child{background:var(--ochre);color:#fff}
.l-go a:first-child:hover{background:var(--ochre-d)}
.l-go a:last-child{border:1px solid var(--green);color:var(--green-d)}
.l-go a:last-child:hover{border-color:var(--ochre);color:var(--ochre)}
.ledger-note{max-width:var(--w);margin:26px auto 0;padding:0 24px;font-size:12px;color:var(--stone);
  text-align:center;letter-spacing:.06em}
.ledger-note b{color:var(--ochre-d)}

/* =====================================================================
   service-N —— 详情五章
   ===================================================================== */
.pg-service{background:var(--wall);padding-bottom:70px}
.sv-detail{max-width:880px;margin:52px auto 0;padding:0 24px}
.chap{
  background:var(--paper);border:1px solid var(--line);
  padding:40px 46px 38px;margin-bottom:24px;position:relative;
}
.chap::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:3px;background:var(--ochre)}
.chap-h{display:flex;align-items:baseline;gap:16px;margin-bottom:18px}
.chap-no{font-family:var(--ff-t);font-size:34px;color:rgba(166,84,61,.32);line-height:1}
.chap-h h2{font-size:23px;letter-spacing:.16em;color:var(--green-d)}
.chap p{font-size:14.5px;color:var(--ink);margin-bottom:12px;text-indent:2em;text-align:justify}
.chap-img{margin:18px 0 22px;border:1px solid var(--gold)}
.chap-img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.chap-img figcaption{font-size:11.5px;color:var(--stone);padding:8px 12px;
  background:var(--paper-2);letter-spacing:.08em}
/* 参数老账表格 */
.brew-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:14px}
.brew-table th,.brew-table td{padding:14px 18px;border:1px solid var(--line);text-align:left;vertical-align:top}
.brew-table th{
  width:150px;background:var(--green);color:var(--gold-l);
  font-family:var(--ff-t);font-weight:400;letter-spacing:.18em;white-space:nowrap;
}
.brew-table tr:nth-child(even) td{background:var(--paper-2)}
.brew-table .note-mini{font-size:11.5px;color:var(--stone)}
/* 适宜两栏 */
.fit-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:6px}
.fit-box{border:1px solid var(--line);padding:24px 26px;background:var(--paper-2)}
.fit-box h3{font-size:16px;letter-spacing:.16em;margin-bottom:14px;padding-bottom:10px}
.fit-box.yes h3{color:var(--green-d);border-bottom:2px solid var(--green)}
.fit-box.no h3{color:var(--ochre-d);border-bottom:2px solid var(--ochre)}
.fit-box li{font-size:13.5px;color:var(--ink-2);padding:7px 0 7px 22px;position:relative;line-height:1.7}
.fit-box.yes li::before{content:"";position:absolute;left:2px;top:15px;width:8px;height:8px;
  background:var(--green);transform:rotate(45deg)}
.fit-box.no li::before{content:"";position:absolute;left:2px;top:14px;width:10px;height:2px;background:var(--ochre)}
.fit-warn{margin-top:16px;font-size:12px;color:var(--stone);border-top:1px dashed var(--line);padding-top:12px}
/* 搭配 */
.pair-way{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pair-card{border:1px solid var(--gold);padding:24px 26px;background:
  linear-gradient(180deg,rgba(191,157,84,.08),transparent)}
.pair-card .pc-k{font-size:12px;letter-spacing:.2em;color:var(--stone);margin-bottom:8px}
.pair-card a{display:block;font-family:var(--ff-t);font-size:18px;color:var(--green-d);margin-bottom:6px}
.pair-card a:hover{color:var(--ochre)}
.pair-card p{font-size:12.5px;color:var(--ink-2);text-indent:0;margin:0}
.pair-tonic .pc-name{font-family:var(--ff-t);font-size:18px;color:var(--ochre-d)}
/* 大价签 */
.price-note{
  max-width:880px;margin:8px auto 0;padding:32px 46px;
  background:var(--green-d);color:#f4ecd8;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.price-note::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;
  border:1px solid rgba(191,157,84,.3);border-radius:50%}
.pn-k{font-family:var(--ff-t);font-size:14px;letter-spacing:.24em;color:var(--gold-l)}
.pn-price{font-family:var(--ff-t);font-size:40px;color:#fff;letter-spacing:.04em;margin-top:4px}
.pn-price small{display:block;font-family:var(--ff-b);font-size:11.5px;color:rgba(244,236,216,.6);
  letter-spacing:.1em;margin-top:6px}
.pn-cta{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:2}
.pn-cta .btn-b{border-color:var(--gold-l);color:var(--gold-l)}
.pn-cta .btn-b:hover{background:rgba(166,84,61,.25);color:#fff;border-color:var(--ochre)}
.declare{max-width:880px;margin:18px auto 0;padding:0 24px;font-size:12px;line-height:1.9;color:var(--stone)}

/* =====================================================================
   team.html —— 商号牌匾
   ===================================================================== */
.pg-team{background:var(--wall);padding-bottom:84px}
.plaque-row{
  max-width:var(--w);margin:64px auto 0;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:40px;
}
.plaque-unit{text-align:center}
.plaque{
  position:relative;display:block;
  background:#1e2a24;border:1px solid var(--gold);
  padding:34px 26px 38px;margin-top:26px;color:var(--gold-l);
  box-shadow:inset 0 0 0 5px #1e2a24,inset 0 0 0 6px rgba(191,157,84,.55),
    0 18px 34px rgba(30,42,36,.4);
  transition:transform .35s,box-shadow .35s;
  min-height:300px;
}
.plaque:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 5px #1e2a24,inset 0 0 0 6px var(--gold-l),
    0 24px 42px rgba(30,42,36,.5)}
.plaque:active{transform:scale(.97)}
.plaque::before{content:"";position:absolute;left:50%;top:-27px;width:2px;height:27px;background:var(--gold)}
.plaque::after{content:"";position:absolute;left:50%;top:-35px;transform:translateX(-50%);
  width:16px;height:16px;border:2px solid var(--gold);border-radius:50%;background:var(--wall)}
.plaque-en{font-family:var(--ff-en);font-style:italic;font-size:11px;letter-spacing:.28em;
  color:rgba(216,189,126,.7);border-bottom:1px solid rgba(191,157,84,.4);padding-bottom:14px}
.plaque-name{
  writing-mode:vertical-rl;margin:18px auto 0;
  font-family:var(--ff-t);font-size:42px;letter-spacing:.42em;color:var(--gold-l);
  text-orientation:upright;height:170px;
}
.plaque-job{font-size:12.5px;letter-spacing:.3em;color:rgba(244,236,216,.72);margin-top:12px}
.plaque-info{padding:22px 12px 0}
.plaque-info p{font-size:13px;color:var(--ink-2);min-height:66px}
.plaque-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0 14px}
.plaque-tags span{font-size:11.5px;border:1px solid var(--gold);color:var(--ochre-d);
  padding:3px 12px;letter-spacing:.1em;background:var(--paper)}
.plaque-info .more{margin-top:6px}

/* =====================================================================
   teacher-N —— 六节履历
   ===================================================================== */
.pg-teacher{background:var(--wall);padding-bottom:74px}
.tch-layout{
  max-width:var(--w);margin:52px auto 0;padding:0 24px;
  display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start;
}
.tch-side{position:sticky;top:96px}
.tch-card-side{
  background:var(--green-d);border:1px solid var(--gold);padding:40px 30px 34px;text-align:center;
  color:#f1e7d0;position:relative;
}
.tch-card-side::before{content:"";position:absolute;inset:10px;border:1px dashed rgba(191,157,84,.5);pointer-events:none}
.tch-seal{
  width:150px;height:150px;margin:6px auto 22px;border-radius:50%;position:relative;
  background:
    radial-gradient(circle at 50% 50%, rgba(166,84,61,.55) 0 3px,transparent 3.8px),
    repeating-conic-gradient(from 0deg,var(--green) 0 15deg,var(--green-l) 15deg 30deg);
  border:2px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
}
.tch-seal span{
  width:106px;height:106px;border-radius:50%;background:var(--paper);
  font-family:var(--ff-t);font-size:48px;color:var(--ochre-d);
  display:flex;align-items:center;justify-content:center;
}
.tch-name{font-family:var(--ff-t);font-size:30px;letter-spacing:.3em;color:var(--gold-l)}
.tch-job{font-size:13px;letter-spacing:.2em;color:rgba(244,236,216,.75);margin-top:8px}
.tch-side-note{margin-top:20px;padding-top:16px;border-top:1px dashed rgba(191,157,84,.4);
  font-size:11.5px;color:rgba(244,236,216,.55);line-height:1.9;letter-spacing:.06em}
.tch-main{}
.tsec{
  background:var(--paper);border:1px solid var(--line);
  padding:32px 38px 30px;margin-bottom:20px;position:relative;
}
.tsec-h{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;
  border-bottom:3px double var(--ochre);padding-bottom:12px}
.ts-no{font-family:var(--ff-t);font-size:26px;color:rgba(166,84,61,.45)}
.tsec-h h2{font-size:20px;letter-spacing:.14em;color:var(--green-d)}
.tsec p{font-size:14px;color:var(--ink-2);margin-bottom:10px}
.tags{display:flex;flex-wrap:wrap;gap:10px}
.tag{font-size:12.5px;background:var(--ochre-t);border:1px solid rgba(166,84,61,.4);
  color:var(--ochre-d);padding:5px 15px;letter-spacing:.1em}
.cert{border:1px solid var(--line)}
.cert-row{display:grid;grid-template-columns:1.3fr 1fr;padding:0}
.cert-row+.cert-row{border-top:1px solid var(--line)}
.cert-row dt,.cert-row dd{padding:13px 18px;font-size:13.5px}
.cert-row dt{background:var(--green);color:var(--gold-l);font-family:var(--ff-t);letter-spacing:.12em}
.cert-row dd{color:var(--ink-2);border-left:1px solid var(--line)}
.pj-links{display:flex;gap:14px;flex-wrap:wrap}
.pj-links a{
  flex:1;min-width:210px;border:1px solid var(--green);padding:16px 20px;
  font-family:var(--ff-t);font-size:16px;letter-spacing:.08em;color:var(--green-d);
  background:linear-gradient(180deg,rgba(46,74,64,.05),transparent);transition:.35s;
}
.pj-links a::after{content:" →";color:var(--ochre)}
.pj-links a:hover{border-color:var(--ochre);color:var(--ochre);transform:translateY(-3px)}
.tsec .qa{background:var(--paper-2)}
.tsec-cta{text-align:center}
.tsec-cta h3{font-size:19px;letter-spacing:.14em;margin-bottom:8px}
.tsec-cta p{font-size:12.5px;margin-bottom:18px}

/* =====================================================================
   about.html
   ===================================================================== */
.pg-about{padding-bottom:80px}
.ab-sec{padding:76px 0}
.ab-sec.alt{background:var(--wall-2)}
.ab-story{
  max-width:var(--w);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1.5fr .9fr;gap:52px;align-items:center;
}
.ab-story h2{font-size:28px;letter-spacing:.16em;color:var(--green-d);margin-bottom:20px}
.ab-story p{font-size:14.5px;color:var(--ink-2);margin-bottom:14px;text-indent:2em;text-align:justify}
.ab-motif{
  aspect-ratio:1;border:1px solid var(--gold);position:relative;
  background:var(--paper);
  display:flex;align-items:center;justify-content:center;
}
.ab-motif::before{content:"";position:absolute;inset:16px;
  clip-path:polygon(0 100%,0 30%,50% 0,100% 30%,100% 100%);
  background:var(--green);opacity:.92}
.ab-motif::after{content:"骑楼";position:relative;z-index:2;font-family:var(--ff-t);
  font-size:52px;color:var(--gold-l);letter-spacing:.3em;margin-top:60px}
.ab-three{max-width:var(--w);margin:0 auto;padding:0 24px;display:grid;
  grid-template-columns:repeat(3,1fr);gap:28px}
.ab-scenes{max-width:var(--w);margin:0 auto;padding:0 24px;display:grid;
  grid-template-columns:repeat(4,1fr);gap:22px}
.scene-mini{background:var(--paper);border:1px solid var(--line);transition:transform .35s,box-shadow .35s}
.scene-mini:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(45,39,32,.13)}
.scene-mini:active{transform:scale(.97)}
.scene-mini .sm-img{aspect-ratio:4/3;overflow:hidden}
.scene-mini img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.scene-mini:hover img{transform:scale(1.06)}
.scene-mini h3{padding:16px 18px 0;font-size:16px;letter-spacing:.1em}
.scene-mini h3 a:hover{color:var(--ochre)}
.scene-mini p{padding:8px 18px 18px;font-size:12.5px;color:var(--ink-2)}
.ab-voices{max-width:960px;margin:0 auto;padding:0 24px}
.ab-cta{max-width:var(--w);margin:0 auto;padding:0 24px;display:grid;
  grid-template-columns:1fr 1fr;gap:28px}
.big-cta{
  display:block;padding:44px 40px;border:1px solid var(--gold);position:relative;overflow:hidden;
  transition:transform .35s,box-shadow .35s;
}
.big-cta.b1{background:var(--green);color:#f1e7d0}
.big-cta.b2{background:var(--ochre-t);color:var(--ink)}
.big-cta:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(45,39,32,.18)}
.big-cta:active{transform:scale(.97)}
.big-cta h3{font-size:24px;letter-spacing:.2em;margin-bottom:8px}
.big-cta.b1 h3{color:var(--gold-l)}
.big-cta p{font-size:13px;opacity:.85}
.big-cta .bc-go{margin-top:16px;font-size:13px;letter-spacing:.2em}
.big-cta.b1 .bc-go{color:var(--gold-l)}
.big-cta::after{content:"";position:absolute;right:-50px;bottom:-50px;width:160px;height:160px;
  border:1px solid currentColor;opacity:.12;border-radius:50%}

/* =====================================================================
   about-1~3 —— 到店三事专题（pg-abook）
   ===================================================================== */
.pg-abook{padding-bottom:70px}
.abk{
  max-width:960px;margin:30px auto 0;padding:40px 48px;
  background:var(--paper);border:1px solid var(--line);position:relative;
}
.abk::before{content:"";position:absolute;left:0;top:30px;bottom:30px;width:3px;background:var(--gold)}
.abk-h{display:flex;align-items:baseline;gap:16px;margin-bottom:18px}
.abk-no{font-family:var(--ff-t);font-size:32px;color:rgba(166,84,61,.35)}
.abk-h h2{font-size:23px;letter-spacing:.14em;color:var(--green-d)}
.abk-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.abk-img{border:1px solid var(--gold)}
.abk-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.abk p{font-size:14.5px;color:var(--ink-2);margin-bottom:12px;text-indent:2em;text-align:justify}
.abk-list li{position:relative;padding:9px 0 9px 26px;font-size:14px;color:var(--ink-2);
  border-bottom:1px dashed var(--line)}
.abk-list li::before{content:attr(data-n);position:absolute;left:0;top:9px;
  font-family:var(--ff-t);color:var(--ochre);font-size:15px}
.abk-motif{
  min-height:220px;border:1px dashed var(--gold);position:relative;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 50%, rgba(166,84,61,.4) 0 3px,transparent 3.6px),
    linear-gradient(rgba(46,74,64,.1) 1px,transparent 1px),
    linear-gradient(90deg,rgba(46,74,64,.1) 1px,transparent 1px),
    var(--ochre-t);
  background-size:28px 28px,28px 28px,28px 28px,auto;
}
.abk-motif span{
  font-family:var(--ff-t);font-size:64px;color:rgba(46,74,64,.3);letter-spacing:.3em;
}
.abk-pair{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--ink-2)}
.abk-pair a{color:var(--ochre-d);border-bottom:1px solid rgba(166,84,61,.4);margin:0 4px;transition:.3s}
.abk-pair a:hover{color:var(--green);border-color:var(--green)}
.abk-wide{grid-column:1/-1}

/* =====================================================================
   gallery.html（Wave2 复用）—— 百叶窗格瀑布
   ===================================================================== */
.pg-gallery{padding-bottom:80px}
.louver-wall{
  max-width:var(--w);margin:52px auto 0;padding:0 24px;
  columns:3;column-gap:22px;
}
.louver{
  break-inside:avoid;margin-bottom:22px;background:var(--paper);
  border:1px solid var(--line);transition:transform .35s,box-shadow .35s;
}
.louver:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(45,39,32,.14)}
.lv-frame{position:relative;overflow:hidden}
.louver.narrow .lv-frame{aspect-ratio:3/4}
.louver.wide .lv-frame{aspect-ratio:16/10}
.lv-frame img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.louver:hover .lv-frame img{transform:scale(1.05)}
.lv-frame::after{content:"";position:absolute;left:0;right:0;top:0;height:26px;
  background:repeating-linear-gradient(0deg,rgba(34,56,47,.55) 0 4px,transparent 4px 10px)}
.lv-cap{padding:14px 18px 16px}
.lv-cap b{font-family:var(--ff-t);font-size:16px;letter-spacing:.12em;color:var(--green-d)}
.lv-cap p{font-size:12.5px;color:var(--ink-2);margin-top:4px}
.gallery-note{max-width:var(--w);margin:0 auto;padding:26px 24px 0;font-size:12px;color:var(--stone);text-align:center}

/* =====================================================================
   scene-N（Wave2 复用）
   ===================================================================== */
.pg-scene{padding-bottom:70px}
.scn-wrap{max-width:960px;margin:48px auto 0;padding:0 24px}
.scn-hero{position:relative;border:1px solid var(--gold);margin-bottom:26px}
.scn-hero img{width:100%;aspect-ratio:16/8;object-fit:cover}
.scn-hero figcaption{position:absolute;left:24px;bottom:20px;color:#f4ecd8;
  font-family:var(--ff-t);font-size:26px;letter-spacing:.2em;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.scn-sec{background:var(--paper);border:1px solid var(--line);padding:32px 38px;margin-bottom:20px}
.scn-sec h2{font-size:20px;letter-spacing:.14em;color:var(--green-d);margin-bottom:14px;
  padding-bottom:10px;border-bottom:3px double var(--ochre)}
.scn-sec p{font-size:14px;color:var(--ink-2);margin-bottom:10px}
.scn-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.scn-list li{background:var(--paper-2);border:1px solid var(--line);padding:16px 18px;
  font-size:13px;color:var(--ink-2);position:relative;padding-left:34px}
.scn-list li::before{content:"";position:absolute;left:14px;top:22px;width:9px;height:9px;
  background:var(--ochre);transform:rotate(45deg)}
.scn-links{display:flex;gap:16px;flex-wrap:wrap}
.scn-links a{flex:1;min-width:220px;border:1px solid var(--green);padding:18px 22px;
  font-family:var(--ff-t);font-size:16px;color:var(--green-d);transition:.35s;background:var(--paper-2)}
.scn-links a::after{content:" →";color:var(--ochre)}
.scn-links a:hover{border-color:var(--ochre);color:var(--ochre);transform:translateY(-3px)}
.scn-info{width:100%;border-collapse:collapse}
.scn-info th,.scn-info td{border:1px solid var(--line);padding:13px 18px;font-size:13.5px;text-align:left}
.scn-info th{width:150px;background:var(--green);color:var(--gold-l);font-family:var(--ff-t);
  font-weight:400;letter-spacing:.16em}

/* =====================================================================
   articles.html（Wave2 复用）—— 旧报分栏
   ===================================================================== */
.pg-articles{padding-bottom:80px}
.news-paper{
  max-width:var(--w);margin:52px auto 0;padding:42px 48px;
  background:var(--paper);border:1px solid var(--line);
}
.news-mast{text-align:center;border-bottom:4px double var(--green-d);padding-bottom:16px;margin-bottom:26px}
.news-mast h1{font-size:32px;letter-spacing:.3em;color:var(--green-d)}
.news-mast p{font-family:var(--ff-en);font-style:italic;font-size:12px;color:var(--stone);
  letter-spacing:.24em;margin-top:6px}
.news-cols{column-count:2;column-gap:42px;column-rule:1px solid var(--line)}
.news-item{break-inside:avoid;margin-bottom:26px;padding-bottom:22px;border-bottom:1px dashed var(--line)}
.news-item .ni-date{font-family:var(--ff-en);font-style:italic;font-size:11.5px;color:var(--ochre);
  letter-spacing:.16em}
.news-item h3{font-size:19px;line-height:1.5;margin:6px 0 8px}
.news-item h3 a{color:var(--green-d)}
.news-item h3 a:hover{color:var(--ochre)}
.news-item p{font-size:13px;color:var(--ink-2);line-height:1.9}
.col-flower{break-inside:avoid;text-align:center;color:var(--gold);font-size:13px;
  letter-spacing:.6em;margin:6px 0 26px}

/* =====================================================================
   article-N（Wave2 复用）
   ===================================================================== */
.pg-article{padding-bottom:70px}
.art-wrap{max-width:820px;margin:48px auto 0;padding:0 24px}
.art-head{text-align:center;margin-bottom:28px}
.art-head h1{font-size:30px;letter-spacing:.1em;line-height:1.5;color:var(--green-d)}
.art-meta{margin-top:14px;font-size:12px;color:var(--stone);letter-spacing:.14em}
.art-hero{border:1px solid var(--gold);margin-bottom:28px}
.art-hero img{width:100%;aspect-ratio:16/9;object-fit:cover}
.art-lead{
  font-family:var(--ff-t);font-size:16.5px;line-height:2;color:var(--green-d);
  background:var(--paper);border-left:3px solid var(--ochre);padding:22px 28px;margin-bottom:30px;
}
.art-wrap h2{font-size:22px;letter-spacing:.12em;color:var(--green-d);margin:30px 0 12px;
  padding-left:14px;border-left:4px solid var(--gold)}
.art-wrap>h2+p,.art-wrap .art-body p{font-size:14.5px;color:var(--ink-2);margin-bottom:14px;
  text-indent:2em;text-align:justify;line-height:2}
.art-body p{font-size:14.5px;color:var(--ink-2);margin-bottom:14px;text-indent:2em;text-align:justify}
.art-note{margin-top:34px;padding:18px 24px;background:var(--paper-2);border:1px dashed var(--ochre);
  font-size:12px;line-height:1.9;color:var(--stone)}

/* =====================================================================
   reviews.html（Wave2 复用）—— 电话亭留言条
   ===================================================================== */
.pg-reviews{padding-bottom:80px}
.rv-note{max-width:var(--w);margin:44px auto 0;padding:0 24px;font-size:12.5px;color:var(--stone);
  text-align:center;letter-spacing:.06em}
.rv-board{
  max-width:1000px;margin:36px auto 0;padding:0 24px;
  display:grid;grid-template-columns:1fr 1fr;gap:26px 34px;
}
.rv{
  position:relative;background:
    repeating-linear-gradient(0deg,transparent 0 33px,rgba(107,106,99,.22) 33px 34px),
    var(--paper);
  border:1px solid var(--line);padding:30px 30px 18px 34px;min-height:170px;
  box-shadow:0 8px 18px rgba(45,39,32,.08);
  transition:transform .35s,box-shadow .35s;
}
.rv:nth-child(odd){transform:rotate(-.5deg)}
.rv:nth-child(even){transform:rotate(.5deg)}
.rv:hover{transform:rotate(0) translateY(-4px);box-shadow:0 14px 28px rgba(45,39,32,.16)}
.rv:active{transform:scale(.97)}
.rv-pin{position:absolute;left:50%;top:-9px;transform:translateX(-50%);
  width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d88a72,var(--ochre-d));
  box-shadow:0 3px 6px rgba(0,0,0,.35)}
.rv p{font-size:14.5px;line-height:34px;color:var(--ink);min-height:102px}
.rv .v-who{margin-top:6px}

/* =====================================================================
   card.html（Wave2 复用）—— 骑楼顾券（当票式竖票）
   ===================================================================== */
.pg-card{padding-bottom:80px}
.card-stage{
  max-width:var(--w);margin:52px auto 0;padding:0 24px;
  display:grid;grid-template-columns:420px 1fr;gap:56px;align-items:start;
}
.card-paper{
  position:relative;background:var(--paper);border:1px solid var(--gold);
  padding:40px 38px 34px;
  box-shadow:0 22px 46px rgba(45,39,32,.22);
}
.card-paper::before{
  content:"";position:absolute;right:0;top:0;bottom:0;width:20px;
  background:radial-gradient(circle at 10px 12px,var(--wall) 4.5px,transparent 5px) 0 0/20px 24px repeat-y;
}
.cp-top{text-align:center;border-bottom:4px double var(--green-d);padding-bottom:20px}
.cp-top .cp-k{font-family:var(--ff-en);font-style:italic;font-size:11px;letter-spacing:.3em;color:var(--stone)}
.cp-title{font-family:var(--ff-t);font-size:32px;letter-spacing:.36em;color:var(--green-d);margin:8px 0}
.cp-no{font-size:12px;color:var(--stone);letter-spacing:.14em}
.cp-seal{
  margin:24px auto 6px;width:92px;height:92px;border-radius:8px;
  border:2.5px solid var(--ochre);color:var(--ochre);
  font-family:var(--ff-t);font-size:34px;
  display:flex;align-items:center;justify-content:center;transform:rotate(-7deg);
  background:rgba(166,84,61,.05);line-height:1.2;text-align:center;
}
.cp-rows{margin:22px 0 0}
.cp-rows li{display:flex;justify-content:space-between;padding:10px 0;
  border-bottom:1px dashed var(--line);font-size:13.5px}
.cp-rows li b{font-family:var(--ff-t);color:var(--ochre-d)}
.cp-foot{margin-top:20px;font-size:11px;color:var(--stone);line-height:1.9;text-align:center}
.tiers{display:flex;flex-direction:column;gap:22px}
.tier{
  background:var(--paper);border:1px solid var(--line);padding:28px 32px;position:relative;
  transition:transform .35s,box-shadow .35s,border-color .35s;
}
.tier:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 14px 30px rgba(45,39,32,.12)}
.tier::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ochre)}
.tier.featured::before{background:var(--green)}
.tier-head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}
.tier-head h3{font-size:22px;letter-spacing:.2em;color:var(--green-d)}
.tier-head h3 small{font-family:var(--ff-en);font-style:italic;font-size:11px;color:var(--stone);
  letter-spacing:.2em;margin-left:10px}
.tier-price{font-family:var(--ff-t);font-size:26px;color:var(--ochre-d);white-space:nowrap}
.tier-price small{font-family:var(--ff-b);font-size:11px;color:var(--stone);display:block;text-align:right}
.tier ul{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}
.tier li{font-size:13.5px;color:var(--ink-2);padding-left:18px;position:relative}
.tier li::before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;
  background:var(--gold);transform:rotate(45deg)}
.card-rules{
  max-width:var(--w);margin:30px auto 0;padding:32px 46px;background:var(--paper);
  border:1px solid var(--line);
}
.card-rules h2{font-size:20px;letter-spacing:.16em;color:var(--green-d);margin-bottom:14px}
.card-rules ol{counter-reset:rule}
.card-rules li{counter-increment:rule;font-size:13.5px;color:var(--ink-2);padding:9px 0 9px 34px;
  position:relative;border-bottom:1px dashed var(--line)}
.card-rules li::before{content:counter(rule);position:absolute;left:0;top:8px;width:20px;height:20px;
  background:var(--green);color:var(--gold-l);font-family:var(--ff-t);font-size:12px;
  display:flex;align-items:center;justify-content:center}
.card-cta{max-width:var(--w);margin:30px auto 0;text-align:center}

/* =====================================================================
   stores.html（Wave2 复用）—— 骑楼路牌
   ===================================================================== */
.pg-stores{padding-bottom:80px}
.sign-row{
  max-width:var(--w);margin:60px auto 0;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:50px 36px;
}
.sign-unit{text-align:center}
.sign{
  position:relative;display:block;background:var(--green-d);
  border:1px solid var(--gold);padding:34px 24px 30px;color:#f1e7d0;
  box-shadow:0 16px 32px rgba(34,56,47,.35);
  transition:transform .35s,box-shadow .35s;
}
.sign::before{content:"";position:absolute;left:50%;top:-54px;width:2px;height:54px;background:var(--gold)}
.sign::after{content:"";position:absolute;left:50%;top:-62px;transform:translateX(-50%);
  width:16px;height:16px;border:2px solid var(--gold);border-radius:50%;background:var(--wall)}
.sign:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 22px 42px rgba(34,56,47,.45)}
.sign:active{transform:scale(.97)}
.sign h3{color:var(--gold-l);font-size:23px;letter-spacing:.22em;margin-bottom:8px}
.sign .s-en{font-family:var(--ff-en);font-style:italic;font-size:11px;letter-spacing:.24em;
  color:rgba(216,189,126,.65);display:block;margin-bottom:14px}
.sign .s-addr{font-size:13px;color:rgba(244,236,216,.82);line-height:1.9}
.sign .s-time{margin-top:12px;font-size:12px;color:rgba(244,236,216,.6);
  border-top:1px dashed rgba(191,157,84,.4);padding-top:10px}
.sign-post{width:10px;height:46px;background:var(--stone);margin:0 auto}
.sign-unit .more{margin-top:16px}
.stores-note{max-width:var(--w);margin:30px auto 0;padding:0 24px;text-align:center;font-size:12px;color:var(--stone)}

/* =====================================================================
   store-N（Wave2 复用）
   ===================================================================== */
.pg-store{padding-bottom:70px}
.str-wrap{max-width:960px;margin:48px auto 0;padding:0 24px}
.str-sec{background:var(--paper);border:1px solid var(--line);padding:32px 38px;margin-bottom:20px}
.str-sec h2{font-size:20px;letter-spacing:.14em;color:var(--green-d);margin-bottom:14px;
  padding-bottom:10px;border-bottom:3px double var(--ochre)}
.str-sec p{font-size:14px;color:var(--ink-2);margin-bottom:10px;text-indent:2em}
.str-sec .str-plain{text-indent:0}
.str-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.str-links a{border:1px solid var(--green);padding:16px;text-align:center;
  font-family:var(--ff-t);font-size:15px;color:var(--green-d);background:var(--paper-2);transition:.35s}
.str-links a::after{content:" →";color:var(--ochre)}
.str-links a:hover{border-color:var(--ochre);color:var(--ochre);transform:translateY(-3px)}
.str-info{width:100%;border-collapse:collapse}
.str-info th,.str-info td{border:1px solid var(--line);padding:13px 18px;font-size:13.5px;text-align:left;vertical-align:top}
.str-info th{width:150px;background:var(--green);color:var(--gold-l);font-family:var(--ff-t);
  font-weight:400;letter-spacing:.16em;white-space:nowrap}

/* ---------------- 响应式：860px ---------------- */
@media (max-width:860px){
  .nav-inner{height:62px;gap:14px}
  .nav-links,.nav-cta{display:none}
  #burger{display:flex}
  .drawer{display:flex}
  .topbar-inner{font-size:11.5px;gap:10px}
  .hero{padding:76px 0 92px}
  .hero-arches{opacity:.5;right:-160px}
  .hero-fan{right:40px;top:44px}
  .hero-title{font-size:34px}
  .hero-inner{max-width:100%}
  .num-belt{grid-template-columns:1fr 1fr;gap:30px 0}
  .num-item:nth-child(3)::before{display:none}
  .about-grid,.svc-grid,.team-grid,.halls-grid,.ab-three,.ab-cta,.plaque-row,.sign-row,
  .card-stage,.pair-way,.book-wrap,.member-wrap,.ab-story{grid-template-columns:1fr}
  .rooms-grid{grid-template-columns:1fr 1fr;gap:26px}
  .rm-frame{aspect-ratio:4/5}
  .craft-steps,.oil-grid,.dl-grid,.tt-grid,.sn-grid,.hour-belt,.trail-stops{grid-template-columns:1fr 1fr}
  .craft-steps::before{display:none}
  .craft-step{margin-top:30px}
  .hour-item+.hour-item::before{display:none}
  .hour-item{padding:18px 20px;border-bottom:1px dashed rgba(216,189,126,.25)}
  .trail-stops::before{display:none}
  .stop{margin-bottom:34px}
  .sn-grid{border:none}
  .sn-card{border:1px solid var(--line);border-bottom:none}
  .sn-card:last-child{border-bottom:1px solid var(--line)}
  .sn-card p{min-height:0}
  .v-grid,.rv-board,.fit-cols,.abk-grid,.ab-scenes{grid-template-columns:1fr}
  .tch-layout{grid-template-columns:1fr}
  .tch-side{position:static}
  .sec-head h2,.member-copy h2,.book-info h2{font-size:26px}
  .phead h1{font-size:29px}
  .chap,.abk,.scn-sec,.str-sec,.tier,.card-rules{padding:30px 24px}
  .ledger-head{display:none}
  .ledger-row{grid-template-columns:56px 1fr;gap:8px 14px;padding:18px 16px;align-items:start}
  .l-no{grid-row:span 4;font-size:26px}
  .l-name{grid-column:2}
  .l-desc,.l-time,.l-price{grid-column:2}
  .l-go{grid-column:1/-1;flex-direction:row}
  .l-go a{flex:1}
  .louver-wall{columns:2}
  .scn-list,.str-links{grid-template-columns:1fr}
  .news-cols{column-count:1}
  .tier ul{grid-template-columns:1fr}
  .price-note{padding:28px 24px}
  .cols{grid-template-columns:1fr;gap:34px;padding-bottom:34px}
  .pg-nav{flex-wrap:wrap}
  .pg-nav a{max-width:100%;flex:1 1 auto;text-align:center}
  .cert-row{grid-template-columns:1fr}
  .cert-row dd{border-left:none;border-top:1px solid var(--line)}
  .ab-motif{max-width:320px;margin:0 auto}
}

/* ---------------- 响应式：480px ---------------- */
@media (max-width:480px){
  body{font-size:14px}
  .wrap{padding:0 16px}
  .topbar{display:none}
  .hero{padding:60px 0 80px}
  .hero-title{font-size:28px;letter-spacing:.08em}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn-a,.hero-actions .btn-b{text-align:center}
  .hero-arches{display:none}
  .hero-fan{right:18px;top:26px;transform:scale(.8)}
  .num-belt{grid-template-columns:1fr}
  .num-item+.num-item::before{display:none}
  .num-item{border-bottom:1px dashed var(--line);padding-bottom:24px}
  .about-grid,.svc-grid,.team-grid,.rooms-grid,.oil-grid,.craft-steps,.tt-grid,.dl-grid,
  .hour-belt,.trail-stops,.halls-grid,.plaque-row,.sign-row,.louver-wall{grid-template-columns:1fr;columns:1}
  .sec-head h2{font-size:23px}
  .chap-h h2,.tsec-h h2{font-size:19px}
  .chap-no,.ts-no,.abk-no{font-size:24px}
  .paper-mast{padding:28px 20px}
  .paper-mast h1{font-size:25px;letter-spacing:.2em}
  .news-paper{padding:28px 20px}
  #vForm{padding:28px 20px}
  .member-card{transform:none;padding:34px 26px 30px}
  .plaque-name{font-size:36px;height:150px}
  .pn-price{font-size:32px}
  .brew-table th{width:100px;padding:10px 12px}
  .brew-table td{padding:10px 12px}
  .art-head h1{font-size:23px}
  .l-go{flex-direction:column}
}

/* ---------------- 减弱动效 ---------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
