@font-face{font-family:"Noto TC";src:url(../assets/fonts/noto-tc.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Barlow C";src:url(../assets/fonts/barlow-c.woff2) format("woff2");font-weight:600;font-display:swap}

:root{--bg:#fbf7f6;--band:#f1e4e3;--ink:#40282d;--muted:#6e5358;--line:#dcc3c3;--mark:#9a4459;--cta:#9a4459;--cta-ink:#fff;--strong:#6f3244;--strong-ink:#fbefef;--plate:#fbf7f6;--blend:multiply;--foot:#40282d;--foot-ink:#eedfdf}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.8 "Noto TC","PingFang TC","Microsoft JhengHei",sans-serif;letter-spacing:.02em}
img,svg{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-underline-offset:.2em}
h1,h2{font-weight:600;line-height:1.28;letter-spacing:.02em}
h2{font-size:clamp(30px,4.4vw,56px)}
h3{font-size:21px;font-weight:700;line-height:1.4}
.num{font-family:"Barlow C","Noto TC",sans-serif;font-weight:600;letter-spacing:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
:focus-visible{outline:3px solid var(--mark);outline-offset:2px}
.plate{background:var(--plate)}
.plate img{mix-blend-mode:var(--blend)}

.btn{border-radius:6px;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 24px;border:2px solid transparent;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;background:none;color:inherit}
.btn-cta{background:var(--cta);color:var(--cta-ink)}
.btn-cta:hover{filter:brightness(.92)}
.btn-line{border-color:var(--ink);font-weight:500;min-height:46px;padding:6px 10px;font-size:15px}
.btn-line:hover{background:var(--ink);color:var(--bg)}
.btn-wide{width:100%}
.btn[disabled]{background:var(--line);color:var(--ink);cursor:not-allowed}

/* 頁首 */
.site-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:32px;padding:10px clamp(16px,4vw,56px);background:#fff;color:#0f2a3d;border-bottom:1px solid #d9dfe3}
.brand img{height:40px;width:auto}
.site-nav{display:flex;gap:24px;margin-left:auto;font-size:15px}
.site-nav a{text-decoration:none}
.site-nav a:hover{text-decoration:underline}
.cart-toggle{border-radius:6px;display:flex;align-items:center;gap:8px;padding:6px 14px;border:2px solid #0f2a3d;background:none;color:inherit;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.cart-count{min-width:24px;padding:0 6px;background:#0f2a3d;color:#fff;text-align:center}

/* 購買區 */
.buy{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0 clamp(24px,5vw,72px);padding:clamp(24px,4vw,56px) clamp(16px,4vw,56px);max-width:1400px;margin:auto}
.stage{position:relative;overflow:hidden}
.stage img{position:relative;width:100%}
.thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px}
.thumbs button{padding:0;border:2px solid var(--line);cursor:pointer;aspect-ratio:1;overflow:hidden}
.thumbs button.is-on{border-color:var(--mark)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.summary{align-self:center;padding-top:16px}
h1{font-size:clamp(32px,4vw,54px);margin-bottom:12px}
.rating{font-size:15px;margin-bottom:12px}
.rating a{margin-left:8px}
.stars{color:var(--mark);letter-spacing:.08em}
.stars .half{opacity:.5}
.price{font-size:17px;margin-bottom:14px}
.amount{font-size:clamp(60px,7vw,92px);line-height:1;color:var(--mark);margin-right:10px}
.meta{font-size:13px;margin:0 0 14px;opacity:.85}
.meta div{display:flex;gap:10px}
.meta dt{font-weight:700;flex:none}
.buy-row{display:flex;gap:10px;margin-bottom:10px}
.qty input{border-radius:6px;width:84px;height:52px;border:2px solid var(--ink);background:transparent;color:inherit;font:600 22px "Barlow C",sans-serif;text-align:center}
.buy-row .btn-cta{flex:1;font-size:19px}
.alt-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.one-not-pair{display:inline-block;padding:2px 10px;margin-bottom:16px;background:var(--strong);color:var(--strong-ink);font-weight:700;font-size:15px}
.folds{margin-top:18px;border-bottom:1px solid var(--line)}
.fold{border-top:1px solid var(--line)}
.fold summary{display:flex;align-items:center;gap:12px;min-height:50px;padding:8px 30px 8px 0;position:relative;cursor:pointer;list-style:none;font-weight:700;font-size:16px;line-height:1.45}
.fold summary::-webkit-details-marker{display:none}
.fold summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--mark)}
.fold[open] summary::after{content:"\2212"}
.fold summary svg{width:26px;flex:none;color:var(--mark)}
.fold>ul,.fold>p{padding:0 0 14px 38px;font-size:15px;line-height:1.75;margin:0}
.fold:has(summary:not(:has(svg)))>ul{padding-left:0}
.fold-big{border-top:0;border-bottom:1px solid var(--ink)}
.fold-big summary h3{font-size:21px;font-weight:600}
.fold-big>p{padding-left:0;margin-bottom:0}
.fold-foot,.fold-foot summary{border-color:color-mix(in srgb,var(--foot-ink) 30%,transparent)}
.fold-foot summary{font-size:15px;min-height:44px}
.fold-foot summary::after{color:inherit}
.fold-foot>p{padding-left:0;margin-bottom:.8em}
.fold-foot>ul{padding-left:0;font-size:14px}
.oversea{margin-top:10px;font-size:14px;color:var(--muted)}

/* 德國製造 */
.origin{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(24px,6vw,96px);padding:clamp(28px,5vw,56px) 16px;background:#fff;color:#000;border-block:1px solid #d9dfe3}
.flag-stamp{display:grid;grid-template-columns:auto auto;gap:6px 12px;align-items:center;font:600 clamp(34px,5vw,56px)/1 "Barlow C",sans-serif;letter-spacing:.01em}
.flag-stamp i{width:1em;height:1em;display:block}
.flag-stamp .b{background:#000}.flag-stamp .r{background:#f00}.flag-stamp .y{background:#ffed00}
.flag-stamp b{font:800 .86em "Noto TC",sans-serif}
.origin-logo img{width:min(440px,80vw)}

/* 左右分割：照片邊緣斜 15°，對應拇趾外翻的判定角度 */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:clamp(440px,48vw,680px)}
.band{background:var(--band)}
.split-text{align-self:center;padding:clamp(32px,6vw,88px) clamp(20px,6vw,96px)}
.split-text h2{margin-bottom:.7em}
.split-text p{max-width:32em;margin-bottom:1em;font-size:18px}
.split-text h3{margin-top:1.2em;color:var(--mark)}
.split-img{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.split-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-img.plate img{object-fit:contain}
.lean-r .split-img{clip-path:polygon(13.4% 0,100% 0,100% 100%,0 100%)}
.lean-l .split-img{clip-path:polygon(0 0,86.6% 0,100% 100%,0 100%)}
.steps li{font-size:clamp(18px,1.9vw,23px);font-weight:500;line-height:1.55;padding:.7em 0;border-top:1px solid var(--line)}
.note{font-size:15px!important;color:var(--muted);margin-top:1em}
.big-inline{font-size:1.5em;color:var(--mark);margin:0 .15em}
.callout{padding:14px 18px;border-left:6px solid var(--mark);background:var(--band)}
.h-quiet{font-size:clamp(25px,3vw,38px);margin-bottom:1em}
.h-quiet:last-child{margin-bottom:0}
.xfig svg{position:absolute;inset:0;width:100%;height:100%}

.statement{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--strong);color:var(--strong-ink);overflow:hidden}
.statement figure{position:relative;height:100%;min-height:clamp(320px,34vw,500px);clip-path:polygon(0 0,86.6% 0,100% 100%,0 100%)}
.statement img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.statement h2{padding:clamp(40px,8vw,112px) clamp(20px,5vw,72px);font-size:clamp(34px,5.4vw,76px)}
.strong{background:var(--strong);color:var(--strong-ink)}

/* 日夜 */
.dn-sky{display:grid;grid-template-columns:1fr 1fr}
.dn-sky svg{display:block;width:100%;height:clamp(150px,24vw,320px)}
.dn-d{background:var(--band)}.dn-n{background:var(--strong)}
.dn-sun{fill:var(--mark)}.dn-sun-ray{stroke:var(--mark);stroke-linecap:square}
.dn-moon{fill:var(--strong-ink)}
.dn-text{padding:clamp(28px,5vw,64px) clamp(20px,6vw,96px)}
.dn-text h2{margin-bottom:.5em}
.dn-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:18px;font-size:clamp(18px,2vw,23px);font-weight:600}
.dn-hours{padding-top:14px;border-top:3px solid var(--ink)}

/* 結構 */
.anatomy{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;max-width:1400px;margin:auto;padding:clamp(24px,4vw,48px) clamp(16px,4vw,56px)}
.parts{height:100%;position:relative;display:grid;grid-template-rows:repeat(3,1fr);gap:0}
.parts div{padding:6px 0 12px 18px}
.parts h2{font-size:clamp(22px,2.6vw,32px);color:var(--mark)}
.parts p{font-size:15px}

/* 八大優勢 */
.eight{padding:clamp(40px,6vw,88px) clamp(16px,4vw,56px)}
.eight h2{margin-bottom:.8em;max-width:1288px;margin-inline:auto}
.eight-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;align-items:start;max-width:1288px;margin:auto}

/* X 光與證書 */
.xray{background:#101214;color:#fff;padding:clamp(40px,6vw,80px) clamp(16px,4vw,56px)}
.xray h2{max-width:1288px;margin:0 auto .7em}
.xray-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:1288px;margin:auto}
.certs{padding:clamp(40px,6vw,88px) clamp(16px,4vw,56px)}
.certs h2{max-width:1288px;margin:0 auto .7em}
.cert-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,2vw,24px);max-width:1288px;margin:auto}

/* 影片 */
.video{padding:clamp(40px,6vw,80px) clamp(16px,4vw,56px)}
.video h2{margin-bottom:.6em}
.yt{position:relative;display:block;max-width:760px;text-decoration:none;color:#fff;background:#000;aspect-ratio:16/9;overflow:hidden}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.85}
.yt svg{position:absolute;left:50%;top:50%;width:68px;transform:translate(-50%,-50%)}
.yt-title{position:absolute;left:14px;top:10px;font-weight:600;text-shadow:0 1px 2px #000}

.license{display:grid;grid-template-columns:1fr minmax(0,460px);gap:clamp(24px,5vw,72px);align-items:center;max-width:1288px;margin:auto;padding:clamp(40px,6vw,80px) clamp(16px,4vw,56px)}
.license h2{margin-bottom:.6em}
.license img{border:1px solid var(--line)}

/* 頁尾 */
.site-foot{background:var(--foot);color:var(--foot-ink);padding:clamp(40px,5vw,64px) clamp(16px,4vw,56px) 110px;font-size:14px;line-height:1.85}
.foot-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(24px,4vw,56px);max-width:1288px;margin:auto}
.site-foot h2{font-size:18px;font-weight:700;margin:1.4em 0 .5em}
.site-foot section>h2:first-child{margin-top:0}
.news li{padding:6px 0;border-top:1px solid color-mix(in srgb,var(--foot-ink) 25%,transparent)}
.news a{text-decoration:none}.news a:hover{text-decoration:underline}
.news time{display:block;font-size:12px;opacity:.75}
.tos p{margin-bottom:.8em;font-size:13px}

.help-bar{position:fixed;z-index:15;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:18px;padding:6px 76px 6px 16px;background:var(--bg);border-top:2px solid var(--ink);font-size:15px}
.help-bar .btn{min-height:40px;padding:4px 18px}

/* 購物車 */
.cart{margin:0 0 0 auto;width:min(440px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border:0;padding:20px;background:var(--bg);color:var(--ink)}
.cart::backdrop{background:rgba(0,0,0,.5)}
.cart[open]{animation:slide .22s ease-out}
@keyframes slide{from{transform:translateX(40px);opacity:0}}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:3px solid var(--ink);margin-bottom:16px}
.cart-head h2{font-size:26px}
.cart-x{width:44px;height:44px;border:0;background:none;color:inherit;font-size:30px;line-height:1;cursor:pointer}
.cart-empty p{margin-bottom:14px}
.line{display:grid;grid-template-columns:88px 1fr auto;gap:12px;align-items:start;padding-bottom:16px;border-bottom:1px solid var(--line)}
.line img{background:#fff}
.line-name{font-weight:700;line-height:1.4}
.line-unit{font-size:14px;color:var(--muted)}
.line-rm{border:0;background:none;color:var(--muted);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer;min-height:44px}
.stepper{display:inline-flex;align-items:center;margin-top:6px;border:2px solid var(--ink)}
.stepper button{width:44px;height:44px;border:0;background:none;color:inherit;font-size:22px;cursor:pointer}
.stepper output{min-width:36px;text-align:center;font-weight:700}
.total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0}
.total strong{font-size:44px;line-height:1;color:var(--mark)}
.pay-pick{border:0;margin:0 0 16px;padding:12px 0 0;border-top:1px solid var(--line);font-size:15px}
.pay-pick legend{padding:0;font-weight:700}
.pay-pick label{display:flex;gap:10px;align-items:center;min-height:40px}
.pay-pick input{accent-color:var(--mark);width:18px;height:18px;flex:none}


@media (max-width:900px){
  .site-nav{display:none}
  .cart-toggle{margin-left:auto}
  .site-head{gap:12px}
  .brand img{height:32px}
  .buy{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;min-height:0}
  .split .split-img{order:-1;clip-path:none;height:auto;aspect-ratio:828/620}
  .statement{grid-template-columns:1fr}
  .statement figure{clip-path:none;aspect-ratio:3/2;min-height:0}
  .anatomy{grid-template-columns:1fr}
  .parts{grid-template-rows:none}
  .parts div{padding-left:0;border-top:1px solid var(--line);padding-top:10px}
  .eight-grid{grid-template-columns:1fr}
  .dn-pair{grid-template-columns:1fr;gap:6px}
  .foot-grid{grid-template-columns:1fr}
  .license{grid-template-columns:1fr}
  .help-bar{font-size:12.5px;padding-right:60px;justify-content:flex-start;gap:8px}
  .help-bar a{line-height:1.3}
  .help-bar .btn{flex:none;padding:4px 10px}
  .help-bar{padding-right:12px}
}
@media (max-width:560px){
  .eight-grid{grid-template-columns:1fr}
  .cert-row{grid-template-columns:1fr}
  body{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cart[open]{animation:none}
}


[data-style="3"] body{letter-spacing:.03em}
[data-style="3"] h1,[data-style="3"] h2{font-weight:700}
[data-style="3"] .dial{display:none}
[data-style="3"] .stage{border-radius:40px;background:var(--band)}
[data-style="3"] .stage img{mix-blend-mode:var(--blend)}
[data-style="3"] .thumbs button{border-radius:50%;background:var(--plate)}
[data-style="3"] .btn,[data-style="3"] .cart-toggle,[data-style="3"] .one-not-pair,[data-style="3"] .qty input,[data-style="3"] .stepper,[data-style="3"] .cart-count{border-radius:999px}
[data-style="3"] .one-not-pair{background:var(--band);color:var(--ink)}
[data-style="3"] .folds{border:0}
[data-style="3"] .fold{border:0;margin-bottom:8px;padding:0 18px;background:var(--band);border-radius:26px}
[data-style="3"] .fold-foot{background:color-mix(in srgb,var(--foot-ink) 12%,transparent)}
[data-style="3"] .origin{border:0}
[data-style="3"] .split{margin:0 clamp(10px,2vw,28px) 24px;border-radius:48px;overflow:hidden;min-height:clamp(420px,42vw,600px)}
[data-style="3"] .lean-r .split-img,[data-style="3"] .lean-l .split-img{clip-path:circle(43% at 50% 50%)}
[data-style="3"] .steps li{border:0;background:var(--bg);border-radius:22px;margin-bottom:10px;padding:.7em 1em}
[data-style="3"] .callout{border:0;border-radius:24px}
[data-style="3"] .statement{margin:0 clamp(10px,2vw,28px) 24px;border-radius:48px}
[data-style="3"] .statement figure{clip-path:circle(44% at 50% 50%);margin:16px}
[data-style="3"] .dn-sky{margin:0 clamp(10px,2vw,28px);border-radius:48px;overflow:hidden}
[data-style="3"] .anatomy figure{border-radius:36px;overflow:hidden}
[data-style="3"] .eight,[data-style="3"] .certs{margin:0 clamp(10px,2vw,28px) 24px;border-radius:48px}
[data-style="3"] .fold-big{background:var(--bg);border:0;padding:0 22px;margin-bottom:10px}
[data-style="3"] .xray{margin:0 clamp(10px,2vw,28px) 24px;border-radius:48px}
[data-style="3"] .xray-pair img,[data-style="3"] .cert-row img{border-radius:18px}
[data-style="3"] .video{margin:0 clamp(10px,2vw,28px) 24px;border-radius:48px}
[data-style="3"] .yt{border-radius:28px}
[data-style="3"] .site-foot{border-radius:48px 48px 0 0}


@media (max-width:900px){
  [data-style="3"] .split{min-height:0}
  [data-style="3"] .lean-r .split-img,[data-style="3"] .lean-l .split-img{clip-path:circle(48% at 50% 50%);aspect-ratio:1}
  [data-style="3"] .split,[data-style="3"] .statement,[data-style="3"] .eight,[data-style="3"] .certs,[data-style="3"] .xray,[data-style="3"] .video{border-radius:30px}
  [data-style="3"] .statement figure{aspect-ratio:1;margin:12px}
  [data-style="3"] .statement figure{width:calc(100% - 24px);height:auto;margin:12px auto}
}

/* 證書與 X 光的標籤：改成 HTML，隨配色變化 */
.cert-row a{display:flex;flex-direction:column;background:#fff;text-decoration:none;overflow:hidden}
.cert-tag{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:12px 14px;background:var(--strong);color:var(--strong-ink);font-size:clamp(13px,1.15vw,15px);line-height:1.45}
.cert-tag b{display:block;font-size:1.3em;font-weight:600}
.cert-tag img{flex:none;width:92px;padding:5px;background:#fff;border-radius:4px}
.xr{position:relative;display:block}
.xr-tag{position:absolute;display:flex;align-items:center;justify-content:center;background:var(--cta);color:var(--cta-ink);font-weight:600;font-size:clamp(11px,1.7vw,24px);line-height:1;border-radius:4px}
.xfig .mark{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.anatomy-fig{position:relative}
.parts{align-self:stretch}
.parts div{display:flex;flex-direction:column;justify-content:center}
@media (min-width:901px){.anatomy{align-items:stretch}.anatomy-fig{align-self:start}.parts{aspect-ratio:auto;height:auto}}
.mark-narrow{display:none}
@media (max-width:900px){.mark-wide{display:none}.mark-narrow{display:block}}


/* ===== 內頁、結帳、選單 ===== */
html{scroll-padding-top:90px}
.site-nav{gap:18px;flex-wrap:wrap}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;cursor:pointer;padding:6px 12px;border:2px solid #0f2a3d;border-radius:999px;font-size:15px;font-weight:700}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;left:0;right:0;top:100%;display:grid;background:#fff;border-bottom:2px solid #0f2a3d;padding:6px 20px 12px}
.menu nav a{padding:10px 0;text-decoration:none;border-bottom:1px solid #e6dcdc}
@media (max-width:1100px){.site-nav{display:none}.menu{display:block}.cart-toggle{margin-left:0}}

.page{max-width:860px;margin:auto;padding:clamp(24px,5vw,56px) 18px clamp(40px,6vw,80px)}
.page h1{font-size:clamp(30px,4.6vw,48px);margin-bottom:.7em}
.page .h-article{font-size:clamp(24px,3.4vw,36px);margin-bottom:.3em}
.prose{font-size:17px}
.prose p{margin:0 0 1em;overflow-wrap:anywhere}
.prose h2{font-size:24px;margin:1.3em 0 .5em}
.prose h3{font-size:20px;margin:1.2em 0 .4em;color:var(--mark)}
.prose ul,.prose ol{margin:0 0 1em;padding-left:1.4em;list-style:disc}
.prose img{border-radius:18px;margin:6px auto}
.prose a{color:var(--mark)}
.lead{font-size:18px}
.page-cta{margin-top:28px;text-align:center}
.crumb{font-size:14px;margin-bottom:10px}.crumb a{color:var(--mark)}
.meta-date{color:var(--muted);font-size:14px;margin-bottom:1.4em}
.fold-body{padding:0 0 16px;font-size:16px}
.fold-body p{margin:0 0 .8em}
.fold-big summary h2.q{font-size:18px;font-weight:600;line-height:1.45;margin:0}
.page-faq .fold-big{background:var(--band);padding:0 20px;margin-bottom:10px;border:0;border-radius:24px}
.page-faq .fold-big .fold-body img{max-width:min(100%,420px)}
.news-list{margin:0;padding:0;list-style:none}
.news-list li{padding:14px 0;border-bottom:1px solid var(--line)}
.news-list a{color:inherit}
.news-list time{display:block;color:var(--muted);font-size:13px}
.video-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}
.yt-page{border-radius:24px;max-width:none}

/* 表單與結帳 */
.page-shop{max-width:680px}
.shop-card{background:#fff;border-radius:28px;padding:clamp(16px,3.4vw,26px);margin-bottom:16px}
.shop-card h2{font-size:21px;font-weight:600;margin-bottom:12px}
.co-item{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}
.co-item .line-unit{margin-bottom:0}
.field{display:block;margin-bottom:14px;font-weight:600;font-size:15px}
.field small{display:block;font-weight:400;color:var(--muted)}
.field input,.field textarea{display:block;width:100%;min-height:48px;margin-top:4px;padding:10px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--bg);color:inherit;font:inherit;font-weight:400}
.field input:focus,.field textarea:focus{border-color:var(--mark)}
.field-error,.form-error{display:block;color:#a01c2c;font-size:14px;font-weight:600;margin-top:4px}
.field-error:empty{display:none}
.form-error{padding:10px 14px;background:#fdecec;border-radius:14px;margin:0 0 12px}
.form-ok{padding:10px 14px;background:var(--band);border-radius:14px;margin:0 0 12px;font-weight:600}
.method-list{display:grid;gap:8px}
.method-list label{display:flex;gap:12px;align-items:center;min-height:56px;padding:8px 16px;border:1.5px solid var(--line);border-radius:18px;cursor:pointer}
.method-list label:has(input:checked){border-color:var(--mark);background:var(--band)}
.method-list label.is-off{opacity:.5;cursor:not-allowed}
.method-list input{width:20px;height:20px;flex:none;accent-color:var(--mark)}
.method-list span{font-weight:600;line-height:1.35}
.method-list small{display:block;font-weight:400;font-size:13px;color:var(--muted)}
.store-box{margin-top:12px;padding:14px;background:var(--band);border-radius:18px}
.store-box p{margin:0 0 10px}
.store-box .btn-line{border-radius:999px;background:#fff}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn-submit{min-height:60px;font-size:20px;border-radius:999px}
.btn[disabled]{opacity:.65;cursor:progress}
.note-small{margin-top:12px;font-size:13px;color:var(--muted);text-align:center}
.order-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}.order-dl dt{color:var(--muted)}.order-dl dd{margin:0;font-weight:600}
.empty-note{padding:16px;background:var(--band);border-radius:18px}
.contact-list{padding-left:1.2em;list-style:disc}
.page-shop a{color:var(--mark)}
.page-shop a.btn{color:var(--cta-ink)}
[hidden]{display:none!important}
@media (max-width:900px){.help-bar{padding-right:12px}}

/* 定案版圖片：全部是實際裁好的圖檔，比例固定，不用 clip-path 與 object-fit 裁切 */
.stage,.thumbs button,.split-img,.statement figure,.anatomy figure{background:none!important;clip-path:none!important;overflow:visible!important;aspect-ratio:auto!important}
.stage{border-radius:32px!important;overflow:hidden!important;background:#fff!important}
.stage img,.thumbs img,.split-img img,.statement img,.anatomy img{position:static!important;inset:auto!important;display:block;width:100%!important;height:auto!important;max-width:100%;object-fit:fill!important;mix-blend-mode:normal!important}
.thumbs button{border:2px solid var(--line)!important;border-radius:50%!important;overflow:hidden!important;background:#fff!important;padding:0}
.thumbs button.is-on{border-color:var(--mark)!important}
.split{align-items:center!important;min-height:0!important}
.split-img{position:relative;width:min(100% - 32px,560px);height:auto!important;margin:clamp(16px,3vw,40px) auto!important}
.xfig{position:relative}
.xfig>svg{position:absolute;inset:0;width:100%;height:100%}
.statement{align-items:center}
.statement figure{position:relative;width:min(100% - 32px,440px);height:auto!important;min-height:0!important;margin:clamp(16px,3vw,32px) auto!important}
.anatomy{align-items:stretch!important}
.anatomy-fig{align-self:start;position:relative}
.anatomy .parts{height:100%}
@media (max-width:900px){.anatomy .parts{height:auto}}
.price .per{font-size:20px;font-weight:600;color:var(--mark);margin-right:6px}
.video-one{margin-top:20px}.video-one .yt-page{max-width:none}

/* 耗材 */
.page-kit{max-width:1040px}
.kit-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}
.kit-photo{width:100%;height:auto;border-radius:28px}
.kit-text{margin-top:18px;font-size:16px}
.ship-line{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin:10px 0 0}
.co-item+.co-item{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.co-item[hidden]{display:none!important}
.line+.line{margin-top:14px}
@media (max-width:760px){.kit-grid{grid-template-columns:1fr}}

/* 影片 */
.yt-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,20px);max-width:1120px}
.yt-grid .yt{display:block;position:relative;aspect-ratio:auto;max-width:none;border-radius:20px;overflow:hidden;background:#000}
.yt-grid .yt img{position:static;width:100%;height:auto;opacity:1;object-fit:fill}
.yt-grid .yt svg{position:absolute;left:50%;top:50%;width:64px;transform:translate(-50%,-50%)}
@media (max-width:560px){.yt-grid{grid-template-columns:1fr}}

/* 中文換行：避免最後一行只剩一兩個字 */
h1,h2,h3,p,li,summary,figcaption,.callout,.xr-tag,.cert-tag{text-wrap:balance}
.xr-tag{white-space:nowrap}
.statement.strong h2{padding-inline:clamp(16px,2.5vw,40px);font-size:min(var(--statement-max,69px),5.2vw)}
@media (max-width:760px){.statement.strong h2{font-size:clamp(30px,9vw,48px)}}
@media (min-width:761px) and (max-width:1180px){.cert-tag{font-size:13px;word-break:keep-all}}
.map-embed{display:block;width:100%;aspect-ratio:16/10;min-height:320px;border:0;border-radius:18px;margin:14px 0 6px}
/* 內頁長文：斷在標點，不用平均換行 */
.prose p,.prose li{text-wrap:pretty;line-break:strict}
@media (min-width:761px){.cl{display:inline-block;max-width:100%;text-wrap:balance}}
.page-about .prose{max-width:44em}
.page-about .prose img{max-width:min(100%,640px);margin:18px 0 8px}
.page-about .prose p:has(img)+p{font-size:15px}
.xfig img{border-radius:24px}
.price .per,.per{white-space:nowrap}
