/* gsb-theme.css — 中文版 premium */
/* Google Fonts removed — China blocks fonts.googleapis.com. Using system fonts. */
:root{--ivory:#fbf8f3;--cream:#f5efe6;--gold:#b8924a;--gold-2:#d4af37;--brown:#3a2a20;--brown-2:#6b4f3f;--line:#e6dccd;--muted:#7a6650;--text:#2c2118;--red:#c53030;}
*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;}
body{margin:0;background:var(--ivory);color:var(--text);font-family:'PingFang SC','Microsoft YaHei','Hiragino Sans GB','WenQuanYi Micro Hei',sans-serif;line-height:1.8;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--gold);text-decoration:none;} a:hover{color:var(--brown);}

.gsb-hdr{background:#fff;border-bottom:1px solid var(--line);padding:14px 0;position:sticky;top:0;z-index:100;}
.gsb-hdr-inner{max-width:1180px;margin:0 auto;padding:0 22px;display:flex;justify-content:space-between;align-items:center;gap:18px;}
.gsb-logo{font-family:'PingFang SC','Microsoft YaHei',serif;font-size:22px;font-weight:600;color:var(--brown);}
.gsb-logo small{font-size:11px;color:var(--gold);letter-spacing:.18em;display:block;line-height:1;margin-top:2px;}
.gsb-nav{display:flex;gap:22px;font-size:14px;font-weight:500;}
.gsb-nav a{color:var(--brown-2);} .gsb-nav a:hover,.gsb-nav a.active{color:var(--gold);}
.gsb-cta{padding:8px 18px;background:#1AAD19;color:#fff !important;border-radius:999px;font-size:13px;font-weight:600;}
.gsb-cta:hover{background:#179B16;}
.gsb-burger{display:none;cursor:pointer;}
.gsb-burger span{display:block;width:22px;height:2px;background:var(--brown);margin:5px 0;}
@media (max-width:780px){.gsb-nav,.gsb-cta{display:none;}.gsb-burger{display:block;}.gsb-nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;padding:18px;border-bottom:1px solid var(--line);}}

.gsb-hero{background:linear-gradient(180deg,var(--ivory),var(--cream));padding:64px 0 48px;border-bottom:1px solid var(--line);text-align:center;}
.gsb-inner{max-width:1180px;margin:0 auto;padding:0 22px;}
.gsb-hero h1{font-family:'PingFang SC','Microsoft YaHei',serif;font-weight:600;font-size:clamp(30px,5vw,48px);color:var(--brown);margin:6px 0 14px;line-height:1.3;}
.gsb-eyebrow{font-size:13px;letter-spacing:.4em;color:var(--gold);font-weight:600;}
.gsb-hero .lead{color:var(--brown-2);font-size:17px;max-width:680px;margin:14px auto 22px;}
.btn-wechat{display:inline-block;background:#1AAD19;color:#fff;padding:12px 28px;border-radius:999px;font-weight:600;letter-spacing:.05em;}
.btn-wechat:hover{background:#179B16;}
.wechat-qr-box{background:#fff;padding:18px 22px;border:1px solid var(--line);border-radius:12px;display:inline-flex;flex-direction:column;align-items:center;gap:10px;margin:14px 0;}
.wechat-qr-box img{width:160px;height:160px;display:block;}
.wechat-qr-box .id{font-size:13px;color:var(--brown-2);}
.wechat-qr-box .id strong{color:var(--brown);font-family:monospace;letter-spacing:.06em;font-size:15px;}
.btn-outline{display:inline-block;background:transparent;color:var(--brown);padding:12px 26px;border:1px solid var(--brown);border-radius:999px;font-weight:600;margin-left:6px;}
.btn-outline:hover{background:var(--brown);color:#fff !important;}

.gsb-section{padding:56px 0;}
.gsb-section.alt{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.gsb-section-hdr{text-align:center;margin-bottom:36px;}
.gsb-section-hdr h2{font-family:'PingFang SC','Microsoft YaHei',serif;font-weight:600;font-size:clamp(24px,3vw,32px);color:var(--brown);margin:6px 0 10px;}
.gsb-section-hdr p{color:var(--muted);max-width:680px;margin:0 auto;}
.gsb-divider{width:50px;height:2px;background:var(--gold);margin:14px auto;}

/* Treatments */
.gsb-treat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.gsb-treat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;transition:transform .25s, box-shadow .25s;}
.gsb-treat:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(58,42,32,.2);}
.gsb-treat .icon{font-size:28px;margin-bottom:10px;color:var(--gold);}
.gsb-treat h3{font-family:'PingFang SC','Microsoft YaHei',serif;font-size:20px;color:var(--brown);margin:0 0 6px;font-weight:600;}
.gsb-treat .duration{font-size:12px;letter-spacing:.12em;color:var(--gold);margin-bottom:10px;}
.gsb-treat p{font-size:14px;color:var(--brown-2);margin:0;}

.gsb-branch-label{margin:50px 0 24px;display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);padding-bottom:10px;}
.gsb-branch-label h3{font-family:'PingFang SC','Microsoft YaHei',serif;font-size:24px;color:var(--brown);margin:0;font-weight:600;}
.gsb-branch-label .count{font-size:13px;color:var(--muted);}

.gsb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.gsb-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;}
.gsb-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(58,42,32,.2);}
.gsb-card a.link{display:block;color:inherit;}
.gsb-card-img{aspect-ratio:1;background:var(--cream);overflow:hidden;}
.gsb-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.gsb-card:hover .gsb-card-img img{transform:scale(1.04);}
.gsb-card-body{padding:14px 16px 18px;flex:1;}
.gsb-card .name{font-family:'PingFang SC','Microsoft YaHei',serif;font-size:20px;color:var(--brown);margin:0 0 4px;font-weight:600;}
.gsb-card .programs{font-size:12px;color:var(--gold);margin-bottom:8px;}
.gsb-card .desc{font-size:13px;color:var(--brown-2);margin:0;}
.gsb-card .view{margin-top:10px;font-size:11px;letter-spacing:.18em;color:var(--gold);font-weight:600;}

/* Therapist detail */
.gsb-tdetail-hero{background:var(--cream);padding:48px 0 28px;border-bottom:1px solid var(--line);}
.gsb-tdetail-hero h1{font-family:'PingFang SC','Microsoft YaHei',serif;font-weight:600;font-size:clamp(32px,5vw,48px);color:var(--brown);margin:8px 0 6px;}
.gsb-tdetail-hero .branch{font-size:14px;color:var(--brown-2);margin-bottom:14px;}
.gsb-tdetail-hero .programs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.gsb-tdetail-hero .program-chip{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;color:var(--brown-2);}
.gsb-back{font-size:12px;letter-spacing:.18em;color:var(--gold);margin-bottom:14px;display:inline-block;}

.gsb-gallery{padding:36px 0;}
.gsb-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.gsb-gallery-tile{aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:var(--cream);cursor:zoom-in;transition:transform .3s;}
.gsb-gallery-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px -12px rgba(58,42,32,.25);}
.gsb-gallery-tile img{width:100%;height:100%;object-fit:cover;}
@media (min-width:880px){.gsb-gallery-grid.has-hero{grid-template-columns:1.4fr 1fr 1fr;}.gsb-gallery-tile.hero{grid-row:span 2;aspect-ratio:3/4;}}

.gsb-lb{position:fixed;inset:0;background:rgba(20,15,10,.92);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;}
.gsb-lb.open{display:flex;}
.gsb-lb img{max-width:96%;max-height:92vh;border-radius:8px;}
.gsb-lb-close{position:absolute;top:20px;right:24px;color:#fff;font-size:32px;cursor:pointer;background:none;border:0;}
.gsb-lb-prev,.gsb-lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);color:#fff;border:0;font-size:28px;width:48px;height:48px;border-radius:50%;cursor:pointer;}
.gsb-lb-prev{left:20px;} .gsb-lb-next{right:20px;}

.gsb-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
@media (max-width:880px){.gsb-branches{grid-template-columns:1fr;}}
.gsb-branch{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.gsb-branch-map{aspect-ratio:16/10;background:var(--cream);}
.gsb-branch-map iframe{width:100%;height:100%;border:0;display:block;}
.gsb-branch-body{padding:18px 20px 22px;}
.gsb-branch h3{font-family:'PingFang SC','Microsoft YaHei',serif;font-size:20px;color:var(--brown);margin:0 0 4px;}
.gsb-branch .area{font-size:12px;letter-spacing:.18em;color:var(--gold);margin-bottom:8px;}
.gsb-branch .addr{font-size:13px;color:var(--brown-2);line-height:1.6;margin-bottom:14px;}
.gsb-branch .actions a{display:inline-block;font-size:12px;padding:8px 14px;border-radius:999px;margin-right:6px;font-weight:600;}
.gsb-branch .actions a.line{background:#06C755;color:#fff;}
.gsb-branch .actions a.dir{border:1px solid var(--brown);color:var(--brown);}

/* FAQ */
.gsb-faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:10px;cursor:pointer;}
.gsb-faq summary{font-family:'PingFang SC','Microsoft YaHei',serif;font-weight:600;color:var(--brown);font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.gsb-faq summary::-webkit-details-marker{display:none;}
.gsb-faq summary::after{content:"+";font-size:20px;color:var(--gold);font-weight:300;}
.gsb-faq details[open] summary::after{content:"\2212";}
.gsb-faq details p{margin-top:12px;font-size:15px;color:var(--brown-2);line-height:1.8;}

/* CTA */
.gsb-cta-strip{background:var(--brown);color:var(--ivory);padding:48px 0;text-align:center;}
.gsb-cta-strip h2{font-family:'PingFang SC','Microsoft YaHei',serif;font-size:28px;font-weight:600;margin:0 0 8px;color:#fff;}
.gsb-cta-strip p{color:#e0d3c0;margin-bottom:20px;}

.gsb-ftr{background:#1f1611;color:#cfb695;padding:32px 0;font-size:13px;}
.gsb-ftr-inner{max-width:1180px;margin:0 auto;padding:0 22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;}
.gsb-ftr a{color:#cfb695;}
.gsb-ftr a:hover{color:var(--gold-2);}
