/* 育豪：讓 Elementor 的容器／小工具不帶任何預設間距，版面完全交給 Tailwind class 決定 */
body.yh{font-family:"Inter","Noto Sans TC",sans-serif;color:#1e293b;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}
body.yh ::selection{background:#dbeafe;color:#1e3a8a}

/* 容器：歸零 Elementor 變數（display / padding / gap / width / 對齊…） */
body.yh .e-con{
  --display:block;--flex-direction:row;--flex-wrap:nowrap;--flex-wrap-mobile:nowrap;
  --justify-content:normal;--align-items:normal;--align-content:normal;
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;
  --margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px;
  --gap:0px;--row-gap:0px;--column-gap:0px;--widgets-spacing:0px;
  --width:auto;--height:auto;--min-height:auto;--position:static;--overflow:visible;--z-index:auto;
  --text-align:inherit;--border-radius:0;--container-widget-width:auto;--container-widget-flex-grow:0;
}
:where(body.yh) .e-con{min-width:auto}
/* Elementor 每個容器都在 post CSS 寫 --display:flex，這裡用低權重直接蓋 display，Tailwind 的 flex/grid 仍可勝出 */
:where(body.yh) .e-con{display:block}
:where(body.yh) a.e-con{color:inherit;text-decoration:none}
body.yh .e-con:before{content:none}

/* 小工具：外框不佔版面（display:contents），class 下在外框，內容繼承 */
:where(body.yh) .elementor-widget{position:static;min-width:auto;margin:0}
body.yh .elementor-widget>.elementor-widget-container{display:contents}
body.yh .elementor-widget-html,body.yh .elementor-widget-shortcode{display:contents}
body.yh .elementor-widget-yh-course-card,body.yh .elementor-widget-yh-modal-ref,body.yh .elementor-widget-yh-compare,body.yh .elementor-widget-yh-form,body.yh .elementor-widget-yh-image,body.yh .elementor-widget-yh-gallery,body.yh .elementor-widget-yh-icon,body.yh .elementor-widget-yh-schedule,body.yh .elementor-widget-yh-course-table,body.yh .elementor-widget-yh-course-intro{display:contents}
body.yh .elementor-widget-shortcode .elementor-shortcode{display:contents}

/* 標題小工具：字型全部繼承外框 class */
body.yh .elementor-widget-heading .elementor-heading-title{display:contents;font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;margin:0;padding:0;overflow:inherit;text-overflow:inherit}
body.yh .elementor-widget-heading>.elementor-widget-container{overflow:inherit;text-overflow:inherit}
body.yh .elementor-widget-heading .elementor-heading-title>a{color:inherit;text-decoration:none}

/* 圖片小工具：img 尺寸跟著外框的 class 走 */
:where(body.yh) .elementor-widget-image{text-align:inherit}
body.yh .elementor-widget-image img{display:block;width:inherit;height:inherit;max-width:inherit;min-width:inherit;max-height:inherit;min-height:inherit;object-fit:inherit;object-position:inherit;border-radius:inherit;vertical-align:middle;border:0;box-shadow:none}
body.yh .elementor-widget-image>.elementor-widget-container{width:inherit;height:inherit;max-width:inherit;min-width:inherit;max-height:inherit;min-height:inherit;object-fit:inherit;object-position:inherit;border-radius:inherit}

/* 編輯器裡仍需要相對定位才能點選 */
:where(body.elementor-editor-active.yh) .elementor-widget{position:relative}
/* 原型內嵌的動畫樣式 */
@keyframes groundLineControl { 0%, 9.9% { width: 0; opacity: 0; } 10% { width: 0; opacity: 1; } 12%, 82% { width: 1.32em; opacity: 1; } 83%, 100% { width: 0; opacity: 0; } } @keyframes kangarooHorizonAction { 0%, 10% { transform: translateX(-50%) translateY(100%) scaleX(1) rotate(0deg); opacity: 0; } 10.1% { opacity: 1; } 12% { transform: translateX(-50%) translateY(45%) rotate(-5deg); } 15% { transform: translateX(-50%) translateY(65%) rotate(5deg); } 18% { transform: translateX(-50%) translateY(35%) rotate(-3deg); } 21% { transform: translateX(-50%) translateY(55%) rotate(0deg); } 24% { transform: translateX(-50%) translateY(-35%) scaleY(1.05) rotate(10deg); } 26% { transform: translateX(-50%) translateY(0) scaleY(1) rotate(0deg); } 30% { transform: translate(calc(-50% - 0.15em), -22%) rotate(-12deg); } 33% { transform: translate(-50%, 0) rotate(0deg); } 36% { transform: translate(calc(-50% + 0.15em), -22%) rotate(12deg); } 39% { transform: translate(-50%, 0) rotate(0deg); } 42% { transform: translate(calc(-50% - 0.12em), -20%) rotate(-10deg); } 45% { transform: translate(-50%, 0) rotate(0deg); } 48% { transform: translate(calc(-50% + 0.12em), -20%) rotate(10deg); } 51% { transform: translate(-50%, 0) rotate(0deg); } 54% { transform: translate(-50%, -25%) rotate(0deg) scaleY(1.05); } 57% { transform: translate(-50%, 0) rotate(0deg) scaleY(1); } 60% { transform: translate(-50%, -15%) rotate(-5deg); } 63% { transform: translate(-50%, 0) rotate(0deg); } 65.5% { transform: translateX(-50%) translateY(-15%) scaleY(1.08); } 67% { transform: translateX(-50%) translateY(0) scaleY(1); } 68% { transform: translateX(-50%) translateY(0) scaleX(1); } 71% { transform: translateX(-50%) translateY(-3%) scaleX(-1); } 75% { transform: translateX(-50%) translateY(0) scaleX(1); } 76% { transform: translateX(-50%) translateY(-10%) rotate(0deg) scaleY(1.05); opacity: 1; } 82% { transform: translateX(-50%) translateY(100%) scale(0.65) rotate(-5deg); opacity: 1; } 83.1%, 100% { transform: translateX(-50%) translateY(100%); opacity: 0; } }
.scrollbar-hide::-webkit-scrollbar { display: none; }
@keyframes flipInY { 0% { opacity: 0; transform: perspective(2000px) rotateY(90deg) translateY(30px); } 60% { opacity: 0.9; transform: perspective(2000px) rotateY(-5deg) translateY(-5px); } 100% { opacity: 1; transform: perspective(2000px) rotateY(0deg) translateY(0); } } .honor-card-enter { opacity: 0; animation: flipInY 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; backface-visibility: hidden; transform-style: preserve-3d; will-change: transform, opacity; }
@keyframes complexRun { 0% { left: 100%; transform: translateX(0) rotate(0deg); } /* RUN IN: Roll to ~Center Right */ 30% { left: 100%; transform: translateX(-40vw) rotate(-720deg); /* 2 turns */ } /* BOUNCE: Jump twice */ 32% { left: 100%; transform: translateX(-42vw) translateY(-60px) rotate(-720deg); } 34% { left: 100%; transform: translateX(-44vw) translateY(0) rotate(-720deg); } 36% { left: 100%; transform: translateX(-46vw) translateY(-30px) rotate(-720deg); } 38% { left: 100%; transform: translateX(-48vw) translateY(0) rotate(-720deg); } /* WIGGLE: Stop X movement, shake rotation */ 39% { left: 100%; transform: translateX(-48vw) rotate(-740deg); } 41% { left: 100%; transform: translateX(-48vw) rotate(-700deg); } 43% { left: 100%; transform: translateX(-48vw) rotate(-730deg); } 45% { left: 100%; transform: translateX(-48vw) rotate(-710deg); } 47% { left: 100%; transform: translateX(-48vw) rotate(-720deg); /* Back to upright */ } /* RUN OUT: Roll off screen */ 100% { left: 100%; transform: translateX(-150vw) rotate(-1440deg); } } .yuhao-anim-item { position: absolute; bottom: 0; /* Align all to bottom */ width: 50px; height: 50px; animation: complexRun 15s linear infinite; }
@keyframes spin-slow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .animate-spin-slow { animation: spin-slow 30s linear infinite; }body.yh.yh.yh .yhs-529e528.yhs-529e528{bottom: calc(1.22em + 2px); width: 0px; transform: translateX(-50%); animation: 15s ease-in-out 0s infinite normal none running groundLineControl}
body.yh.yh.yh .yhs-1222115.yhs-1222115{bottom: calc(1.22em + 2px); transform: translateX(-50%)}
body.yh.yh.yh .yhs-b8bc7bd.yhs-b8bc7bd{opacity: 0; transform: translateX(-50%) translateY(100%); animation: 15s ease-in-out 0s infinite normal none running kangarooHorizonAction}
body.yh.yh.yh .yhs-ebc39b9.yhs-ebc39b9{animation-delay: 0ms}
body.yh.yh.yh .yhs-236d480.yhs-236d480{animation-delay: 60ms}
body.yh.yh.yh .yhs-5feb71b.yhs-5feb71b{animation-delay: 120ms}
body.yh.yh.yh .yhs-dcb1cb3.yhs-dcb1cb3{animation-delay: 180ms}
body.yh.yh.yh .yhs-36279c1.yhs-36279c1{animation-delay: 240ms}
body.yh.yh.yh .yhs-65ed4a0.yhs-65ed4a0{animation-delay: 300ms}
body.yh.yh.yh .yhs-08ee5f9.yhs-08ee5f9{animation-delay: 360ms}
body.yh.yh.yh .yhs-f88c839.yhs-f88c839{animation-delay: 420ms}
body.yh.yh.yh .yhs-175f6e4.yhs-175f6e4{animation-delay: 480ms}
body.yh.yh.yh .yhs-e6a9bcf.yhs-e6a9bcf{animation-delay: 540ms}
body.yh.yh.yh .yhs-27a6a5e.yhs-27a6a5e{animation-delay: 600ms}
body.yh.yh.yh .yhs-1c41f24.yhs-1c41f24{animation-delay: 660ms}
body.yh.yh.yh .yhs-7d873c0.yhs-7d873c0{animation-delay: 720ms}
body.yh.yh.yh .yhs-0e79c8e.yhs-0e79c8e{animation-delay: 780ms}
body.yh.yh.yh .yhs-f63d6f3.yhs-f63d6f3{animation-delay: 840ms}
body.yh.yh.yh .yhs-a42aabc.yhs-a42aabc{animation-delay: 900ms}
body.yh.yh.yh .yhs-4fd8f3d.yhs-4fd8f3d{animation-delay: 960ms}
body.yh.yh.yh .yhs-e39c5dd.yhs-e39c5dd{animation-delay: 1020ms}
body.yh.yh.yh .yhs-80e1603.yhs-80e1603{animation-delay: 1080ms}
body.yh.yh.yh .yhs-08d042b.yhs-08d042b{animation-delay: 1140ms}
body.yh.yh.yh .yhs-6f12582.yhs-6f12582{animation-delay: 1200ms}
body.yh.yh.yh .yhs-ec7c21f.yhs-ec7c21f{animation-delay: 1260ms}
body.yh.yh.yh .yhs-ca0570c.yhs-ca0570c{animation-delay: 1320ms}
body.yh.yh.yh .yhs-6a29298.yhs-6a29298{animation-delay: 1380ms}
body.yh.yh.yh .yhs-9ab8023.yhs-9ab8023{animation-delay: 0s}
body.yh.yh.yh .yhs-690ecd2.yhs-690ecd2{animation-delay: 2s}
body.yh.yh.yh .yhs-e846f70.yhs-e846f70{animation-delay: 4s}
body.yh.yh.yh .yhs-e64c650.yhs-e64c650{animation-delay: 6s}
body.yh.yh.yh .yhs-33f5098.yhs-33f5098{animation-delay: 8s}
body.yh.yh.yh .yhs-27ac5aa.yhs-27ac5aa{background-image: url("https://demo.designhu-demo.com/wp-content/uploads/2026/10/pic-11-zw32ug.jpg")}
body.yh.yh.yh .yhs-1b4e914.yhs-1b4e914{background-image: url("https://demo.designhu-demo.com/wp-content/uploads/2026/10/pic-9-nbwfsi.jpg")}
body.yh.yh.yh .yhs-7656640.yhs-7656640{background-image: url("https://demo.designhu-demo.com/wp-content/uploads/2026/10/06-x2mrb6.jpg")}
body.yh.yh.yh .yhs-d143aec.yhs-d143aec{background-image: url("https://demo.designhu-demo.com/wp-content/uploads/2026/10/pic-8-01n0d9.jpg")}
body.yh.yh.yh .yhs-30068ab.yhs-30068ab{transition-delay: 0ms}
body.yh.yh.yh .yhs-a22449b.yhs-a22449b{transition-delay: 150ms}
body.yh.yh.yh .yhs-1117e9c.yhs-1117e9c{opacity: 1; transform: none}
body.yh.yh.yh .yhs-eb837d1.yhs-eb837d1{opacity: 0.4; z-index: 10; transform: translateX(-350px) scale(0.6)}
body.yh.yh.yh .yhs-48f0bd4.yhs-48f0bd4{opacity: 1; z-index: 20; transform: none}
body.yh.yh.yh .yhs-aaf5101.yhs-aaf5101{animation-duration: 30s; transform: none; transform-origin: 50% 50% 0px; opacity: 1}
body.yh.yh.yh .yhs-814f59f.yhs-814f59f{opacity: 0.4; z-index: 10; transform: translateX(350px) scale(0.6)}
body.yh.yh.yh .yhs-b392e8c.yhs-b392e8c{transition-delay: 300ms}/* ---- 互動元件 ---- */
html{scroll-behavior:smooth}
html.yh-lock,html.yh-lock body{overflow:hidden}
:where(body.yh) .yh-modal{display:none}
:where(body.yh) .yh-modal.yh-open{display:flex}
/* 編輯器：彈窗改成頁面底部的一般區塊（虛線框）才能點選編輯，不要蓋住整個畫面 */
body.elementor-editor-active.yh.yh.yh .yh-modal{display:flex!important;position:relative!important;inset:auto!important;z-index:1!important;min-height:0!important;height:auto!important;padding:32px 16px 16px!important;margin:24px 0;outline:2px dashed #f59e0b;outline-offset:-2px;background:#fff7ed}
body.elementor-editor-active.yh.yh.yh .yh-modal:before{content:"彈窗（前台點擊對應按鈕才會出現）";position:absolute;top:6px;left:8px;right:auto;bottom:auto;width:auto;height:auto;z-index:2;color:#fff;background:#f59e0b;font-size:12px;line-height:1.6;padding:0 8px;border-radius:4px;opacity:1;mix-blend-mode:normal;border:0}
body.elementor-editor-active.yh.yh.yh .yh-modal .yh-backdrop{display:none}
body.elementor-editor-active.yh.yh.yh .yh-modal > *{max-height:none!important}
.yh-dis{opacity:.3;cursor:not-allowed;pointer-events:none}
.scrollbar-hide{scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
body.elementor-editor-active.yh.yh.yh .yh-news-modal{display:none!important}
