
/* 白 × Barog 黄：白底为主、黄色做重点、黑色只用于文字与小按钮。宽屏 1200 内容宽，手机单栏＋底部联络栏 */
:root{
  --y:#F7C600; --y2:#FFD83D; --ys:#FFF6D1; --yb:#FFFBEA; --k:#171715; --g:#6F6D66; --g2:#A3A096;
  --line:#ECE9E0; --off:#F8F7F3; --w:#FFFFFF; --gold:#A88400;
  --f:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  --en:"Jost","Futura","Century Gothic",system-ui,sans-serif;
  color-scheme:light;
}
body[data-lang="ja"]{--f:"Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif}
body[data-lang="ko"]{--f:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif}
body[data-lang="en"]{--f:"Jost","Noto Sans TC",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--w);color:var(--k);font-family:var(--f);font-size:15.5px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer}
.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.narrow{max-width:860px}
.eyebrow{font-family:var(--en);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500}
.small{font-size:13px;color:var(--g);margin:6px 0 0}
.lead{color:var(--g);max-width:62ch;margin:0 0 20px}
.center{text-align:center}
.mt12{margin-top:12px}
.row{display:flex;flex-wrap:wrap;align-items:center}
.gap8{gap:8px}.gap10{gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 24px;font-weight:700;font-size:14.5px;border:1.5px solid var(--k);background:var(--w);color:var(--k);white-space:nowrap;line-height:1.2;transition:background .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn.y{background:var(--y);border-color:var(--y)}
.btn.y:hover{background:var(--y2)}
.btn.k{background:var(--k);border-color:var(--k);color:#fff}
.btn.ghost{border-color:var(--line);background:var(--w)}
.btn.sm{padding:8px 15px;font-size:13px}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--y);outline-offset:2px}
.ico{display:inline-flex;width:38px;height:38px;flex:none}
.ico svg{width:100%;height:100%}
.ico.sm{width:22px;height:22px}.ico.xs{width:18px;height:18px}
.bm{width:34px;height:34px;flex:none}

/* ---------- 頁首 ---------- */
#hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:24px;height:74px}
.logo{display:flex;align-items:center;gap:9px;line-height:1;flex:none}
.logo b{font-family:var(--en);font-weight:600;font-size:20px;letter-spacing:.3em;display:block}
.logo small{display:block;font-size:11px;color:var(--g);margin-top:4px;letter-spacing:.04em}
.mainnav{display:flex;gap:4px;flex:1;justify-content:center}
.mainnav a{padding:8px 13px;font-size:14.5px;font-weight:500;border-radius:999px;white-space:nowrap}
.mainnav a:hover{background:var(--off)}
.mainnav a.on{background:var(--ys);font-weight:700}
.hdr-r{display:flex;align-items:center;gap:12px;flex:none}
.langs{display:flex;background:var(--off);border-radius:999px;padding:3px}
.langs button{border:none;background:none;padding:5px 10px;border-radius:999px;font-size:12.5px;color:var(--g);white-space:nowrap}
.langs button.on{background:var(--w);color:var(--k);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.burger{display:none;border:none;background:none;width:40px;height:40px;position:relative}
.burger i,.burger:before,.burger:after{content:"";position:absolute;left:10px;right:10px;height:2px;background:var(--k);border-radius:2px;transition:.2s}
.burger:before{top:13px}.burger i{top:19px}.burger:after{top:25px}

/* ---------- 右側聯絡欄 ---------- */
#dock{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:35;display:flex;flex-direction:column;gap:8px;background:var(--w);padding:8px;border-radius:999px;box-shadow:0 10px 30px rgba(30,26,10,.12),0 0 0 1px var(--line)}
.dock-i{position:relative;display:flex}
.dock-i .ico{width:40px;height:40px;transition:transform .2s}
.dock-i:hover .ico{transform:scale(1.08)}
.dock-i>span:not(.ico){position:absolute;right:52px;top:50%;transform:translateY(-50%);background:var(--k);color:#fff;font-size:12px;padding:3px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.dock-i:hover>span:not(.ico){opacity:1}
#mbar{display:none}

/* ---------- 首頁輪播 ---------- */
.hero{position:relative;height:clamp(460px,48vw,580px);overflow:hidden;background:var(--w)}
.track,.sl{position:absolute;inset:0}
.sl{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.sl.on{opacity:1;visibility:visible}
.slide{position:absolute;inset:0;display:grid}
.s-brand{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.s-brand .s-copy{padding:0 clamp(20px,5vw,72px);display:flex;flex-direction:column;justify-content:center;gap:14px;max-width:640px;justify-self:end;width:100%}
.s-brand h1{margin:0;line-height:1.1}
.s-brand h1 .brand{display:block;font-family:var(--en);font-weight:700;font-size:clamp(54px,7vw,92px);letter-spacing:.02em;line-height:.95}
.s-brand h1 .name{display:block;font-size:clamp(28px,3.4vw,42px);font-weight:900;margin-top:12px;letter-spacing:.04em}
body[data-lang="en"] .s-brand h1 .name{letter-spacing:0}
.rule{width:56px;height:4px;background:var(--y);border-radius:2px}
.s-sub{margin:0;font-size:14px;color:var(--g);font-weight:500}
.s-line{margin:0 0 10px;font-size:16px;color:#3C3B37}
.s-img{background-size:cover;background-position:18% 50%;position:relative}
.s-img:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 24%)}
.s-event{background:linear-gradient(115deg,var(--y) 0%,var(--y2) 55%,#FFE57A 100%);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;padding:0 clamp(20px,6vw,90px);gap:clamp(20px,4vw,56px);overflow:hidden}
.s-event .bm{position:absolute;right:-60px;bottom:-80px;width:380px;height:380px;--bm:rgba(255,255,255,.35);--bmc:transparent}
.s-event h2{font-size:clamp(34px,4.4vw,58px);font-weight:900;margin:8px 0 6px;line-height:1.15}
.s-event .eyebrow{color:var(--k)}
.s-period{margin:0 0 20px;font-weight:500}
.s-prices{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:1}
.s-prices div{background:rgba(255,255,255,.92);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.s-prices span{font-size:13.5px;font-weight:500;line-height:1.4}
.s-prices b{font-family:var(--en);font-size:clamp(22px,2.4vw,30px);font-weight:600}
.s-doc{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);background:linear-gradient(90deg,#DADFE6,#EEF0F3 45%,#fff 70%)}
.s-photo{display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.s-photo img{height:96%;width:auto;object-fit:contain;object-position:bottom}
.s-doc .s-copy{display:flex;flex-direction:column;justify-content:center;padding-right:clamp(20px,6vw,80px)}
.s-doc h2{font-size:clamp(26px,3vw,38px);font-weight:900;margin:8px 0 14px;line-height:1.25}
.s-doc ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px}
.s-doc li{display:flex;gap:10px;align-items:center;font-size:15.5px;font-weight:500}
.s-doc li:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--y);transform:rotate(45deg);flex:none}
.s-doc .btn{align-self:flex-start}
.s-board{background-size:cover;background-position:center}
.s-card{position:absolute;left:clamp(20px,6vw,90px);bottom:clamp(24px,5vw,60px);background:var(--w);border-radius:20px;padding:22px 26px;max-width:420px;box-shadow:0 18px 40px rgba(60,50,0,.18)}
.s-card h2{margin:6px 0 6px;font-size:24px;font-weight:900}
.s-card p{margin:0 0 14px;color:var(--g)}
.arr{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.85);font-size:26px;line-height:40px;color:var(--k);box-shadow:0 4px 14px rgba(0,0,0,.1);z-index:3}
.arr.prev{left:16px}.arr.next{right:84px}
.dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px;z-index:3;background:rgba(255,255,255,.75);padding:7px 10px;border-radius:999px}
.dots button{width:8px;height:8px;border-radius:999px;border:none;background:#CFCBBF;padding:0;transition:width .3s,background .3s}
.dots button.on{width:26px;background:var(--k)}

/* 聯絡圖示列 */
.follow{border-bottom:1px solid var(--line);background:var(--w)}
.follow-in{display:flex;align-items:center;gap:20px;padding-block:16px;flex-wrap:wrap}
.follow-t{font-weight:700;font-size:14px;white-space:nowrap;display:flex;align-items:center;gap:10px}
.follow-t:before{content:"";width:22px;height:3px;background:var(--y);border-radius:2px}
.follow-icons{display:flex;gap:8px 22px;flex-wrap:wrap;flex:1}
.follow-icons a{display:flex;align-items:center;gap:9px;padding:4px 12px 4px 4px;border-radius:999px;transition:background .2s}
.follow-icons a:hover{background:var(--off)}
.follow-icons .ico{width:34px;height:34px}
.follow-icons b{display:block;font-size:13px;line-height:1.2}
.follow-icons small{display:block;font-size:11.5px;color:var(--g);line-height:1.3}

/* 區塊 */
.blk{padding-block:clamp(48px,6vw,84px)}
.blk.off{background:var(--off)}
.blk.soft{background:var(--yb)}
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.sh h2{margin:6px 0 0;font-size:clamp(24px,2.8vw,34px);font-weight:900;line-height:1.3}
.sh h2 small{font-size:14px;font-weight:500;color:var(--g);margin-left:8px}
.more{font-weight:700;font-size:14px;border-bottom:2px solid var(--y);padding-bottom:2px}
.subh{font-size:19px;font-weight:900;margin:36px 0 14px;display:flex;align-items:center;gap:10px}
.subh:before{content:"";width:5px;height:20px;background:var(--y);border-radius:3px}
.proto{margin:16px 0 0;font-size:12.5px;color:#8A6D00;background:var(--ys);border:1px dashed #E5C24B;border-radius:8px;padding:6px 12px;display:inline-block}
body.hide-proto .proto,body.hide-proto .admin{display:none!important}

/* 活動卡 */
.deals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.deal{background:var(--w);border-radius:18px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);transition:border-color .2s,box-shadow .2s}
.deal:hover{border-color:var(--y);box-shadow:0 10px 26px rgba(120,95,0,.1)}
.deal .nm{font-weight:700;font-size:15px;line-height:1.45;flex:1}
.deal .now{font-family:var(--en);font-size:26px;font-weight:600;line-height:1.1;background:linear-gradient(transparent 68%,var(--ys) 68%);align-self:flex-start;padding-right:4px}
.deal .ask{font-size:13px;font-weight:700;color:var(--gold)}

/* 困擾 */
.concerns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cc{border:1.5px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:3px;transition:border-color .2s,background .2s}
.cc:hover{border-color:var(--y);background:var(--yb)}
.cc-i{width:48px;height:48px;border-radius:50%;background:var(--ys);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.li{width:24px;height:24px;fill:none;stroke:var(--k);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cc b{font-size:16.5px}
.cc small{color:var(--g);font-size:13px}
.cc i{font-style:normal;font-size:13px;font-weight:700;margin-top:8px;color:var(--gold)}

/* 院長 */
.docrow{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:center}
.docpic{position:relative;border-radius:24px;overflow:hidden;background:#DCE0E7;aspect-ratio:4/4.8}
.docpic img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.badge{position:absolute;left:16px;bottom:16px;background:var(--y);border-radius:999px;padding:6px 14px;font-family:var(--en);font-weight:600;font-size:12.5px;letter-spacing:.06em}
.docname{font-size:clamp(26px,3vw,36px);font-weight:900;margin:6px 0 4px;line-height:1.25}
.docname small{font-size:15px;font-weight:500;color:var(--g);margin-left:6px}
.quote{font-size:17px;font-weight:500;margin:16px 0 22px;padding-left:16px;border-left:3px solid var(--y)}
.dstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.dstats div{background:var(--w);border-radius:16px;padding:14px;border:1px solid var(--line)}
.dstats b{display:block;font-family:var(--en);font-size:28px;font-weight:600;line-height:1.15}
.dstats span{font-size:12.5px;color:var(--g);line-height:1.4;display:block}
.ticks{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.ticks li{display:grid;grid-template-columns:22px 1fr;column-gap:12px}
.ticks li:before{content:"✓";grid-row:1/3;width:22px;height:22px;border-radius:50%;background:var(--y);font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:2px}
.ticks b{font-size:15px;line-height:1.5}
.ticks span{font-size:13px;color:var(--g)}

/* 環境 */
.env{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:220px 220px;gap:14px}
.env figure{margin:0;position:relative;border-radius:20px;overflow:hidden;background:var(--off)}
.env figure.e1{grid-row:1/3}
.env img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.env figure:hover img{transform:scale(1.04)}
.env figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:700}
.env figure:nth-child(n+6){display:none}
.why6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wy{background:var(--w);border:1.5px solid var(--y);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:6px}
.wn{font-family:var(--en);font-size:36px;font-weight:600;line-height:1;background:linear-gradient(transparent 62%,var(--y) 62%);align-self:flex-start;padding:0 4px;margin-bottom:8px}
.wy b{font-size:17.5px}
.wy p{margin:0;font-size:14px;color:#4A4943}
.ph{border-radius:20px;background:linear-gradient(135deg,var(--ys),#FFF0B0);display:flex;align-items:flex-end;padding:16px;color:#6E5A00;font-weight:700;font-size:14px;position:relative;overflow:hidden}
.ph.tall{height:180px;align-items:center;justify-content:center;font-family:var(--en);letter-spacing:.1em;font-size:12px}

/* 案例・好評 */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case{background:var(--w);border-radius:20px;padding:14px;border:1px solid var(--line)}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;position:relative}
.ba figure{margin:0;aspect-ratio:4/3;border-radius:12px;overflow:hidden;position:relative;background:var(--off)}
.ba img{width:100%;height:100%;object-fit:cover}
.ba span{position:absolute;left:8px;top:8px;font-size:11.5px;font-weight:700;background:var(--w);border-radius:999px;padding:1px 9px}
.ba figure:last-child span{background:var(--y)}
.ctrack{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px) / 3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.ctrack::-webkit-scrollbar{display:none}
.ctrack .case{scroll-snap-align:start}
.cnav{display:flex;gap:8px}
.cnav button{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--k);background:var(--w);font-size:22px;line-height:1}
.cnav button:hover{background:var(--y);border-color:var(--y)}
.case.sens .ba img{filter:blur(18px);transform:scale(1.1)}
.case.sens.shown .ba img{filter:none;transform:none}
.reveal{position:absolute;inset:0;margin:auto;height:36px;width:max-content;max-width:90%;border:none;border-radius:999px;background:var(--k);color:#fff;font-size:12.5px;font-weight:700;padding:0 16px}
.case.shown .reveal{display:none}
.case b{display:block;font-size:15px}
.case small{color:var(--g);font-size:12.5px}
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rv{border-radius:20px;padding:22px;border:1.5px solid var(--y);background:var(--w)}
.rv .stars{color:var(--y);letter-spacing:3px}
.rv p{margin:8px 0;font-size:14.5px}
.rv small{color:var(--g)}

/* FAQ */
.faq{display:grid;gap:10px}
.faq details{background:var(--w);border-radius:16px;border:1px solid var(--line);padding:0 20px}
.faq details[open]{border-color:var(--y)}
.faq summary{list-style:none;cursor:pointer;padding:16px 0;font-weight:700;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:24px;height:24px;border-radius:50%;background:var(--off);flex:none;position:relative}
.faq summary i:before,.faq summary i:after{content:"";position:absolute;left:7px;right:7px;top:11px;height:2px;background:var(--k)}
.faq summary i:after{transform:rotate(90deg);transition:transform .2s}
.faq details[open] summary i{background:var(--y)}
.faq details[open] summary i:after{transform:rotate(0)}
.faq p{margin:0 0 18px;color:#4A4943}

/* 內頁標題 */
.phero{position:relative;overflow:hidden;background:linear-gradient(105deg,#fff 35%,var(--ys) 100%);padding-block:clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}
.phero.withimg{background:#fff}
.phimg{position:absolute;right:0;top:0;bottom:0;width:48%;background-size:cover;background-position:22% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 35%);mask-image:linear-gradient(90deg,transparent 0%,#000 35%)}
.phero .wrap{position:relative;z-index:1}
.phero h1{font-size:clamp(30px,3.8vw,48px);font-weight:900;margin:8px 0 8px;line-height:1.2}
.phero p{margin:0;color:#4A4943;max-width:44em}
.phero .bm{position:absolute;right:-30px;bottom:-60px;width:300px;height:300px;--bm:rgba(247,198,0,.35);--bmc:transparent}
.phero.withimg .bm{display:none}

/* 關於 */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.branches{display:grid;gap:10px}
.br{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start;padding:12px 16px;border-radius:14px;background:var(--off)}
.br.hl{background:var(--ys)}
.br b{font-size:14px}
.br div{display:flex;flex-wrap:wrap;gap:6px}
.br span{font-size:13px;background:var(--w);border-radius:999px;padding:2px 10px}
.br span.me{background:var(--k);color:var(--y);font-weight:700}
.infogrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{background:var(--w);border-radius:20px;padding:22px;border:1px solid var(--line)}
.card h3{margin:0 0 10px;font-size:17px;font-weight:900}
.card p{margin:0}
.hours{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.hours li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:6px}
.hours b{font-family:var(--en);font-weight:600}
.team{display:grid;gap:10px}
.team div{display:grid;grid-template-columns:minmax(0,1fr) 90px 22px;gap:10px;align-items:center;font-size:13.5px}
.team i{height:8px;border-radius:999px;background:var(--off);position:relative;overflow:hidden}
.team i:after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--y);border-radius:999px}
.team b{font-family:var(--en);text-align:right}
.hl4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hlc{border:1.5px solid var(--y);border-radius:20px;padding:22px}
.hlc b{display:block;font-size:16.5px;margin-bottom:6px}
.hlc p{margin:0;font-size:13.5px;color:var(--g)}
.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kv div{background:var(--w);border-radius:16px;padding:16px 18px;border:1px solid var(--line)}
.kv span{display:block;font-size:12.5px;color:var(--g)}
.kv b{font-size:15px}
.docs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.docc b{display:block;font-size:13.5px;margin-top:8px;text-align:center}

/* 醫師頁 */
.dochero{background:linear-gradient(105deg,#fff 40%,var(--ys));padding-block:clamp(40px,5vw,72px);border-bottom:1px solid var(--line)}
.docpic.big{aspect-ratio:4/4.9}
.certs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cert{border:1.5px solid var(--y);border-radius:20px;padding:22px;background:var(--w)}
.cert .maker{display:inline-block;font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.12em;background:var(--k);color:var(--y);border-radius:999px;padding:3px 12px;margin-bottom:12px}
.cert b{display:block;font-size:16.5px;line-height:1.45}
.cert p{margin:6px 0 0;color:var(--g);font-size:13.5px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.tags span{background:var(--w);border:1.5px solid var(--y);border-radius:999px;padding:6px 16px;font-weight:500;font-size:14px}
.soc{margin:0;padding-left:1.4em;display:grid;gap:6px;columns:1}
.soc li{padding-left:4px}
.soc li::marker{font-family:var(--en);color:var(--gold);font-weight:600}

/* 價目表 */
.ptabs{position:sticky;top:74px;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);display:flex;gap:6px;overflow-x:auto;padding-block:10px;border-bottom:1px solid var(--line)}
.ptabs a{white-space:nowrap;font-size:13.5px;border:1px solid var(--line);border-radius:999px;padding:5px 14px;background:var(--w)}
.ptabs a.on,.ptabs a:hover{background:var(--k);color:#fff;border-color:var(--k)}
.evmain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.evc{position:relative;background:var(--w);border-radius:20px;padding:20px;border:1px solid var(--line)}
.evc.hot{border:2px solid var(--y);background:var(--yb)}
.evc .flag{position:absolute;right:16px;top:-11px;background:var(--k);color:var(--y);font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 10px}
.evn{display:block;font-size:16.5px;margin-bottom:10px}
.plist{display:grid;gap:0;background:var(--w);border-radius:20px;border:1px solid var(--line);overflow:hidden}
.prow{display:grid;grid-template-columns:minmax(200px,.9fr) minmax(0,1.6fr);gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);align-items:center}
.prow:last-child{border-bottom:none}
.pn{font-weight:700;font-size:15px;line-height:1.5}
.pn small{display:block;font-weight:400;color:var(--g);font-size:12.5px}
.opts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.evc .opts{justify-content:flex-start}
.opt{display:flex;align-items:baseline;gap:8px;background:var(--off);border-radius:12px;padding:6px 12px;flex-wrap:wrap}
.opt span{font-size:12.5px;color:var(--g)}
.opt s{font-family:var(--en);font-size:12.5px;color:var(--g2)}
.opt b{font-family:var(--en);font-size:16.5px;font-weight:600}
.opt em{font-style:normal;font-size:11.5px;background:var(--y);border-radius:999px;padding:0 8px}
.mx{overflow-x:auto;background:var(--w);border-radius:20px;border:1px solid var(--line);margin-bottom:16px}
.mx table{border-collapse:collapse;width:100%;min-width:760px;font-size:13.5px}
.mx th,.mx td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
.mx thead th{font-family:var(--en);font-weight:600;font-size:12.5px;background:var(--k);color:#fff;position:sticky;top:0}
.mx thead th:first-child{background:var(--k)}
.mx tbody th{text-align:left;font-weight:700;white-space:normal;min-width:180px;background:var(--w);position:sticky;left:0}
.mx td b{font-family:var(--en);font-weight:600;font-size:14.5px;display:block}
.mx td small{display:block;font-size:11px;color:var(--g)}
.mx td.na{color:#D2CFC5}
.mx tbody tr:hover td,.mx tbody tr:hover th{background:var(--yb)}
.mx tbody tr:last-child th,.mx tbody tr:last-child td{border-bottom:none}
ul.notes{margin:0;padding-left:1.2em;display:grid;gap:6px;color:#4A4943}

/* 療程 */
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.pills button,.pills a{border:1px solid var(--line);background:var(--w);border-radius:999px;padding:7px 16px;font-size:14px}
.pills .on{background:var(--k);color:#fff;border-color:var(--k)}
.tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tcard{display:grid;grid-template-columns:200px minmax(0,1fr);border-radius:22px;border:1px solid var(--line);overflow:hidden;background:var(--w);transition:border-color .2s}
.tcard:hover{border-color:var(--y)}
.timg{background:#F4F3EF;display:flex;align-items:center;justify-content:center;padding:14px}
.timg img{max-height:200px;object-fit:contain;border-radius:10px}
.tbody{padding:20px 22px;display:flex;flex-direction:column;gap:6px}
.tcat{align-self:flex-start;font-size:11.5px;font-weight:700;background:var(--ys);border-radius:999px;padding:2px 10px}
.tbody h3{margin:4px 0 0;font-family:var(--en);font-size:22px;font-weight:600;line-height:1.2}
.alias{margin:0;font-weight:700;font-size:14px;color:var(--gold)}
.tbody p{margin:0 0 8px;font-size:14px;color:#4A4943}
.tbody .row{margin-top:auto}

/* 指南 */
.gtabs{display:inline-flex;background:var(--off);border-radius:999px;padding:4px;margin-bottom:18px}
.gtabs a{padding:9px 26px;border-radius:999px;font-weight:700}
.gtabs a.on{background:var(--y)}
.admin{border:1.5px dashed #D9C98A;border-radius:14px;padding:12px 16px;margin-bottom:20px;font-weight:700;font-size:13.5px;color:#7A6200;background:var(--yb);display:flex;gap:6px 16px;flex-wrap:wrap}
.admin span{font-weight:400}
.agrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.acard{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--w);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.acard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(30,26,10,.08)}
.aimg{height:180px;background:#F4F3EF;display:flex;align-items:center;justify-content:center;position:relative}
.aimg img{max-height:160px;object-fit:contain}
.aimg.none{background:linear-gradient(135deg,var(--ys),#FFE680)}
.aimg.none .bm{width:90px;height:90px;--bm:rgba(255,255,255,.8);--bmc:transparent}
.aibadge{position:absolute;left:12px;top:12px;background:var(--k);color:var(--y);font-size:11px;font-weight:700;border-radius:999px;padding:2px 10px}
.abody{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}
.abody b{font-size:16px;line-height:1.45}
.abody p{margin:0;font-size:13.5px;color:var(--g)}
.abody small{font-family:var(--en);color:var(--g2);font-size:12px}
.art{padding-block:clamp(36px,5vw,64px)}
.art h1{font-size:clamp(28px,3.4vw,40px);font-weight:900;line-height:1.3;margin:8px 0 10px}
.art p{font-size:16.5px;line-height:1.9}
.artimg{border-radius:20px;background:#F4F3EF;margin:20px 0;max-height:320px;object-fit:contain;width:100%;padding:16px}
.backl{display:inline-block;font-weight:700;margin-bottom:18px;color:var(--gold)}
.artcta{margin-top:32px;background:var(--yb);border:1.5px solid var(--y);border-radius:20px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}

/* 聯絡 */
.ci-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ci{background:var(--w);border-radius:18px;border:1px solid var(--line);padding:14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;transition:border-color .2s}
.ci:hover{border-color:var(--y)}
.ci img,.ci .noqr{width:104px;height:104px;border-radius:10px}
.ci .noqr{background:var(--off);display:flex;align-items:center;justify-content:center}
.ci .noqr .ico{width:46px;height:46px}
.ci-t{display:flex;align-items:center;gap:6px}
.ci-t b{font-size:14px}
.ci span{font-size:12.5px;color:var(--g);word-break:break-all}
.ci.big img,.ci.big .noqr{width:140px;height:140px}
.collab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.cbox{border-radius:24px;padding:clamp(22px,3vw,34px);border:1.5px solid var(--line);background:var(--w)}
.cbox.y{background:var(--yb);border-color:var(--y)}
.cbox h2{margin:6px 0 10px;font-size:26px;font-weight:900}
.cbox p{margin:0 0 14px;color:#4A4943}
.steps{counter-reset:s;list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}
.steps li{counter-increment:s;display:flex;gap:10px;align-items:center;font-weight:500}
.steps li:before{content:counter(s);font-family:var(--en);font-weight:600;width:26px;height:26px;border-radius:50%;background:var(--y);display:flex;align-items:center;justify-content:center;flex:none;font-size:13px}
.cbox .btn{margin-top:6px}
.rewards{display:grid;gap:8px}
.rewards div{background:var(--w);border-radius:14px;padding:10px 14px}
.rewards span{display:block;font-size:12px;color:var(--g)}

/* ---------- 頁尾 ---------- */
#ftr{background:var(--off);border-top:4px solid var(--y);padding-top:clamp(40px,5vw,64px)}
.f-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,56px)}
.f-map{display:grid;gap:12px}
.mapbox{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9.5;background:#EEF0EA}
.mapbox svg{width:100%;height:100%;display:block;font-family:var(--f)}
.mapframe{position:absolute;inset:0}
.mapframe:empty{display:none}
.mapframe iframe{width:100%;height:100%;border:0}
.f-info h4,.f-contact h4{font-size:13px;letter-spacing:.08em;color:var(--g);margin:18px 0 6px;font-weight:700}
.f-info .logo{margin-bottom:6px}
.f-info .logo small{font-size:12px}
.f-info p{margin:0}
.f-info .btn{margin-top:18px}
.f-contact{padding-block:30px 10px}
.f-contact .ci{padding:10px;background:var(--w)}
.f-contact .ci img,.f-contact .ci .noqr{width:92px;height:92px}
.f-bottom{border-top:1px solid #E2DFD5;margin-top:20px;padding-block:22px 30px;font-size:12.5px;color:var(--g)}
.f-bottom nav{display:flex;flex-wrap:wrap;gap:6px 22px;margin-bottom:12px;font-weight:700;color:var(--k);font-size:13.5px}
.f-bottom p{margin:0 0 6px;max-width:90ch}
.f-bottom .copy{font-family:var(--en);color:var(--g2)}

/* 彈窗・原型工具 */
.modal[hidden]{display:none!important}
.modal{position:fixed;inset:0;z-index:60;background:rgba(20,20,18,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.mbox{background:var(--w);border-radius:22px;padding:26px;max-width:420px;width:100%;text-align:center;position:relative;max-height:90vh;overflow:auto}
.mbox .x{position:absolute;right:12px;top:10px;border:none;background:none;font-size:22px}
.wxid{font-family:var(--en);font-size:24px;font-weight:600;background:var(--ys);border-radius:12px;padding:10px;margin:12px 0}
.mbox.dev{max-width:760px;text-align:left;font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;font-size:14.5px}
.mbox.dev h3{margin:0 0 4px;font-size:20px}
.mbox.dev h4{margin:18px 0 6px;font-size:15px;display:flex;gap:8px;align-items:center}
.mbox.dev h4:before{content:"";width:4px;height:16px;background:var(--y);border-radius:2px}
.mbox.dev ul{margin:0;padding-left:1.2em;display:grid;gap:4px}
.mbox.dev table{border-collapse:collapse;width:100%;font-size:13.5px;margin-top:6px}
.mbox.dev td,.mbox.dev th{border:1px solid var(--line);padding:6px 10px;text-align:left}
.mbox.dev th{background:var(--off)}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:var(--k);color:#fff;border-radius:999px;padding:8px 18px;font-size:13.5px;opacity:0;transition:.25s;z-index:70;pointer-events:none}
#toast.on{opacity:1;transform:translateX(-50%)}
.protobar{position:fixed;left:16px;bottom:16px;z-index:36;display:flex;gap:6px;font-family:"Noto Sans SC","Microsoft YaHei",sans-serif}
.protobar button{border:1px solid #D9C98A;background:var(--yb);color:#6E5A00;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.08)}

/* ---------- 響應式 ---------- */
@media (max-width:1100px){
  .mainnav a{padding:8px 9px;font-size:13.5px}
  .hide-m{display:none!important}
  .deals,.concerns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ci-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tgrid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .hdr-in{height:64px;gap:10px}
  .mainnav{position:fixed;left:0;right:0;top:64px;bottom:0;background:var(--w);flex-direction:column;justify-content:flex-start;padding:20px;gap:6px;display:none;z-index:45}
  body.menu-open .mainnav{display:flex}
  .mainnav a{font-size:18px;padding:12px 16px}
  .burger{display:block}
  body.menu-open .burger i{opacity:0}
  body.menu-open .burger:before{top:19px;transform:rotate(45deg)}
  body.menu-open .burger:after{top:19px;transform:rotate(-45deg)}
  .logo small{display:none}
  .langs button{padding:4px 7px;font-size:11.5px}
  .ptabs{top:64px}
  .phero .bm{width:150px;height:150px;right:-20px;bottom:-30px}
  .phimg{width:100%;opacity:.25}
  #dock{display:none}
  #mbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:38;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
  #mbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;padding:4px 0}
  #mbar a.more{justify-content:center;background:var(--y);border-radius:12px;margin:4px}
  body{padding-bottom:64px}
  .protobar{bottom:76px}
  .hero{height:auto}
  .track{position:relative;height:640px}
  .s-brand,.s-doc,.s-event{grid-template-columns:minmax(0,1fr)}
  .s-brand{grid-template-rows:240px auto}
  .s-brand .s-img{grid-row:1}
  .s-brand .s-img:before{background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 30%)}
  .s-brand .s-copy{justify-self:stretch;padding:8px 20px 60px;gap:10px}
  .s-event{align-content:center;padding:28px 20px 60px}
  .s-prices{grid-template-columns:1fr 1fr}
  .s-doc{grid-template-rows:300px auto}
  .s-doc .s-copy{padding:10px 20px 60px}
  .arr{display:none}
  .follow-icons small{display:none}
  .docrow,.split,.collab,.f-top{grid-template-columns:minmax(0,1fr)}
  .docpic{max-width:420px}
  .infogrid,.hl4,.docs,.certs{grid-template-columns:minmax(0,1fr)}
  .env{grid-template-columns:1fr 1fr;grid-template-rows:220px 140px 140px}
  .env figure.e1{grid-column:1/3;grid-row:auto}
  .why6{grid-template-columns:minmax(0,1fr)}
  .ctrack{grid-auto-columns:82%}
  .cases,.reviews,.agrid,.evmain{grid-template-columns:minmax(0,1fr)}
  .prow{grid-template-columns:minmax(0,1fr);gap:8px}
  .opts{justify-content:flex-start}
  .tcard{grid-template-columns:minmax(0,1fr)}
  .timg img{max-height:170px}
  .kv{grid-template-columns:minmax(0,1fr)}
  .br{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .concerns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cc{padding:14px}
  .deals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .deal{padding:14px}
  .deal .nm{font-size:13.5px}
  .deal .now{font-size:20px}
  .follow-in{flex-direction:column;align-items:flex-start;gap:10px}
  .follow-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
  .follow-icons a{padding:4px;gap:6px;min-width:0}
  .follow-icons b{font-size:12px}
  .track{height:620px}
  .env{grid-template-rows:200px 110px 110px}
  .ci-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dstats{grid-template-columns:minmax(0,1fr)}
  .s-prices{grid-template-columns:1fr 1fr;gap:8px}
  .s-prices div{padding:10px 12px}
  .s-prices b{font-size:18px}
  .sh h2 small{display:block;margin:2px 0 0}
}
html,body{overflow-x:hidden}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
