.elementor-3989 .elementor-element.elementor-element-11bed950{--display:flex;--min-height:250px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-3989 .elementor-element.elementor-element-11bed950:not(.elementor-motion-effects-element-type-background), .elementor-3989 .elementor-element.elementor-element-11bed950 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#D3E7EF;background-image:url("https://drchiahuahsu.com/wp-content/uploads/2026/10/標題背景.png");background-position:bottom right;background-repeat:no-repeat;background-size:contain;}.elementor-3989 .elementor-element.elementor-element-7a6990f .elementor-heading-title{font-family:"Noto Sans TC", Sans-serif;font-size:32px;font-weight:700;letter-spacing:0px;color:var( --e-global-color-astglobalcolor1 );}.elementor-3989 .elementor-element.elementor-element-27036b50{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-3989 .elementor-element.elementor-element-701ca070{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-3989 .elementor-element.elementor-element-701ca070{--width:100%;}}@media(max-width:767px){.elementor-3989 .elementor-element.elementor-element-11bed950{--min-height:150px;}.elementor-3989 .elementor-element.elementor-element-7a6990f .elementor-heading-title{font-size:25px;}.elementor-3989 .elementor-element.elementor-element-27036b50{--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS *//* drchiahuahsu.com 統一排版規範 v2（寬度方案 D：文字、圖片、表格一律最寬 1080px）
   範圍：只對 .dch-article / .dch-archive / .dch-page 底下生效，不改 Kit 443 全域值。
   套用方式：class 加在「複製版型」每一個最上層容器的 進階 > CSS 類別（不是 body、不是 Kit 443）；本檔貼到該版型的 頁面設定 > 進階 > 自訂 CSS。
   首頁 952、關於我 25 不加這個 class，所以完全不受影響。
   !important 只在樣稿裡用來壓過各篇的元件覆寫；正式套用時先清掉元件覆寫，就可以拿掉 !important。 */
:root{
  --dch-blue-900:#173a5e; --dch-blue-700:#2d6196; --dch-blue-500:#4f82b8; --dch-blue-300:#96b8da;
  --dch-blue-100:#dce8f4; --dch-blue-50:#eff3f8; --dch-ink:#0f172a; --dch-text:#334155; --dch-muted:#64748b;
  --dch-line:#d1e0ef; --dch-line-2:#e6edf5; --dch-cream:#f6f1e8; --dch-white:#fff;
  --dch-font:"Noto Sans TC","PingFang TC","Microsoft JhengHei","Heiti TC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --dch-measure:1080px; --dch-wide:1080px; /* 方案 D：兩者都 1080（17px 約 61 字一行） */
  --dch-fs-h1:40px; --dch-fs-h2:28px; --dch-fs-h3:21px; --dch-fs-h4:18px; --dch-fs-body:17px; --dch-fs-small:14px; --dch-fs-table:15px;
  --dch-sec-gap:72px;
}
@media (max-width:767px){:root{--dch-fs-h1:30px;--dch-fs-h2:22px;--dch-fs-h3:18px;--dch-fs-h4:17px;--dch-fs-body:16px;--dch-fs-small:13px;--dch-fs-table:14px;--dch-sec-gap:44px;}}

.dch-article{font-family:var(--dch-font)!important;color:var(--dch-text);}
.dch-article p,.dch-article li,.dch-article .elementor-widget-text-editor,
.dch-article .elementor-widget-text-editor p,.dch-article .elementor-widget-text-editor li,.dch-article .elementor-widget-theme-post-excerpt{
  font-family:var(--dch-font)!important;font-size:var(--dch-fs-body)!important;font-weight:400!important;
  line-height:1.85!important;letter-spacing:.02em;color:var(--dch-text)!important;line-break:strict;overflow-wrap:anywhere;}
.dch-article .elementor-widget-text-editor p{margin:0 0 1em!important;}
.dch-article .elementor-widget-text-editor p:last-child{margin-bottom:0!important;}
.dch-article strong,.dch-article b{font-weight:700!important;color:var(--dch-ink)!important;}
.dch-article a:not(.elementor-button):not(.elementor-toc__list-item-text){color:var(--dch-blue-700)!important;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}

/* 版心（方案 D）：文字、圖片、表格、前後對照全部同寬 1080，置中 */
.dch-article .elementor-widget-theme-post-content .e-con.e-parent{max-width:var(--dch-wide)!important;margin-inline:auto!important;
  padding-top:0!important;padding-bottom:0!important;margin-bottom:var(--dch-sec-gap)!important;gap:40px!important;}
.dch-article .elementor-widget-theme-post-content .elementor-widget-text-editor,
.dch-article .elementor-widget-theme-post-content .elementor-widget-heading{max-width:var(--dch-measure)!important;width:100%;}
.dch-article .elementor-widget-theme-post-content .e-con.e-parent:not(:has(.e-con.e-child ~ .e-con.e-child)) > .elementor-widget,
.dch-article .elementor-widget-theme-post-content .e-con.e-parent:not(:has(.e-con.e-child ~ .e-con.e-child)) > .e-con-inner > .elementor-widget{margin-inline:auto!important;}
.dch-article .pp-table-container,.dch-article .elementor-widget-pp-table{max-width:var(--dch-measure)!important;}

/* 標題層級：每頁只有一個 H1（範本的文章標題），內文段落 H2、小節 H3 */
.dch-article h1,.dch-article .elementor-widget-theme-post-title .elementor-heading-title{font-family:var(--dch-font)!important;font-size:var(--dch-fs-h1)!important;font-weight:700!important;line-height:1.3!important;letter-spacing:.02em!important;color:var(--dch-blue-900)!important;text-wrap:balance;}
.dch-article h2,.dch-article h2.elementor-heading-title{font-family:var(--dch-font)!important;font-size:var(--dch-fs-h2)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:.02em!important;color:var(--dch-ink)!important;margin:0 0 .6em!important;text-wrap:balance;}
.dch-article .elementor-widget-theme-post-content h2.elementor-heading-title::before{content:"";display:block;width:36px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--dch-blue-700),var(--dch-blue-300));margin-bottom:14px;}
.dch-article h3,.dch-article h3.elementor-heading-title{font-family:var(--dch-font)!important;font-size:var(--dch-fs-h3)!important;font-weight:700!important;line-height:1.5!important;color:var(--dch-blue-900)!important;margin:1.6em 0 .5em!important;}
.dch-article h4{font-size:var(--dch-fs-h4)!important;font-weight:700!important;line-height:1.55!important;color:var(--dch-ink)!important;}
.dch-article .elementor-widget-text-editor h2:first-child,.dch-article .elementor-widget-text-editor h3:first-child{margin-top:0!important;}

/* 清單 */
.dch-article .elementor-widget-text-editor ul,.dch-article .elementor-widget-text-editor ol{margin:0 0 1em 0!important;padding-left:1.4em!important;}
.dch-article .elementor-widget-text-editor li{margin:0 0 .35em!important;padding-left:.2em;}
.dch-article .elementor-widget-text-editor li::marker{color:var(--dch-blue-700);font-weight:700;}
.dch-article .elementor-widget-text-editor ul ul,.dch-article .elementor-widget-text-editor ol ul{margin:.35em 0 .2em!important;}

/* 圖片說明 */
.dch-article .widget-image-caption,.dch-article figcaption{font-size:var(--dch-fs-small)!important;line-height:1.6!important;color:var(--dch-muted)!important;text-align:center!important;margin-top:10px!important;font-weight:400!important;}
.dch-article .elementor-widget-image img{border-radius:16px;}

/* 表格 */
.dch-article .pp-table,.dch-article .elementor-widget-text-editor table{border-collapse:separate!important;border-spacing:0;width:100%;border:1px solid var(--dch-line)!important;border-radius:14px;overflow:hidden;}
.dch-article .pp-table th,.dch-article .pp-table thead td,.dch-article .elementor-widget-text-editor table th{background:var(--dch-blue-50)!important;color:var(--dch-blue-900)!important;font-weight:700!important;font-size:var(--dch-fs-table)!important;}
.dch-article .pp-table td,.dch-article .pp-table th,.dch-article .elementor-widget-text-editor table td,.dch-article .elementor-widget-text-editor table th{font-family:var(--dch-font)!important;font-size:var(--dch-fs-table)!important;line-height:1.65!important;color:var(--dch-text);padding:12px 16px!important;border:0!important;border-bottom:1px solid var(--dch-line-2)!important;text-align:left!important;vertical-align:top;}
.dch-article .pp-table tbody tr:nth-child(even) td{background:#f8fafc!important;}
.dch-article .pp-table tr:last-child td{border-bottom:0!important;}

/* 引言／醫師提醒 */
.dch-article blockquote,.dch-article .dch-note{margin:1.2em 0!important;padding:16px 20px!important;border-left:4px solid var(--dch-blue-700)!important;background:var(--dch-blue-50)!important;border-radius:0 12px 12px 0;color:var(--dch-ink)!important;font-size:var(--dch-fs-body)!important;font-style:normal!important;}

/* 按鈕：主要（實心膠囊）＋次要（外框） */
.dch-article .elementor-button,.dch-article .elementor-author-box__button{background:var(--dch-blue-700)!important;color:#fff!important;border:1.5px solid var(--dch-blue-700)!important;border-radius:999px!important;padding:13px 30px!important;font-family:var(--dch-font)!important;font-size:16px!important;font-weight:700!important;letter-spacing:.04em;line-height:1.2!important;box-shadow:0 6px 16px rgba(45,97,150,.22);}
.dch-article .elementor-button:hover{background:var(--dch-blue-900)!important;}
.dch-article .dch-btn-secondary .elementor-button{background:#fff!important;color:var(--dch-blue-700)!important;box-shadow:none;}

/* 目錄卡 */
.dch-article .elementor-widget-table-of-contents{max-width:var(--dch-measure);margin-inline:auto!important;}
.dch-article .elementor-toc__header{background:var(--dch-blue-50)!important;border-bottom:1px solid var(--dch-line)!important;}
.dch-article .elementor-toc__header-title{font-size:16px!important;font-weight:700!important;color:var(--dch-blue-900)!important;}
.dch-article .elementor-toc{border:1px solid var(--dch-line)!important;border-radius:14px!important;overflow:hidden;}
.dch-article .elementor-toc__list-item-text{font-size:15px!important;color:var(--dch-text)!important;}

/* 單篇頁首 v6「無接縫」：整條底色是同一個 CSS 漸層；右側黏土插圖用「去背透明 PNG/WebP」放上去，
   插圖本身不帶底色，所以任何螢幕寬度都不會出現色塊接縫。不再用 mask 淡出整張有底色的圖。
   每篇只要換 .dch-hero-art 裡的 <img>。 */
.dch-article .dch-hero{position:relative;overflow:hidden;min-height:360px!important;
  background:
    radial-gradient(38% 70% at 80% 62%, rgba(251,238,226,.95) 0%, rgba(251,238,226,0) 72%),
    radial-gradient(55% 90% at 12% 0%, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 70%),
    linear-gradient(100deg,#f5f9fd 0%,#eaf2fa 48%,#dbe8f5 100%)!important;}
/* hero 放在文章內容最上方的 HTML 元件裡：讓它突破 1080 版心，滿版顯示 */
.dch-article{overflow-x:clip;}
.dch-article .elementor-widget-theme-post-content .e-con.e-parent:has(.dch-hero){max-width:none!important;padding:0!important;margin-top:0!important;}
.dch-article .dch-hero{width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:0!important;box-sizing:border-box;}
.dch-article .dch-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#e3ecf6;}
.dch-article .dch-hero .dch-hero-inner{box-sizing:border-box;max-width:var(--dch-wide);margin:0 auto;width:100%;padding:56px 24px;position:relative;z-index:2;}
.dch-article .dch-hero .dch-hero-text{max-width:540px;}
.dch-article .dch-crumb{font-size:13px;color:var(--dch-muted);margin-bottom:14px;letter-spacing:.04em;}
.dch-article .dch-crumb a{color:inherit!important;text-decoration:none!important;}
.dch-article .dch-kicker{font-size:13px;font-weight:700;letter-spacing:.18em;color:var(--dch-blue-700);margin-bottom:8px;}
.dch-article .dch-hero h1{margin:0!important;}
.dch-article .dch-en{display:block;font-size:15px;font-weight:500;letter-spacing:.08em;color:var(--dch-muted);margin-top:6px;}
.dch-article .dch-lede{font-size:17px;line-height:1.8;color:var(--dch-text);max-width:30em;margin-top:14px;}
.dch-article .dch-hero-art{position:absolute;z-index:1;top:16px;bottom:-6px;right:max(8px,calc((100% - var(--dch-wide))/2 - 10px));
  width:auto;pointer-events:none;background:none!important;-webkit-mask-image:none!important;mask-image:none!important;}
.dch-article .dch-hero-art img{height:100%;max-height:420px;width:auto;display:block;border-radius:0!important;filter:drop-shadow(0 18px 28px rgba(45,97,150,.10));}
@media (max-width:1024px){.dch-article .dch-hero .dch-hero-text{max-width:56%;}}
@media (max-width:767px){
  .dch-article .dch-hero{min-height:0!important;
    background:radial-gradient(70% 40% at 50% 88%, rgba(251,238,226,.95) 0%, rgba(251,238,226,0) 72%),
               linear-gradient(180deg,#f5f9fd 0%,#eaf2fa 55%,#dde9f6 100%)!important;}
  .dch-article .dch-hero .dch-hero-inner{padding:28px 20px 0;}
  .dch-article .dch-hero .dch-hero-text{max-width:none;}
  .dch-article .dch-lede{max-width:100%;font-size:16px;}
  .dch-article .dch-hero-art{position:relative;top:auto;right:auto;bottom:auto;height:220px;margin:8px auto -4px;display:flex;justify-content:center;}
  .dch-article .dch-hero-art img{height:220px;}
}
.dch-article .dch-meta{font-size:14px;color:var(--dch-muted);margin-top:14px;}
.dch-article .dch-chip{display:inline-block;font-size:13px;font-weight:700;color:var(--dch-blue-700);background:#fff;border:1px solid var(--dch-line);border-radius:999px;padding:3px 12px;margin-right:8px;}

/* 案例文章（1550 複製範本）：「治療前／治療後」標籤是 Heading 元件輸出的 div，各篇寫死 24/18。
   案例只換範本不逐篇改，所以這幾條「保留 !important」。 */
.dch-article .elementor-widget-theme-post-content .elementor-widget-heading div.elementor-heading-title,
.dch-article .dch-label{display:inline-block!important;font-family:var(--dch-font)!important;font-size:15px!important;font-weight:700!important;
  line-height:1.4!important;letter-spacing:.06em!important;color:var(--dch-blue-700)!important;background:var(--dch-blue-50)!important;
  border:1px solid var(--dch-line)!important;border-radius:999px!important;padding:5px 14px!important;margin:0!important;}
.dch-article .elementor-widget-theme-post-content .elementor-widget-heading:has(div.elementor-heading-title:empty){display:none!important;}
.dch-article .elementor-widget-theme-post-content .elementor-widget-heading div.elementor-heading-title span{font-size:inherit!important;color:inherit!important;font-weight:inherit!important;}
.dch-article .elementor-author-box__name{font-size:var(--dch-fs-h4)!important;font-weight:700!important;color:var(--dch-ink)!important;}

/* .dch-page：一般頁面（部落格 688、聯絡 32）。只放在「頁面設定 > CSS 類別」或頁面最外層容器，不放 Kit 443。 */
.dch-page{font-family:var(--dch-font)!important;color:var(--dch-text);}
.dch-page .elementor-widget-text-editor,.dch-page .elementor-widget-text-editor p,.dch-page .elementor-widget-text-editor li{
  font-family:var(--dch-font)!important;font-size:var(--dch-fs-body)!important;line-height:1.85!important;color:var(--dch-text)!important;letter-spacing:.02em;line-break:strict;}
.dch-page h1,.dch-page h1.elementor-heading-title{font-family:var(--dch-font)!important;font-size:var(--dch-fs-h1)!important;font-weight:700!important;line-height:1.3!important;color:var(--dch-blue-900)!important;}
.dch-page h2.elementor-heading-title{font-family:var(--dch-font)!important;font-size:var(--dch-fs-h2)!important;font-weight:700!important;line-height:1.4!important;color:var(--dch-ink)!important;}
.dch-page h3.elementor-heading-title,.dch-page .elementor-widget-text-editor h3{font-family:var(--dch-font)!important;font-size:var(--dch-fs-h3)!important;font-weight:700!important;line-height:1.5!important;color:var(--dch-blue-900)!important;margin:0 0 .4em!important;}
.dch-page .dch-kicker,.dch-archive .dch-kicker{font-size:13px;font-weight:700;letter-spacing:.18em;color:var(--dch-blue-700);margin-bottom:8px;}
/* 部落格卡片標題（Loop 985 的 Post Title 改 H3 後） */
.dch-page .e-loop-item h3.elementor-heading-title,.dch-archive .e-loop-item h3.elementor-heading-title{font-size:19px!important;line-height:1.45!important;color:var(--dch-ink)!important;}
.dch-page .elementor-button{border-radius:999px!important;font-family:var(--dch-font)!important;font-weight:700!important;}

/* .dch-archive：三個分類封存草稿（3826/3820/3823）。版面已由 apply-v5 處理，這裡只統一字級。 */
.dch-archive{font-family:var(--dch-font)!important;}
.dch-archive h1,.dch-archive h1.elementor-heading-title{font-size:var(--dch-fs-h1)!important;font-weight:700!important;line-height:1.3!important;color:var(--dch-blue-900)!important;}
.dch-archive h2.elementor-heading-title{font-size:var(--dch-fs-h2)!important;font-weight:700!important;line-height:1.4!important;color:var(--dch-ink)!important;}
.dch-archive .elementor-widget-text-editor p{font-size:var(--dch-fs-body)!important;line-height:1.85!important;color:var(--dch-text)!important;}

/* ===== DCH batch2 motion START (dch-motion.css) ===== */
/* DCH hero motion v1 (prototype) — pure CSS, no plugins. Layered transparent cut-outs inside .dch-hero-art.
   Load AFTER dch-typography.css. All layers share the island canvas, so they stack with inset:0.
   Mobile (<=767px): all amplitudes halved. prefers-reduced-motion: everything static. */
.dch-article .dch-hero-art .dch-motion{--dm-amp:-7px;--dm-rpe:3px;--dm-pop:1.18;
  position:relative;display:block;height:100%;max-height:420px;width:auto;}
.dch-article .dch-hero-art .dch-motion img{filter:none!important;max-height:none;}
.dch-motion .dm-float{position:relative;width:100%;height:100%;container-type:size;
  filter:drop-shadow(0 18px 28px rgba(45,97,150,.10));
  animation:dm-in .8s cubic-bezier(.2,.7,.2,1) both,dm-float 6s ease-in-out .8s infinite;}
.dch-motion .dm-base{position:absolute;inset:0;height:100%;width:100%;display:block;}
.dch-motion .dm-layer,.dch-motion .dm-shadow{position:absolute;inset:0;width:100%;height:100%;}
.dch-motion .dm-shadow{transform-origin:50% var(--dm-shy,88%);
  animation:dm-in-shadow .8s ease-out both,dm-shadow 6s ease-in-out .8s infinite;}
@keyframes dm-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes dm-in-shadow{from{opacity:0}to{opacity:1}}
@keyframes dm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--dm-amp))}}
@keyframes dm-shadow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.9);opacity:.72}}

/* 1176 RPE: left/right halves (teeth + bands + arms + screw halves, split between the central incisors) open a few px
   over a clean palate under-layer (island-clean) -> midline diastema opens, screw halves separate; closed == still */
.dch-motion--rpe .dm-arch-l{animation:dm-rpe-l 4s ease-in-out 1s infinite;}
.dch-motion--rpe .dm-arch-r{animation:dm-rpe-r 4s ease-in-out 1s infinite;}
@keyframes dm-rpe-l{0%,20%{transform:none}45%,65%{transform:translateX(calc(-1*var(--dm-rpe)))}90%,100%{transform:none}}
@keyframes dm-rpe-r{0%,20%{transform:none}45%,65%{transform:translateX(var(--dm-rpe))}90%,100%{transform:none}}

/* 1318 metal braces: elastic ties pop one after another */
.dch-motion--braces .dm-tie{animation:dm-pop 4.8s ease-out infinite;}
.dch-motion--braces .dm-t1{transform-origin:24.46% 16.32%;animation-delay:1.0s}
.dch-motion--braces .dm-t2{transform-origin:31.98% 19.84%;animation-delay:1.25s}
.dch-motion--braces .dm-t3{transform-origin:41.82% 21.92%;animation-delay:1.5s}
.dch-motion--braces .dm-t4{transform-origin:53.69% 22.56%;animation-delay:1.75s}
.dch-motion--braces .dm-t5{transform-origin:65.41% 21.92%;animation-delay:2.0s}
.dch-motion--braces .dm-t6{transform-origin:74.82% 19.84%;animation-delay:2.25s}
@keyframes dm-pop{0%{transform:none}5%{transform:scale(var(--dm-pop)) translateY(-1%)}9%{transform:scale(.96)}12%{transform:scale(1.03)}15%,100%{transform:none}}

/* 1890 aligner care: bubbles rise in the soaking bowl, clock minute hand turns */
.dch-motion .dm-bubble{position:absolute;border-radius:50%;width:var(--s,2.2cqh);height:var(--s,2.2cqh);
  left:var(--x);top:var(--y);opacity:0;
  border:1px solid rgba(255,255,255,.9);
  background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.95) 0 16%,rgba(255,255,255,.18) 38%,rgba(190,220,240,.28) 100%);
  box-shadow:0 0 0 .5px rgba(120,160,190,.35);
  animation:dm-bubble var(--d,3.2s) ease-in var(--t,1s) infinite;}
@keyframes dm-bubble{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:.95}
  80%{opacity:.9;transform:translateY(calc(-1*var(--rise,10cqh))) scale(1)}
  92%{opacity:0;transform:translateY(calc(-1*var(--rise,10cqh) - .8cqh)) scale(1.35)}100%{opacity:0}}
.dch-motion--care .dm-hand{position:absolute;left:77.93%;top:calc(48.58% - 3.3cqh);width:.75cqh;height:3.5cqh;
  margin-left:-.375cqh;border-radius:1cqh;background:#3a332d;transform-origin:50% 94%;transform:rotate(8deg);
  animation:dm-tick 6s linear 1s infinite;}
.dch-motion--care .dm-cap{position:absolute;left:77.93%;top:48.58%;width:1.3cqh;height:1.3cqh;margin:-.65cqh 0 0 -.65cqh;
  border-radius:50%;background:#3a332d;}
@keyframes dm-tick{from{transform:rotate(8deg)}to{transform:rotate(368deg)}}

/* ---------- v2 additions (item 1): generic glint / glow, then page-specific motion ---------- */
/* glint = static highlight layer revealed by a moving gradient mask (nothing moves -> no ghosting) */
.dch-motion .dm-glint{opacity:var(--go,1);
  -webkit-mask-image:linear-gradient(var(--ga,110deg),transparent 0 42%,#000 50%,transparent 58% 100%);
          mask-image:linear-gradient(var(--ga,110deg),transparent 0 42%,#000 50%,transparent 58% 100%);
  -webkit-mask-size:300% 300%;mask-size:300% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:100% 100%;mask-position:100% 100%;
  animation:dm-glint var(--gd,5s) ease-in-out var(--gt,1.2s) infinite;}
@keyframes dm-glint{0%{-webkit-mask-position:100% 100%;mask-position:100% 100%}
  45%,100%{-webkit-mask-position:0% 0%;mask-position:0% 0%}}
/* archive props glow one after another (brightened copy of the prop fades in/out, warm halo) */
.dch-motion .dm-glow{opacity:0;animation:dm-glow 10s ease-in-out calc(1s + var(--i,0)*1.4s) infinite;}
.dch-article .dch-hero-art .dch-motion img.dm-glow{filter:drop-shadow(0 0 .9cqh rgba(255,238,200,.95))!important;}
@keyframes dm-glow{0%{opacity:0}6%,10%{opacity:1}16%,100%{opacity:0}}

/* 1178 adult: coffee steam wisps + lens glint */
.dch-motion .dm-steam{position:absolute;left:var(--x);top:var(--y);width:1.5cqh;height:7cqh;margin:-7cqh 0 0 -.75cqh;
  border-radius:50%;background:radial-gradient(ellipse at 50% 70%,rgba(255,255,255,.85),rgba(255,255,255,0) 68%);
  filter:blur(1.2px);opacity:0;transform-origin:50% 100%;animation:dm-steam 3.8s ease-in-out var(--t,1s) infinite;}
@keyframes dm-steam{0%{opacity:0;transform:translate(0,.6cqh) scale(.5,.4)}25%{opacity:.75}
  60%{opacity:.45;transform:translate(var(--sx,.6cqh),-2.4cqh) scale(1,1) rotate(var(--r,6deg))}
  100%{opacity:0;transform:translate(calc(-1*var(--sx,.6cqh)),-4.6cqh) scale(1.3,1.2) rotate(calc(-1*var(--r,6deg)))}}

/* 1316 clear aligner: aligner lifts off and seats back (sand under it is a clean inpainted layer) */
.dch-motion--aligner .dm-aligner{animation:dm-lift 4.6s ease-in-out 1s infinite;}
.dch-motion--aligner .dm-ashadow{opacity:0;animation:dm-ashadow 4.6s ease-in-out 1s infinite;}
@keyframes dm-lift{0%,12%{transform:none}38%,55%{transform:translateY(var(--dm-lift,-1.3cqh))}
  74%{transform:translateY(.12cqh)}82%,100%{transform:none}}
@keyframes dm-ashadow{0%,12%{opacity:0}38%,55%{opacity:1}74%,100%{opacity:0}}

/* 1953 mini-screw: sheen runs down the threads (turning hint) and along the elastic chain (tension) */
.dch-motion--miniscrew .dm-screw{--ga:180deg;--gd:2.6s;--gt:.8s;}
.dch-motion--miniscrew .dm-chain{--ga:100deg;--gd:4.2s;--gt:1.6s;animation-timing-function:cubic-bezier(.5,0,.3,1);}

/* 1971 retainers: case lid tilts closed and opens again around its hinge; tablet fizz bubbles */
.dch-motion--retainers .dm-lid{transform-origin:60.1% 21.6%;animation:dm-lid 5.2s ease-in-out 1s infinite;}
@keyframes dm-lid{0%,10%{transform:perspective(900px) rotateX(0)}42%,56%{transform:perspective(900px) rotateX(var(--dm-lidang,-24deg))}
  88%,100%{transform:perspective(900px) rotateX(0)}}
.dch-motion--retainers .dm-bubble{--rise:9cqh;}

/* 2251 FAQ: question mark hops (pebble layer stays in front), tooth blinks */
.dch-motion--faq .dm-q{transform-origin:31.3% 47.6%;animation:dm-hop 3.4s ease-in-out 1s infinite;}
@keyframes dm-hop{0%,50%{transform:none}62%{transform:translateY(var(--dm-hop,-1.5cqh))}
  72%{transform:translateY(0) scale(1.02,.975)}79%{transform:translateY(calc(var(--dm-hop,-1.5cqh)*.3))}86%,100%{transform:none}}
.dch-motion--faq .dm-blink{opacity:0;animation:dm-blink 4.2s linear 1.6s infinite;}
@keyframes dm-blink{0%,90%{opacity:0}91%,95%{opacity:1}96%,100%{opacity:0}}

/* 1655 consultation (no notebook in the art): flags wave in turn + tablet screen glint */
.dch-motion--consult .dm-flag{animation:dm-wave 3s ease-in-out infinite;}
.dch-motion--consult .dm-f1{transform-origin:18.1% 40.4%;animation-delay:1s}
.dch-motion--consult .dm-f2{transform-origin:26.4% 47.4%;animation-delay:1.5s}
.dch-motion--consult .dm-f3{transform-origin:38.2% 53.4%;animation-delay:2s}
@keyframes dm-wave{0%,100%{transform:none}25%{transform:skewY(var(--dm-wave,5deg)) scaleX(.95)}
  60%{transform:skewY(calc(var(--dm-wave,5deg)*-.6)) scaleX(.98)}}
.dch-motion--consult .dm-screen{--gd:5.5s;--gt:2s;--go:.8;}

/* 1315 orthognathic: subtle glint on the debonded braces only; skull static */
.dch-motion--ortho .dm-glint{--ga:95deg;--gd:5.5s;--gt:1.4s;}

/* 32 contact: map pins bounce (squash-stretch anchored at each pin tip -> nothing underneath is revealed), chat bubbles bob */
.dch-motion--contact .dm-pin{animation:dm-pin 3.6s ease-in-out infinite;}
.dch-motion--contact .dm-p1{transform-origin:20.94% 35.44%;animation-delay:1.0s}
.dch-motion--contact .dm-p2{transform-origin:50.44% 17.88%;animation-delay:1.3s}
.dch-motion--contact .dm-p3{transform-origin:76.2% 37.22%;animation-delay:1.6s}
@keyframes dm-pin{0%,55%,100%{transform:none}64%{transform:scale(.97,1.09)}72%{transform:scale(1.03,.98)}80%{transform:scale(.99,1.03)}88%{transform:none}}
.dch-motion--contact .dm-bub{animation:dm-bob 4.2s ease-in-out infinite;}
.dch-motion--contact .dm-b1{animation-delay:1s}
.dch-motion--contact .dm-b2{animation-delay:2.1s}
@keyframes dm-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--dm-bob,-1.4cqh))}}

@media (max-width:767px){
  .dch-article .dch-hero-art .dch-motion{--dm-amp:-3.5px;--dm-rpe:1.5px;--dm-pop:1.09;}
  .dch-motion .dm-bubble{--rise:5.5cqh}
  .dch-motion--retainers .dm-bubble{--rise:4.5cqh}
  .dch-article .dch-hero-art .dch-motion{height:220px;}
  .dch-motion{--dm-bob:-.8cqh;--dm-lift:-.65cqh;--dm-hop:-.75cqh;--dm-lidang:-12deg;--dm-wave:2.5deg;}
}
@media (prefers-reduced-motion:reduce){
  .dch-motion *,.dch-motion *::before,.dch-motion *::after{animation:none!important;}
  .dch-motion .dm-bubble,.dch-motion .dm-steam,.dch-motion .dm-blink,.dch-motion .dm-glint,.dch-motion .dm-glow,.dch-motion .dm-ashadow{display:none;}
}
/* ===== DCH batch2 motion END ===== */
/* DCH hero cut-out fix (2026-10-31): 去背小島不可出現方框／白底／陰影，任何舊樣式都蓋掉 */
.dch-article .dch-hero-art,
.dch-article .dch-hero-art figure,
.dch-article .dch-hero-art p,
.dch-article .dch-hero-art a,
.dch-article .dch-hero-art .dch-motion,
.dch-article .dch-hero-art .dm-float,
.dch-article .dch-hero-art img{
  background:none!important;background-color:transparent!important;
  box-shadow:none!important;border:0!important;outline:0!important;
  border-radius:0!important;padding:0!important;}
.dch-article .dch-hero,.dch-article .dch-hero-inner,.dch-article .dch-hero-text{box-shadow:none!important;}
.dch-article .dch-hero-art img:not(.dm-shadow){filter:none!important;}
/* culprit: .dm-float drop-shadow filter (dch-motion.css) draws a frame around the island */
.dch-article .dch-hero-art .dm-float,.dch-article .dch-hero-art .dch-motion,.dch-article .dch-hero-art .dm-base{filter:none!important;box-shadow:none!important;background:none!important;}
/* DCH hero lede wrap fix (2026-10-31)：說明文字放寬，避免最後一兩個字單獨掉到下一行 */
.dch-article .dch-hero .dch-hero-text{max-width:620px;}
.dch-article .dch-hero .dch-lede{max-width:none!important;text-wrap:pretty;}
@media (max-width:1024px){.dch-article .dch-hero .dch-hero-text{max-width:58%;}}
@media (max-width:767px){.dch-article .dch-hero .dch-hero-text{max-width:none;}}
/* 2026-10-31 mobile: wrapping parent containers made auto margins push widgets off-screen (1178). Also tighten tables. */
@media (max-width:767px){
.dch-article .elementor-widget-theme-post-content .e-con.e-parent > .e-con-inner > .elementor-widget{margin-inline:0!important;}
.dch-article .elementor-widget-theme-post-content .elementor-widget-text-editor,.dch-article .elementor-widget-theme-post-content .elementor-widget-heading{max-width:100%!important;}
.dch-article .pp-table td,.dch-article .pp-table th,.dch-article .pp-table .pp-table-cell{padding:8px 6px!important;font-size:13px!important;line-height:1.5!important;}
}
/* 2026-10-31: CTA button overlapped text above (negative bottom margins in old posts) */
.dch-article .elementor-widget-theme-post-content .elementor-widget-text-editor{margin-bottom:max(0px,var(--kit-widget-spacing,20px))!important;}
.dch-article .elementor-widget-theme-post-content .elementor-widget-button{position:relative;margin-top:16px!important;}

/* ===== DCH 專欄內文統一 v1（2026-11-01）=====================================
   貼在：單篇版型 3989 → 頁面設定 → 進階 → 自訂 CSS 的「最後面」（接在 3989 現有 CSS 之後）。
   範圍：只作用在 .dch-article 底下（3989 的容器 class），不動 Kit 443、首頁、關於我。
   依賴：3989 既有的 --dch-* 變數（PASTE-1362-dup-custom-css.css 開頭的 :root）。
   涵蓋：A 目錄卡（Elementor Pro TOC＋PowerPack TOC）、B 文內按鈕／快速導覽按鈕組、
        C 段落小標籤、強調、附註小字、D 文內表格、E 標題錨點、F 圖片與圖說、G 提示框、
        H PowerPack 分頁／按鈕。
   注意：3989 舊規則裡的 `.dch-article .elementor-toc{...}` 選不到任何東西（TOC 沒有 .elementor-toc 這個 class），
        這份用正確的 .elementor-widget-table-of-contents 取代它。
   ========================================================================== */

/* ---------- A. 目錄卡 ---------- */
/* A1. 先用 Elementor TOC 自己的 CSS 變數蓋掉各篇元件設定（各篇設了 2–3px 灰框、22px 圓角、405px 內捲） */
.dch-article .elementor-widget-table-of-contents{
  --box-border-width:0px!important; --box-border-color:transparent!important; --box-border-radius:20px!important;
  --box-background-color:#f3f7fc!important; --header-background-color:transparent!important;
  --separator-width:0px!important; --box-padding:0px!important; --box-min-height:0px!important;
  --toc-body-max-height:none!important;
  --item-text-color:var(--dch-text)!important; --item-text-hover-color:var(--dch-blue-700)!important;
  --item-text-hover-decoration:none!important; --item-text-active-color:var(--dch-blue-900)!important;
  --item-text-decoration:none!important; --marker-color:var(--dch-blue-700)!important;
  --header-color:var(--dch-blue-900)!important; --toggle-button-color:var(--dch-blue-700)!important;
  width:100%!important; max-width:var(--dch-measure)!important; margin:8px auto 0!important;
  align-self:center!important; flex:0 1 auto!important;}
/* A2. 卡片本體（有／沒有 .elementor-widget-container 兩種輸出都涵蓋）＋ PowerPack TOC */
.dch-article .elementor-widget-table-of-contents > .elementor-widget-container,
.dch-article .elementor-widget-table-of-contents:not(:has(> .elementor-widget-container)),
.dch-article .pp-toc{
  background-color:#f3f7fc!important; border:0!important; border-radius:20px!important;
  box-shadow:inset 0 0 0 1px #e3ecf6!important; margin:0!important; padding:0!important; overflow:hidden;
  background-image:none!important; /* 2026-11-01 醫師：舊 logo 浮水印全部拿掉（Kit 也有全站規則，這裡再保險一次） */}
/* A3. 標題列：黑體、深藍，後面加英文小字，比照 hero 的 kicker */
.dch-article :is(.elementor-toc__header, .pp-toc__header){
  background:transparent!important; border:0!important; padding:20px 24px 8px!important;
  display:flex; align-items:center; gap:10px;}
.dch-article :is(.elementor-toc__header-title, .pp-toc__header-title){
  font-family:var(--dch-font)!important; font-size:18px!important; font-weight:700!important; line-height:1.3!important;
  letter-spacing:.12em!important; color:var(--dch-blue-900)!important; margin:0!important; text-align:start!important;}
.dch-article :is(.elementor-toc__header-title, .pp-toc__header-title)::after{
  content:"CONTENTS"; margin-left:10px; font-size:11px; font-weight:700; letter-spacing:.2em; color:var(--dch-blue-500); vertical-align:2px;}
.dch-article :is(.elementor-toc__toggle-button, .pp-toc__toggle-button){
  width:32px; height:32px; border-radius:50%; background:#fff; box-shadow:0 0 0 1px var(--dch-line);
  align-items:center; justify-content:center; flex:none;}
/* A4. 清單：不再內捲、間距加大；桌機 ≥1025px 兩欄 */
.dch-article :is(.elementor-toc__body, .pp-toc__body){
  max-height:none!important; overflow:visible!important; padding:4px 24px 20px!important;}
.dch-article :is(.elementor-toc__list-wrapper, .pp-toc__list-wrapper){margin:0!important; padding:0!important; list-style:none!important;}
@media (min-width:1025px){
  .dch-article :is(.elementor-toc__body, .pp-toc__body) > :is(.elementor-toc__list-wrapper, .pp-toc__list-wrapper){column-count:2; column-gap:40px;}}
.dch-article :is(.elementor-toc__list-item, .pp-toc__list-item){margin:0!important; padding:0!important; break-inside:avoid; font-weight:400;}
.dch-article :is(.elementor-toc__list-item-text-wrapper, .pp-toc__list-item-text-wrapper){
  display:flex!important; align-items:flex-start!important; gap:12px; padding:9px 0!important; border-bottom:1px solid #e3ecf6;}
.dch-article :is(.elementor-toc__list-item-text, .pp-toc__list-item-text){
  font-family:var(--dch-font)!important; font-size:15.5px!important; line-height:1.55!important; font-weight:500!important;
  color:var(--dch-text)!important; text-decoration:none!important; letter-spacing:.02em; overflow-wrap:anywhere;}
.dch-article :is(.elementor-toc__list-item-text, .pp-toc__list-item-text):hover{color:var(--dch-blue-700)!important;}
.dch-article :is(.elementor-toc__list-item-text, .pp-toc__list-item-text).elementor-item-active{color:var(--dch-blue-900)!important; font-weight:700!important;}
/* A5. 編號改成小圓章（第一層）；第二層（開「階層式檢視」才會有）用小圓點＋縮排 */
.dch-article ol:is(.elementor-toc__list-wrapper, .pp-toc__list-wrapper) :is(.elementor-toc__list-item-text-wrapper, .pp-toc__list-item-text-wrapper)::before{
  content:counter(item)!important; flex:none; box-sizing:border-box; min-width:26px; height:26px; padding:0 6px; margin:0!important;
  border-radius:13px; background:#fff; box-shadow:0 0 0 1px var(--dch-line);
  font-family:var(--dch-font); font-size:12.5px!important; font-weight:700; line-height:26px; text-align:center; color:var(--dch-blue-700)!important;
  transform:translateY(-1px);}
.dch-article :is(.elementor-toc__list-item-text-wrapper, .pp-toc__list-item-text-wrapper):has(.elementor-item-active)::before{background:var(--dch-blue-700); color:#fff!important; box-shadow:none;}
.dch-article :is(.elementor-toc__list-item, .pp-toc__list-item) :is(.elementor-toc__list-wrapper, .pp-toc__list-wrapper){margin:0 0 0 38px!important;}
.dch-article :is(.elementor-toc__list-item, .pp-toc__list-item) :is(.elementor-toc__list-wrapper, .pp-toc__list-wrapper) :is(.elementor-toc__list-item-text-wrapper, .pp-toc__list-item-text-wrapper)::before{
  content:""!important; min-width:6px; width:6px; height:6px; padding:0; border-radius:50%; background:var(--dch-blue-300); box-shadow:none; margin-top:10px!important; transform:none;}
.dch-article :is(.elementor-toc__list-item, .pp-toc__list-item) :is(.elementor-toc__list-wrapper, .pp-toc__list-wrapper) :is(.elementor-toc__list-item-text, .pp-toc__list-item-text){font-size:14.5px!important; font-weight:400!important;}
/* 項目符號模式（ul＋圖示）也統一顏色 */
.dch-article :is(.elementor-toc__list-item-text-wrapper, .pp-toc__list-item-text-wrapper) :is(i, svg){color:var(--dch-blue-700); fill:var(--dch-blue-700); margin-top:.5em;}
@media (max-width:767px){
  .dch-article .elementor-widget-table-of-contents{margin-top:4px!important;}
  .dch-article :is(.elementor-toc__header, .pp-toc__header){padding:18px 18px 6px!important;}
  .dch-article :is(.elementor-toc__body, .pp-toc__body){padding:2px 18px 16px!important;}
  .dch-article :is(.elementor-toc__list-item-text-wrapper, .pp-toc__list-item-text-wrapper){padding:10px 0!important; min-height:44px; box-sizing:border-box;}
  .dch-article :is(.elementor-toc__list-item-text, .pp-toc__list-item-text){font-size:15px!important;}
  .dch-article :is(.elementor-toc__list-item, .pp-toc__list-item) :is(.elementor-toc__list-wrapper, .pp-toc__list-wrapper){margin-left:30px!important;}
}
/* 最後一項不要底線 */
.dch-article :is(.elementor-toc__body, .pp-toc__body) > :is(.elementor-toc__list-wrapper, .pp-toc__list-wrapper) > :is(.elementor-toc__list-item, .pp-toc__list-item):last-child > :is(.elementor-toc__list-item-text-wrapper, .pp-toc__list-item-text-wrapper){border-bottom:0;}
@media (min-width:1025px){
  .dch-article :is(.elementor-toc__list-item-text-wrapper, .pp-toc__list-item-text-wrapper){border-bottom:0; border-top:1px solid #e3ecf6;}}

/* ---------- B. 按鈕 ---------- */
/* B1. 所有文內按鈕：不要 Astra 的全大寫（SPARK → Spark），字型、圓角跟 1318 一樣（實心膠囊在 3989 已定義） */
.dch-article :is(.elementor-button, .pp-button){text-transform:none!important; white-space:normal; text-align:center;}
.dch-article .elementor-button .elementor-button-text{line-height:1.35;}
/* B2. 跳到本頁段落的按鈕（href="#..."）＝次要樣式：白底藍框藍字＋往下箭頭 */
.dch-article a.elementor-button[href^="#"], .dch-article a.pp-button[href^="#"]{
  background:#fff!important; color:var(--dch-blue-700)!important; border:1.5px solid var(--dch-blue-300)!important; box-shadow:none!important;}
.dch-article a.elementor-button[href^="#"]:hover, .dch-article a.pp-button[href^="#"]:hover{
  background:var(--dch-blue-50)!important; border-color:var(--dch-blue-700)!important;}
.dch-article a.elementor-button[href^="#"] .elementor-button-text::after{
  content:""; display:inline-block; width:.42em; height:.42em; margin-left:.55em; vertical-align:.2em;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg);}
/* B3. 按鈕組（同一個容器裡 ≥2 顆按鈕）。:not(#dch-boost) 只是用來提高權重，壓過 3989「margin-inline:auto」那條（否則按鈕會被推到兩邊）。
   桌機置中排一列、等寬；手機 2 欄格，單數最後一顆滿版 */
.dch-article .elementor-widget-theme-post-content :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button){
  display:flex!important; flex-direction:row!important; flex-wrap:wrap!important; justify-content:center!important;
  align-items:stretch!important; gap:12px!important; padding-top:8px!important; padding-bottom:8px!important;}
.dch-article .elementor-widget-theme-post-content :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button) > .elementor-widget-button:not(#dch-boost){
  flex:0 1 auto!important; width:auto!important; min-width:210px; max-width:none!important; margin:0!important;}
.dch-article .elementor-widget-theme-post-content :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button) .elementor-button{
  display:flex!important; width:100%; height:100%; box-sizing:border-box; align-items:center; justify-content:center;}
/* 結尾 CTA 組（不是 # 錨點）：最後一顆實心＝主要動作（預約），前面的改成次要外框 */
.dch-article .elementor-widget-theme-post-content :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button) > .elementor-widget-button:not(#dch-boost):not(:last-child) a.elementor-button:not([href^="#"]){
  background:#fff!important; color:var(--dch-blue-700)!important; border-color:var(--dch-blue-300)!important; box-shadow:none!important;}
@media (max-width:767px){
  .dch-article .elementor-widget-theme-post-content :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button){
    display:grid!important; grid-template-columns:1fr 1fr; gap:10px!important;}
  .dch-article .elementor-widget-theme-post-content :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button) > .elementor-widget-button:not(#dch-boost){min-width:0; width:100%!important;}
  .dch-article .elementor-widget-theme-post-content :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button) > .elementor-widget-button:not(#dch-boost):last-child:nth-child(odd){grid-column:1 / -1;}
  .dch-article .elementor-widget-theme-post-content :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button) .elementor-button{
    padding:12px 12px!important; font-size:15px!important; min-height:50px; letter-spacing:.02em!important;}
}

/* ---------- C. 段落小標籤、強調、附註 ---------- */
/* C1. 舊文章手寫的膠囊標籤（inline style 有 border-radius: 999px）→ 統一成 dch 小標籤 */
.dch-article .elementor-widget-text-editor span[style*="999px"]{
  display:inline-flex!important; align-items:center; gap:6px; background:var(--dch-blue-50)!important; color:var(--dch-blue-700)!important;
  border:1px solid var(--dch-line)!important; border-radius:999px!important; padding:5px 14px!important;
  font-size:14px!important; font-weight:700!important; letter-spacing:.06em; line-height:1.4;}
/* C2. 舊的底線強調 → 淡藍螢光筆（不跟連結底線混淆） */
.dch-article .elementor-widget-text-editor span[style*="underline"]{
  text-decoration:none!important; background:linear-gradient(transparent 60%, var(--dch-blue-100) 60%);
  -webkit-box-decoration-break:clone; box-decoration-break:clone; padding:0 1px;}
/* C3. 附註小字（inline 13px 或灰字）：3989 把所有段落拉成 17px，這裡改回小字 */
.dch-article .elementor-widget-text-editor p:is([style*="font-size: 13px"],[style*="font-size:13px"],[style*="font-size: 12px"],[style*="#888"],[style*="#999"]),
.dch-article .dch-small{font-size:var(--dch-fs-small)!important; line-height:1.65!important; color:var(--dch-muted)!important;}

/* ---------- D. 文內表格（text-editor 裡手寫的 table） ---------- */
.dch-article .elementor-widget-text-editor table tr{background:transparent!important; color:inherit!important;}
.dch-article .elementor-widget-text-editor table tbody tr:nth-child(even) td{background:#f8fafc!important;}
.dch-article .elementor-widget-text-editor table tbody tr:last-child td{border-bottom:0!important;}
.dch-article .elementor-widget-text-editor table td:first-child{color:var(--dch-ink)!important;}
@media (max-width:767px){
  .dch-article .elementor-widget-text-editor .elementor-widget-container:has(> table){overflow-x:auto; -webkit-overflow-scrolling:touch;}
  .dch-article .elementor-widget-text-editor table td,.dch-article .elementor-widget-text-editor table th{padding:9px 8px!important; font-size:14px!important;}
}

/* ---------- E. 標題：點目錄跳過去時不要被固定頁首蓋住 ---------- */
.dch-article :is(h2, h3, h4, .elementor-toc__heading-anchor, [id]){scroll-margin-top:96px;}
@media (max-width:767px){.dch-article :is(h2, h3, h4, .elementor-toc__heading-anchor, [id]){scroll-margin-top:80px;}}
:root:has(.dch-article :is(.elementor-widget-table-of-contents, .dch-toc)){scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto!important;}}
/* 文字編輯器裡的 H2 也加上 1318 那條藍色短線，跟標題元件一致 */
.dch-article .elementor-widget-theme-post-content .elementor-widget-text-editor h2::before{
  content:""; display:block; width:36px; height:4px; border-radius:4px; background:linear-gradient(90deg,var(--dch-blue-700),var(--dch-blue-300)); margin-bottom:14px;}

/* ---------- F. 圖片與圖說 ---------- */
.dch-article .elementor-widget-image figure, .dch-article figure.wp-caption{margin:0!important;}
.dch-article .elementor-widget-image a img{transition:transform .2s ease;}
.dch-article .elementor-widget-image a:hover img{transform:translateY(-2px);}

/* ---------- G. 提示框（新增時在 text-editor 用 <div class="dch-callout">；舊的 blockquote 已由 3989 處理） ---------- */
.dch-article .dch-callout{margin:1.4em 0!important; padding:18px 20px 18px 22px!important; border-radius:16px; background:#f3f7fc; box-shadow:inset 0 0 0 1px #e3ecf6; color:var(--dch-text);}
.dch-article .dch-callout > :first-child{margin-top:0!important;}
.dch-article .dch-callout > :last-child{margin-bottom:0!important;}
.dch-article .dch-callout--warn{background:#fdf6ec; box-shadow:inset 0 0 0 1px #f3e2c7;}
.dch-article .dch-callout-title{display:block; font-weight:700; color:var(--dch-blue-900); margin-bottom:6px;}
.dch-article .dch-callout--warn .dch-callout-title{color:#8a5a14;}

/* ---------- H. PowerPack（這 5 篇目前沒用到；以後用到時自動套同一套樣式） ---------- */
.dch-article .pp-advanced-tabs-title{border-radius:999px!important; font-family:var(--dch-font)!important; font-weight:700!important; color:var(--dch-blue-700)!important; background:#fff!important; border:1.5px solid var(--dch-line)!important;}
.dch-article .pp-advanced-tabs-title.pp-tab-active{background:var(--dch-blue-700)!important; color:#fff!important; border-color:var(--dch-blue-700)!important;}
.dch-article .pp-advanced-tabs-content{border:0!important; background:transparent!important; padding:20px 0 0!important;}
/* ===== DCH 專欄內文統一 v1 END ===== */
/* ===== DCH 靜態目錄卡 .dch-toc v1.1（2026-11-01，加 6 分頁）=====================================
   貼在：版型 3989 自訂 CSS 最後面（接在 PASTE-column-body.css 之後）。方案 A、B 共用這一份。
   HTML 放在文章裡一個「HTML 元件」（PASTE-optionA-html.html 或 PASTE-optionB-html.html）。
   完全不用 JS：A 用 radio + label 做分頁，B 是純連結。 */
.dch-article .dch-toc{box-sizing:border-box;max-width:var(--dch-measure,1080px);margin:0 auto;padding:20px 24px 16px;
  background:#f3f7fc;border-radius:20px;box-shadow:inset 0 0 0 1px #e3ecf6;font-family:var(--dch-font);color:var(--dch-text);}
.dch-article .dch-toc *{box-sizing:border-box;}
.dch-article .dch-toc__head{display:flex;align-items:baseline;gap:10px;margin:0 0 12px;}
.dch-article .dch-toc__title{font-size:18px;font-weight:700;letter-spacing:.12em;color:var(--dch-blue-900);line-height:1.3;}
.dch-article .dch-toc__en{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--dch-blue-500);}
/* HTML 元件本身撐滿版心（否則在 flex 容器裡會縮成內容寬度） */
.dch-article .elementor-widget-html:has(.dch-toc){width:100%!important;max-width:var(--dch-measure,1080px)!important;margin-inline:auto!important;align-self:center!important;}
.dch-article .dch-toc{width:100%;}
/* 清單（兩案共用） */
.dch-article .dch-toc ol.dch-toc__list{list-style:none!important;margin:0!important;padding:0!important;counter-reset:dtoc;}
.dch-article .dch-toc ol.dch-toc__list > li{margin:0!important;padding:0!important;counter-increment:dtoc;break-inside:avoid;}
.dch-article .dch-toc ol.dch-toc__list > li::marker{content:"";}
.dch-article .dch-toc .dch-toc__list a{display:flex;align-items:flex-start;gap:12px;padding:9px 0;border-bottom:1px solid #e3ecf6;
  font-size:15.5px!important;line-height:1.55;font-weight:500;color:var(--dch-text)!important;text-decoration:none!important;letter-spacing:.02em;}
.dch-article .dch-toc .dch-toc__list > li:last-child > a{border-bottom:0;}
.dch-article .dch-toc .dch-toc__list a::before{content:counter(dtoc);flex:none;min-width:26px;height:26px;padding:0 6px;border-radius:13px;background:#fff;
  box-shadow:0 0 0 1px var(--dch-line);font-size:12.5px;font-weight:700;line-height:26px;text-align:center;color:var(--dch-blue-700);transform:translateY(-1px);}
.dch-article .dch-toc .dch-toc__list a:hover{color:var(--dch-blue-700)!important;}
.dch-article .dch-toc .dch-toc__list a:hover::before{background:var(--dch-blue-700);color:#fff;box-shadow:none;}
.dch-article .dch-toc .dch-toc__list li.is-sub > a{padding-left:38px;font-size:14.5px!important;font-weight:400;}
.dch-article .dch-toc .dch-toc__list li.is-sub > a::before{content:"";min-width:6px;width:6px;height:6px;padding:0;margin-top:10px;background:var(--dch-blue-300);box-shadow:none;transform:none;}

/* ---------- 方案 A：分頁（radio + label，純 CSS） ---------- */
.dch-article .dch-toc input.dch-toc__radio{position:absolute!important;opacity:0!important;width:1px;height:1px;pointer-events:none;margin:0;}
.dch-article .dch-toc__tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;margin:0 0 10px;border-radius:999px;background:#e3ecf6;}
.dch-article .dch-toc__tabs label{display:flex;align-items:center;justify-content:center;min-height:40px;padding:6px 4px;border-radius:999px;cursor:pointer;
  font-size:14.5px;font-weight:700;letter-spacing:.04em;color:var(--dch-blue-700);text-align:center;line-height:1.25;user-select:none;transition:background .15s,color .15s,box-shadow .15s;}
.dch-article .dch-toc__tabs label:hover{background:rgba(255,255,255,.55);}
.dch-article .dch-toc__panel{display:none;}
.dch-article .dch-toc__panel-note{font-size:13.5px;color:var(--dch-muted);margin:2px 0 4px;line-height:1.6;}
/* 被選到的分頁 → 白色膠囊；對應的清單顯示 */
.dch-article .dch-toc #dtoc-t1:checked ~ .dch-toc__tabs label[for="dtoc-t1"],
.dch-article .dch-toc #dtoc-t2:checked ~ .dch-toc__tabs label[for="dtoc-t2"],
.dch-article .dch-toc #dtoc-t3:checked ~ .dch-toc__tabs label[for="dtoc-t3"],
.dch-article .dch-toc #dtoc-t4:checked ~ .dch-toc__tabs label[for="dtoc-t4"],
.dch-article .dch-toc #dtoc-t5:checked ~ .dch-toc__tabs label[for="dtoc-t5"],
.dch-article .dch-toc #dtoc-t6:checked ~ .dch-toc__tabs label[for="dtoc-t6"]{background:#fff;color:var(--dch-blue-900);box-shadow:0 2px 8px rgba(23,58,94,.12);}
.dch-article .dch-toc #dtoc-t1:checked ~ .dch-toc__panels .dch-toc__panel--1,
.dch-article .dch-toc #dtoc-t2:checked ~ .dch-toc__panels .dch-toc__panel--2,
.dch-article .dch-toc #dtoc-t3:checked ~ .dch-toc__panels .dch-toc__panel--3,
.dch-article .dch-toc #dtoc-t4:checked ~ .dch-toc__panels .dch-toc__panel--4,
.dch-article .dch-toc #dtoc-t5:checked ~ .dch-toc__panels .dch-toc__panel--5,
.dch-article .dch-toc #dtoc-t6:checked ~ .dch-toc__panels .dch-toc__panel--6{display:block;}
.dch-article .dch-toc input.dch-toc__radio:focus-visible ~ .dch-toc__tabs{outline:2px solid var(--dch-blue-500);outline-offset:3px;}
@media (min-width:1025px){
  .dch-article .dch-toc__tabs{max-width:560px;}
  .dch-article .dch-toc__panel--1 .dch-toc__list{column-count:2;column-gap:40px;}
  .dch-article .dch-toc__panel--1 .dch-toc__list > li > a{border-bottom:0;border-top:1px solid #e3ecf6;}
}

/* ---------- 方案 B：分組清單＋頂端小籤 ---------- */
.dch-article .dch-toc__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px;}
.dch-article .dch-toc__chips a{display:inline-flex;align-items:center;min-height:34px;padding:4px 14px;border-radius:999px;background:#fff;
  box-shadow:0 0 0 1px var(--dch-line);font-size:13.5px;font-weight:700;letter-spacing:.04em;color:var(--dch-blue-700)!important;text-decoration:none!important;}
.dch-article .dch-toc__chips a:hover{background:var(--dch-blue-700);color:#fff!important;box-shadow:none;}
.dch-article .dch-toc__group{scroll-margin-top:96px;}
.dch-article .dch-toc__ghead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 2px;padding:0 0 6px;
  border-bottom:2px solid var(--dch-blue-100);text-decoration:none!important;}
.dch-article .dch-toc__ghead span{font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--dch-blue-700);}
.dch-article .dch-toc__ghead small{font-size:12.5px;font-weight:500;color:var(--dch-blue-500);white-space:nowrap;}
.dch-article .dch-toc__ghead:hover span{color:var(--dch-blue-900);}
@media (min-width:1025px){
  .dch-article .dch-toc__groups{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto 1fr;column-gap:40px;align-items:start;}
  .dch-article .dch-toc__groups > .dch-toc__group--1{grid-row:span 3;}
  .dch-article .dch-toc__chips{display:none;} /* 電腦版四組一眼看完，不需要小籤 */
}
@media (max-width:767px){
  .dch-article .dch-toc{padding:18px 16px 12px;border-radius:18px;}
  .dch-article .dch-toc .dch-toc__list a{font-size:15px!important;padding:10px 0;min-height:44px;}
  .dch-article .dch-toc__tabs label{font-size:14px;letter-spacing:.02em;}
  .dch-article .dch-toc__group{scroll-margin-top:80px;}
}
/* ---------- v1.1 方案 A 擴充：6 個分頁（2251 Q&A 用；1890 的 4 分頁不受影響） ---------- */
.dch-article .dch-toc__tabs--6{grid-template-columns:repeat(6,1fr);}
.dch-article .dch-toc__panel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;margin:4px 0 6px;padding:0 0 8px;border-bottom:2px solid var(--dch-blue-100);}
.dch-article .dch-toc__panel-head b{font-size:16px;font-weight:700;color:var(--dch-blue-900);letter-spacing:.04em;}
.dch-article .dch-toc__panel-head b small{font-size:12.5px;font-weight:700;color:var(--dch-blue-500);letter-spacing:.08em;margin-right:6px;}
.dch-article .dch-toc__panel-head a{font-size:13.5px;font-weight:700;color:var(--dch-blue-700)!important;text-decoration:none!important;white-space:nowrap;}
.dch-article .dch-toc__panel-head a:hover{text-decoration:underline!important;}
.dch-article .dch-toc__panel-head .dch-toc__panel-note{flex-basis:100%;margin:0;}
@media (min-width:1025px){
  .dch-article .dch-toc__tabs--6{max-width:none;}
  .dch-article .dch-toc__panel--cols .dch-toc__list{column-count:2;column-gap:40px;}
  .dch-article .dch-toc__panel--cols .dch-toc__list > li > a{border-bottom:0;border-top:1px solid #e3ecf6;}
}
@media (max-width:767px){
  /* 6 個分頁 → 手機排成 3×2，外框改圓角方塊 */
  .dch-article .dch-toc__tabs--6{grid-template-columns:repeat(3,1fr);border-radius:16px;}
  .dch-article .dch-toc__tabs--6 label{border-radius:12px;font-size:13.5px;letter-spacing:0;padding:6px 2px;}
}
/* ===== DCH 靜態目錄卡 END ===== */
/* ===== DCH 1318 金屬矯正 easter egg v1 (2026-11-01): the pink elastic ring lying on the sand is pulled long, then snaps back =====
   Two new layers (cut from the island's own pixels -> same clay grain, matte shading and thickness; no AI, no photos):
   dm-egg-patch = sand under the ring (revealed only while stretched), dm-egg = the ring + its own thin contact shadow.
   Loop 9.6 s = exactly 2 tie-pop cycles (4.8 s), starting 3.4 s -> the stretch always plays in the gap between the tie pops.
   Mobile: stretch halved. Reduced motion: both layers hidden -> untouched base island. Float + shadow kept. No glint/glow. */
.dch-motion--braces .dm-egg{transform-origin:47.18% 48.48%;animation:dm-band 9.6s 3.4s infinite both;}
@keyframes dm-band{0%{transform:none;animation-timing-function:ease-in-out}3%{transform:scale(0.985,1.02);animation-timing-function:ease-in-out}9%{transform:scale(1.42,0.874);animation-timing-function:linear}11.4%{transform:scale(1.4368,0.8656);animation-timing-function:cubic-bezier(.55,0,.9,.4)}12.9%{transform:scale(0.9076,1.0504);animation-timing-function:ease-out}14.9%{transform:scale(1.042,0.9832);animation-timing-function:ease-in-out}16.9%{transform:scale(0.9832,1.0084);animation-timing-function:ease-in-out}19%{transform:none;animation-timing-function:linear}100%{transform:none;animation-timing-function:linear}}
@keyframes dm-band-m{0%{transform:none;animation-timing-function:ease-in-out}3%{transform:scale(0.985,1.02);animation-timing-function:ease-in-out}9%{transform:scale(1.21,0.937);animation-timing-function:linear}11.4%{transform:scale(1.2184,0.9328);animation-timing-function:cubic-bezier(.55,0,.9,.4)}12.9%{transform:scale(0.9538,1.0252);animation-timing-function:ease-out}14.9%{transform:scale(1.021,0.9916);animation-timing-function:ease-in-out}16.9%{transform:scale(0.9916,1.0042);animation-timing-function:ease-in-out}19%{transform:none;animation-timing-function:linear}100%{transform:none;animation-timing-function:linear}}
@media (max-width:767px){.dch-motion--braces .dm-egg{animation-name:dm-band-m;}}
@media (prefers-reduced-motion:reduce){.dch-motion .dm-egg,.dch-motion .dm-egg-patch{display:none!important;}}
/* ===== DCH 1316 隱形矯正 easter egg v1 (2026-11-01): the pink chewie gets "bitten" - squishes flat, then springs back =====
   Two new layers (cut from the island's own pixels -> same clay grain, matte shading and thickness; no AI, no photos):
   dm-egg-patch = sand under the chewie (revealed only while squashed), dm-egg = the chewie + its own thin contact shadow.
   Squash keeps the chewie's contact line on the sand fixed (matrix): it gets lower and a little wider, then springs back with a small wobble.
   Loop 9.2 s = exactly 2 aligner-lift cycles (4.6 s), starting 4.8 s -> the bite plays while the aligner is seated.
   Mobile: squash halved. Reduced motion: both layers hidden -> untouched base island. Float + shadow kept. No glint/glow. */
.dch-motion--aligner .dm-egg{transform-origin:52.82% 50.27%;animation:dm-chew 9.2s 4.8s infinite both;}
@keyframes dm-chew{0%{transform:none;animation-timing-function:ease-in-out}2.2%{transform:matrix(0.9932,0.0185,0,1.026,0,0);animation-timing-function:cubic-bezier(.5,0,.85,.5)}5.4%{transform:matrix(1.1581,-0.1848,0,0.74,0,0);animation-timing-function:ease-in-out}7.1%{transform:matrix(1.1712,-0.1958,0,0.7244,0,0);animation-timing-function:cubic-bezier(.2,.6,.35,1)}9.8%{transform:matrix(0.9793,0.0591,0,1.0832,0,0);animation-timing-function:ease-in-out}12%{transform:matrix(1.0195,-0.0296,0,0.9584,0,0);animation-timing-function:ease-in-out}14%{transform:matrix(0.9959,0.0111,0,1.0156,0,0);animation-timing-function:ease-in-out}16%{transform:none;animation-timing-function:linear}100%{transform:none;animation-timing-function:linear}}
@keyframes dm-chew-m{0%{transform:none;animation-timing-function:ease-in-out}2.2%{transform:matrix(0.9965,0.0092,0,1.013,0,0);animation-timing-function:cubic-bezier(.5,0,.85,.5)}5.4%{transform:matrix(1.0672,-0.0924,0,0.87,0,0);animation-timing-function:ease-in-out}7.1%{transform:matrix(1.0719,-0.0979,0,0.8622,0,0);animation-timing-function:cubic-bezier(.2,.6,.35,1)}9.8%{transform:matrix(0.9892,0.0296,0,1.0416,0,0);animation-timing-function:ease-in-out}12%{transform:matrix(1.0096,-0.0148,0,0.9792,0,0);animation-timing-function:ease-in-out}14%{transform:matrix(0.9979,0.0055,0,1.0078,0,0);animation-timing-function:ease-in-out}16%{transform:none;animation-timing-function:linear}100%{transform:none;animation-timing-function:linear}}
@media (max-width:767px){.dch-motion--aligner .dm-egg{animation-name:dm-chew-m;}}
@media (prefers-reduced-motion:reduce){.dch-motion .dm-egg,.dch-motion .dm-egg-patch{display:none!important;}}


/* ===== DCH 1178 成人矯正 easter egg v2 (2026-11-01): the briefcase clasp pops open - the front flap swings open, holds, then snaps shut with 2 small bounces =====
   Two new layers (cut from the island's own pixels -> same clay grain, matte shading and thickness; no AI, no photos):
   dm-egg = the briefcase's front flap below its top hinge line, incl. the upper (tongue) half of the gold clasp;
   dm-egg-patch (-v2) = what the open flap uncovers: the case's front panel/interior, painted locally from the case's own leather grain, darker toward the fold (the lower gold catch stays in the base art).
   v2: real 3D tilt about the hinge line (rotate to the hinge slope, perspective+rotateX, rotate back): the flap swings up/out ~62 deg, its lower edge rises ~half the flap height, holds, then slaps shut with 2 small bounces.
   Loop 9 s, starting 2.2 s; motion ~1.6 s. Coffee steam unchanged. Mobile: 100% amplitude (doctor asked for clearly visible at 393). Reduced motion: both layers hidden -> untouched base island. No glint/glow. */
.dch-motion--adult .dm-egg{transform-origin:69.59% 33.93%;animation:dm-case 9s 2.2s infinite both;}
@keyframes dm-case{0%{transform:none;animation-timing-function:ease-in-out}1.5%{transform:rotate(9.09deg) perspective(95cqw) rotateX(-5.0deg) rotate(-9.09deg);animation-timing-function:cubic-bezier(.3,0,.2,1)}3.4%{transform:rotate(9.09deg) perspective(95cqw) rotateX(48.4deg) rotate(-9.09deg);animation-timing-function:ease-out}6.5%{transform:rotate(9.09deg) perspective(95cqw) rotateX(62.0deg) rotate(-9.09deg);animation-timing-function:ease-in-out}10.5%{transform:rotate(9.09deg) perspective(95cqw) rotateX(59.5deg) rotate(-9.09deg);animation-timing-function:cubic-bezier(.55,0,.9,.45)}12.4%{transform:rotate(9.09deg) perspective(95cqw) rotateX(-5.0deg) rotate(-9.09deg);animation-timing-function:ease-out}13.8%{transform:rotate(9.09deg) perspective(95cqw) rotateX(11.0deg) rotate(-9.09deg);animation-timing-function:ease-in-out}15.2%{transform:rotate(9.09deg) perspective(95cqw) rotateX(-2.0deg) rotate(-9.09deg);animation-timing-function:ease-out}16.4%{transform:rotate(9.09deg) perspective(95cqw) rotateX(4.0deg) rotate(-9.09deg);animation-timing-function:ease-in-out}17.6%{transform:none;animation-timing-function:linear}100%{transform:none;animation-timing-function:linear}}
@keyframes dm-case-m{0%{transform:none;animation-timing-function:ease-in-out}1.5%{transform:rotate(9.09deg) perspective(95cqw) rotateX(-5.0deg) rotate(-9.09deg);animation-timing-function:cubic-bezier(.3,0,.2,1)}3.4%{transform:rotate(9.09deg) perspective(95cqw) rotateX(48.4deg) rotate(-9.09deg);animation-timing-function:ease-out}6.5%{transform:rotate(9.09deg) perspective(95cqw) rotateX(62.0deg) rotate(-9.09deg);animation-timing-function:ease-in-out}10.5%{transform:rotate(9.09deg) perspective(95cqw) rotateX(59.5deg) rotate(-9.09deg);animation-timing-function:cubic-bezier(.55,0,.9,.45)}12.4%{transform:rotate(9.09deg) perspective(95cqw) rotateX(-5.0deg) rotate(-9.09deg);animation-timing-function:ease-out}13.8%{transform:rotate(9.09deg) perspective(95cqw) rotateX(11.0deg) rotate(-9.09deg);animation-timing-function:ease-in-out}15.2%{transform:rotate(9.09deg) perspective(95cqw) rotateX(-2.0deg) rotate(-9.09deg);animation-timing-function:ease-out}16.4%{transform:rotate(9.09deg) perspective(95cqw) rotateX(4.0deg) rotate(-9.09deg);animation-timing-function:ease-in-out}17.6%{transform:none;animation-timing-function:linear}100%{transform:none;animation-timing-function:linear}}
@media (max-width:767px){.dch-motion--adult .dm-egg{animation-name:dm-case-m;}}
@media (prefers-reduced-motion:reduce){.dch-motion .dm-egg,.dch-motion .dm-egg-patch{display:none!important;}}
/* ===== DCH 1890 隱形矯正衛教 easter egg v1 (2026-11-01): the sink faucet drips - a clay water drop swells at the spout, wobbles, falls and goes "plip" (small ripple + 2 splash beads); a moment later a tiny second drop peeks out and gets sucked back in =====
   4 new layers, all full-island size (743x739) transparent lossless webp, so they scale exactly with the island (same amplitude on phones and desktop).
   Material (colour + grain) taken from the island's own blue aligner-case clay, lightened toward pale water-blue; matte shading, no glint/glow, no AI, no photos.
   Loop 9 s, starting 2.2 s; motion ~2.3 s per loop. Bubbles + clock hand unchanged. Reduced motion: all .dm-egg layers hidden -> untouched base island. */
.dch-motion--care .dm-egg{opacity:0;animation:9s 2.2s infinite both;}
.dch-motion--care .dm-egg-drop{transform-origin:24.226% 27.876%;animation-name:dm-drip;}
.dch-motion--care .dm-egg-peek{transform-origin:24.226% 27.876%;animation-name:dm-drip-peek;}
.dch-motion--care .dm-egg-ripple{transform-origin:24.361% 35.521%;animation-name:dm-drip-ripple;}
.dch-motion--care .dm-egg-bl{transform-origin:23.620% 34.912%;animation-name:dm-drip-bl;}
.dch-motion--care .dm-egg-br{transform-origin:25.101% 34.912%;animation-name:dm-drip-br;}
@keyframes dm-drip{0.00%{transform:scale(0,0);opacity:1;animation-timing-function:ease-out}3.33%{transform:scale(0.45,0.4);opacity:1;animation-timing-function:ease-in-out}6.89%{transform:scale(0.82,0.78);opacity:1;animation-timing-function:ease-out}8.89%{transform:scale(1.07,0.9);opacity:1;animation-timing-function:ease-in-out}10.67%{transform:scale(0.95,1.07);opacity:1;animation-timing-function:ease-in-out}12.44%{transform:none;opacity:1;animation-timing-function:ease-in-out}15.56%{transform:translate(0.00%,0.15%) scale(0.97,1.06);opacity:1;animation-timing-function:ease-in}16.89%{transform:translate(0.00%,0.50%) scale(0.88,1.18);opacity:1;animation-timing-function:cubic-bezier(.5,0,1,.6)}20.00%{transform:translate(0.00%,2.38%) scale(0.84,1.22);opacity:1;animation-timing-function:ease-out}20.56%{transform:translate(0.00%,6.22%) scale(1.5,0.35);opacity:0}20.67%{transform:scale(0,0);opacity:0}100.00%{transform:scale(0,0);opacity:0}}
@keyframes dm-drip-peek{0.00%{transform:scale(0,0);opacity:0}33.33%{transform:scale(0,0);opacity:1;animation-timing-function:ease-out}36.67%{transform:scale(0.38,0.34);opacity:1;animation-timing-function:ease-in-out}39.44%{transform:scale(0.5,0.48);opacity:1;animation-timing-function:ease-in-out}43.33%{transform:scale(0.5,0.48);opacity:1;animation-timing-function:ease-in-out}45.00%{transform:scale(0.56,0.42);opacity:1;animation-timing-function:ease-in-out}46.67%{transform:scale(0.48,0.52);opacity:1;animation-timing-function:ease-in}49.44%{transform:scale(0,0);opacity:0}100.00%{transform:scale(0,0);opacity:0}}
@keyframes dm-drip-ripple{0.00%{transform:scale(0.3,0.3);opacity:0}20.00%{transform:scale(0.3,0.3);opacity:0}20.33%{transform:scale(0.38,0.38);opacity:1;animation-timing-function:cubic-bezier(.2,.6,.4,1)}28.33%{transform:scale(1.3,1.3);opacity:0}100.00%{transform:scale(1.3,1.3);opacity:0}}
@keyframes dm-drip-bl{0.00%{transform:scale(0.7,0.7);opacity:0}20.22%{transform:scale(0.7,0.7);opacity:0}20.44%{transform:scale(0.7,0.7);opacity:1;animation-timing-function:ease-out}22.89%{transform:translate(-1.62%,-2.17%);opacity:1;animation-timing-function:ease-in}25.33%{transform:translate(-3.10%,0.41%) scale(1.1,0.8);opacity:1}26.22%{transform:translate(-3.10%,0.41%) scale(0.5,0.4);opacity:0}100.00%{transform:translate(-3.10%,0.41%) scale(0.5,0.4);opacity:0}}
@keyframes dm-drip-br{0.00%{transform:scale(0.7,0.7);opacity:0}20.22%{transform:scale(0.7,0.7);opacity:0}20.44%{transform:scale(0.7,0.7);opacity:1;animation-timing-function:ease-out}22.89%{transform:translate(1.62%,-2.17%);opacity:1;animation-timing-function:ease-in}25.33%{transform:translate(3.10%,0.41%) scale(1.1,0.8);opacity:1}26.22%{transform:translate(3.10%,0.41%) scale(0.5,0.4);opacity:0}100.00%{transform:translate(3.10%,0.41%) scale(0.5,0.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.dch-motion .dm-egg{display:none!important;}}
/* ===== DCH 1655 矯正諮詢流程 easter egg v2 (2026-11-01): the chair's overhead lamp clicks ON (tiny flicker), its face turns warm and a soft pool of light falls on the chair; ONE big green clay checkmark draws on the tablet with a squash-stretch pop, does a happy hop, pops away, then the lamp switches OFF =====
   4 new layers, all full-island size (696x768) transparent lossless webp, so they scale exactly with the island (same amplitude on phones and desktop).
   Tick colour from the island's green flag clay, grain from the tablet's blue clay; matte, no glint. Lamp light = the doctor-requested exception to the no-glow rule:
   the lamp face is the art's own recessed face re-lit to warm cream, the pool is the island's own clay re-lit (only on island pixels, never on the page background); no rays, no sparkles.
   Loop 9 s, starting 2.0 s; motion ~5.1 s per loop. Flags keep waving. Reduced motion: all .dm-egg layers hidden -> untouched base island. */
.dch-motion--consult .dm-egg{opacity:0;animation:9s 2s infinite both;}
.dch-motion--consult .dm-egg-lamp{animation-name:dm-c-lamp;}
.dch-motion--consult .dm-egg-pool{animation-name:dm-c-pool;}
.dch-motion--consult .dm-egg-tick{transform-origin:65.661% 52.604%;animation-name:dm-c-tick;}
.dch-motion--consult .dm-egg-tsh{transform-origin:65.805% 52.865%;animation-name:dm-c-tick-sh;}
@keyframes dm-c-lamp{0.00%{opacity:0}2.22%{opacity:0;animation-timing-function:ease-out}3.00%{opacity:1}3.78%{opacity:0.45}4.67%{opacity:1}52.78%{opacity:1;animation-timing-function:ease-in}56.11%{opacity:0}100.00%{opacity:0}}
@keyframes dm-c-pool{0.00%{opacity:0}2.67%{opacity:0;animation-timing-function:ease-out}4.44%{opacity:0.75}5.11%{opacity:0.35;animation-timing-function:ease-out}7.78%{opacity:1}52.78%{opacity:1;animation-timing-function:ease-in}56.67%{opacity:0}100.00%{opacity:0}}
@keyframes dm-c-tick{0.00%{transform:rotate(-14deg) scale(0.3,0.3);opacity:0;clip-path:inset(0 40.09% 0 0)}7.22%{transform:rotate(-14deg) scale(0.3,0.3);opacity:1;clip-path:inset(0 40.09% 0 0);animation-timing-function:cubic-bezier(.3,.7,.4,1)}9.67%{transform:rotate(-5deg) scale(1.22,0.8);opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-in-out}11.44%{transform:rotate(5deg) scale(0.9,1.12);opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-in-out}13.22%{transform:rotate(-2deg) scale(1.05,0.96);opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-in-out}14.78%{transform:none;opacity:1;clip-path:inset(0 26.87% 0 0)}23.33%{transform:none;opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-out}24.44%{transform:scale(1.08,0.9);opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-out}26.67%{transform:translateY(-1.56%) scale(0.95,1.07);opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-in}28.67%{transform:scale(1.07,0.93);opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-out}30.00%{transform:none;opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-out}31.33%{transform:translateY(-0.52%);opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-in}32.67%{transform:none;opacity:1;clip-path:inset(0 26.87% 0 0)}47.78%{transform:none;opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-in-out}49.11%{transform:scale(1.14,0.86);opacity:1;clip-path:inset(0 26.87% 0 0);animation-timing-function:ease-in}51.56%{transform:scale(0,0);opacity:0;clip-path:inset(0 26.87% 0 0)}51.67%{transform:scale(0.3,0.3);opacity:0;clip-path:inset(0 40.09% 0 0)}100.00%{transform:scale(0.3,0.3);opacity:0;clip-path:inset(0 40.09% 0 0)}}
@keyframes dm-c-tick-sh{0.00%{transform:scale(0.3,0.3);opacity:0}7.22%{transform:scale(0.3,0.3);opacity:1;animation-timing-function:cubic-bezier(.3,.7,.4,1)}9.67%{transform:scale(1.22,1);opacity:1;animation-timing-function:ease-in-out}11.44%{transform:scale(0.9,1);opacity:1;animation-timing-function:ease-in-out}13.22%{transform:scale(1.05,1);opacity:1;animation-timing-function:ease-in-out}14.78%{transform:none;opacity:1}23.33%{transform:none;opacity:1;animation-timing-function:ease-out}24.44%{transform:scale(1.05,1);opacity:1;animation-timing-function:ease-out}26.67%{transform:scale(0.72,1);opacity:0.55;animation-timing-function:ease-in}28.67%{transform:scale(1.07,1);opacity:1;animation-timing-function:ease-out}30.00%{transform:none;opacity:1;animation-timing-function:ease-out}31.33%{transform:scale(0.92,1);opacity:0.85;animation-timing-function:ease-in}32.67%{transform:none;opacity:1}47.78%{transform:none;opacity:1;animation-timing-function:ease-in-out}49.11%{transform:scale(1.14,1);opacity:1;animation-timing-function:ease-in}51.56%{transform:scale(0,0);opacity:0}51.67%{transform:scale(0.3,0.3);opacity:0}100.00%{transform:scale(0.3,0.3);opacity:0}}
@media (prefers-reduced-motion:reduce){.dch-motion .dm-egg{display:none!important;}}

/* ===== DCH 1971 維持器 v2 (2026-11-01): realistic clear (Essix-type) retainer + easter egg: it crouches, hops into the blue case (2 little bounces inside), rests there, then hops back out to its spot =====
   4 new layers, full island size (774x805) lossless webp. The old generic U-shaped band in the base art is covered by dm-rt-sand (clean sand, always on).
   dm-rt-sand = clean sand where the old band was; dm-rt-shadow = soft contact shadow of the new retainer (fades while it is away);
   dm-rt-ret = new anatomic thin-shell retainer (procedural 3D render, no photos); dm-rt-front = the case's front wall (base pixels), on only while the retainer is going in / sitting inside.
   Classes are dm-rt-* (NOT dm-egg) so the existing reduced-motion rule of the other eggs does not hide them.
   Loop 9 s, starting 1.4 s. Lid nod + tablet bubbles unchanged. Phones: same amplitude (all %-based). Reduced motion: no animation, retainer stays on the sand. No glint/glow. */
.dch-motion--retainers .dm-rt-ret{transform-origin:64.41% 65.09%;animation:dm-rt-hop 9s 1.4s infinite both;}
.dch-motion--retainers .dm-rt-shadow{animation:dm-rt-shadow 9s 1.4s infinite both;}
.dch-motion--retainers .dm-rt-front{opacity:0;animation:dm-rt-front 9s 1.4s infinite both;}
@keyframes dm-rt-hop{0.00%{transform:translate(0.00%,0.00%) rotate(0deg) scale(1,1);animation-timing-function:ease-out}2.44%{transform:translate(0.00%,0.00%) rotate(0deg) scale(1.05,0.88);animation-timing-function:ease-out}3.78%{transform:translate(-1.20%,-5.00%) rotate(-3deg) scale(0.97,1.07);animation-timing-function:cubic-bezier(.2,.6,.4,1)}6.89%{transform:translate(-7.82%,-39.63%) rotate(-8deg) scale(0.6,0.6);animation-timing-function:cubic-bezier(.6,0,.9,.5)}9.56%{transform:translate(-11.18%,-32.55%) rotate(0deg) scale(0.53,0.44);animation-timing-function:ease-out}10.89%{transform:translate(-11.18%,-34.95%) rotate(0deg) scale(0.48,0.53);animation-timing-function:ease-in}12.22%{transform:translate(-11.18%,-32.55%) rotate(0deg) scale(0.52,0.47);animation-timing-function:ease-out}13.11%{transform:translate(-11.18%,-33.45%) rotate(0deg) scale(0.5,0.5);animation-timing-function:ease-in}14.00%{transform:translate(-11.18%,-32.55%) rotate(0deg) scale(0.5,0.5);animation-timing-function:ease-in-out}37.78%{transform:translate(-11.18%,-32.55%) rotate(0deg) scale(0.5,0.5);animation-timing-function:ease-in-out}39.44%{transform:translate(-11.18%,-32.55%) rotate(0deg) scale(0.53,0.43);animation-timing-function:ease-out}40.89%{transform:translate(-11.18%,-36.55%) rotate(0deg) scale(0.49,0.54);animation-timing-function:cubic-bezier(.2,.6,.4,1)}43.33%{transform:translate(-7.82%,-39.63%) rotate(-8deg) scale(0.62,0.62);animation-timing-function:cubic-bezier(.6,0,.9,.5)}46.67%{transform:translate(0.00%,0.00%) rotate(0deg) scale(1.06,0.86);animation-timing-function:ease-out}48.11%{transform:translate(0.00%,-2.60%) rotate(0deg) scale(0.97,1.05);animation-timing-function:ease-in}49.56%{transform:translate(0.00%,0.00%) rotate(0deg) scale(1.03,0.95);animation-timing-function:ease-out}50.56%{transform:translate(0.00%,-0.90%) rotate(0deg) scale(1,1);animation-timing-function:ease-in}51.56%{transform:translate(0.00%,0.00%) rotate(0deg) scale(1,1);animation-timing-function:linear}100.00%{transform:translate(0.00%,0.00%) rotate(0deg) scale(1,1)}}
@keyframes dm-rt-shadow{0.00%{opacity:1}3.11%{opacity:1}5.00%{opacity:0}45.56%{opacity:0}46.89%{opacity:1}100.00%{opacity:1}}
@keyframes dm-rt-front{0.00%{opacity:0}6.88%{opacity:0}6.89%{opacity:1}43.33%{opacity:1}43.34%{opacity:0}100.00%{opacity:0}}
@media (prefers-reduced-motion:reduce){.dch-motion--retainers .dm-rt-ret,.dch-motion--retainers .dm-rt-shadow{animation:none!important;transform:none!important;opacity:1!important;}.dch-motion--retainers .dm-rt-front{display:none!important;}}
/* ===== DCH body photos unify START（2026-11-01）=====
   內文臨床照片統一成 2251「常見 Q&A」照片格線的大小與樣式：
   - 桌機一列 3 張（照片組所在欄位較窄、一格會小於 220px 時改一列 2 張）；手機（≤767px）一列 2 張。
     不足一列的置中，大小跟其他張一樣；單張照片也是一格的大小，不撐滿整列。
   - 每張是圓角卡片：淡藍底照片框（3:2；直式說明圖 3:4、16:9 簡報圖 16:9）、照片完整放入不裁切、圖說置中在下面。
   - 點照片可放大（需要另外貼 PASTE-body-photos-zoom.html；沒貼也不影響版面）。
   - 只套用在下面這些照片組（用 Elementor 元素 ID 指定），hero 動畫、彩蛋、黏土插圖、logo、表格、2251 都不受影響：
     · 1953  708c7ea  9 張骨釘臨床照（格線）
     · 1890  913ca79  取下牙套 2 張（格線）
     · 1890  6afe7a2  切口／鈕扣／橡皮筋說明 3 張（直式）（格線）
     · 1316  b079436  Attachment／橡皮筋／局部矯正器 3 張（格線）
     · 1176  cd27816  治療前／上顎擴弓後 2 張（格線）
     · 1890  1f237cf  橡皮筋口內照（單張）
     · 1176  04eb30b  火箭隊橡皮圈口內照（單張）
   - 以後要套同一套：照片組容器加 CSS class「dch-bp-grid」，單張圖片元件加「dch-bp-one」（Elementor → 進階 → CSS 類別）。 */

/* 1. 照片組容器 → 置中換行的格線 */
body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .dch-bp-grid){
  --bp-gap:16px;--bp-col:max(calc((100% - 32px) / 3), min(calc((100% - 16px) / 2), 220px));--bp-ar:3/2;
  display:flex!important;flex-flow:row wrap!important;justify-content:center!important;align-items:stretch!important;
  gap:var(--bp-gap)!important;margin-top:16px!important;margin-bottom:22px!important;padding:0!important;
  border:0!important;background:none!important;box-shadow:none!important;grid-template-columns:none!important;}
body:not(.postid-2251) .dch-article .elementor-1890 .elementor-element-6afe7a2{--bp-ar:3/4;}
body:not(.postid-2251) .dch-article .elementor-1316 .elementor-element-b079436{--bp-ar:16/9;}
/* 「boxed」容器裡面還有一層 .e-con-inner：讓它也變成同一個格線 */
body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .dch-bp-grid)>.e-con-inner{
  display:flex!important;flex-flow:row wrap!important;justify-content:center!important;align-items:stretch!important;
  gap:var(--bp-gap)!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
/* 格線裡的每一格（圖片元件，或只包一張圖的小容器） */
body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .dch-bp-grid)>.elementor-element,
body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .dch-bp-grid)>.e-con-inner>.elementor-element{
  flex:0 0 var(--bp-col)!important;width:var(--bp-col)!important;max-width:var(--bp-col)!important;min-width:0!important;
  margin:0!important;padding:0!important;border:0!important;background:none!important;display:flex!important;flex-direction:column!important;}
body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .dch-bp-grid)>.e-con>.elementor-widget-image{
  width:100%!important;max-width:100%!important;flex:1 1 auto!important;margin:0!important;}

/* 2. 單張照片 → 一格大小、置中 */
body:not(.postid-2251) .dch-article :is(
  .elementor-1890 .elementor-element-1f237cf,
  .elementor-1176 .elementor-element-04eb30b,
  .dch-bp-one){
  --bp-ar:3/2;width:max(calc((100% - 32px) / 3), min(calc((100% - 16px) / 2), 220px))!important;max-width:100%!important;
  flex:0 0 auto!important;align-self:center!important;margin:16px auto 22px!important;}

/* 3. 卡片樣式 */
body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .dch-bp-grid) .elementor-widget-image>.elementor-widget-container,
body:not(.postid-2251) .dch-article :is(
  .elementor-1890 .elementor-element-1f237cf,
  .elementor-1176 .elementor-element-04eb30b,
  .dch-bp-one)>.elementor-widget-container{
  height:100%;display:flex;flex-direction:column;box-sizing:border-box;margin:0!important;padding:6px!important;
  background:#f3f7fc!important;border:0!important;border-radius:16px!important;overflow:hidden;box-shadow:0 0 0 1px #e3ecf6!important;text-align:center;}
body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .elementor-1890 .elementor-element-1f237cf,
  .elementor-1176 .elementor-element-04eb30b,
  .dch-bp-grid,.dch-bp-one) .elementor-widget-container figure{
  display:flex!important;flex-direction:column;flex:1 1 auto;margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;}
body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .elementor-1890 .elementor-element-1f237cf,
  .elementor-1176 .elementor-element-04eb30b,
  .dch-bp-grid,.dch-bp-one) .elementor-widget-container img{
  display:block!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:var(--bp-ar,3/2);
  object-fit:contain!important;margin:0!important;padding:0!important;border:0!important;border-radius:10px!important;
  box-shadow:none!important;background:transparent!important;cursor:zoom-in;}
body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .elementor-1890 .elementor-element-1f237cf,
  .elementor-1176 .elementor-element-04eb30b,
  .dch-bp-grid,.dch-bp-one) .elementor-widget-container figcaption{
  flex:1 1 auto;margin:6px -6px -6px!important;padding:10px 14px 12px!important;background:#fff!important;border:0!important;
  font-size:14px!important;line-height:1.65!important;color:#64748b!important;text-align:center!important;overflow-wrap:anywhere;}

/* 4. 手機：一列 2 張 */
@media (max-width:767px){
  body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .dch-bp-grid){
    --bp-gap:12px;--bp-col:calc((100% - 12px) / 2);}
  body:not(.postid-2251) .dch-article :is(
  .elementor-1890 .elementor-element-1f237cf,
  .elementor-1176 .elementor-element-04eb30b,
  .dch-bp-one){
    width:calc((100% - 12px) / 2)!important;}
  body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .dch-bp-grid) .elementor-widget-image>.elementor-widget-container,
  body:not(.postid-2251) .dch-article :is(
  .elementor-1890 .elementor-element-1f237cf,
  .elementor-1176 .elementor-element-04eb30b,
  .dch-bp-one)>.elementor-widget-container{
    padding:4px!important;border-radius:12px!important;}
  body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .elementor-1890 .elementor-element-1f237cf,
  .elementor-1176 .elementor-element-04eb30b,
  .dch-bp-grid,.dch-bp-one) .elementor-widget-container img{
    border-radius:8px!important;}
  body:not(.postid-2251) .dch-article :is(
  .elementor-1953 .elementor-element-708c7ea,
  .elementor-1890 .elementor-element-913ca79,
  .elementor-1890 .elementor-element-6afe7a2,
  .elementor-1316 .elementor-element-b079436,
  .elementor-1176 .elementor-element-cd27816,
  .elementor-1890 .elementor-element-1f237cf,
  .elementor-1176 .elementor-element-04eb30b,
  .dch-bp-grid,.dch-bp-one) .elementor-widget-container figcaption{
    margin:4px -4px -4px!important;padding:8px 10px 10px!important;font-size:13px!important;line-height:1.6!important;}
}

/* 5. 點圖放大的外框（搭配 PASTE-body-photos-zoom.html） */
.dch-bp-lb{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,32,52,.88);cursor:zoom-out;}
.dch-bp-lb.on{display:flex;}
.dch-bp-lb img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.4);}
.dch-bp-lb button{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#17324e;font-size:24px;line-height:44px;cursor:pointer;padding:0;}
/* ===== DCH body photos unify END ===== */
/* ===== DCH 1953 骨釘 hero 彩蛋 v-easter1b (2026-11-01) START [hq-fix + tip-fix v2：故事 sprite 10×8 格 1400×1504（每格 140×188），骨釘完整到尖端、牙肉內半透明] — 只作用在骨釘文章 hero（.dch-motion--e1953） =====
   12 秒一輪，載入 1.2 秒後開始，一個故事 + 一道口鏡反光：
   (1) 0–6 秒 故事：骨釘淡出 → 乾淨牙肉 → 骨釘從上方落下、一邊旋轉一邊鎖進牙肉直到就位 → 彈性線從矯正器拉到骨釘、勾上拉緊、放鬆回原圖
   (2) 7.0–8.2 秒 口鏡不動，只有鏡面上一道柔和淡光掃過（醫師指定例外，只在鏡面內）
   圖層是 sprite webp（/2026/11/），第 1 格 = 原圖，靜止時跟原圖逐像素相同；全部 % 單位，手機幅度跟桌機一樣。
   prefers-reduced-motion：所有 dm-e1953 圖層隱藏，只剩原圖。 */
.dch-hero-art .dch-motion--e1953 .dm-e1953{pointer-events:none;}
.dch-hero-art .dch-motion--e1953 .dm-e1953-box{position:absolute;overflow:hidden;}
.dch-hero-art .dch-motion--e1953 .dm-e1953-box img{position:absolute!important;left:0;top:0;display:block;height:100%!important;max-width:none!important;max-height:none!important;animation-timing-function:steps(1,end)!important;}
.dch-hero-art .dch-motion--e1953 .dm-e1953-stbox{left:43.23%;top:13.57%;width:20.17%;height:27.73%;opacity:0;animation:dm-e1953-stvis 12s 1.2s infinite both;animation-timing-function:steps(1,end);}
.dch-hero-art .dch-motion--e1953 .dm-e1953-stbox img{width:1000%!important;height:800%!important;animation:dm-e1953-stfr 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1953 .dm-e1953-glbox{left:20.61%;top:37.02%;width:9.08%;height:9.00%;opacity:0;animation:dm-e1953-glbox 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1953 .dm-e1953-glbox img{width:1800%!important;animation:dm-e1953-glfr 12s 1.2s infinite both;}
@keyframes dm-e1953-stfr{0%{transform:translate(0,0)}0.000%{transform:translate(0%,0.0%)}0.556%{transform:translate(-10%,0.0%)}1.111%{transform:translate(-20%,0.0%)}1.667%{transform:translate(-30%,0.0%)}2.222%{transform:translate(-40%,0.0%)}2.778%{transform:translate(-50%,0.0%)}3.333%{transform:translate(-60%,0.0%)}3.889%{transform:translate(-70%,0.0%)}4.444%{transform:translate(-80%,0.0%)}8.333%{transform:translate(-90%,0.0%)}8.889%{transform:translate(0%,-12.5%)}9.444%{transform:translate(-10%,-12.5%)}10.000%{transform:translate(-20%,-12.5%)}10.556%{transform:translate(-30%,-12.5%)}11.111%{transform:translate(-40%,-12.5%)}11.667%{transform:translate(-50%,-12.5%)}12.222%{transform:translate(-60%,-12.5%)}12.778%{transform:translate(-70%,-12.5%)}13.333%{transform:translate(-80%,-12.5%)}13.889%{transform:translate(-90%,-12.5%)}14.444%{transform:translate(0%,-25.0%)}15.000%{transform:translate(-10%,-25.0%)}15.556%{transform:translate(-20%,-25.0%)}16.111%{transform:translate(-30%,-25.0%)}16.667%{transform:translate(-40%,-25.0%)}17.222%{transform:translate(-50%,-25.0%)}17.778%{transform:translate(-60%,-25.0%)}18.333%{transform:translate(-70%,-25.0%)}18.889%{transform:translate(-80%,-25.0%)}19.444%{transform:translate(-90%,-25.0%)}20.000%{transform:translate(0%,-37.5%)}20.556%{transform:translate(-10%,-37.5%)}21.111%{transform:translate(-20%,-37.5%)}21.667%{transform:translate(-30%,-37.5%)}22.222%{transform:translate(-40%,-37.5%)}22.778%{transform:translate(-50%,-37.5%)}23.333%{transform:translate(-60%,-37.5%)}23.889%{transform:translate(-70%,-37.5%)}24.444%{transform:translate(-80%,-37.5%)}25.000%{transform:translate(-90%,-37.5%)}25.556%{transform:translate(0%,-50.0%)}26.111%{transform:translate(-10%,-50.0%)}26.667%{transform:translate(-20%,-50.0%)}27.222%{transform:translate(-30%,-50.0%)}27.778%{transform:translate(-40%,-50.0%)}28.333%{transform:translate(-50%,-50.0%)}28.889%{transform:translate(-60%,-50.0%)}29.444%{transform:translate(-70%,-50.0%)}30.000%{transform:translate(-80%,-50.0%)}30.556%{transform:translate(-90%,-50.0%)}31.111%{transform:translate(0%,-62.5%)}31.667%{transform:translate(-10%,-62.5%)}34.444%{transform:translate(-20%,-62.5%)}35.000%{transform:translate(-30%,-62.5%)}35.556%{transform:translate(-40%,-62.5%)}36.111%{transform:translate(-50%,-62.5%)}36.667%{transform:translate(-60%,-62.5%)}37.222%{transform:translate(-70%,-62.5%)}37.778%{transform:translate(-80%,-62.5%)}38.333%{transform:translate(-90%,-62.5%)}38.889%{transform:translate(0%,-75.0%)}39.444%{transform:translate(-10%,-75.0%)}40.000%{transform:translate(-20%,-75.0%)}40.556%{transform:translate(-30%,-75.0%)}41.111%{transform:translate(-40%,-75.0%)}41.667%{transform:translate(-50%,-75.0%)}42.222%{transform:translate(-60%,-75.0%)}42.778%{transform:translate(-70%,-75.0%)}43.333%{transform:translate(-80%,-75.0%)}43.889%{transform:translate(-90%,-75.0%)}44.444%{transform:translate(0%,-87.5%)}45.000%{transform:translate(-10%,-87.5%)}45.556%{transform:translate(-20%,-87.5%)}46.111%{transform:translate(-30%,-87.5%)}46.667%{transform:translate(-40%,-87.5%)}47.222%{transform:translate(-50%,-87.5%)}47.778%{transform:translate(-60%,-87.5%)}48.333%{transform:translate(-70%,-87.5%)}48.889%{transform:translate(-80%,-87.5%)}49.444%{transform:translate(-90%,-87.5%)}50.000%{transform:translate(0%,0.0%)}100%{transform:translate(0,0)}}
@keyframes dm-e1953-stvis{0%{opacity:1}100%{opacity:1}}
@keyframes dm-e1953-glbox{0.000%{opacity:0;animation-timing-function:linear}57.917%{opacity:0;animation-timing-function:linear}58.333%{opacity:1;animation-timing-function:linear}68.750%{opacity:1;animation-timing-function:linear}69.167%{opacity:0;animation-timing-function:linear}100.000%{opacity:0}}
@keyframes dm-e1953-glfr{0%{transform:translateX(0)}58.333%{transform:translateX(-0.0000%)}58.922%{transform:translateX(-5.5556%)}59.510%{transform:translateX(-11.1111%)}60.098%{transform:translateX(-16.6667%)}60.686%{transform:translateX(-22.2222%)}61.275%{transform:translateX(-27.7778%)}61.863%{transform:translateX(-33.3333%)}62.451%{transform:translateX(-38.8889%)}63.039%{transform:translateX(-44.4444%)}63.627%{transform:translateX(-50.0000%)}64.216%{transform:translateX(-55.5556%)}64.804%{transform:translateX(-61.1111%)}65.392%{transform:translateX(-66.6667%)}65.980%{transform:translateX(-72.2222%)}66.569%{transform:translateX(-77.7778%)}67.157%{transform:translateX(-83.3333%)}67.745%{transform:translateX(-88.8889%)}68.333%{transform:translateX(-94.4444%)}100%{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){.dch-hero-art .dch-motion--e1953 .dm-e1953{display:none!important;animation:none!important;}}
/* ===== DCH 1953 骨釘 hero 彩蛋 v-easter1b END ===== */

/* DCH 1315 timeline START — 1315 正顎手術流程（取代圖片 widget ad57306）。貼在 template 3989 自訂 CSS 最後面 */
.dch-tl1315{--tl-navy:#173a5e;--tl-blue:#2d6196;--tl-blue3:#96b8da;--tl-line:#d1e0ef;--tl-cream:#f6f1e8;
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei","Heiti TC",system-ui,sans-serif;
  width:100%;max-width:1080px;margin:8px auto 0;background:#fff;border-radius:20px;
  box-shadow:0 2px 14px rgba(23,58,94,.07);padding:28px 28px 30px;box-sizing:border-box}
.dch-tl1315 *{box-sizing:border-box}
/* 讓 HTML widget 在 flex 容器裡撐滿寬度（原本圖片會自己撐開） */
.elementor-widget-html:has(.dch-tl1315){width:100%!important;max-width:100%!important;flex:1 1 100%!important}
.dch-tl1315__list{list-style:none!important;margin:0!important;padding:0!important;position:relative;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px}
/* 橫向箭頭線：在圓點高度 */
.dch-tl1315__list::before{content:"";position:absolute;left:0;right:14px;top:122px;height:4px;border-radius:4px;
  background:linear-gradient(90deg,var(--tl-blue3),var(--tl-blue))}
.dch-tl1315__list::after{content:"";position:absolute;right:0;top:115px;width:0;height:0;
  border-left:16px solid var(--tl-blue);border-top:9px solid transparent;border-bottom:9px solid transparent}
.dch-tl1315__step{margin:0!important;padding:0!important;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
.dch-tl1315__step::before,.dch-tl1315__step::marker{content:none!important}
.dch-tl1315__icon{width:104px;height:104px;border-radius:50%;background:var(--tl-cream);display:flex;align-items:center;justify-content:center;flex:none}
.dch-tl1315__icon img{width:82px!important;height:82px!important;max-width:none!important;object-fit:contain;display:block;margin:0!important;border-radius:0!important;box-shadow:none!important}
.dch-tl1315__dot{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--tl-blue);margin:8px 0 0;position:relative;z-index:1;flex:none}
.dch-tl1315__text{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:4px}
.dch-tl1315__title{font-size:18px;line-height:1.45;font-weight:700;color:var(--tl-navy);letter-spacing:.02em}
.dch-tl1315__sub{font-size:16px;line-height:1.5;color:#334155}
.dch-tl1315__pill{display:inline-block;margin-top:4px;font-size:15px;line-height:1.4;font-weight:500;color:var(--tl-blue);
  background:#eff3f8;border:1px solid #dce8f4;border-radius:999px;padding:3px 12px;white-space:nowrap}
/* 手機：直式步驟（圖示左、文字右、連接線） */
@media (max-width:767px){
  .dch-tl1315{padding:20px 16px 22px;border-radius:16px}
  .dch-tl1315__list{grid-template-columns:1fr;gap:18px}
  .dch-tl1315__list::before{left:31px;right:auto;top:32px;bottom:32px;width:3px;height:auto;
    background:linear-gradient(180deg,var(--tl-blue3),var(--tl-blue))}
  .dch-tl1315__list::after{display:none}
  .dch-tl1315__step{flex-direction:row;align-items:center;text-align:left;gap:14px}
  .dch-tl1315__icon{width:64px;height:64px;position:relative;z-index:1;box-shadow:0 0 0 4px #fff}
  .dch-tl1315__icon img{width:52px!important;height:52px!important}
  .dch-tl1315__dot{display:none}
  .dch-tl1315__text{margin-top:0;align-items:flex-start;gap:2px;min-width:0}
  .dch-tl1315__title{font-size:17px}
  .dch-tl1315__sub{font-size:16px}
  .dch-tl1315__pill{font-size:15px;margin-top:5px}
}
/* DCH 1315 timeline END */

/* ===== DCH 1315 situations 2up START（2026-11-01）=====
   1315 正顎手術「常見需要正顎手術的情形」6 張照片：桌機一列 3 張、手機（≤767px）一列 2 張。
   樣式跟 2251 Q&A／DCH body photos unify 一樣：淡藍底照片框、照片完整放入不裁切、白底圖說置中。
   只作用在 HTML 元件裡的 .dch-sit6（取代原本的圖片元件 07bf0be）。點照片用 Elementor 內建燈箱放大（不顯示檔名，靠已上線的 lightbox title hide）。 */
/* HTML 元件外框撐滿整列（容器 57826de 是橫向 flex） */
.elementor-1315 .elementor-widget-html:has(.dch-sit6){width:100%!important;max-width:100%!important;flex:1 1 100%!important;}
body.postid-1315 .dch-sit6{--s6-gap:16px;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6-gap);
  width:100%;max-width:1000px;margin:8px auto 22px!important;padding:0!important;box-sizing:border-box;}
body.postid-1315 .dch-sit6 .dch-sit6__item{display:flex;flex-direction:column;min-width:0;margin:0!important;padding:6px!important;box-sizing:border-box;
  background:#f3f7fc;border:0;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px #e3ecf6;text-align:center;}
body.postid-1315 .dch-sit6 .dch-sit6__link{display:block;line-height:0;cursor:zoom-in;}
body.postid-1315 .dch-sit6 .dch-sit6__img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/3;
  object-fit:contain!important;margin:0!important;padding:0!important;border:0!important;border-radius:10px!important;
  box-shadow:none!important;background:transparent!important;transition:none!important;transform:none!important;}
body.postid-1315 .dch-sit6 .dch-sit6__cap{flex:1 1 auto;margin:6px -6px -6px!important;padding:10px 14px 12px!important;background:#fff!important;border:0!important;
  font-size:14px!important;line-height:1.65!important;color:#64748b!important;text-align:center!important;font-weight:400!important;overflow-wrap:anywhere;text-wrap:balance;}
@media (max-width:767px){
  body.postid-1315 .dch-sit6{--s6-gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:6px auto 18px!important;}
  body.postid-1315 .dch-sit6 .dch-sit6__item{padding:4px!important;border-radius:12px;}
  body.postid-1315 .dch-sit6 .dch-sit6__img{border-radius:8px!important;}
  body.postid-1315 .dch-sit6 .dch-sit6__cap{margin:4px -4px -4px!important;padding:8px 8px 10px!important;font-size:13px!important;line-height:1.6!important;}
}
/* ===== DCH 1315 situations 2up END ===== */

/* ===== DCH 2251 常見Q&A hero 彩蛋 v-easter1 (2026-11-01) START — 只作用在 Q&A 文章 hero（.dch-motion--e2251） =====
   12 秒一輪，載入 1.2 秒後開始，三個動作輪流：
   (1) 0–3.6 秒 問號：蹲一下跳起、在空中像硬幣翻面變成驚嘆號、落地壓扁回彈、停一下，再跳起翻回問號
   (2) 4.4–7.4 秒 白色對話框：以底部為中心放大，裡面 3 顆藍色黏土點依序冒出、波浪跳兩次、淡出，對話框縮回
   (3) 8.4–10.4 秒 小書：右頁沿書脊翻到左頁
   另外牙齒眨眼改成每 12 秒眨兩次（錯開動作）。圖層是全島尺寸 703x800 無損 webp 與 sprite（/2026/11/），靜止時跟原圖逐像素相同；% 單位，手機幅度跟桌機一樣；黏土質感、無發光。
   prefers-reduced-motion：所有 dm-e2251 圖層隱藏、問號回原位，只剩原圖。 */
.dch-hero-art .dch-motion--e2251 .dm-e2251{pointer-events:none;}
.dch-hero-art .dch-motion--e2251 .dm-q{transform-origin:31.3% 48.8%;animation:dm-e2251-q 12s 1.2s infinite both,dm-e2251-qo 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e2251 .dm-e2251-ex{opacity:0;transform-origin:31.6% 48.8%;animation:dm-e2251-x 12s 1.2s infinite both,dm-e2251-xo 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e2251 .dm-blink{opacity:0;animation:dm-e2251-blink 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e2251 .dm-e2251-bw{position:absolute;inset:0;transform-origin:45.31% 55.12%;animation:dm-e2251-bw 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e2251 .dm-e2251-d1{opacity:0;transform-origin:40.47% 48.98%;animation:dm-e2251-d1 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e2251 .dm-e2251-d2{opacity:0;transform-origin:44.45% 48.98%;animation:dm-e2251-d2 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e2251 .dm-e2251-d3{opacity:0;transform-origin:48.44% 48.98%;animation:dm-e2251-d3 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e2251 .dm-e2251-box{position:absolute;overflow:hidden;}
.dch-hero-art .dch-motion--e2251 .dm-e2251-box img{position:absolute!important;left:0;top:0;display:block;height:100%!important;max-width:none!important;max-height:none!important;animation-timing-function:steps(1,end)!important;}
.dch-hero-art .dch-motion--e2251 .dm-e2251-bkbox{left:51.92%;top:46.75%;width:22.33%;height:15.12%;opacity:0;animation:dm-e2251-bk 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e2251 .dm-e2251-bkbox img{width:800%!important;height:400%!important;animation:dm-e2251-bkfr 12s 1.2s infinite both;}
@keyframes dm-e2251-q{0.000%{transform:translateY(0%) scale(1,1);animation-timing-function:cubic-bezier(.45,0,.55,1)}2.083%{transform:translateY(0%) scale(1.05,0.93);animation-timing-function:cubic-bezier(.2,.7,.3,1)}5.000%{transform:translateY(-6.3%) scale(0.97,1.04);animation-timing-function:cubic-bezier(.2,.7,.3,1)}6.500%{transform:translateY(-7%) scale(0.02,1);animation-timing-function:linear}23.750%{transform:translateY(-7%) scale(0.02,1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}25.417%{transform:translateY(-6.3%) scale(1,1);animation-timing-function:cubic-bezier(.6,0,.8,.4)}27.500%{transform:translateY(0%) scale(1,1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}28.500%{transform:translateY(0%) scale(1.07,0.9);animation-timing-function:cubic-bezier(.45,0,.55,1)}30.000%{transform:translateY(0%) scale(1,1);animation-timing-function:linear}100.000%{transform:translateY(0%) scale(1,1)}}
@keyframes dm-e2251-qo{0.000%{opacity:1;animation-timing-function:linear}6.492%{opacity:1;animation-timing-function:linear}6.500%{opacity:0;animation-timing-function:linear}23.742%{opacity:0;animation-timing-function:linear}23.750%{opacity:1;animation-timing-function:linear}100.000%{opacity:1}}
@keyframes dm-e2251-x{0.000%{transform:translateY(-7%) scale(0.02,1);animation-timing-function:linear}6.500%{transform:translateY(-7%) scale(0.02,1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}8.167%{transform:translateY(-6.3%) scale(1,1);animation-timing-function:cubic-bezier(.6,0,.8,.4)}10.417%{transform:translateY(0%) scale(1,1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}11.417%{transform:translateY(0%) scale(1.07,0.9);animation-timing-function:cubic-bezier(.45,0,.55,1)}12.917%{transform:translateY(0%) scale(1,1);animation-timing-function:linear}18.333%{transform:translateY(0%) scale(1,1);animation-timing-function:cubic-bezier(.45,0,.55,1)}20.000%{transform:translateY(0%) scale(1.05,0.93);animation-timing-function:cubic-bezier(.2,.7,.3,1)}22.083%{transform:translateY(-6.3%) scale(0.97,1.04);animation-timing-function:cubic-bezier(.2,.7,.3,1)}23.750%{transform:translateY(-7%) scale(0.02,1);animation-timing-function:linear}100.000%{transform:translateY(-7%) scale(0.02,1)}}
@keyframes dm-e2251-xo{0.000%{opacity:0;animation-timing-function:linear}6.492%{opacity:0;animation-timing-function:linear}6.500%{opacity:1;animation-timing-function:linear}23.742%{opacity:1;animation-timing-function:linear}23.750%{opacity:0;animation-timing-function:linear}100.000%{opacity:0}}
@keyframes dm-e2251-bw{0.000%{transform:scale(1);animation-timing-function:linear}36.667%{transform:scale(1);animation-timing-function:cubic-bezier(.2,.7,.3,1)}39.583%{transform:scale(1.3);animation-timing-function:cubic-bezier(.45,0,.55,1)}40.833%{transform:scale(1.25);animation-timing-function:linear}57.500%{transform:scale(1.25);animation-timing-function:cubic-bezier(.45,0,.55,1)}60.417%{transform:scale(0.97);animation-timing-function:cubic-bezier(.45,0,.55,1)}61.667%{transform:scale(1);animation-timing-function:linear}100.000%{transform:scale(1)}}
@keyframes dm-e2251-d1{0.000%{opacity:0;transform:translateY(0%) scale(0);animation-timing-function:linear}41.250%{opacity:1;transform:translateY(0%) scale(0);animation-timing-function:cubic-bezier(.2,.7,.3,1)}42.500%{opacity:1;transform:translateY(0%) scale(1.22);animation-timing-function:cubic-bezier(.45,0,.55,1)}43.750%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:linear}47.500%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}48.750%{opacity:1;transform:translateY(-1.6%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}50.000%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:linear}51.250%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}52.500%{opacity:1;transform:translateY(-1.6%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}53.750%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:linear}56.000%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}57.333%{opacity:0;transform:translateY(0%) scale(0.6);animation-timing-function:linear}100.000%{opacity:0;transform:translateY(0%) scale(0)}}
@keyframes dm-e2251-d2{0.000%{opacity:0;transform:translateY(0%) scale(0);animation-timing-function:linear}42.917%{opacity:1;transform:translateY(0%) scale(0);animation-timing-function:cubic-bezier(.2,.7,.3,1)}44.167%{opacity:1;transform:translateY(0%) scale(1.22);animation-timing-function:cubic-bezier(.45,0,.55,1)}45.417%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:linear}48.583%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}49.833%{opacity:1;transform:translateY(-1.6%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}51.083%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:linear}52.333%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}53.583%{opacity:1;transform:translateY(-1.6%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}54.833%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:linear}56.000%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}57.333%{opacity:0;transform:translateY(0%) scale(0.6);animation-timing-function:linear}100.000%{opacity:0;transform:translateY(0%) scale(0)}}
@keyframes dm-e2251-d3{0.000%{opacity:0;transform:translateY(0%) scale(0);animation-timing-function:linear}44.583%{opacity:1;transform:translateY(0%) scale(0);animation-timing-function:cubic-bezier(.2,.7,.3,1)}45.833%{opacity:1;transform:translateY(0%) scale(1.22);animation-timing-function:cubic-bezier(.45,0,.55,1)}47.083%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:linear}49.667%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}50.917%{opacity:1;transform:translateY(-1.6%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}52.167%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:linear}53.417%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}54.667%{opacity:1;transform:translateY(-1.6%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}55.917%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:linear}56.000%{opacity:1;transform:translateY(0%) scale(1);animation-timing-function:cubic-bezier(.45,0,.55,1)}57.333%{opacity:0;transform:translateY(0%) scale(0.6);animation-timing-function:linear}100.000%{opacity:0;transform:translateY(0%) scale(0)}}
@keyframes dm-e2251-bk{0.000%{opacity:0;animation-timing-function:linear}69.583%{opacity:0;animation-timing-function:linear}70.000%{opacity:1;animation-timing-function:linear}87.639%{opacity:1;animation-timing-function:linear}88.056%{opacity:0;animation-timing-function:linear}100.000%{opacity:0}}
@keyframes dm-e2251-bkfr{0%{transform:translate(0.0000%,0.0000%)}70.000%{transform:translate(0.0000%,0.0000%)}70.556%{transform:translate(-12.5000%,0.0000%)}71.111%{transform:translate(-25.0000%,0.0000%)}71.667%{transform:translate(-37.5000%,0.0000%)}72.222%{transform:translate(-50.0000%,0.0000%)}72.778%{transform:translate(-62.5000%,0.0000%)}73.333%{transform:translate(-75.0000%,0.0000%)}73.889%{transform:translate(-87.5000%,0.0000%)}74.444%{transform:translate(0.0000%,-25.0000%)}75.000%{transform:translate(-12.5000%,-25.0000%)}75.556%{transform:translate(-25.0000%,-25.0000%)}76.111%{transform:translate(-37.5000%,-25.0000%)}76.667%{transform:translate(-50.0000%,-25.0000%)}77.222%{transform:translate(-62.5000%,-25.0000%)}77.778%{transform:translate(-75.0000%,-25.0000%)}78.333%{transform:translate(-87.5000%,-25.0000%)}78.889%{transform:translate(0.0000%,-50.0000%)}79.444%{transform:translate(-12.5000%,-50.0000%)}80.000%{transform:translate(-25.0000%,-50.0000%)}80.556%{transform:translate(-37.5000%,-50.0000%)}81.111%{transform:translate(-50.0000%,-50.0000%)}81.667%{transform:translate(-62.5000%,-50.0000%)}82.222%{transform:translate(-75.0000%,-50.0000%)}82.778%{transform:translate(-87.5000%,-50.0000%)}83.333%{transform:translate(0.0000%,-75.0000%)}83.889%{transform:translate(-12.5000%,-75.0000%)}84.444%{transform:translate(-25.0000%,-75.0000%)}85.000%{transform:translate(-37.5000%,-75.0000%)}85.556%{transform:translate(-50.0000%,-75.0000%)}86.111%{transform:translate(-62.5000%,-75.0000%)}86.667%{transform:translate(-75.0000%,-75.0000%)}87.222%{transform:translate(0.0000%,0.0000%)}100%{transform:translate(0.0000%,0.0000%)}}
@keyframes dm-e2251-blink{0.000%{opacity:0;animation-timing-function:linear}32.500%{opacity:0;animation-timing-function:linear}32.667%{opacity:1;animation-timing-function:linear}34.000%{opacity:1;animation-timing-function:linear}34.167%{opacity:0;animation-timing-function:linear}93.333%{opacity:0;animation-timing-function:linear}93.500%{opacity:1;animation-timing-function:linear}94.833%{opacity:1;animation-timing-function:linear}95.000%{opacity:0;animation-timing-function:linear}100.000%{opacity:0}}
@media (prefers-reduced-motion:reduce){.dch-hero-art .dch-motion--e2251 .dm-e2251{display:none!important;animation:none!important;}.dch-hero-art .dch-motion--e2251 .dm-q{animation:none!important;transform:none!important;opacity:1!important;}.dch-hero-art .dch-motion--e2251 .dm-blink{animation:none!important;opacity:0!important;}}
/* ===== DCH 2251 常見Q&A hero 彩蛋 v-easter1 END ===== */

/* ===== DCH 1176 兒童擴張器 hero 彩蛋 v-easter1 (2026-11-01) START — 只作用在兒童及青少年矯正文章 hero（.dch-motion--e1176） =====
   12 秒一輪，載入 1.2 秒後開始，三個動作輪流：
   (1) 0–3.4 秒 小鑰匙：從門牙那側插進擴張器中間螺絲的孔，往後（照螺絲上箭頭方向）轉一格 90°，再往後抽出
   (2) 4.0–6.6 秒 螺絲轉一下：藍色黏土箭頭繞螺絲轉一圈，左右兩半跟著往外張開（各 10 島嶼 px），中間露出螺紋
   (3) 6.4–10.0 秒 維持張開（看得到中間的螺紋），10.0–10.9 秒擴張器回到原位，不加任何文字
   取代本頁原本 4 秒一次的小幅張開（dm-rpe），改成跟彩蛋同步。新圖層全部是全島尺寸 770x740 無損 webp 或 sprite（/2026/11/）；
   靜止時所有彩蛋圖層透明、左右兩半位移 0 → 跟原圖逐像素相同；全部 % 單位，手機幅度跟桌機一樣；無發光、無反光。
   prefers-reduced-motion：所有 dm-e1176 圖層隱藏，擴張器不動，只剩原圖。 */
.dch-hero-art .dch-motion--e1176 .dm-e1176{pointer-events:none;}
.dch-hero-art .dch-motion--e1176 .dm-arch-l{animation:dm-e1176-l 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1176 .dm-arch-r{animation:dm-e1176-r 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1176 .dm-e1176-core{opacity:0;animation:dm-e1176-core 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1176 .dm-e1176-box{position:absolute;overflow:hidden;}
.dch-hero-art .dch-motion--e1176 .dm-e1176-box img{position:absolute!important;left:0;top:0;display:block;height:100%!important;max-width:none!important;max-height:none!important;animation-timing-function:steps(1,end)!important;}
.dch-hero-art .dch-motion--e1176 .dm-e1176-kbox{left:44.81%;top:24.59%;width:16.23%;height:45.27%;opacity:0;animation:dm-e1176-kbox 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1176 .dm-e1176-kbox img{width:1400%!important;height:400%!important;animation:dm-e1176-kfr 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1176 .dm-e1176-rbox{left:43.90%;top:30.54%;width:10.91%;height:19.73%;opacity:0;animation:dm-e1176-rbox 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1176 .dm-e1176-rbox img{width:1000%!important;height:400%!important;animation:dm-e1176-rfr 12s 1.2s infinite both;}
@keyframes dm-e1176-kbox{0.000%{opacity:0;animation-timing-function:linear}2.083%{opacity:1;animation-timing-function:linear}25.000%{opacity:1;animation-timing-function:cubic-bezier(.45,0,.55,1)}28.333%{opacity:0;animation-timing-function:linear}100.000%{opacity:0}}
@keyframes dm-e1176-kfr{0%{transform:translate(0.0000%,0.0000%)}0.000%{transform:translate(0.0000%,0.0000%)}0.417%{transform:translate(-7.1429%,0.0000%)}0.833%{transform:translate(-14.2857%,0.0000%)}1.250%{transform:translate(-21.4286%,0.0000%)}1.667%{transform:translate(-28.5714%,0.0000%)}2.083%{transform:translate(-35.7143%,0.0000%)}2.500%{transform:translate(-42.8571%,0.0000%)}2.917%{transform:translate(-50.0000%,0.0000%)}3.333%{transform:translate(-57.1429%,0.0000%)}3.750%{transform:translate(-64.2857%,0.0000%)}4.167%{transform:translate(-71.4286%,0.0000%)}4.583%{transform:translate(-78.5714%,0.0000%)}7.500%{transform:translate(-85.7143%,0.0000%)}7.917%{transform:translate(-92.8571%,0.0000%)}8.333%{transform:translate(0.0000%,-25.0000%)}8.750%{transform:translate(-7.1429%,-25.0000%)}9.167%{transform:translate(-14.2857%,-25.0000%)}9.583%{transform:translate(-21.4286%,-25.0000%)}10.000%{transform:translate(-28.5714%,-25.0000%)}10.417%{transform:translate(-35.7143%,-25.0000%)}10.833%{transform:translate(-42.8571%,-25.0000%)}11.250%{transform:translate(-50.0000%,-25.0000%)}11.667%{transform:translate(-57.1429%,-25.0000%)}12.083%{transform:translate(-64.2857%,-25.0000%)}12.500%{transform:translate(-71.4286%,-25.0000%)}12.917%{transform:translate(-78.5714%,-25.0000%)}13.333%{transform:translate(-85.7143%,-25.0000%)}13.750%{transform:translate(-92.8571%,-25.0000%)}14.167%{transform:translate(0.0000%,-50.0000%)}14.583%{transform:translate(-7.1429%,-50.0000%)}15.000%{transform:translate(-14.2857%,-50.0000%)}15.417%{transform:translate(-21.4286%,-50.0000%)}15.833%{transform:translate(-28.5714%,-50.0000%)}16.250%{transform:translate(-35.7143%,-50.0000%)}16.667%{transform:translate(-42.8571%,-50.0000%)}17.083%{transform:translate(-50.0000%,-50.0000%)}17.500%{transform:translate(-57.1429%,-50.0000%)}17.917%{transform:translate(-64.2857%,-50.0000%)}18.333%{transform:translate(-71.4286%,-50.0000%)}18.750%{transform:translate(-78.5714%,-50.0000%)}19.167%{transform:translate(-85.7143%,-50.0000%)}19.583%{transform:translate(-92.8571%,-50.0000%)}20.000%{transform:translate(0.0000%,-75.0000%)}20.417%{transform:translate(-7.1429%,-75.0000%)}23.333%{transform:translate(-14.2857%,-75.0000%)}23.750%{transform:translate(-21.4286%,-75.0000%)}24.167%{transform:translate(-28.5714%,-75.0000%)}24.583%{transform:translate(-35.7143%,-75.0000%)}25.000%{transform:translate(-42.8571%,-75.0000%)}25.417%{transform:translate(-50.0000%,-75.0000%)}25.833%{transform:translate(-57.1429%,-75.0000%)}26.250%{transform:translate(-64.2857%,-75.0000%)}26.667%{transform:translate(-71.4286%,-75.0000%)}27.083%{transform:translate(-78.5714%,-75.0000%)}27.500%{transform:translate(-85.7143%,-75.0000%)}27.917%{transform:translate(-92.8571%,-75.0000%)}100%{transform:translate(0.0000%,0.0000%)}}
@keyframes dm-e1176-rbox{0.000%{opacity:0;animation-timing-function:linear}33.333%{opacity:0;animation-timing-function:cubic-bezier(.45,0,.55,1)}35.000%{opacity:1;animation-timing-function:linear}51.667%{opacity:1;animation-timing-function:cubic-bezier(.45,0,.55,1)}55.000%{opacity:0;animation-timing-function:linear}100.000%{opacity:0}}
@keyframes dm-e1176-rfr{0%{transform:translate(0.0000%,0.0000%)}35.000%{transform:translate(0.0000%,0.0000%)}35.417%{transform:translate(-10.0000%,0.0000%)}35.833%{transform:translate(-20.0000%,0.0000%)}36.250%{transform:translate(-30.0000%,0.0000%)}36.667%{transform:translate(-40.0000%,0.0000%)}37.083%{transform:translate(-50.0000%,0.0000%)}37.500%{transform:translate(-60.0000%,0.0000%)}37.917%{transform:translate(-70.0000%,0.0000%)}38.333%{transform:translate(-80.0000%,0.0000%)}38.750%{transform:translate(-90.0000%,0.0000%)}39.167%{transform:translate(0.0000%,-25.0000%)}39.583%{transform:translate(-10.0000%,-25.0000%)}40.000%{transform:translate(-20.0000%,-25.0000%)}40.417%{transform:translate(-30.0000%,-25.0000%)}40.833%{transform:translate(-40.0000%,-25.0000%)}41.250%{transform:translate(-50.0000%,-25.0000%)}41.667%{transform:translate(-60.0000%,-25.0000%)}42.083%{transform:translate(-70.0000%,-25.0000%)}42.500%{transform:translate(-80.0000%,-25.0000%)}42.917%{transform:translate(-90.0000%,-25.0000%)}43.333%{transform:translate(0.0000%,-50.0000%)}43.750%{transform:translate(-10.0000%,-50.0000%)}44.167%{transform:translate(-20.0000%,-50.0000%)}44.583%{transform:translate(-30.0000%,-50.0000%)}45.000%{transform:translate(-40.0000%,-50.0000%)}45.417%{transform:translate(-50.0000%,-50.0000%)}45.833%{transform:translate(-60.0000%,-50.0000%)}46.250%{transform:translate(-70.0000%,-50.0000%)}46.667%{transform:translate(-80.0000%,-50.0000%)}47.083%{transform:translate(-90.0000%,-50.0000%)}47.500%{transform:translate(0.0000%,-75.0000%)}47.917%{transform:translate(-10.0000%,-75.0000%)}48.333%{transform:translate(-20.0000%,-75.0000%)}48.750%{transform:translate(-30.0000%,-75.0000%)}49.167%{transform:translate(-40.0000%,-75.0000%)}49.583%{transform:translate(-50.0000%,-75.0000%)}50.000%{transform:translate(-60.0000%,-75.0000%)}50.417%{transform:translate(-70.0000%,-75.0000%)}50.833%{transform:translate(-80.0000%,-75.0000%)}51.250%{transform:translate(-90.0000%,-75.0000%)}100%{transform:translate(0.0000%,0.0000%)}}
@keyframes dm-e1176-l{0.000%{transform:translateX(0.0000%);animation-timing-function:linear}37.500%{transform:translateX(0.0000%);animation-timing-function:cubic-bezier(.45,0,.55,1)}53.333%{transform:translateX(-1.2987%);animation-timing-function:linear}83.333%{transform:translateX(-1.2987%);animation-timing-function:cubic-bezier(.45,0,.55,1)}90.833%{transform:translateX(0.0000%);animation-timing-function:linear}100.000%{transform:translateX(0.0000%)}}
@keyframes dm-e1176-r{0.000%{transform:translateX(0.0000%);animation-timing-function:linear}37.500%{transform:translateX(0.0000%);animation-timing-function:cubic-bezier(.45,0,.55,1)}53.333%{transform:translateX(1.2987%);animation-timing-function:linear}83.333%{transform:translateX(1.2987%);animation-timing-function:cubic-bezier(.45,0,.55,1)}90.833%{transform:translateX(0.0000%);animation-timing-function:linear}100.000%{transform:translateX(0.0000%)}}
@keyframes dm-e1176-core{0.000%{opacity:0;animation-timing-function:linear}37.917%{opacity:0;animation-timing-function:linear}40.000%{opacity:1;animation-timing-function:linear}89.167%{opacity:1;animation-timing-function:linear}90.833%{opacity:0;animation-timing-function:linear}100.000%{opacity:0}}
@media (prefers-reduced-motion:reduce){.dch-hero-art .dch-motion--e1176 .dm-e1176{display:none!important;animation:none!important;}.dch-hero-art .dch-motion--e1176 .dm-arch-l,.dch-hero-art .dch-motion--e1176 .dm-arch-r{animation:none!important;transform:none!important;}}
/* ===== DCH 1176 兒童擴張器 hero 彩蛋 v-easter1 END ===== */
/* ===== DCH 1315 正顎手術 hero 彩蛋 v-easter1 (2026-11-01 修訂 v3) START — 只作用在正顎手術文章 hero（.dch-motion--e1315） =====
   12 秒一輪，載入 1.2 秒後開始：
   (1) 0.2 秒 直接切到「術前」狀態（不淡入、不重疊：第三類咬合，下顎遠心段較凸、較大且下門牙在上門牙前面，上顎 Le Fort I 段較後縮），停一下，
       1.8–3.6 秒 上下顎同時沿切線移到原圖位置（上顎往前、下顎往後），4.2 秒回到原圖
   (2) 5.0–5.4 秒 地上的矯正器淡出；5.4–5.7 秒出現在上方，5.7–6.25 秒落下到弓線位置，落地稍微壓扁再彈一下，6.8 秒停好，7.2 秒回到原圖
   所有圖層都是直接從原圖剪下的像素（鈦板、切線、近心段固定不動），不發光；本頁原本矯正器上的掃光（dm-glint）在彩蛋版隱藏。
   新圖層全部在 /2026/11/；靜止時所有彩蛋圖層隱藏 → 跟原圖逐像素相同；全部 % 單位。
   prefers-reduced-motion：所有 dm-e1315 圖層隱藏，只剩原圖。 */
.dch-hero-art .dch-motion--e1315 .dm-glint{display:none!important;}
.dch-hero-art .dch-motion--e1315 .dm-e1315{pointer-events:none;visibility:hidden;opacity:0;}
.dch-hero-art .dch-motion--e1315 .dm-e1315-jg{animation:dm-e1315-jo 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1315 .dm-e1315-mand{transform-origin:47.25% 47.59%;animation:dm-e1315-mand 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1315 .dm-e1315-maxi{animation:dm-e1315-maxi 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1315 .dm-e1315-bg{animation:dm-e1315-bo 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1315 .dm-e1315-bsh{animation:dm-e1315-sho 12s 1.2s infinite both;}
.dch-hero-art .dch-motion--e1315 .dm-e1315-bfall{transform-origin:43.28% 68.08%;animation:dm-e1315-drop 12s 1.2s infinite both,dm-e1315-dropo 12s 1.2s infinite both;}
@keyframes dm-e1315-mand{0.000%{transform:translateY(-1.6490%) scale(1.1200,1.3000);animation-timing-function:linear}15.000%{transform:translateY(-1.6490%) scale(1.1200,1.3000);animation-timing-function:cubic-bezier(.45,0,.55,1)}30.000%{transform:translateY(-0.0000%) scale(1.0000,1.0000);animation-timing-function:linear}100.000%{transform:translateY(-0.0000%) scale(1.0000,1.0000)}}
@keyframes dm-e1315-maxi{0.000%{transform:translateY(-0.9423%);animation-timing-function:linear}15.000%{transform:translateY(-0.9423%);animation-timing-function:cubic-bezier(.45,0,.55,1)}30.000%{transform:translateY(-0.0000%);animation-timing-function:linear}100.000%{transform:translateY(-0.0000%)}}
@keyframes dm-e1315-jo{0.000%{opacity:0;visibility:hidden;animation-timing-function:steps(1,end)}1.667%{opacity:1;visibility:visible;animation-timing-function:linear}35.000%{opacity:1;visibility:visible;animation-timing-function:steps(1,end)}35.001%{opacity:0;visibility:hidden}100.000%{opacity:0;visibility:hidden}}
@keyframes dm-e1315-drop{0.000%{transform:translateY(-14.1343%);animation-timing-function:linear}47.500%{transform:translateY(-14.1343%);animation-timing-function:cubic-bezier(.55,0,1,.6)}52.083%{transform:translateY(0) scale(1,1);animation-timing-function:cubic-bezier(.2,.6,.4,1)}53.083%{transform:translateY(0) scale(1.06,.82);animation-timing-function:cubic-bezier(.3,.6,.5,1)}55.000%{transform:translateY(-0.8245%) scale(.98,1.05);animation-timing-function:cubic-bezier(.5,0,.6,1)}56.667%{transform:translateY(0) scale(1,1);animation-timing-function:linear}100.000%{transform:translateY(0) scale(1,1)}}
@keyframes dm-e1315-dropo{0.000%{opacity:0;animation-timing-function:linear}45.000%{opacity:0;animation-timing-function:linear}47.500%{opacity:1;animation-timing-function:linear}100.000%{opacity:1}}
@keyframes dm-e1315-sho{0.000%{opacity:0;animation-timing-function:linear}45.000%{opacity:0.15;animation-timing-function:cubic-bezier(.55,0,1,.6)}52.083%{opacity:1;animation-timing-function:linear}100.000%{opacity:1}}
@keyframes dm-e1315-bo{0.000%{opacity:0;visibility:hidden;animation-timing-function:linear}41.667%{opacity:0;visibility:hidden;animation-timing-function:linear}45.000%{opacity:1;visibility:visible;animation-timing-function:linear}60.000%{opacity:1;visibility:visible;animation-timing-function:steps(1,end)}60.001%{opacity:0;visibility:hidden}100.000%{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.dch-hero-art .dch-motion--e1315 .dm-e1315{display:none!important;animation:none!important;}}
/* ===== DCH 1315 正顎手術 hero 彩蛋 v-easter1 END ===== *//* End custom CSS */