/* ============================================================
   UBeauty 1:1 Wix 复刻 — Adaptive Desktop / Mobile 双布局
   Desktop: 980px 主列 (Wix 经典坐标系)   Mobile: 320px 设计宽

   颜色来源: :root --color_* 调色板 (原站 SSR CSS 实测):
     color_5/32 #B38A4C 金 · color_11/36 白 · color_37 黑
     color_15 黑 · color_24 #474747 · color_31 #D9C4A6 米金
     color_40 #404040 · color_38 #BFBFBF · color_41 #0F2453 藏青
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

:root {
  /* Wix 生效调色板 (:root --color_*) */
  --w11: #FFFFFF;  --w12: #BFBFBF;  --w13: #808080;  --w14: #404040;  --w15: #000000;
  --w21: #D1D1D1;  --w22: #A3A3A3;  --w23: #757575;  --w24: #474747;  --w25: #191919;
  --w31: #D9C4A6;  --w32: #B38A4C;  --w33: #866739;  --w34: #5A4526;  --w35: #2D2313;
  --w36: #FFFFFF;  --w37: #000000;  --w38: #BFBFBF;  --w40: #404040;  --w41: #0F2453;
  --w5:  #B38A4C;
}

body {
  font-family: 'Barlow', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { text-decoration: none; color: inherit; }
button { border: none; background: none; cursor: pointer; font-family: inherit; }
img { display: block; }
ul { list-style: none; margin: 0; padding: 0; }
/* <p> 默认外边距归零 (Wix 全局 reset; 显式间距由各组件类自带, 绝对定位 <p> 不再被 UA margin 推偏) */
p { margin: 0; }

/* ---------- 布局切换: 只有一个断点 ----------
   移动端: 320px 设计宽按视口等比缩放 (复刻 Wix 行为) */
.desktop-only { display: block; }
.mobile-only { display: none; }
@media (max-width: 767px) {
  .desktop-only { display: none; }
  /* 无左右留白: 320 画布按全视口宽等比缩放, 内容通栏到屏幕边缘
     (线上 SITE_PAGES overflow:clip 语义由 overflow-x:clip 保留 — 放歪的组件不得撑宽视口) */
  body { overflow-x: hidden; }
  .mobile-only { display: block; zoom: calc(100vw / 320px); overflow-x: clip; }
}

/* ---------- 本地自托管字体 (woff2 下载自 Google Fonts, 全部免费商用 OFL) ----------
   avenir-lt-w01_35-light → Mulish   (Wix 专有字体不可在站外商用, 以此替代)
   futura-lt-w01-book     → Jost
   helvetica-w01-roman    → Inter
   Avenir 35 Light 为细体, 所有原 avenir 元素统一降到 Mulish 300 保持纤细观感 */
@font-face { font-family: 'Aboreto'; src: url('../assets/fonts/aboreto-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow';  src: url('../assets/fonts/barlow-200.woff2')  format('woff2'); font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow';  src: url('../assets/fonts/barlow-300.woff2')  format('woff2'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow';  src: url('../assets/fonts/barlow-400.woff2')  format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow';  src: url('../assets/fonts/barlow-500.woff2')  format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Barlow';  src: url('../assets/fonts/barlow-600.woff2')  format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter';   src: url('../assets/fonts/inter-400.woff2')   format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Jost';    src: url('../assets/fonts/jost-400.woff2')    format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Jost';    src: url('../assets/fonts/jost-700.woff2')    format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Mulish';  src: url('../assets/fonts/mulish-300.woff2')  format('woff2'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Mulish';  src: url('../assets/fonts/mulish-400.woff2')  format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Poppins'; src: url('../assets/fonts/poppins-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
/* Wix 专有 family 名 (render/build 生成页直接引用)。原站有同名字体: Barlow-ExtraLight /
   Barlow-Medium (Barlow v1, static.parastorage.com, OFL), 400/700 各有真字重文件,
   逐字与线上一致 (ExtraLight 实为细体, v1 版本度量与 Google v12 不同 — 勿用 Barlow 替代) */
@font-face { font-family: 'barlow-extralight'; src: url('../assets/fonts/barlow-extralight-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'barlow-extralight'; src: url('../assets/fonts/barlow-extralight-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'barlow-medium'; src: url('../assets/fonts/barlow-medium-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'barlow-medium'; src: url('../assets/fonts/barlow-medium-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'helvetica-w01-bold'; src: url('../assets/fonts/helvetica-w01-bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
.d-nav > li > a, .d-sub li a, .d-btn-hero, .d-btn-book, #d-f-send,
.d-info-text p.addr, .d-copyright, .m-btn-hero, .m-btn-book, #m-f-send,
.m-info-text p.addr, .m-copyright { font-weight: 300; }

/* ============================================================
   DESKTOP (980px 主列居中 · 头部总高 226px 实测)
   ============================================================ */
.d-col { width: 980px; margin: 0 auto; }

/* ---------- HEADER 行1: 顶栏 黑底白字 (黑条 0..76.1 实测 2026-09-22 线上) ---------- */
.d-topstrip { background: #000000; }
.d-topstrip-inner { position: relative; height: 76px; }
.d-logo { position: absolute; left: 20px; top: 10px; width: 47px; height: 49px; object-fit: cover; }
.d-korean {
  position: absolute; left: 82px; top: 9px; width: 489px;
  font-family: 'Jost', 'Trebuchet MS', sans-serif;
  font-size: 22px; font-weight: 700; line-height: 1em;
  letter-spacing: 0.05em; color: #FFFFFF;
}
.d-medical {
  position: absolute; left: 82px; top: 42px; width: 489px;
  font-family: 'Jost', 'Trebuchet MS', sans-serif;
  font-size: 15px; line-height: 1em; letter-spacing: 1.3px; color: #FFFFFF;
}
.d-login {
  position: absolute; left: 740px; top: 13px; width: 230px; height: 43px;
  display: flex; align-items: center; justify-content: flex-end; gap: 8px;
  padding-right: 7px; cursor: pointer;
  font-family: 'barlow-extralight', 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 18px; font-weight: 400;
  line-height: 1.75em; color: #FFFFFF;
}
.d-login svg { width: 26px; height: 26px; border-radius: 50%; flex: none; }
.d-cart {
  display: none; /* 购物车 icon 暂时隐藏 (恢复: 删除本行) */
  position: absolute; left: 749px; top: 23px; width: 24px; height: 20px; cursor: pointer;
  color: #FFFFFF;
}
.d-cart svg { width: 100%; height: 100%; }

/* ---------- HEADER 行2: 品牌字 (白底 76..183; Aboreto 56px lh normal, 文本块 468×65 @y89.1 线上实测) ---------- */
.d-titlerow { background: #FFFFFF; padding: 13px 0 29px; }
.d-title {
  margin: 0 auto;
  font-family: 'Aboreto', serif; font-weight: 400;
  font-size: 56px; line-height: normal; color: #474747;
  text-align: center;
}

/* ---------- HEADER 行3: 导航条 黑底白字 (条 183.1..225.1; 条目 flex 均分 980 + 1px 分隔线, 线上实测) ---------- */
.d-navstrip { background: #000000; position: sticky; top: 0; z-index: 100; border-bottom: 1px solid #000000; margin-bottom: 1px; }
.d-nav-inner { display: flex; align-items: center; }
.d-nav-logo { display: none; flex: none; margin-right: 16px; }
.d-nav-logo img { display: block; width: 30px; height: 31px; object-fit: cover; }
.d-navstrip.stuck .d-nav-logo { display: block; }
.d-nav {
  display: flex; flex: 1 1 auto; width: auto; height: 41px;
  border-radius: 1px;
}
/* 导航: 线上条目为固定宽度盒子 (合计 980, 实测 2026-09-22), 文本居中 */
.d-nav > li { position: relative; flex: none; }
.d-nav > li:nth-child(1) { width: 92px; }
.d-nav > li:nth-child(2) { width: 155px; }
.d-nav > li:nth-child(3) { width: 80px; }
.d-nav > li:nth-child(4) { width: 77px; }
.d-nav > li:nth-child(5) { width: 114px; }
.d-nav > li:nth-child(6) { width: 114px; }
.d-nav > li:nth-child(7) { width: 134px; }
.d-nav > li:nth-child(8) { width: 110px; }
.d-nav > li:nth-child(9) { width: 104px; }
.d-nav > li + li { border-left: 1px solid #BFBFBF; }
.d-nav > li > a {
  display: flex; align-items: center; justify-content: center;
  height: 41px; padding: 0;
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 15px; line-height: 1.41em; text-align: center;
  color: #FFFFFF;
  white-space: nowrap; transition: background-color .4s ease, color .4s ease;
}
.d-nav > li > a:hover { background: #BFBFBF; color: #000000; }
.d-nav > li.sel > a { background: #FFFFFF; color: #000000; }
/* 下拉箭头: 原站静止状态不显示, 仅悬停出现 (选中项保持高亮无箭头) */
.d-nav .caret { display: none; margin-left: 6px; width: 10px; height: 7px; flex: none; }
.d-nav > li:hover .caret { display: inline-block; }
/* 下拉: 深灰面板 (bgDrop color_40 #404040) */
.d-sub {
  display: none; position: absolute; top: 41px; left: 0; min-width: 100%;
  background: #404040; border-radius: 1px; padding: 0; z-index: 100;
}
.d-nav li:hover .d-sub { display: block; }
.d-sub li a {
  display: block; padding: 8px 18px; white-space: nowrap;
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 15px; color: #FFFFFF; text-align: center;
}
.d-sub li a:hover { background: #BFBFBF; color: #000000; }

/* ---------- HERO: 图 1440×643 (上对齐溢出), section 高 589, 3 黑底白字按钮 (线上 2026-09-22) ---------- */
.d-hero { position: relative; height: 589px; background: #000; }
.d-hero-img { position: absolute; top: 0; left: 0; width: 100%; height: 643px; object-fit: cover; object-position: 50% 50%; }
.d-hero-overlay {
  position: absolute; top: 0; bottom: 0; left: 0; right: 0;
  width: 980px; margin: 0 auto;
}
.d-btn-hero {
  position: absolute; top: 541px; width: 260px; height: 43px;
  display: flex; align-items: center; justify-content: center;
  background: #000000; color: #FFFFFF; border-radius: 0;
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 15px; line-height: 1.875em; text-align: center;
  transition: background-color .4s ease, color .4s ease;
}
.d-btn-hero:hover { background: rgba(0, 0, 0, 0.7); }
#d-btn-1 { left: 68px; }
#d-btn-2 { left: 362px; }
#d-btn-3 { left: 651px; }

/* ---------- 分类卡片: 白底 2×2, 每卡 484×436 间隙 6px, 底部灰 50% 暗带 173px + 40px 标签 (线上实测) ---------- */
.d-cards { background: #FFFFFF; padding: 80px 0 0; margin-bottom: 36px; }
.d-cards-grid {
  display: grid; grid-template-columns: repeat(2, 484px);
  gap: 6px; justify-content: center;
}
.d-card {
  position: relative; display: block; width: 484px; height: 436px;
  overflow: hidden; background: #000;
}
.d-card img { width: 100%; height: 100%; object-fit: cover; }
.d-card::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 173px;
  background: rgba(128, 128, 128, 0.5);
}
.d-card-label {
  position: absolute; left: 0; right: 0; bottom: 27px; height: 50px; z-index: 1;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Barlow', sans-serif; font-weight: 700; font-size: 40px;
  line-height: 48px; color: #FFFFFF; text-align: center;
}

/* ---------- FOOTER (白底) ---------- */
.d-footer { background: #FFFFFF; }

.d-cta { padding: 36px 0 0; }
.d-btn-book {
  display: flex; align-items: center; justify-content: center;
  width: 230px; height: 38px; margin-left: 388px;
  background: #000000; color: #FFFFFF;
  border-radius: 0; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 20px; line-height: 1.4em; text-align: center;
  transition: background-color .4s ease;
}
.d-btn-book:hover { background: rgba(0, 0, 0, 0.7); }
.d-or {
  margin: 35px 0 0 460px; width: 87px;
  font-family: 'barlow-medium', 'Barlow', sans-serif;
  font-size: 30px; line-height: 37px; color: #2F2E2E;
  letter-spacing: normal; text-align: center;
}
.d-contact-title {
  margin: 0 0 11px 340px; width: 299px;
  font-family: 'barlow-medium', 'Barlow', sans-serif; font-weight: 400;
  font-size: 40px; line-height: 48px; color: #000000;
  text-align: center; letter-spacing: normal;
}

/* 表单: 980 列内 left 74, 表单盒 841px 浅灰底 (#FAFAFA, 原站 --bg:250,250,250) */
.d-form-wrap { width: 980px; margin: 0 auto; padding: 0 0 0 74px; }
.d-form { position: relative; width: 841px; height: 380px; margin: 0; background: #FAFAFA; }
.d-field { position: absolute; width: 278px; }
.d-field.w288 { width: 288px; }
#d-f-first { left: 116px; top: 17px; }
#d-f-last  { left: 434px; top: 17px; }
#d-f-email { left: 115px; top: 95px; }
#d-f-tele  { left: 434px; top: 95px; }
#d-f-msg   { left: 116px; top: 181px; width: 608px; height: 75px; }
#d-f-msg label { display: none; } /* 线上留言域无标签, textarea 即整域 (75px) */
.d-field label {
  display: block; margin: 0 0 15px 1px; padding-right: 20px;
  font-family: 'Inter', Helvetica, sans-serif;
  font-size: 14px; line-height: 1em; color: #373B4D;
}
.d-field input, .d-field textarea {
  width: 100%; border: none; border-bottom: 1px solid #BFBFBF;
  background: #FFFFFF; border-radius: 0;
  font-family: Georgia, Palatino, 'Book Antiqua', 'Palatino Linotype', serif;
  font-style: italic; font-size: 14px; line-height: 1.4em;
  color: #000000;
  padding: 3px 3px 3px 22px; min-height: 37px;
  transition: border-color .5s ease;
}
.d-field textarea { min-height: 75px; resize: none; }
.d-field input:focus, .d-field textarea:focus { outline: none; border-bottom: 2px solid #000000; }
.d-field input:hover, .d-field textarea:hover { border-bottom: 2px solid #373B4D; }
.d-field input::placeholder, .d-field textarea::placeholder { color: #404040; opacity: 1; }
#d-f-send {
  position: absolute; left: 343px; top: 284px; width: 148px; height: 45px;
  display: flex; align-items: center; justify-content: center;
  background: rgb(178, 189, 178); color: #000000; border-radius: 0;
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 15px; line-height: 1.875em; text-align: center;
  transition: background-color .4s ease, color .4s ease;
}
#d-f-send:hover { background: rgb(209, 236, 237); color: rgb(10, 186, 181); }
/* 原站表单成功提示文字 (金色, 默认隐藏, 提交后显示 — 与线上一致) */
.d-thanks {
  position: absolute; left: 271px; top: 339px; width: 288px;
  visibility: hidden; text-align: center;
  font-family: 'futura-lt-w01-book', 'Jost', sans-serif; font-weight: 400;
  font-size: 18px; line-height: 1.2; color: #B38A4C;
}
.d-thanks.show, .m-thanks.show { visibility: visible; }

/* 联系信息条: 白底, 波浪为底部叠层 (flow-root 防止标题 margin 塌陷穿透, 原站信息区紧贴表单; 区块总高 400 = 内容 389 + 10 底部) */
.d-info { display: flow-root; position: relative; background: #FFFFFF; margin-bottom: 10px; padding-bottom: 10px; }
.d-info-inner { display: flow-root; position: relative; z-index: 1; width: 980px; height: 389px; margin: 0 auto; }
.d-info-title {
  margin: 28px 0 29px 426px;
  font-family: 'barlow-medium', 'Barlow', sans-serif; font-weight: 400;
  font-size: 25px; line-height: 35px; color: #404040;
  white-space: nowrap;
}
.d-info-icons { position: absolute; left: 370px; top: 98px; }
.d-info-icons a { display: block; width: 25px; height: 25px; margin-bottom: 5px; }
.d-info-icons a:nth-child(2) { margin-bottom: 8px; height: 20px; }
.d-info-icons a:nth-child(3) { margin-bottom: 7px; }
.d-info-icons a img { width: 25px; height: 25px; object-fit: contain; }
.d-info-icons a:nth-child(2) img { height: 20px; }
.d-info-text { position: absolute; left: 405px; top: 92px; width: 196px; }
/* 行高/字号按线上实测: tel1 15 黑 / tel2 16 灰 / mail 16 灰 / addr 16 黑 ×2 → 总高 145.4 */
.d-info-text p {
  margin: 0; font-family: 'Mulish', 'Helvetica Neue', sans-serif; font-weight: 400;
  font-size: 15px; line-height: 28.5px; color: #404040;
}
.d-info-text p.tel1 { color: #000000; }
.d-info-text p.tel2 { font-size: 16px; }
.d-info-text p.mail { font-size: 16px; line-height: 30.4px; }
.d-info-text p.addr { font-size: 16px; color: #000000; line-height: 29px; }
.d-social { position: absolute; left: 469px; top: 286px; display: flex; gap: 10px; }
.d-social a { width: 20px; height: 20px; }
.d-social img { width: 20px; height: 20px; object-fit: cover; }
.d-copyright {
  position: absolute; left: 336px; top: 320px; width: 315px;
  font-family: 'Barlow', 'Helvetica Neue', sans-serif; font-weight: 300;
  font-size: 14px; line-height: 1.79em; color: #000000; text-align: center;
}
.d-wave { position: absolute; left: 0; right: 0; bottom: 0; height: 150px; }
.d-wave svg { display: block; width: 100%; height: 150px; }

/* ============================================================
   MOBILE (320px 设计宽, 居中)
   ============================================================ */
.m-col { width: 320px; margin: 0 auto; }

/* ---------- 顶栏 黑底白字 (高度 56px 由网格推导) ---------- */
.m-topstrip { background: #000000; }
.m-topstrip-inner { position: relative; height: 56px; }
.m-logo { position: absolute; left: 20px; top: 19px; width: 24px; height: 26px; object-fit: cover; }
.m-korean {
  position: absolute; left: 52px; top: 18px; width: 190px;
  font-family: 'Jost', 'Trebuchet MS', sans-serif;
  font-size: 12px; font-weight: 700; line-height: 1em; letter-spacing: 0.05em; color: #FFFFFF;
}
.m-medical {
  position: absolute; left: 52px; top: 29px; width: 190px;
  font-family: 'Jost', 'Trebuchet MS', sans-serif;
  font-size: 10px; line-height: 1em; letter-spacing: 0.05em; color: #FFFFFF;
}
.m-cart { display: none; position: absolute; left: 246px; top: 22px; width: 24px; height: 20px; color: #FFFFFF; }
.m-cart svg { width: 100%; height: 100%; }
.m-burger {
  position: absolute; left: 274px; top: 13px; width: 35px; height: 36px;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  gap: 5px; cursor: pointer; background: none; border: none;
}
.m-burger span { display: block; width: 22px; height: 2px; background: #FFFFFF; }

/* ---------- 品牌字 (白底, 行高 209px — 原站移动端 header 总高 265 = 56 顶栏 + 209 标题行, 线上实测) ---------- */
.m-titlerow { background: #FFFFFF; position: relative; height: 209px; }
.m-title {
  position: absolute; left: 57px; top: 10px; margin: 0; width: 206px; height: 28px;
  font-family: 'Aboreto', serif; font-weight: 400;
  font-size: 23px; line-height: 1.2; color: #474747; text-align: center;
}

/* ---------- 抽屉菜单 (在缩放容器之外, fixed 全屏): 黑60%遮罩 + 白底黑字面板 ---------- */
.m-drawer {
  position: fixed; inset: 0; z-index: 200;
  display: none;
}
.m-drawer.open { display: block; }
@media (min-width: 768px) { .m-drawer { display: none !important; } }
.m-drawer-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); }
.m-drawer-panel {
  position: relative; width: 100%; height: 100%;
  background: #FFFFFF; overflow-y: auto;
}
.m-drawer-close {
  position: absolute; right: 16px; top: 16px; width: 36px; height: 36px;
  color: #000000; z-index: 2; cursor: pointer;
}
.m-drawer-login {
  position: relative; width: 300px; height: 56px; margin: 10px 0 10px 10px;
  display: flex; align-items: center; justify-content: flex-end; gap: 10px;
  font-family: 'Barlow', sans-serif; font-size: 16px; font-weight: 200; color: #000000;
}
.m-drawer-login svg { width: 30px; height: 30px; border-radius: 50%; }
.m-menu { position: relative; width: 280px; margin: 0 auto; }
.m-menu > li { }
.m-menu > li > a, .m-menu > li > .m-item-head {
  display: flex; align-items: center; justify-content: space-between;
  height: 50px; padding: 0 10px 0 0;
  font-family: 'Barlow', sans-serif; font-weight: 200;
  font-size: 20px; line-height: 1.67em; color: #000000; text-align: center;
  cursor: pointer;
}
.m-item-head { position: relative; width: 100%; }
.m-item-head a { flex: 1; text-align: center; }
/* 箭头视觉 12×8 居中于 32×36 命中区, 绝对定位贴行右缘 (链接 flex:1 占满整行, 热区过小真机点不到 — 2026-09-29) */
.m-arrow {
  position: absolute; right: 0; top: 50%; margin-top: -18px;
  width: 12px; height: 8px; padding: 14px 10px; box-sizing: content-box;
  color: #000000; transition: transform .3s; cursor: pointer;
}
.m-menu li.open .m-arrow { transform: rotate(180deg); }
.m-submenu { display: none; }
.m-menu li.open .m-submenu { display: block; }
.m-submenu a {
  display: block; height: 40px; line-height: 40px; text-align: center;
  font-family: 'Barlow', sans-serif; font-weight: 200;
  font-size: 16px; color: #000000;
}
.m-submenu li { }

/* ---------- HERO: 320×269 + 图下按钮纵排 (黑底白字, 相对 320 居中列) ---------- */
.m-hero { height: 269px; overflow: hidden; background: #000; }
.m-hero img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.m-hero-btns { width: 320px; margin: 0 auto; background: #FFFFFF; padding-top: 31px; padding-bottom: 9px; }
.m-btn-hero {
  display: flex; align-items: center; justify-content: center;
  width: 253px; height: 32px; margin: 0 0 5px 33px;
  background: #000000; color: #FFFFFF; border-radius: 0;
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 14px; line-height: 1.875em; text-align: center;
  transition: background-color .4s ease;
}
.m-btn-hero:hover { background: rgba(0, 0, 0, 0.7); }
.m-btn-hero.b2 { margin-bottom: 6px; }
.m-btn-hero.b3 { margin-bottom: 14px; }

/* ---------- 卡片 2×2 157×127 (白底, 底部灰 50% 暗带 47px + 20px 居中标签 — 线上 320 实测文字中心=卡片中心) ---------- */
.m-cards { background: #FFFFFF; padding: 8px 0 9px; }
.m-cards-grid {
  display: grid; grid-template-columns: repeat(2, 157px);
  gap: 3px; justify-content: center;
}
.m-card { position: relative; display: block; width: 157px; height: 127px; overflow: hidden; }
.m-card img { width: 100%; height: 100%; object-fit: cover; }
.m-card::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 47px;
  background: rgba(128, 128, 128, 0.5);
}
.m-card-label {
  position: absolute; left: 0; right: 0; bottom: 7px; height: 25px; z-index: 1;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Barlow', sans-serif; font-weight: 700; font-size: 20px;
  line-height: 24px; color: #FFFFFF; text-align: center;
}

/* ---------- FOOTER (白底) ---------- */
.m-footer { background: #FFFFFF; }
.m-cta { padding: 13px 0 0; }
.m-btn-book {
  display: flex; align-items: center; justify-content: center;
  width: 160px; height: 33px; margin: 0 auto;
  background: #000000; color: #FFFFFF; border-radius: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 14px; line-height: 1.4em; text-align: center;
  transition: background-color .4s ease;
}
.m-btn-book:hover { background: rgba(0, 0, 0, 0.7); }
.m-or {
  margin: 10px 0 0 20px; width: 280px;
  font-family: 'barlow-medium', 'Barlow', sans-serif; font-weight: 400;
  font-size: 16px; line-height: 18px; color: #2F2E2E; letter-spacing: normal; text-align: center;
}
.m-contact-title {
  margin: 0 0 2px 20px; width: 280px;
  font-family: 'barlow-medium', 'Barlow', sans-serif; font-weight: 400;
  font-size: 23px; line-height: 28px; color: #000000; text-align: center;
}
/* 移动表单: 320 列内 left 20, 表单盒 280×459 浅灰底 (首字段 10px 间距由 padding 承接, 防 margin 塌陷) */
.m-form-wrap { width: 320px; margin: 0 auto; padding: 0 20px; }
.m-form-wrap form { background: #FAFAFA; height: 459px; padding-top: 10px; }
.m-field { width: 260px; margin: 0 0 8px 10px; }
.m-field.first { margin-top: 0; margin-bottom: 6px; }
.m-field.tele { margin-bottom: 18px; }
.m-field.msg { margin-bottom: 19px; }
.m-field label {
  display: block; margin: 0 0 8px 1px;
  font-family: 'Inter', Helvetica, sans-serif;
  font-size: 12px; line-height: 12px; color: #373B4D;
}
.m-field input, .m-field textarea {
  width: 100%; border: none; border-bottom: 1px solid #BFBFBF;
  background: #FFFFFF; border-radius: 0;
  font-family: Georgia, Palatino, 'Book Antiqua', 'Palatino Linotype', serif;
  font-style: italic; font-size: 13px; color: #000000;
  padding: 3px 3px 3px 12px; min-height: 32px;
}
.m-field textarea { min-height: 104px; resize: none; }
.m-field input:focus, .m-field textarea:focus { outline: none; border-bottom: 2px solid #000000; }
.m-field input::placeholder, .m-field textarea::placeholder { color: #404040; }
#m-f-send {
  display: flex; align-items: center; justify-content: center;
  width: 120px; height: 32px; margin: 0 0 12px 80px;
  background: rgb(178, 189, 178); color: #000000; border-radius: 0;
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 14px; line-height: 1.875em; text-align: center;
  transition: background-color .4s ease, color .4s ease;
}
#m-f-send:hover { background: rgb(209, 236, 237); color: rgb(10, 186, 181); }
/* 原站表单成功提示文字 (金色, 默认隐藏, 提交后显示) */
.m-thanks {
  visibility: hidden;
  width: 260px; margin-left: 10px; text-align: center;
  font-family: 'futura-lt-w01-book', 'Jost', sans-serif; font-weight: 400;
  font-size: 18px; line-height: 24px; color: #B38A4C;
}

/* 联系信息条: 白底, 波浪为底部叠层 (flow-root 防标题 margin 塌陷, 原站紧贴表单盒 +7px) */
.m-info { display: flow-root; position: relative; background: #FFFFFF; margin-top: 7px; }
.m-info-inner { display: flow-root; position: relative; z-index: 1; width: 320px; height: 272px; margin: 0 auto; }
.m-info-title {
  margin: 38px 0 12px 98px;
  font-family: 'barlow-medium', 'Barlow', sans-serif; font-weight: 400;
  font-size: 20px; line-height: 28px; color: #404040;
  white-space: nowrap;
}
.m-info-icons { position: absolute; left: 70px; top: 81px; }
.m-info-icons a { display: block; width: 19px; height: 19px; margin-bottom: 4px; }
.m-info-icons a:nth-child(2) { margin-bottom: 7px; height: 15px; }
.m-info-icons a:nth-child(3) { margin-bottom: 6px; }
.m-info-icons a img { width: 19px; height: 19px; object-fit: contain; }
.m-info-icons a:nth-child(2) img { height: 15px; }
.m-info-text { position: absolute; left: 98px; top: 78px; width: 151px; }
/* 行高锁 22.8px (原 12×1.9), tel2/mail/addr 提到 13px 后行位不变 (线上实测) */
.m-info-text p {
  margin: 0; font-family: 'Mulish', 'Helvetica Neue', sans-serif; font-weight: 400;
  font-size: 12px; line-height: 22.8px; color: #404040;
}
.m-info-text p.tel1 { color: #000000; }
.m-info-text p.tel2, .m-info-text p.mail, .m-info-text p.addr { font-size: 13px; }
.m-info-text p.addr { color: #000000; }
.m-social { position: absolute; left: 135px; top: 230px; display: flex; gap: 10px; }
.m-social a { width: 20px; height: 20px; }
.m-social img { width: 20px; height: 20px; object-fit: cover; }
.m-copyright {
  position: absolute; left: 20px; top: 251px; width: 280px;
  font-family: 'Barlow', 'Helvetica Neue', sans-serif; font-weight: 300;
  font-size: 12px; line-height: 21px; color: #000000; text-align: center;
}
.m-wave { position: absolute; left: 0; right: 0; bottom: 0; height: 50px; }
.m-wave svg { display: block; width: 100%; height: 50px; }

/* ============================================================
   Wix 兼容层 — 让子页面从原站 DOM 提取的内联样式直接生效
   (:root --color_* 调色板 + .font_N/.color_N 类 + 字体别名)
   ============================================================ */
:root {
  --color_0: 255,255,255;  --color_1: 0,0,0;        --color_2: 15,36,83;   --color_3: 25,25,25;
  --color_4: 247,247,247;  --color_5: 179,138,76;   --color_6: 255,255,255;--color_7: 191,191,191;
  --color_8: 128,128,128;  --color_9: 64,64,64;     --color_10: 0,0,0;     --color_11: 255,255,255;
  --color_12: 191,191,191; --color_13: 128,128,128; --color_14: 64,64,64;  --color_15: 0,0,0;
  --color_16: 139,168,234; --color_17: 36,86,199;   --color_18: 15,36,83;  --color_19: 10,24,55;
  --color_20: 5,12,28;     --color_21: 209,209,209; --color_22: 163,163,163;--color_23: 117,117,117;
  --color_24: 71,71,71;    --color_25: 25,25,25;    --color_26: 251,251,251;--color_27: 247,247,247;
  --color_28: 185,185,185; --color_29: 124,124,124; --color_30: 62,62,62;  --color_31: 217,196,166;
  --color_32: 179,138,76;  --color_33: 134,103,57;  --color_34: 90,69,38;  --color_35: 45,35,19;
  --color_36: 255,255,255; --color_37: 0,0,0;       --color_38: 191,191,191;--color_39: 128,128,128;
  --color_40: 64,64,64;    --color_41: 15,36,83;    --color_42: 0,0,0;     --color_43: 128,128,128;
  --color_44: 255,255,255; --color_45: 0,0,0;       --color_46: 0,0,0;     --color_47: 64,64,64;
  --color_48: 15,36,83;    --color_49: 15,36,83;    --color_50: 255,255,255;--color_51: 255,255,255;
  --color_52: 15,36,83;    --color_53: 15,36,83;    --color_54: 128,128,128;--color_55: 128,128,128;
  --color_56: 255,255,255; --color_57: 255,255,255; --color_58: 15,36,83;  --color_59: 15,36,83;
  --color_60: 15,36,83;    --color_61: 15,36,83;    --color_62: 255,255,255;--color_63: 255,255,255;
  --color_64: 128,128,128; --color_65: 128,128,128;
  --font_0: normal normal normal 22px/1.41em barlow-medium,barlow,sans-serif;
  --font_1: normal normal normal 14px/1.79em avenir-lt-w01_35-light1475496,sans-serif;
  --font_2: normal normal normal 28px/1.375em barlow-medium,barlow,sans-serif;
  --font_3: normal normal normal 88px/1.2em barlow-medium,barlow,sans-serif;
  --font_4: normal normal normal 72px/1.25em barlow-medium,barlow,sans-serif;
  --font_5: normal normal normal 50px/1.34em barlow-medium,barlow,sans-serif;
  --font_6: normal normal normal 40px/1.35em barlow-medium,barlow,sans-serif;
  --font_7: normal normal normal 20px/1.67em barlow-extralight,barlow,sans-serif;
  --font_8: normal normal normal 18px/1.75em barlow-extralight,barlow,sans-serif;
  --font_9: normal normal normal 15px/1.875em avenir-lt-w01_35-light1475496,sans-serif;
  --font_10: normal normal normal 14px/1.79em avenir-lt-w01_35-light1475496,sans-serif;
}
.font_0{font:var(--font_0);color:rgb(var(--color_15));} .font_1{font:var(--font_1);color:rgb(var(--color_37));}
.font_2{font:var(--font_2);color:rgb(var(--color_15));} .font_3{font:var(--font_3);color:rgb(var(--color_15));}
.font_4{font:var(--font_4);color:rgb(var(--color_15));} .font_5{font:var(--font_5);color:rgb(var(--color_15));}
.font_6{font:var(--font_6);color:rgb(var(--color_15));} .font_7{font:var(--font_7);color:rgb(var(--color_15));}
.font_8{font:var(--font_8);color:rgb(var(--color_15));} .font_9{font:var(--font_9);color:rgb(var(--color_15));}
.font_10{font:var(--font_10);color:rgb(var(--color_37));}
.color_0{color:rgb(var(--color_0));} .color_1{color:rgb(var(--color_1));} .color_2{color:rgb(var(--color_2));}
.color_3{color:rgb(var(--color_3));} .color_4{color:rgb(var(--color_4));} .color_5{color:rgb(var(--color_5));}
.color_6{color:rgb(var(--color_6));} .color_7{color:rgb(var(--color_7));} .color_8{color:rgb(var(--color_8));}
.color_9{color:rgb(var(--color_9));} .color_10{color:rgb(var(--color_10));} .color_11{color:rgb(var(--color_11));}
.color_12{color:rgb(var(--color_12));} .color_13{color:rgb(var(--color_13));} .color_14{color:rgb(var(--color_14));}
.color_15{color:rgb(var(--color_15));} .color_16{color:rgb(var(--color_16));} .color_17{color:rgb(var(--color_17));}
.color_18{color:rgb(var(--color_18));} .color_19{color:rgb(var(--color_19));} .color_20{color:rgb(var(--color_20));}
.color_21{color:rgb(var(--color_21));} .color_22{color:rgb(var(--color_22));} .color_23{color:rgb(var(--color_23));}
.color_24{color:rgb(var(--color_24));} .color_25{color:rgb(var(--color_25));} .color_26{color:rgb(var(--color_26));}
.color_27{color:rgb(var(--color_27));} .color_28{color:rgb(var(--color_28));} .color_29{color:rgb(var(--color_29));}
.color_30{color:rgb(var(--color_30));} .color_31{color:rgb(var(--color_31));} .color_32{color:rgb(var(--color_32));}
.color_33{color:rgb(var(--color_33));} .color_34{color:rgb(var(--color_34));} .color_35{color:rgb(var(--color_35));}
.color_36{color:rgb(var(--color_36));} .color_37{color:rgb(var(--color_37));} .color_38{color:rgb(var(--color_38));}
.color_39{color:rgb(var(--color_39));} .color_40{color:rgb(var(--color_40));} .color_41{color:rgb(var(--color_41));}
.color_42{color:rgb(var(--color_42));} .color_43{color:rgb(var(--color_43));} .color_44{color:rgb(var(--color_44));}
.color_45{color:rgb(var(--color_45));} .color_46{color:rgb(var(--color_46));} .color_47{color:rgb(var(--color_47));}
.color_48{color:rgb(var(--color_48));} .color_49{color:rgb(var(--color_49));} .color_50{color:rgb(var(--color_50));}
.color_51{color:rgb(var(--color_51));} .color_52{color:rgb(var(--color_52));} .color_53{color:rgb(var(--color_53));}
.color_54{color:rgb(var(--color_54));} .color_55{color:rgb(var(--color_55));} .color_56{color:rgb(var(--color_56));}
.color_57{color:rgb(var(--color_57));} .color_58{color:rgb(var(--color_58));} .color_59{color:rgb(var(--color_59));}
.color_60{color:rgb(var(--color_60));} .color_61{color:rgb(var(--color_61));} .color_62{color:rgb(var(--color_62));}
.color_63{color:rgb(var(--color_63));} .color_64{color:rgb(var(--color_64));} .color_65{color:rgb(var(--color_65));}

/* Wix 字体名 → 替代字体 (授权替换, 参见文件头注释) */
@font-face { font-family: 'avenir-lt-w01_35-light1475496'; src: url('../assets/fonts/mulish-300.woff2') format('woff2'); font-weight: 100 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'futura-lt-w01-book'; src: url('../assets/fonts/jost-400.woff2') format('woff2'); font-weight: 100 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'helvetica-w01-roman'; src: url('../assets/fonts/inter-400.woff2') format('woff2'); font-weight: 100 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'barlow'; src: url('../assets/fonts/barlow-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'barlow-extralight'; src: url('../assets/fonts/barlow-200.woff2') format('woff2'); font-weight: 200; font-display: swap; }
@font-face { font-family: 'barlow-medium'; src: url('../assets/fonts/barlow-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'poppins-semibold'; src: url('../assets/fonts/poppins-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'din-next-w01-light'; src: url('../assets/fonts/mulish-300.woff2') format('woff2'); font-weight: 100 700; font-display: swap; }
@font-face { font-family: 'brandon-grot-w01-light'; src: url('../assets/fonts/barlow-300.woff2') format('woff2'); font-weight: 100 700; font-display: swap; }
/* 富文本容器 (原站 WRichText 结构) */
.w-rt { position: relative; }
.w-rt p, .w-rt h1, .w-rt h2, .w-rt h3, .w-rt h4, .w-rt h5, .w-rt h6 { margin: 0; }
.w-rt ul { list-style: none; margin: 0; padding: 0; }

/* ============================================================
   子页面内容 (chrome 由 js/chrome.js 注入, 此处为页面主体)
   ============================================================ */
/* ---------- Desktop 页面 Hero: 全宽图 + 右置文本块 (原站治疗页布局) ---------- */
.p-hero { position: relative; height: 371px; overflow: hidden; background: #000; }
.p-hero-img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.p-hero-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.35); }
.p-hero-text { position: absolute; left: 714px; top: 93px; width: 324px; }
.p-hero-title {
  margin: 0 0 14px;
  font-family: 'Barlow', sans-serif; font-weight: 500;
  font-size: 44px; line-height: 1.2; color: #FFFFFF; letter-spacing: 0.02em;
}
.p-btn-book {
  display: flex; align-items: center; justify-content: center;
  width: 324px; height: 37px; margin-top: 26px;
  background: #000000; color: #FFFFFF; border-radius: 0;
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 16px; line-height: 1.4em; text-align: center;
  transition: background-color .4s ease;
}
.p-btn-book:hover { background: rgba(0, 0, 0, 0.7); }

/* ---------- Desktop 正文 ---------- */
.p-content { padding: 46px 0 10px; }
.p-content-inner { width: 980px; margin: 0 auto; }
.p-text { max-width: 820px; margin: 0 auto; }
.p-text p {
  margin: 0 0 18px;
  font-family: 'Barlow', sans-serif; font-weight: 400;
  font-size: 17px; line-height: 1.75em; color: #191919;
}
.p-text h2 {
  margin: 30px 0 14px;
  font-family: 'Barlow', sans-serif; font-weight: 500;
  font-size: 24px; line-height: 1.35em; color: #000000;
}
.p-text h2:first-child { margin-top: 0; }

/* ---------- Desktop 图集 ---------- */
.p-gallery { padding: 20px 0 46px; }
.p-gallery-grid {
  display: grid; grid-template-columns: repeat(3, 320px);
  gap: 3px; justify-content: center;
}
.p-gallery-grid img { width: 320px; height: 213px; object-fit: cover; display: block; }

/* ---------- Mobile 页面主体 ---------- */
.m-p-hero { position: relative; height: 200px; overflow: hidden; background: #000; }
.m-p-hero img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.m-p-hero-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.35); }
.m-p-hero-title {
  position: absolute; left: 0; right: 0; top: 84px; margin: 0;
  font-family: 'Barlow', sans-serif; font-weight: 500;
  font-size: 24px; line-height: 1.2; color: #FFFFFF; text-align: center;
}
.m-p-btn {
  display: flex; align-items: center; justify-content: center;
  width: 253px; height: 32px; margin: 12px auto 0;
  background: #000000; color: #FFFFFF; border-radius: 0;
  font-family: 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 14px; text-align: center;
}
.m-p-content { width: 320px; margin: 0 auto; padding: 16px 0 6px; }
.m-p-text { padding: 0 10px; }
.m-p-text p {
  margin: 0 0 12px;
  font-family: 'Barlow', sans-serif; font-weight: 400;
  font-size: 13px; line-height: 1.7em; color: #191919;
}
.m-p-text h2 {
  margin: 18px 0 10px;
  font-family: 'Barlow', sans-serif; font-weight: 500;
  font-size: 17px; color: #000000;
}
.m-p-text h2:first-child { margin-top: 0; }
.m-p-gallery { padding: 6px 0 20px; }
.m-p-gallery-grid {
  display: grid; grid-template-columns: repeat(2, 157px);
  gap: 3px; justify-content: center;
}
.m-p-gallery-grid img { width: 157px; height: 105px; object-fit: cover; display: block; }

/* ============================================================
   about-3 页面 — DESKTOP (980 列坐标, 原站实测 2026-09-21)
   原站结构: section comp-mo7dadk0 (464px, 底色 #DDDBDC)
             section comp-m0puxutj (1428px)
   ============================================================ */

/* ---------- HERO: 左图 530×410 + 右列 (KOREAN / 白卡 / 按钮) ---------- */
.a-hero { position: relative; height: 464px; background: #DDDBDC; }
.a-hero-in { position: relative; height: 464px; }
.a-img { position: absolute; left: 0; top: 0; width: 530px; height: 410px; object-fit: cover; }
.a-head { position: absolute; left: 604px; top: 39px; width: 256px; }
.a-korean, .a-inspired {
  margin: 0; text-align: center;
  font-family: 'Aboreto', sans-serif; font-weight: 700; color: #404040;
}
.a-korean { font-size: 54px; line-height: 1.05; }
.a-inspired { font-size: 20px; line-height: 1.45; }

/* 白卡: rgba(255,255,255,0.6) 叠在 #DDDBDC 上 (原站 comp-mo7e3krb --alpha-bg:0.6) */
.a-card {
  position: absolute; left: 584px; top: 145px; width: 297px; height: 156px;
  background: rgba(255, 255, 255, 0.6);
  padding: 25px 20px 0 21px;
}
.a-card p { margin: 0; text-align: center; color: #000000; }
.a-doctorled {
  font-family: 'barlow-extralight', 'Barlow', sans-serif; font-weight: 700;
  font-size: 32px; line-height: 1.21;
}
.a-advanced {
  font-family: 'barlow-extralight', 'Barlow', sans-serif; font-weight: 700;
  font-size: 20px; line-height: 1.21;
}

/* 灰底按钮 #808080 (原站 --bg:var(--color_13)), hover 黑 (原站 --bgh:0,0,0) */
.a-btn {
  position: absolute; left: 584px; top: 289px; width: 297px; height: 37px;
  display: flex; align-items: center; justify-content: center;
  background: #808080; color: #FFFFFF;
  font-family: 'Aboreto', sans-serif; font-size: 14px; line-height: 1.41em;
  text-align: center; text-transform: uppercase;
  transition: background-color .4s ease;
}
.a-btn:hover { background: #000000; }

/* 横幅底部: PRECISE 行 / 1px 黑分隔线 / 服务范围行 */
.a-precise, .a-services {
  position: absolute; margin: 0; text-align: center;
  font-family: 'Aboreto', sans-serif; font-weight: 400; color: #404040;
}
.a-precise { left: 3px; top: 416px; width: 974px; font-size: 14px; letter-spacing: 0.2em; line-height: 1.9; }
.a-hr { position: absolute; left: 6px; top: 438px; width: 974px; height: 1px; background: #000000; }
.a-services { left: 6px; top: 443px; width: 974px; font-size: 11px; letter-spacing: 0.25em; line-height: 1.45; }

/* ---------- 项目列表: 左分类标题 (33, 每 283px 一组) + 右胶囊列 (371, 517 宽) ---------- */
.a-treat { position: relative; height: 1428px; }
.a-treat-in { position: relative; height: 1428px; }
/* 分类浅灰底框: 980×278 #FAFAFA 矩形 (原站 repeater item colorUnderlay, 间距 283) */
.a-box { position: absolute; left: 2px; width: 980px; height: 278px; background: #FAFAFA; }
.a-box.b1 { top: 16px; }
.a-box.b2 { top: 299px; }
.a-box.b3 { top: 582px; }
.a-box.b4 { top: 865px; }
.a-box.b5 { top: 1148px; }

.a-cat {
  position: absolute; left: 33px; width: 316px; margin: 0;
  text-transform: uppercase; /* 线上全大写渲染 */
  font-family: 'Aboreto', sans-serif; font-weight: 700;
  font-size: 30px; line-height: 1.17; color: #404040;
}
.a-cat.c1 { top: 37px; }
.a-cat.c2 { top: 320px; }
.a-cat.c3 { top: 603px; }
.a-cat.c4 { top: 886px; }
.a-cat.c5 { top: 1169px; }

.a-group { position: absolute; left: 371px; width: 517px; }
.a-group.g1 { top: 42px; }
.a-group.g2 { top: 337px; }
.a-group.g3 { top: 616px; }
.a-group.g4 { top: 895px; }
.a-group.g5 { top: 1184px; }

/* 浅灰胶囊条: 517×32 矩形底 #E9E9E9, 间距 8.5 (原站 --item-margin:4px 0px + 行距) */
.a-pill {
  display: block; height: 32px; margin-bottom: 8.5px;
  text-transform: uppercase; /* 线上全大写渲染 */
  background: #E9E9E9; border-radius: 0; overflow: hidden;
  padding-left: 30px;
  font-family: 'Aboreto', sans-serif; font-weight: 700;
  font-size: 18px; line-height: 32.4px; color: #404040;
  white-space: nowrap; overflow-x: hidden; text-overflow: clip;
}
.a-pill:hover { color: #404040; }

/* ============================================================
   about-3 页面 — MOBILE (320px 设计宽, 原站移动端实测)
   ============================================================ */
.am-hero { position: relative; height: 453px; background: #DDDBDC; }
.am-img { position: absolute; left: 0; top: 0; width: 320px; height: 261px; object-fit: cover; }
.am-korean, .am-inspired {
  position: absolute; left: 195px; width: 119px; margin: 0; text-align: center;
  font-family: 'barlow-medium', 'Barlow', sans-serif; font-weight: 400; color: #404040;
}
.am-korean { top: 10px; font-size: 23px; line-height: 1.2; }
.am-inspired { top: 33px; font-size: 9px; line-height: 1.2; }
.am-precise, .am-services {
  position: absolute; margin: 0; text-align: center;
  font-family: 'barlow-medium', 'Barlow', sans-serif; font-weight: 400; color: #404040;
}
.am-precise { left: 20px; top: 266px; width: 280px; font-size: 12px; line-height: 1.25; }
.am-hr { position: absolute; left: 10px; top: 282px; width: 300px; height: 1px; background: #000000; }
.am-services { left: 20px; top: 285px; width: 290px; font-size: 8px; line-height: 1.25; }

.am-card {
  position: absolute; left: 10px; top: 318px; width: 300px; height: 115px;
  background: rgba(255, 255, 255, 0.6);
  padding: 11px 17px 0 36px;
}
.am-card p { margin: 0; text-align: center; color: #000000; }
.am-doctorled {
  font-family: 'barlow-extralight', 'Barlow', sans-serif; font-weight: 400;
  font-size: 24px; line-height: 1.21;
}
.am-advanced {
  font-family: 'barlow-extralight', 'Barlow', sans-serif; font-weight: 400;
  font-size: 17px; line-height: 1.18;
}
.am-btn {
  position: absolute; left: 10px; top: 408px; width: 300px; height: 25px;
  display: flex; align-items: center; justify-content: center;
  background: #808080; color: #FFFFFF;
  font-family: 'Aboreto', sans-serif; font-size: 13.64px; line-height: 1.41em;
  text-align: center; text-transform: uppercase;
  transition: background-color .4s ease;
}
.am-btn:hover { background: #000000; }

.am-treat { position: relative; height: 985px; }
/* 分类浅灰底框: 315×189 #FAFAFA 矩形 (间距 194) */
.am-box { position: absolute; left: 0; width: 315px; height: 189px; background: #FAFAFA; }
.am-box.b1 { top: 7px; }
.am-box.b2 { top: 201px; }
.am-box.b3 { top: 395px; }
.am-box.b4 { top: 589px; }
.am-box.b5 { top: 783px; }

.am-cat {
  position: absolute; left: 21px; width: 275px; margin: 0;
  text-transform: uppercase; /* 线上全大写渲染 */
  font-family: 'barlow-medium', 'Barlow', sans-serif; font-weight: 400;
  font-size: 15px; line-height: 1.4; color: #404040;
}
.am-cat.c1 { top: 17px; }
.am-cat.c2 { top: 211px; }
.am-cat.c3 { top: 405px; }
.am-cat.c4 { top: 599px; }
.am-cat.c5 { top: 793px; }

.am-group { position: absolute; left: 20px; width: 278px; }
.am-group.g1 { top: 42px; }
.am-group.g2 { top: 236px; }
.am-group.g3 { top: 437px; }
.am-group.g4 { top: 626px; }
.am-group.g5 { top: 819px; }

/* 浅灰胶囊条: 278×23 矩形底, 间距 2.5 */
.am-pill {
  display: block; height: 23px; margin-bottom: 2.5px;
  text-transform: uppercase; /* 线上全大写渲染 */
  background: #E9E9E9; border-radius: 0; overflow: hidden;
  padding-left: 11px;
  font-family: 'barlow-medium', 'Barlow', sans-serif; font-weight: 400;
  font-size: 11px; line-height: 23px; color: #404040;
  white-space: nowrap; overflow-x: hidden; text-overflow: clip;
}
.am-pill:hover { color: #404040; }

/* ============================================================
   生成页通用 (build-page.js 测量式输出): section + 绝对定位组件
   ============================================================ */
.g-sec { position: relative; width: 100%; }
.g-col { position: relative; width: 980px; height: 100%; margin: 0 auto; }
.g-el { position: absolute; }
.g-el img { display: block; }

/* 页面本地字体: 原站 live 实测映射 (canvas 宽度比对 2026-09-22) —
   'barlow-extralight'@400 = Barlow ExtraLight, @700 = Barlow Regular (Wix 以相邻字重充当粗体, 无合成加粗),
   'barlow-medium'@400 = Barlow Medium; 文件取自 parastorage v1 原始字节, 独立 family 避免共享别名漂移 */
@font-face { font-family: 'cp-barlow'; src: url('../assets/fonts/cp-barlow-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'cp-barlow'; src: url('../assets/fonts/cp-barlow-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'cp-barlow'; src: url('../assets/fonts/cp-barlow-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
/* ============================================================
   副本-chemical-peels (Microneedling) — DESKTOP (980 列, 原站 live 实测 2026-09-22)
   原站结构: hero comp-lke73rye (375.5px, 全出血照片 + 半透明白卡) +
             comp-lke73rye1 (964px: intro 490+386 两栏 426px + FAQ, 同底 #FAFAFA 重叠合并)
   ============================================================ */

/* ---------- HERO: 全出血照片 + 白卡 (绿字标题 + 按钮) ---------- */
.cp-hero { position: relative; height: 375.5px; background: #FFFFFF; }
.cp-hero-bg { position: absolute; left: 0; top: 0; width: 100%; height: 375.5px; object-fit: cover; }
.cp-hero-in { position: relative; height: 375.5px; }
/* 白卡: rgba(255,255,255,0.6) (原站 #comp-lcz6f1tw --bg:color_36 --alpha-bg:0.6) */
.cp-hero-txt {
  position: absolute; left: 597px; top: 109px; width: 324px; height: 199.5px;
  background: rgba(255, 255, 255, 0.6);
}
.cp-hero-title {
  position: absolute; left: 27px; top: 30px; width: 269px;
  font-family: 'cp-barlow', 'Barlow', sans-serif; font-weight: bold; color: #2A5B41;
}
.cp-hero-title p { margin: 0; }
.cp-hero-title p:first-child { font-size: 34px; line-height: 59.5px; }
.cp-hero-title p + p { font-size: 20px; line-height: normal; }

/* 按钮: 灰绿底 #B2BDB2 黑字, hover 黑 70% + 白字 (原站 --bg:178,189,178 --bgh:color_37@0.7) */
.cp-hero-btn {
  position: absolute; left: 0; top: 162.5px; width: 324px; height: 37px;
  display: flex; align-items: center; justify-content: center;
  background: rgb(178, 189, 178); color: #000000; text-decoration: none;
  font-family: 'avenir-lt-w01_35-light1475496', 'Mulish', sans-serif;
  font-size: 16px; line-height: 1.41em; text-align: center;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.4);
  transition: background-color .4s ease 0s, color .4s ease 0s;
}
.cp-hero-btn:hover { background: rgba(0, 0, 0, 0.7); color: #FFFFFF; }
/* 按钮抬升阴影: 原站 ButtonLiftedShadow 皮肤 = 底部两条 PNG 弧形阴影条 (非 box-shadow) */
.cp-hero-btn { position: relative; }
.cp-hero-btn::before, .cp-hero-btn::after {
  content: ''; position: absolute; bottom: -26px; width: 165px; height: 26px;
  background: url('../assets/images/originals/button-lifted-shadow.png') no-repeat;
  pointer-events: none;
}
.cp-hero-btn::before { left: -20px; background-position: 0 0; }
.cp-hero-btn::after { right: -20px; background-position: 100% 0; }

/* ---------- 主体: 左图 490×426 + 右文案 386 + 分隔线 + FAQ ---------- */
.cp-main { position: relative; height: 964px; background: #FAFAFA; }
.cp-main-in { position: relative; height: 964px; }
.cp-intro-img { position: absolute; left: 0; top: 38px; width: 490px; height: 426px; object-fit: cover; }
.cp-intro-txt { position: absolute; left: 547px; top: 38px; width: 386px; }
.cp-intro-txt h3 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif; font-weight: 500;
  font-size: 22px; line-height: normal; letter-spacing: normal; color: #000000;
}
.cp-intro-txt p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 18px; line-height: normal; text-align: justify; color: #000000;
}

/* 4px 品牌绿分隔线, 全出血 (原站 comp-lcz6f1vn1 --lnw:4px --brd:42,91,65, 高 7px) */
.cp-faq-line {
  position: absolute; left: 0; top: 497px; width: 100%; height: 7px;
  box-sizing: border-box; border-top: 4px solid #2A5B41;
}

.cp-faq-head {
  position: absolute; left: 264px; top: 534px; width: 437px; margin: 0;
  font-family: 'helvetica-w01-bold', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700;
  font-size: 30px; line-height: normal; letter-spacing: 0.01em;
  text-align: center; color: #000000;
}
.cp-faq-list { position: absolute; left: 0; top: 592px; width: 980px; }
.cp-faq-item { padding: 14px 0 12px; background: rgb(245, 245, 245); }
.cp-faq-item + .cp-faq-item { margin-top: 12px; }
.cp-faq-qa { margin-left: 10px; width: 946px; }
.cp-faq-qa p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 16px; line-height: normal; letter-spacing: normal;
  text-align: justify; color: #404040;
}
.cp-faq-qa p.q { font-weight: bold; }

/* ============================================================
   副本-chemical-peels (Microneedling) — MOBILE (320px 设计宽, 原站移动端实测)
   ============================================================ */
.cpm-hero { position: relative; height: 212.5px; overflow: hidden; }
.cpm-hero-bg { position: absolute; left: 0; top: 0; width: 320px; height: 212.5px; object-fit: cover; }
/* 全宽半透明白卡 (原站 #comp-lcz6f1tw 移动端同 --alpha-bg:0.6) */
.cpm-hero-card {
  position: absolute; left: 0; top: 64px; width: 320px; height: 94px;
  background: rgba(255, 255, 255, 0.6);
}
.cpm-hero-title {
  position: absolute; left: 25px; top: 0; width: 271px;
  font-family: 'cp-barlow', 'Barlow', sans-serif; font-weight: bold; color: #2A5B41;
}
.cpm-hero-title p { margin: 0; }
.cpm-hero-title p:first-child { font-size: 22px; line-height: 38.5px; }
.cpm-hero-title p + p { font-size: 16px; line-height: normal; }
.cpm-hero-btn {
  position: absolute; left: 0; top: 153.5px; width: 320px; height: 22px;
  display: flex; align-items: center; justify-content: center;
  background: rgb(178, 189, 178); color: #000000; text-decoration: none;
  font-family: 'avenir-lt-w01_35-light1475496', 'Mulish', sans-serif;
  font-size: 12.8px; line-height: 1.41em; text-align: center;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.4);
  transition: background-color .4s ease 0s, color .4s ease 0s;
}
.cpm-hero-btn:hover { background: rgba(0, 0, 0, 0.7); color: #FFFFFF; }
.cpm-hero-btn { position: relative; }
.cpm-hero-btn::before, .cpm-hero-btn::after {
  content: ''; position: absolute; bottom: -26px; width: 165px; height: 26px;
  background: url('../assets/images/originals/button-lifted-shadow.png') no-repeat;
  pointer-events: none;
}
.cpm-hero-btn::before { left: -20px; background-position: 0 0; }
.cpm-hero-btn::after { right: -20px; background-position: 100% 0; }

.cpm-main { position: relative; height: 1100px; background: #FAFAFA; }
.cpm-intro-img { position: absolute; left: 0; top: 0; width: 320px; height: 213px; object-fit: cover; }
.cpm-intro-txt { position: absolute; left: 20px; top: 233px; width: 280px; }
.cpm-intro-txt h3 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif; font-weight: 500;
  font-size: 17px; line-height: normal; letter-spacing: normal; color: #000000;
}
.cpm-intro-txt p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 14px; line-height: normal; text-align: justify; color: #000000;
}
.cpm-faq-line {
  position: absolute; left: 0; top: 595px; width: 320px; height: 4px;
  box-sizing: border-box; border-top: 4px solid #2A5B41;
}
.cpm-faq-head {
  position: absolute; left: 10px; top: 609px; width: 300px; margin: 0;
  font-family: 'helvetica-w01-bold', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700;
  font-size: 21px; line-height: normal; letter-spacing: 0.01em;
  text-align: center; color: #000000;
}
.cpm-faq-list { position: absolute; left: 0; top: 645px; width: 320px; }
.cpm-faq-item { padding: 6px 0 8px; background: rgb(245, 245, 245); }
.cpm-faq-item + .cpm-faq-item { margin-top: 5px; }
.cpm-faq-qa { margin: 0 20px; width: 280px; }
.cpm-faq-qa p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 14px; line-height: normal; letter-spacing: normal;
  text-align: justify; color: #404040;
}
.cpm-faq-qa p.q { font-weight: bold; }

/* ============================================================
   hair-removal 页面 — DESKTOP (980 列坐标, 线上实测 2026-09-22)
   原站结构: hero 428 / evolution 363(+31) / diode 604 / gallery 361
             faq 690 / advice 1175  (内容总高 3652)
   ============================================================ */

/* ---------- HERO: 全宽图 428 + 右侧白卡 60% 绿字 + 墨绿按钮 ---------- */
/* 注: hero 与下方内容间距 60px 为用户要求的有意偏离 (原站为 0) */
.hr-hero { position: relative; height: 428px; overflow: hidden; background: #FFFFFF; margin-bottom: 60px; }
.hr-hero-img { position: absolute; left: 0; top: 0; width: 100%; height: 428px; object-fit: cover; }
.hr-hero-in { position: relative; height: 428px; }
.hr-card {
  position: absolute; left: 610px; top: 70px; width: 324px; height: 216px;
  background: rgba(255, 255, 255, 0.6);
}
.hr-hero-txt { position: absolute; left: 626px; top: 93px; width: 303px; }
.hr-hero-txt p {
  margin: 0; color: #2A5B41; font-weight: bold;
  font-family: 'cp-barlow', 'Barlow', sans-serif; line-height: normal;
}
.hr-t1 { font-size: 32px; }
.hr-t2 { font-size: 20px; }
.hr-hero-btn {
  position: absolute; left: 610px; top: 249px; width: 324px; height: 37px;
  display: flex; align-items: center; justify-content: center;
  background: #41553A; color: #FFFFFF; border-radius: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  font-family: 'avenir-lt-w01_35-light1475496', 'Mulish', sans-serif;
  font-size: 20px; font-weight: 400; text-align: center;
  transition: background-color .4s ease;
}
.hr-hero-btn:hover { background: rgba(0, 0, 0, 0.7); }

/* ---------- EVOLUTION: 左图 490×363 + 右文 (h3 22 ×3 + p 16 ×2) ---------- */
.hr-evo { position: relative; height: 363px; margin-bottom: 31px; }
.hr-evo-in { position: relative; height: 363px; }
.hr-evo-img { position: absolute; left: 0; top: 0; width: 490px; height: 363px; object-fit: cover; }
.hr-evo-txt { position: absolute; left: 547px; top: 0; width: 386px; }
.hr-evo-txt h3 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif; font-weight: 400;
  font-size: 22px; line-height: normal; color: #000000;
}
.hr-evo-txt h3.hr-sp16 { font-size: 16px; }
.hr-evo-txt p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 16px; line-height: normal; color: #000000;
}
.hr-evo-txt p.hr-sp16 { font-size: 16px; }

/* ---------- SMART DIODE: 左机图 330×554 + 右文 (圆点列表 + h2 26 + p 18) ---------- */
.hr-diode { position: relative; height: 604px; background: #FFFFFF; }
.hr-diode-in { position: relative; height: 604px; }
.hr-diode-img { position: absolute; left: 37px; top: 22px; width: 330px; height: 554px; object-fit: cover; }
.hr-diode-txt { position: absolute; left: 380px; top: 69px; width: 578px; }
.hr-diode-txt ul { margin: 0; padding: 0 0 0 31px; list-style: disc; }
.hr-diode-txt li {
  font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 18px; line-height: 1.2em; color: #000000;
}
.hr-diode-txt h2 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif; font-weight: 400;
  font-size: 26px; line-height: 1.2em; color: #000000;
}
.hr-diode-txt p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 18px; line-height: 1.2em; color: #000000;
}

/* ---------- SEE THE RESULTS: 米灰底 + 居中标题 + 3 图 317×308 ---------- */
.hr-gallery { position: relative; height: 361px; background: #FAFAFA; }
.hr-gal-in { position: relative; height: 361px; }
.hr-gal-title {
  position: absolute; left: 338px; top: 0; width: 304px; margin: 0; text-align: center;
  font-family: 'helvetica-w01-bold', 'Inter', 'Helvetica Neue', Helvetica, sans-serif;
  font-weight: 700; font-size: 30px; line-height: normal; color: #000000;
}
.hr-gi { position: absolute; top: 53px; width: 317px; height: 308px; object-fit: cover; }
.hr-gi.i1 { left: 0; }
.hr-gi.i2 { left: 332px; }
.hr-gi.i3 { left: 663px; }

/* ---------- FAQ: 米灰底 + 金线 7px + 标题 + 5 条浅灰盒 (默认全展开) ---------- */
.hr-faq { position: relative; height: 690px; background: #FAFAFA; }
.hr-faq-line { position: absolute; left: 0; top: 33px; width: 100%; height: 7px; background: #B38A4C; }
.hr-faq-in { position: relative; height: 690px; }
.hr-faq-title {
  position: absolute; left: 264px; top: 70px; width: 437px; margin: 0; text-align: center;
  font-family: 'helvetica-w01-bold', 'Inter', 'Helvetica Neue', Helvetica, sans-serif;
  font-weight: 700; font-size: 30px; line-height: normal; color: #000000;
}
.hr-fi { position: absolute; left: 0; width: 980px; background: #F5F5F5; }
.hr-fi.f1 { top: 121px; height: 102px; }
.hr-fi.f2 { top: 235px; height: 102px; }
.hr-fi.f3 { top: 349px; height: 83px; }
.hr-fi.f4 { top: 444px; height: 102px; }
.hr-fi.f5 { top: 558px; height: 102px; }
.hr-fit { padding: 8px 24px 0 10px; }
.hr-fit p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 16px; line-height: normal; color: #404040; text-align: justify;
}
.hr-fi.f3 .hr-fit p, .hr-fi.f4 .hr-fit p { text-align: left; }
.hr-fit p.hr-fq { font-weight: bold; }

/* ---------- ADVICE: 淡蓝底 + 提示 + 左右两栏 (标题 40 + 正文 15 两端对齐) ---------- */
.hr-adv { position: relative; height: 1175px; background: #DDE8EB; }
.hr-adv-in { position: relative; height: 1175px; }
.hr-adv-note {
  position: absolute; left: 26px; top: 17px; width: 944px; margin: 0;
  font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 18px; line-height: 1.67em; color: #000000;
}
.hr-adv-h {
  position: absolute; top: 87px; width: 274px; margin: 0;
  font-family: 'avenir-lt-w01_85-heavy1475544', 'Mulish', 'Helvetica Neue', sans-serif;
  font-weight: 700; font-size: 40px; line-height: 1.25; color: #000000;
}
.hr-adv-h.hl { left: 26px; }
.hr-adv-h.hr2 { left: 490px; }
.hr-adv-p { position: absolute; top: 211px; }
.hr-adv-p.pl { left: 26px; width: 445px; }
.hr-adv-p.pr { left: 490px; width: 480px; }
.hr-adv-p p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 15px; line-height: normal; color: #000000; text-align: justify;
}

/* ============================================================
   hair-removal 页面 — MOBILE (320px 设计宽, 线上实测 2026-09-22)
   hero 219 / evolution 498(+20) / diode 832 / gallery 464
   faq 712 / advice 1960  (内容总高 4705)
   ============================================================ */
.hrm-hero { position: relative; height: 219px; overflow: hidden; }
.hrm-img { width: 320px; height: 219px; object-fit: cover; }
.hrm-card {
  position: absolute; left: 10px; top: 10px; width: 300px; height: 199px;
  background: rgba(255, 255, 255, 0.6);
}
.hrm-hero-txt { position: absolute; left: 25px; top: 31px; width: 237px; }
.hrm-hero-txt p {
  margin: 0; color: #2A5B41; font-weight: bold;
  font-family: 'cp-barlow', 'Barlow', sans-serif; line-height: normal;
}
.hrm-t1 { font-size: 25px; }
.hrm-t2 { font-size: 18px; }
.hrm-btn {
  position: absolute; left: 10px; top: 165px; width: 300px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  background: #41553A; color: #FFFFFF; border-radius: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  font-family: 'avenir-lt-w01_35-light1475496', 'Mulish', sans-serif;
  font-size: 20px; font-weight: 400; text-align: center;
  transition: background-color .4s ease;
}
.hrm-btn:hover { background: rgba(0, 0, 0, 0.7); }

/* hero 与下方间距 32px 为用户要求的有意偏离 (原站 20px) */
.hrm-evo { position: relative; height: 498px; margin-top: 32px; }
.hrm-evo-img { position: absolute; left: 0; top: 0; width: 320px; height: 213px; object-fit: cover; }
.hrm-evo-txt { position: absolute; left: 20px; top: 223px; width: 280px; }
.hrm-evo-txt h3 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif; font-weight: 400;
  font-size: 19px; line-height: normal; color: #000000;
}
.hrm-evo-txt h3.hrm-sp14, .hrm-evo-txt p.hrm-sp14 { font-size: 14px; }
.hrm-evo-txt p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 14px; line-height: normal; color: #000000;
}

.hrm-diode { position: relative; height: 832px; background: #FFFFFF; }
.hrm-diode-img { position: absolute; left: 65px; top: 20px; width: 190px; height: 319px; object-fit: cover; }
.hrm-diode-txt { position: absolute; left: 20px; top: 349px; width: 280px; }
.hrm-diode-txt ul { margin: 0; padding: 0 0 0 20px; list-style: disc; }
.hrm-diode-txt li {
  font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 14px; line-height: 1.2em; color: #000000;
}
.hrm-diode-txt h2 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif; font-weight: 400;
  font-size: 20px; line-height: 1.2em; color: #000000;
}
.hrm-diode-txt p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 14px; line-height: 1.2em; color: #000000;
}

.hrm-gallery { position: relative; height: 464px; background: #FAFAFA; }
.hrm-gal-title {
  position: absolute; left: 10px; top: 10px; width: 300px; margin: 0; text-align: center;
  font-family: 'helvetica-w01-bold', 'Inter', 'Helvetica Neue', Helvetica, sans-serif;
  font-weight: 700; font-size: 21px; line-height: normal; color: #000000;
}
.hrm-gi { position: absolute; left: 20px; width: 280px; height: 126px; object-fit: cover; }
.hrm-gi.i1 { top: 56px; }
.hrm-gi.i2 { top: 187px; }
.hrm-gi.i3 { top: 318px; }

.hrm-faq { position: relative; height: 712px; background: #FAFAFA; }
.hrm-faq-line { position: absolute; left: 0; top: 20px; width: 100%; height: 4px; background: #B38A4C; }
.hrm-faq-title {
  position: absolute; left: 20px; top: 34px; width: 280px; margin: 0; text-align: center;
  font-family: 'helvetica-w01-bold', 'Inter', 'Helvetica Neue', Helvetica, sans-serif;
  font-weight: 700; font-size: 21px; line-height: normal; color: #000000;
}
.hrm-fi { position: absolute; left: 0; width: 320px; background: #F5F5F5; }
.hrm-fi.f1 { top: 101px; height: 142px; }
.hrm-fi.f2 { top: 245px; height: 114px; }
.hrm-fi.f3 { top: 361px; height: 86px; }
.hrm-fi.f4 { top: 449px; height: 128px; }
.hrm-fi.f5 { top: 579px; height: 128px; }
.hrm-fit { padding: 9px 20px 0; }
.hrm-fit p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 12px; line-height: normal; color: #404040; text-align: justify;
}
.hrm-fi.f3 .hrm-fit p, .hrm-fi.f4 .hrm-fit p { text-align: left; }
.hrm-fit p.hrm-fq { font-weight: bold; }

.hrm-adv { position: relative; height: 1960px; background: #DDE8EB; }
.hrm-adv-note {
  position: absolute; left: 10px; top: 10px; width: 290px; margin: 0;
  font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 12px; line-height: 1.67em; color: #000000;
}
.hrm-adv-h {
  position: absolute; left: 20px; width: 280px; margin: 0;
  font-family: 'avenir-lt-w01_85-heavy1475544', 'Mulish', 'Helvetica Neue', sans-serif;
  font-weight: 700; font-size: 24px; line-height: 1.25; color: #000000;
}
.hrm-adv-h.h1 { top: 100px; }
.hrm-adv-h.h2 { top: 962px; }
.hrm-adv-p { position: absolute; left: 20px; width: 280px; }
.hrm-adv-p.p1 { top: 140px; }
.hrm-adv-p.p2 { top: 1002px; }
.hrm-adv-p p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 12px; line-height: normal; color: #000000; text-align: justify;
}

/* ============================================================
   副本-teeth-whitening 页面 (3D lipo ultimatepro) — DESKTOP
   980 列坐标, 原站实字体重测 2026-09-22 (/tmp/tw-desktop2.json)
   section: comp-m3ehtnpp 418 / comp-m3ehtnq11 465 / comp-m3ehtnq75 1229.4
            / comp-m3g52emm 500 / comp-m3ehtnqm11 1107 (灰底含 26px 底衬)
   ============================================================ */

/* ---------- HERO: 全宽横幅 1440×408 + 橄榄绿按钮 (#41553A) + 60% 白盒 ---------- */
.t-hero { position: relative; height: 418px; }
.t-hero-img { display: block; width: 100%; height: 408px; object-fit: cover; }
.t-hero-in { position: absolute; top: 0; left: 50%; width: 980px; margin-left: -490px; height: 408px; }
.t-btn-hero {
  position: absolute; left: 68px; top: 252px; width: 353px; height: 37px;
  display: flex; align-items: center; justify-content: center;
  background: #41553A; color: #FFFFFF; border-radius: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  font-family: 'avenir-lt-w01_35-light1475496', 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 16px; line-height: 22.56px; text-align: center;
  transition: background-color .4s ease;
}
.t-btn-hero:hover { background: #2F3F29; }
/* 按钮下方半透明白色空盒 (原站 comp-m3ehtnpx1, --alpha-bg 0.6) */
.t-hero-box { position: absolute; left: 68px; top: 353px; width: 353px; height: 39px; background: rgba(255, 255, 255, 0.6); }

/* ---------- INTRO: 上 431px #FAFAFA 底 (section 高 465, 底部 34px 露白) ---------- */
.t-intro { position: relative; height: 465px; }
.t-intro::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 431px; background: #FAFAFA; }
.t-intro-in { position: relative; width: 980px; height: 465px; margin: 0 auto; }
.t-intro-img { position: absolute; left: 0; top: 44px; width: 490px; height: 393px; object-fit: cover; }
.t-intro-rt { position: absolute; left: 533px; top: 67px; width: 420px; }
.t-h1 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 22px; line-height: 28.6px; color: #000000;
}
.t-h3 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 18px; line-height: 23.4px; color: #000000;
}
.t-lead {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 18px; line-height: 23.4px; color: #000000;
}

/* ---------- TREATMENTS: 4 张 #F5F4F4 卡片 914×~307 居中, 首张上溢 -7.5 ---------- */
/* 线上 slider JS 撑开区块并给卡片 14px 间隔 (1229.4→1286, 实测 2026-09-22 live) */
.t-treat { position: relative; height: 1286px; background: #FFFFFF; }
.t-item { position: absolute; left: 50%; width: 914px; margin-left: -457px; background: #F5F4F4; }
.t-item.i1 { top: -0.5px; height: 307px; }
.t-item.i2 { top: 320.5px; height: 313.4px; }
.t-item.i3 { top: 647.5px; height: 307px; }
.t-item.i4 { top: 968.5px; height: 307px; }
.t-img { position: absolute; left: 23px; top: 21px; width: 182px; height: 166px; object-fit: cover; }
.t-circle { position: absolute; left: 211px; top: 21px; width: 172px; height: 172px; object-fit: cover; }
/* 标题原站字体 lulo-clean-w01-one-bold (Wix 专有) → Poppins 600 大写 + 字距仿其宽形 */
.t-title {
  position: absolute; left: 399px; top: 22px; width: 326px; margin: 0;
  font-family: 'lulo-clean-w01-one-bold', 'Poppins', sans-serif;
  font-weight: 600; font-size: 20px; line-height: 27.9px;
  letter-spacing: 0.175em; text-transform: uppercase; color: #000000;
}
.t-book {
  position: absolute; left: 735px; top: 31px; width: 142px; height: 37px;
  display: flex; align-items: center; justify-content: center;
  background: rgb(178, 189, 178); color: #000000; border-radius: 0;
  font-family: 'avenir-lt-w01_35-light1475496', 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 14px; line-height: 1.2em; text-align: center;
  transition: background-color .4s ease;
}
.t-book:hover { background: rgb(209, 236, 237); }
.t-hr { position: absolute; left: 399px; width: 497px; height: 7px; border-top: 1px solid #866739; }
.t-item.i1 .t-hr, .t-item.i2 .t-hr { top: 77px; }
.t-item.i3 .t-hr, .t-item.i4 .t-hr { top: 103.6px; }
.t-desc { position: absolute; left: 404px; width: 487px; }
.t-item.i1 .t-desc, .t-item.i2 .t-desc { top: 85px; }
.t-item.i3 .t-desc, .t-item.i4 .t-desc { top: 111.6px; }
.t-desc p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 13px; line-height: 18.2px; color: #000000;
}
.t-desc.just p { text-align: justify; }

/* ---------- RESULTS: #F5F4F4 底 + 居中横幅图 978×500 (980 列内 left 2) ---------- */
.t-results { position: relative; height: 500px; background: #F5F4F4; }
.t-results-in { position: relative; width: 980px; height: 500px; margin: 0 auto; }
.t-results-img { position: absolute; left: 2px; top: 0; width: 978px; height: 500px; object-fit: cover; }

/* ---------- FAQ: #FAFAFA 底 + 金色 4px 顶线 + 10 组 #F5F5F5 问答卡 ---------- */
.t-faq { position: relative; height: 1081.3px; background: #FAFAFA; }
/* 原站灰底条 (1107px) 溢出 section 底部 25.7px 覆盖页脚顶, 不占布局高度 */
.t-faq::after { content: ''; position: absolute; top: 1081.3px; left: 0; right: 0; height: 25.7px; background: #FAFAFA; }
.t-faq-gold { position: absolute; top: 33px; left: 0; width: 100%; height: 7px; border-top: 4px solid #B38A4C; }
.t-faq-in { position: relative; width: 980px; height: 1081.3px; margin: 0 auto; }
.t-faq-title {
  position: absolute; left: 264px; top: 70px; width: 437px; margin: 0;
  font-family: 'helvetica-w01-bold', 'helvetica-w02-bold', 'helvetica-lt-w10-bold', Helvetica, Arial, sans-serif;
  font-weight: 700; font-size: 30px; line-height: normal; letter-spacing: 0.01em;
  color: #000000; text-align: center;
}
.t-faq-list { position: absolute; left: 0; top: 121px; width: 980px; }
.t-qa { position: absolute; left: 0; width: 980px; background: #F5F5F5; }
.t-qa-in { position: absolute; left: 10px; top: 8px; width: 946px; }
.t-qa.q1 { top: 0; height: 95.8px; }
.t-qa.q2 { top: 107.8px; height: 124.6px; }
.t-qa.q3 { top: 244.4px; height: 76.6px; }
.t-qa.q4 { top: 333px; height: 76.6px; }
.t-qa.q5 { top: 421.6px; height: 76.6px; }
.t-qa.q6 { top: 510.2px; height: 76.6px; }
.t-qa.q7 { top: 598.8px; height: 76.6px; }
.t-qa.q8 { top: 687.4px; height: 76.6px; }
.t-qa.q9 { top: 776px; height: 76.6px; }
.t-qa.q10 { top: 864.6px; height: 76.6px; }
.t-q {
  margin: 0; font-family: 'helvetica-w01-bold', 'helvetica-w02-bold', 'helvetica-lt-w10-bold', Helvetica, Arial, sans-serif;
  font-weight: 700; font-size: 16px; line-height: 19.2px; letter-spacing: normal; color: #404040;
}
.t-a {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 16px; line-height: 19.2px; color: #000000;
}
/* 原站第 2 题答案: 字形 16px 但行高 21.6 (富文本 18px 行距) */
.t-qa.q2 .t-a { font-size: 16px; line-height: 21.6px; }
.t-q.just, .t-a.just { text-align: justify; }

/* ============================================================
   副本-teeth-whitening 页面 — MOBILE (320px 设计宽, 实字体重测)
   section: 159 / 525.3 / 1432.9 / 183 / 1062.8
   ============================================================ */
.tm-hero { position: relative; height: 159px; }
.tm-hero-img { display: block; width: 100%; height: 121px; object-fit: cover; }
.tm-btn-hero {
  position: absolute; left: 0; top: 121px; width: 320px; height: 27px;
  display: flex; align-items: center; justify-content: center;
  background: #41553A; color: #FFFFFF; border-radius: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  font-family: 'avenir-lt-w01_35-light1475496', 'Mulish', 'Helvetica Neue', sans-serif;
  font-size: 12.8px; line-height: 18px; text-align: center;
  transition: background-color .4s ease;
}
.tm-btn-hero:hover { background: #2F3F29; }

.tm-intro { position: relative; height: 525.3px; background: #FAFAFA; }
.tm-intro-img { position: absolute; left: 0; top: 5px; width: 320px; height: 341px; object-fit: cover; }
.tm-intro-rt { position: absolute; left: 10px; top: 348px; width: 299px; }
.tm-h1 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 15px; line-height: 19.5px; color: #000000;
}
.tm-h3 {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 12px; line-height: 15.6px; color: #000000;
}
.tm-lead {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 12px; line-height: 15.6px; color: #000000;
}

.tm-treat { position: relative; height: 1432.9px; background: #FFFFFF; }
.tm-item { position: absolute; left: 0; width: 320px; background: #F5F4F4; }
.tm-item.i1 { top: 0; height: 358.3px; }
.tm-item.i2 { top: 361.3px; height: 404.5px; }
.tm-item.i3 { top: 768.8px; height: 318.1px; }
.tm-item.i4 { top: 1089.9px; height: 342.9px; }
.tm-img { position: absolute; left: 35px; top: 12px; width: 123px; height: 113px; object-fit: cover; }
.tm-circle { position: absolute; left: 172px; top: 11px; width: 113px; height: 113px; object-fit: cover; }
.tm-title {
  position: absolute; left: 20px; top: 129px; width: 280px; margin: 0;
  font-family: 'lulo-clean-w01-one-bold', 'Poppins', sans-serif;
  font-weight: 600; font-size: 16px; line-height: 21.44px;
  letter-spacing: 0.175em; text-transform: uppercase; color: #000000;
}
.tm-hr { position: absolute; left: 20px; width: 280px; height: 10px; border-top: 1px solid #866739; }
.tm-item.i1 .tm-hr, .tm-item.i2 .tm-hr, .tm-item.i4 .tm-hr { top: 155.4px; }
.tm-item.i3 .tm-hr { top: 176.9px; }
.tm-desc { position: absolute; left: 20px; width: 280px; }
.tm-item.i1 .tm-desc, .tm-item.i2 .tm-desc, .tm-item.i4 .tm-desc { top: 165.4px; }
.tm-item.i3 .tm-desc { top: 186.9px; }
.tm-desc p {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 11px; line-height: 15.4px; color: #000000;
}
.tm-desc.just p { text-align: justify; }

.tm-results { position: relative; height: 183px; background: #F5F4F4; }
.tm-results-img { position: absolute; left: 0; top: 10px; width: 320px; height: 161px; object-fit: cover; }

.tm-faq { position: relative; height: 1062.8px; background: #FAFAFA; }
.tm-faq-gold { position: absolute; top: 0; left: 0; width: 100%; height: 4px; border-top: 4px solid #B38A4C; }
.tm-faq-title {
  position: absolute; left: 10px; top: 14px; width: 300px; margin: 0;
  font-family: 'helvetica-w01-bold', 'helvetica-w02-bold', 'helvetica-lt-w10-bold', Helvetica, Arial, sans-serif;
  font-weight: 700; font-size: 18px; line-height: normal; letter-spacing: 0.01em;
  color: #000000; text-align: center;
}
.tm-faq-list { position: absolute; left: 0; top: 46px; width: 320px; }
.tm-qa { position: absolute; left: 0; width: 320px; background: #F5F5F5; }
.tm-qa-in { position: absolute; left: 20px; top: 8px; width: 280px; }
.tm-qa.q1 { top: 0; height: 108.4px; }
.tm-qa.q2 { top: 111.4px; height: 152.5px; }
.tm-qa.q3 { top: 266.9px; height: 95.2px; }
.tm-qa.q4 { top: 365.1px; height: 95.2px; }
.tm-qa.q5 { top: 463.3px; height: 82px; }
.tm-qa.q6 { top: 548.4px; height: 95.2px; }
.tm-qa.q7 { top: 646.6px; height: 95.2px; }
.tm-qa.q8 { top: 744.8px; height: 82px; }
.tm-qa.q9 { top: 829.8px; height: 82px; }
.tm-qa.q10 { top: 914.8px; height: 82px; }
.tm-q {
  margin: 0; font-family: 'helvetica-w01-bold', 'helvetica-w02-bold', 'helvetica-lt-w10-bold', Helvetica, Arial, sans-serif;
  font-weight: 700; font-size: 11px; line-height: 13.2px; letter-spacing: normal; color: #404040;
}
.tm-a {
  margin: 0; font-family: 'cp-barlow', 'Barlow', sans-serif;
  font-size: 11px; line-height: 13.2px; color: #000000;
}
/* 原站移动端第 2 题答案: 字形 11-12px, 行距 14.4 */
.tm-qa.q2 .tm-a { font-size: 11px; line-height: 14.4px; }
