@charset "UTF-8";
@media (min-width: 769px) and (max-width: 1440px) {
  .mobi_lap {
    transform: scale(0.85);
  }
}

.hide_tem {
  display: none;
}

.forPhone_br br {
  display: none;
}
@media (max-width: 768px) {
  .forPhone_br br {
    display: initial;
  }
}

@media (max-width: 768px) {
  .forPhone_br_show br {
    display: none;
  }
}

@media (max-width: 768px) {
  .forPhone_hide {
    display: none;
  }
}

.forPhone_show {
  display: none;
}
@media (max-width: 768px) {
  .forPhone_show {
    display: initial;
  }
}

.dark-scheme header.smaller {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, 0.2);
  /* 強制觸發 iPhone 的硬體加速渲染 */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.dark-scheme header.header-mobile {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, 0.6);
  /* 強制觸發 iPhone 的硬體加速渲染 */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.dark-scheme header.header-mobile.menu-open {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow-y: auto; /* 允許選單內容自己上下滑動 */
  /* 關鍵屬性：阻止滾動穿透到背景 */
  overscroll-behavior: contain;
}
.dark-scheme header.header-mobile #mainmenu {
  font-size: 18px;
}
@media (max-width: 768px) {
  .dark-scheme header.header-mobile #mainmenu li ul li a.menu-item {
    border-bottom: 1px solid;
    border-bottom-color: rgba(255, 255, 255, 0.1);
  }
}
@media (max-width: 768px) {
  .dark-scheme header.header-mobile #mainmenu li ul li ul {
    margin-bottom: 0px;
  }
}
.dark-scheme header #mainmenu ul.mega {
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
  background: rgba(0, 0, 0, 0.6) !important;
  /* 強制觸發 iPhone 的硬體加速渲染 */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.dark-scheme header #mainmenu li ul {
  width: 256px;
}
@media (max-width: 768px) {
  .dark-scheme header #mainmenu li ul {
    width: initial;
  }
}

#mainmenu li a.active, #mainmenu li a.active:hover {
  color: #ffffff !important;
  cursor: none;
}
#mainmenu li a.active::before, #mainmenu li a.active:hover::before {
  font-family: "Material Icons";
  content: "\ef4a";
  color: var(--cyan-light-active);
  font-size: 0.9rem;
  position: absolute;
  right: 0.8rem;
}
@media (max-width: 768px) {
  #mainmenu li a.active::before, #mainmenu li a.active:hover::before {
    font-size: 1.2rem;
  }
}

#mainmenu ul li:hover > a.menu-item,
#mainmenu li a.active:hover {
  color: #000 !important;
}
#mainmenu ul li:hover > a.menu-item::before,
#mainmenu li a.active:hover::before {
  color: #000 !important;
}

header *, .hover *, #mainmenu * {
  transition: all 0.5s ease-in-out;
}

.hover {
  transition: all 0.5s ease;
  transform: scale(1);
}
.hover:hover .hover-scale-1-1 {
  transform: scale(1.1);
}

.text-gradient-light {
  background: -webkit-linear-gradient(45deg, var(--purple-light) 0%, var(--cyan-light) 100%);
  background: -moz-linear-gradient(45deg, var(--purple-light) 0%, var(--cyan-light) 100%);
  background: linear-gradient(45deg, var(--purple-light) 0%, var(--cyan-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.mobile_bg.jarallax-img {
  object-fit: none !important;
  object-position: 50% 0 !important;
}
.mobile_bg.type2 {
  object-fit: cover !important;
}
@media (max-width: 768px) {
  .mobile_bg.type2 {
    object-position: 75% 30px !important;
  }
}
.mobile_bg.type3 {
  object-fit: cover !important;
}
@media (max-width: 768px) {
  .mobile_bg.type3 {
    object-position: 72% -105px !important;
  }
}
.mobile_bg.type4 {
  opacity: 0.4;
  height: 100vh;
  width: 100vw;
}
@media screen and (min-width: 1441px) {
  .mobile_bg.type4 {
    height: 100vh;
    width: 100vw;
  }
}
.mobile_bg.type5 {
  opacity: 0.2;
  height: 100vh;
  width: 100vw;
}
@media screen and (min-width: 1441px) {
  .mobile_bg.type5 {
    height: 100vh;
    width: 100vw;
  }
}

.jarallax-img.opacity01 {
  opacity: 0.1 !important;
}

h1.big, .h1_big {
  font-size: 5.2rem;
  line-height: 5.6rem;
}
h1.big .smaller, .h1_big .smaller {
  font-size: 3.6rem;
  line-height: 2.6rem;
}
@media (max-width: 768px) {
  h1.big .smaller, .h1_big .smaller {
    font-size: 1.8rem;
    line-height: 1.8rem;
  }
}
@media (max-width: 768px) {
  h1.big, .h1_big {
    font-size: 12vw;
    line-height: 3.4rem;
  }
}

h1.ultra-big.smaller {
  font-size: 5.8rem;
  line-height: 6rem;
}
@media (max-width: 768px) {
  h1.ultra-big.smaller {
    font-size: 3.6rem;
    line-height: 4rem;
  }
}
h1.ultra-big.smaller .text-line {
  font-size: 5.8rem;
  -webkit-text-stroke: 1px #ffffff;
}
@media (max-width: 768px) {
  h1.ultra-big.smaller .text-line {
    font-size: 3.6rem;
    line-height: 4rem;
  }
}
h1.ultra-big.smaller i {
  font-size: 3.6rem;
  color: var(--primary-color) !important;
  line-height: 2.5rem;
  vertical-align: super;
  border: 1px solid #fff;
  border-radius: 50%;
  width: 3.6rem;
  height: 3.6rem;
  margin-top: 20px;
  padding: 4px 0 0 8px;
  margin-right: 8px;
  -webkit-text-fill-color: initial;
}
@media (max-width: 768px) {
  h1.ultra-big.smaller i {
    vertical-align: middle;
    margin-top: 0;
    transform: scale(0.75);
    transform-origin: top right;
  }
}
h1.ultra-big.number {
  font-family: "Prompt", Helvetica, Arial, sans-serif;
}
h1.ultra-big.number span.text-line {
  margin-bottom: 0.5rem;
}
@media (max-width: 768px) {
  h1.ultra-big.number span.text-line {
    font-size: 5.5rem;
    line-height: 5rem;
    letter-spacing: -0.9rem;
    margin-bottom: 0.8rem;
  }
}
@media (max-width: 768px) {
  h1.ultra-big.s3 span.text-line {
    font-size: 6.8rem;
  }
}
@media (max-width: 768px) {
  h1.ultra-big.s3 span.text-line.mobile_plus {
    display: block;
    position: relative;
    right: 6.5vw;
    top: -16px;
    float: right;
    font-size: 5rem;
  }
}
h1.ultra-big.s3 span.text-line span.descrip {
  -webkit-text-stroke: 0px;
  display: inline-block;
  color: white;
  letter-spacing: 0;
  vertical-align: middle;
  font-size: 1.8rem;
  line-height: 1;
  position: relative;
  top: -6px;
  left: 48px;
}
@media (max-width: 768px) {
  h1.ultra-big.s3 span.text-line span.descrip {
    left: 6px;
  }
}

@media only screen and (max-width: 767px) {
  h1, h1.ultra-big,
  h1.ultra-big .text-line,
  h1.ultra-big-2 {
    font-size: 10.5vw;
    line-height: 11.5vw;
    padding: 0;
  }
}

@media only screen and (max-width: 767px) {
  h2 {
    font-size: 8.35vw;
    line-height: 10vw;
    padding: 0;
  }
  h2.ty2 {
    font-size: 9.2vw;
  }
}

@media (max-width: 768px) {
  .phone_mt0 {
    margin-top: 0;
  }
}

@media (max-width: 768px) {
  .phone_mt20 {
    margin-top: 20px;
  }
}

p.lead.big {
  font-size: 1.4rem !important;
}
@media (max-width: 480px) {
  p.lead.big {
    font-size: 1rem !important;
  }
}

p {
  font-size: 15px;
  line-height: 1.7;
}
p strong {
  color: #ffffff;
}
@media (max-width: 768px) {
  p.lead {
    font-size: 1rem;
  }
}

header .logo-main {
  width: 148px;
  filter: none;
}

.float-text {
  width: 20px;
  position: fixed;
  z-index: 1000;
  margin-left: 30px;
  text-align: center;
  letter-spacing: 2px;
  font-size: 12px;
  top: 50%;
  left: 15px;
  transform: translate(-50%, -50%);
}
@media (max-width: 768px) {
  .float-text {
    margin-left: 1.8rem;
    top: 75%;
    left: 0;
  }
}
.float-text a {
  color: #ffffff;
}
.float-text span {
  margin-left: -5px;
  margin-top: 20px;
  writing-mode: vertical-rl;
  letter-spacing: 0.75px;
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
  color: #222;
}

.wm-carousel {
  padding-top: 75vh;
}
@media (min-width: 769px) and (max-width: 1440px) {
  .wm-carousel {
    padding-top: initial;
    transform: scale(0.6);
    margin-top: 6.8rem;
  }
}
@media (max-width: 768px) {
  .wm-carousel {
    margin-top: 1.2rem;
    display: none;
  }
}
.wm-carousel .images-carousel-group a {
  position: relative;
}
@media (min-width: 769px) and (max-width: 1440px) {
  .wm-carousel .images-carousel-group a img {
    height: 45vh;
  }
}
@media (max-width: 768px) {
  .wm-carousel .images-carousel-group a img {
    height: 21vh;
  }
}
.wm-carousel .images-carousel-group a::before {
  letter-spacing: initial;
  position: absolute;
  width: 628px;
  height: 6rem;
  left: 0;
  bottom: 0.8rem;
  content: "和雍建設 昆明案 - 2024 銀級";
  font-size: 1.4rem;
  color: #ffffff;
  -webkit-text-stroke: 0px;
  background: linear-gradient(0deg, rgba(9, 9, 27, 0.9) 30%, rgba(0, 0, 0, 0) 100%);
}
@media (min-width: 769px) and (max-width: 1440px) {
  .wm-carousel .images-carousel-group a::before {
    bottom: 0.8rem;
    font-size: 1.8rem;
    width: 582px;
  }
}
@media (max-width: 768px) {
  .wm-carousel .images-carousel-group a::before {
    bottom: 2rem;
    font-size: 1.2rem;
    width: 352px;
  }
}
.wm-carousel .images-carousel-group a:nth-child(2)::before {
  content: "和雍建設 台北士林天母案 - 2024 銀級";
}
.wm-carousel .images-carousel-group a:nth-child(3)::before {
  content: "利百加建設 民有印象 - 2024 銀級";
}
.wm-carousel .images-carousel-group a:nth-child(4)::before {
  content: "傳田建設 傳田豐御 - 2016 銀級";
}
.wm-carousel .images-carousel-group a:nth-child(5)::before {
  content: "峻勝建設 文化首勝 - 2016 銀級";
}
.wm-carousel .images-carousel-group a:nth-child(6)::before {
  content: "傑座建設 甄豪宅 - 2016 銀級";
}
.wm-carousel .images-carousel-group a:nth-child(7)::before {
  content: "將捷建設 將捷 MRT - 2016 銅級";
}
.wm-carousel .images-carousel-group a:nth-child(8)::before {
  content: "城中建設 城心城邑 - 2016 銅級";
}
.wm-carousel .images-carousel-group a:nth-child(9)::before {
  content: "大漢建設 星禾苑 - 2016 銀級";
}
.wm-carousel .images-carousel-group a:nth-child(10)::before {
  content: "邑城建設 邑城仰睦 - 2016 銀級";
}
.wm-carousel .images-carousel-group a:nth-child(11)::before {
  content: "金鋐建設 金鋐琢岳 - 2016 銀級";
}

.carousel-indicators {
  margin-right: initial;
  margin-left: initial;
}

@media (max-width: 768px) {
  .carousel-indicators [data-mdb-target] {
    margin: 0px 4px;
  }
}
.carousel-indicators [data-mdb-target] img {
  border: 1px solid #505050;
}

.carousel-inner {
  border: 1px solid #272727;
}

#de-carousel .carousel-inner {
  border: none;
}

#de-carousel .mask {
  background: rgba(0, 0, 0, 0.75);
}

footer .logo img {
  width: 188px;
}

@-webkit-keyframes scaleIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(1.5, 1.5, 1.5);
    transform: scale3d(1.5, 1.5, 1.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.wow {
  visibility: hidden;
}

.scaleIn {
  -webkit-animation-name: scaleIn;
  animation-name: scaleIn;
}

@keyframes scaleIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(1.5, 1.5, 1.5);
    transform: scale3d(1.5, 1.5, 1.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.rotate-animation {
  animation: rotate-animation 10s infinite linear;
}

@keyframes rotate-animation {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.bestAI {
  background: linear-gradient(to right, var(--primary-color) 20%, var(--secondary-color) 30%, var(--third-color) 50%, var(--primary-color) 70%, var(--secondary-color) 80%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
  font-weight: 700;
  background-size: 500% auto;
  animation: gradientMove 10s ease-in-out infinite alternate;
}

@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}
/* [ btn effect ] */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  position: relative;
  transition: all 0.2s;
  cursor: pointer;
  color: #FFF;
  z-index: 1;
  border-radius: 60px;
  background: linear-gradient(270deg, rgba(0, 255, 177, 0.75) 0%, rgba(0, 255, 177, 0.3) 50%);
  border: 2px solid transparent;
}

.button::before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  border-radius: 60px;
  padding: 2px;
  background: linear-gradient(90deg, #5C33FF, #00FFB1);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: -1;
}

.button:active {
  transform: scale(0.97);
}

.hoverEffect {
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: -1;
  overflow: hidden;
  border-radius: 60px;
}

.hoverEffect span {
  background: linear-gradient(90deg, #5C33FF 0%, #00FFB1 100%);
  width: 12rem;
  height: 12rem;
  transition: 0.4s;
  filter: blur(20px);
  animation: effect infinite 4s linear;
  opacity: 0.8;
  overflow: hidden;
}

@keyframes effect {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.material-icons-two-tone {
  filter: invert(0.5) sepia(1) saturate(20) hue-rotate(180deg);
  font-size: 64px;
}

.material-icons,
.material-icons-outlined,
.material-icons-round,
.material-icons-sharp {
  color: #0072ff;
  font-size: 64px;
}

.de-pricing-s1 h3 {
  font-size: 32px;
}
.de-pricing-s1 .d-deco-top {
  position: absolute;
  top: 0;
  width: 250px;
  height: 250px;
  background: linear-gradient(135deg, rgba(var(--primary-color-rgb), 0.4) 0%, rgba(var(--primary-color-rgb), 0) 50%);
}
.de-pricing-s1 .d-deco-bottom {
  position: absolute;
  width: 250px;
  height: 250px;
  bottom: 0;
  right: 0;
  background: linear-gradient(-45deg, rgba(var(--secondary-color-rgb), 0.2) 0%, rgba(var(--secondary-color-rgb), 0) 50%);
}
.de-pricing-s1 .d-list {
  text-indent: -26px;
  padding-left: 22px;
}
@media (max-width: 768px) {
  .de-pricing-s1 .d-content {
    padding: 2rem 1.8rem;
  }
}

.indicator .de-gradient-edge-top, .indicator .de-gradient-edge-bottom {
  z-index: -1;
}

.module3 .de-gradient-edge-top, .module3 .de-gradient-edge-bottom {
  z-index: initial;
}
.module3 h1 {
  margin-bottom: 0;
}
.module3 h2.sub_title {
  line-height: 1.6rem !important;
}
@media (max-width: 768px) {
  .module3 h2.sub_title {
    line-height: 2.4rem !important;
  }
}
.module3 h2.sub_title span {
  font-size: 10rem;
  line-height: 0;
  letter-spacing: 0;
  font-weight: 900;
}
@media (max-width: 768px) {
  .module3 h2.sub_title span {
    font-size: 6rem;
    line-height: 0;
    letter-spacing: 0;
  }
}
.module3 h2.sub_title span.num_narrow {
  letter-spacing: -14px;
}
.module3 h3 {
  line-height: 4rem;
}
@media (max-width: 768px) {
  .module3 h3 {
    font-size: 1.28rem;
    line-height: 1.6rem;
    margin-bottom: 2rem;
  }
}
.module3 h3 span span {
  color: #8800ff;
  font-weight: 700;
}
@media (max-width: 768px) {
  .module3 .images-deco-1 .d-img-1 {
    width: 100%;
    margin: 0;
  }
}
.module3 .images-deco-1 .d-img-3 {
  width: 200px;
  height: 200px;
  position: absolute;
  bottom: 4rem;
  left: 20px;
}
@media (max-width: 768px) {
  .module3 .images-deco-1 .d-img-3 {
    display: none;
  }
}
.module3 .images-deco-1 .d-img-4 {
  width: 200px;
  height: 200px;
  position: absolute;
  z-index: 0;
  top: -20px;
  right: -8px;
}
@media (max-width: 768px) {
  .module3 .images-deco-1 .d-img-4 {
    display: none;
  }
}
.module3 .images-deco-1 .d-img-2 {
  left: -3rem;
}
@media (max-width: 768px) {
  .module3 .images-deco-1 .d-img-2 {
    display: none;
  }
}
.module3 .images-deco-1 .d-img-5 {
  width: 200px;
  height: 200px;
  position: absolute;
  z-index: 0;
  bottom: 8px;
  left: 20px;
}

.features .de_count {
  width: 75%;
  padding: 1.8rem 0 0 0;
}
@media (max-width: 768px) {
  .features .de_count {
    width: 80%;
    padding: 0;
    margin-top: -1rem;
  }
}
.features .de_count h2 {
  font-size: 1.6rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .features .de_count h2 {
    font-size: 1.8rem;
  }
}
.features .de_count h3 i {
  font-size: 3.6rem;
}
.features .de_count p {
  font-weight: 300;
  line-height: 1.6rem;
}
.features.step4 .de-gradient-edge-top, .features.step4 .de-gradient-edge-bottom {
  z-index: -1;
}
.features.step4 h1 {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .features .img-fluid.ro180 {
    transform: rotate(180deg);
  }
}
@media (max-width: 768px) {
  .features .feat_mb {
    margin-bottom: -3rem;
  }
}

.location h2 span {
  font-size: 80%;
}
@media (max-width: 768px) {
  .location h2 span {
    font-size: 2.2rem;
  }
}
.location h4.s2 {
  font-size: 1.28rem;
}
.location h4.s2 a {
  color: #fff;
}
.location h4.s2 a:hover {
  color: var(--secondary-color);
}

@media (max-width: 768px) {
  .spacer-100-mo {
    width: 100%;
    height: 100px;
    display: block;
    clear: both;
  }
}

#section-location iframe {
  filter: invert(90%) hue-rotate(180deg) brightness(90%);
}

.d_demo_img {
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
}
.d_demo_img .d-overlay span {
  border-radius: 3rem;
}
.d_demo_img .d-overlay span.material-icons-two-tone {
  filter: invert(0) sepia(1) saturate(20) hue-rotate(135deg) !important;
  font-size: 2.2rem;
}

/* breadcrumb */
.breadcrumb {
  font-size: 15px;
}
.breadcrumb a {
  color: var(--cyan-light);
  transition: all 0.3s ease-in-out;
}
.breadcrumb a:hover {
  color: var(--cyan-light-active);
}
.breadcrumb_wrap {
  height: 50px;
}

.facility_page .facility_start {
  padding-top: 0 !important;
}
.facility_page .facility_start h1.ultra-big {
  line-height: 6.2rem;
  font-size: 6.2rem;
}
@media (max-width: 768px) {
  .facility_page .facility_start h1.ultra-big {
    font-size: 2.8rem;
    line-height: 3.2rem;
  }
  .facility_page .facility_start h1.ultra-big .bestAI {
    text-align: left;
  }
}
.facility_page .facility_start h1.ultra-big span.text-line {
  font-size: inherit;
  -webkit-text-stroke: 1px #ffffff;
}
.facility_page .facility_start h1.ultra-big .smaller {
  font-size: 4.6rem;
  margin-top: -0.38rem;
}
@media (max-width: 768px) {
  .facility_page .facility_start h1.ultra-big .smaller {
    font-size: 7.4vw;
  }
}
.facility_page .facility_start .facility_startBox {
  padding: 220px 0 120px 0;
}
@media (max-width: 768px) {
  .facility_page .facility_start .facility_startBox {
    padding: 180px 0 120px 0;
  }
}
.facility_page .facility_start .facility_startBox .mask {
  background: rgba(0, 238, 255, 0.05);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-attachment: fixed;
  width: 100%;
  overflow: hidden !important;
  display: inline-block;
  padding: 120px 0 120px 0;
  filter: invert(1) sepia(1) saturate(90) hue-rotate(335deg);
}
@media (max-width: 768px) {
  .facility_page .facility_start .facility_startBox .mask {
    display: none;
  }
}

@media (max-width: 768px) {
  .facility_score .col-lg-5 {
    margin-bottom: 6rem;
  }
}
@media (max-width: 768px) {
  .facility_score .mb-mobile-60 {
    margin-top: -4rem !important;
  }
}
.facility_score .de_count {
  width: 100%;
  margin-top: -0.5rem;
  padding-top: 0;
}
@media (max-width: 768px) {
  .facility_score .de_count {
    width: 100%;
    padding: 0;
    margin-top: 1rem;
  }
}
.facility_score .de_count.ver_arange h3 {
  margin: -2rem 0 0 -2.6rem;
}
.facility_score .de_count.ver_arange h3 .timer {
  font-family: "Prompt", Helvetica, Arial, sans-serif;
}
.facility_score .de_count.ver_arange h3 span {
  font-size: 9.2rem;
  margin-bottom: 1.4rem;
  letter-spacing: -2px;
  padding-right: 8px;
}
.facility_score .de_count.ver_arange h3 .plus {
  font-size: 80%;
  position: relative;
  display: inline-block;
  left: 1.6rem;
  top: -1.6rem;
}
.facility_score .de_count.ver_arange h4 {
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .facility_score .de_count.ver_arange_type2 {
    margin-top: 0rem;
  }
}
.facility_score .de_count.ver_arange_type2 h3 {
  margin: -3rem 0 0 -2.6rem;
}
.facility_score .de_count.ver_arange_type2 h3 .timer {
  font-family: "Prompt", Helvetica, Arial, sans-serif;
}
.facility_score .de_count.ver_arange_type2 h3 span {
  font-size: 6.2rem;
  margin-bottom: 1.4rem;
  letter-spacing: 0px;
  padding-right: 8px;
}
.facility_score .de_count.ver_arange_type2 h3 span:nth-child(3) {
  margin: 0 -36px 0 -36px;
}
.facility_score .de_count.ver_arange_type2 h3 .plus {
  font-size: 70%;
  position: relative;
  display: inline-block;
  left: 1.6rem;
  top: -0.2rem;
}
@media (max-width: 768px) {
  .transform_img_deg90 {
    transform: rotate(180deg);
  }
}

.widget {
  padding-bottom: 0;
  align-items: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .widget {
    margin-bottom: 1.6rem;
  }
}
@media (max-width: 768px) {
  .widget ul {
    margin-top: 30px;
    text-align: center;
  }
}
.widget ul li {
  margin: 3px 6px;
}
@media (max-width: 768px) {
  .widget ul li {
    margin: 3px 4px 8px;
  }
}

/* 選中標籤的樣式 */
/* 預設樣式 */
.widget_tags li a {
  background: linear-gradient(270deg, rgba(0, 255, 177, 0.55) 0%, rgba(0, 255, 177, 0.3) 50%);
}

/* 點擊後的選中樣式 (Active) */
.widget_tags li a.active {
  /* 讓顏色變更亮、漸變更實心 */
  background: linear-gradient(90deg, rgba(0, 255, 177, 0.2) 0%, rgba(0, 255, 177, 0.6) 100%);
  /* 加強外框感 */
  border: 1px solid #00ffb1;
  /* 輕微發光效果 */
  box-shadow: 0 0 10px 4px rgba(0, 255, 177, 0.8);
  /* 字體加粗 */
  font-weight: bold;
}

.property_page {
  padding-top: 180px;
}
.property_page .de-gradient-edge-bottom {
  height: 40%;
  background: linear-gradient(0deg, rgb(0, 0, 0) 20%, rgba(0, 0, 0, 0) 100%);
}
@media (max-width: 768px) {
  .property_page .de-gradient-edge-bottom {
    height: 55%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 65%, rgba(0, 0, 0, 0) 100%);
  }
}
.property_page h1.ultra-big-2 {
  font-size: 7.2rem;
  text-shadow: 0 10px 20px #000, 2px 2px 2px rgba(0, 0, 0, 0.5);
}
@media (max-width: 768px) {
  .property_page h1.ultra-big-2 {
    font-size: 13.2vw;
    line-height: 4.6rem;
  }
}
.property_page h1.ultra-big-2 .bigger_letter {
  font-size: 140%;
  vertical-align: middle;
  height: 136px;
  text-shadow: none;
}
@media (max-width: 768px) {
  .property_page h1.ultra-big-2 .bigger_letter {
    margin-right: 0.2rem;
    font-size: 150%;
    height: 73px;
    vertical-align: bottom;
  }
}
.property_page h1.ultra-big-2 .smaller {
  font-size: 85%;
  display: block;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .property_page h1.ultra-big-2 .smaller {
    font-size: 11vw;
    margin-top: -1rem;
  }
}
.property_page h5.s2 {
  background: var(--darkblue-light);
}
.property_page h5.s2 i {
  color: var(--cyan-light-active);
}
@media (max-width: 768px) {
  .property_page h5.s2 {
    margin-top: 8px !important;
  }
}

.property_score .de_count {
  width: 88%;
  padding: 1.8rem 0 0 0;
}
@media (max-width: 768px) {
  .property_score .de_count {
    width: 90%;
    padding: 0;
    margin-top: -1rem;
  }
}
.property_score .de_count h2 {
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .property_score .de_count h2 {
    font-size: 1.8rem;
  }
}
.property_score .de_count h2.bigger {
  font-size: 2.1rem;
  line-height: 1.2;
}
.property_score .de_count h3 i {
  font-size: 3.6rem;
}
.property_score .de_count p {
  font-weight: 700;
  line-height: 1.6rem;
  margin-top: 0.4rem;
}
.property_score .de_count .arrow {
  transform: rotate(90deg);
  width: 3rem;
}
.property_score .de_count img {
  animation: spin 2s linear infinite;
}
.property_score .feat_mb {
  margin-bottom: -2rem;
}

/* 1. Define the rotation keyframes */
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* 2. Apply to your element */
.spinning-element {
  animation: spin 2s linear infinite;
}

.img-fluid.type2 {
  max-width: 20rem;
  margin-left: -6rem;
  width: 240px;
}
@media (max-width: 768px) {
  .img-fluid.type2 {
    max-width: 20rem;
    margin-left: -9rem;
    width: 260px;
    margin-top: -4rem;
  }
}

.img-fluid.type3 {
  width: 100%;
  object-fit: cover;
  height: 150px;
}
@media (max-width: 768px) {
  .img-fluid.type3 {
    max-width: 20rem;
    width: 260px;
    margin-top: -3rem;
    height: 180px;
    margin-left: 5rem;
  }
}

.img-fluid.with_paragr {
  max-width: 20rem;
  margin-left: 0;
  width: 110px;
  height: auto;
  padding-right: 1.2rem;
  padding-bottom: 0.5rem;
  float: left;
  margin-top: 0.5rem;
}
@media (max-width: 768px) {
  .img-fluid.with_paragr {
    max-width: 20rem;
    margin-left: -3.4rem;
    width: 120px;
    margin-top: 1rem;
  }
}
.img-fluid.with_paragr.float_right {
  float: right;
}
.img-fluid.with_paragr.wild {
  width: 250px;
}
@media (max-width: 768px) {
  .img-fluid.with_paragr.wild {
    width: 100%;
    display: block;
    margin: -1.4rem auto;
    padding: 0;
    float: none;
  }
}

.c-item_info .c-item_title {
  border-radius: 3rem;
  background: rgba(0, 26, 102, 0.85);
  margin-bottom: -23%;
  padding: 0.4rem 1.2rem 0.4rem;
  line-height: 1.4;
  transform: translateX(-50%);
  left: 50%;
  margin-left: 0;
  width: 300px;
}
@media (max-width: 768px) {
  .c-item_info .c-item_title {
    font-size: 13px;
    padding: 0.4rem 0.8rem;
    max-width: 150%;
    margin-bottom: -20%;
  }
}

.gallery_type2 {
  padding-bottom: 150px;
}
@media (max-width: 768px) {
  .gallery_type2 {
    padding-bottom: 320px;
  }
}
.gallery_type2 .c-item_info .c-item_title {
  font-size: 20px;
  border-radius: 3rem;
  background: none;
  margin-bottom: 0px;
  padding: 0.8rem 0;
  line-height: 1.4;
  transform: translateX(0%);
  left: 0;
  top: 100%;
  right: auto;
  height: fit-content;
  text-align: start;
  margin-left: 0px;
  width: 70%;
}
@media (max-width: 768px) {
  .gallery_type2 .c-item_info .c-item_title {
    font-size: 13px;
    padding: 0.6rem 0;
    max-width: 150%;
    margin-bottom: 0;
    width: 100%;
  }
}
.gallery_type2 .c-item_info .c-item_title.wild {
  width: 98%;
}
@media screen and (min-width: 1441px) {
  .gallery_type2 .c-item_info .c-item_title.wild {
    width: 98%;
  }
}
.gallery_type2 .c-item_info .c-item_discr {
  font-size: 12px;
  line-height: 1.7;
  display: block;
  margin-top: 0.3rem;
  font-weight: normal;
  text-align: start;
}
@media (max-width: 768px) {
  .gallery_type2 .c-item_info .c-item_discr {
    font-size: 60%;
    line-height: 1.7;
  }
}
.gallery_type2 .c-item_info .light {
  margin-right: 0.3rem;
  color: var(--secondary-color-light);
}
@media (max-width: 768px) {
  .gallery_type2 .c-item_info .light {
    margin-right: 0.2rem;
  }
}
.gallery_type2 .owl-carousel .owl-stage .owl-item .c-item_wrap {
  width: 100%;
}
.gallery_type2 .owl-carousel .owl-stage .owl-item .c-item_wrap .video-shape {
  width: 100%;
  height: auto;
}
.gallery_type2 .owl-carousel .owl-stage .owl-item.active.center .c-item_wrap {
  border: 2px solid var(--cyan-light-active);
}
@media (max-width: 768px) {
  .gallery_type2 .owl-carousel.owl-center .owl-item {
    opacity: 0.2;
  }
}
@media (max-width: 768px) {
  .gallery_type2 .owl-carousel.owl-center .owl-item.active.center {
    transform: scale(2);
  }
  .gallery_type2 .owl-carousel.owl-center .owl-item.active.center img {
    /* 1. 強制啟動 GPU 硬體加速，有時能逼導瀏覽器重新渲染像素 */
    transform-style: preserve-3d;
    backface-visibility: hidden;
    /* 2. 改善手機上的影像縮放平滑度（演算法） */
    image-rendering: -webkit-optimize-contrast; /* Safari 專用，提高對比清晰度 */
    image-rendering: crisp-edges;
  }
}
.gallery_type2 .d-arrow-left, .gallery_type2 .d-arrow-right {
  width: 50px;
  height: 100px;
}
.gallery_type2 .d-arrow-left i, .gallery_type2 .d-arrow-right i {
  font-size: 2.8rem;
  margin-top: 0.5rem;
}

.gallery_type3 {
  padding-bottom: 150px;
}
@media (max-width: 768px) {
  .gallery_type3 {
    padding-bottom: 320px;
  }
}
.gallery_type3 .c-item_info .c-item_title {
  font-size: 20px;
  border-radius: 3rem;
  background: none;
  margin-bottom: 0px;
  padding: 0.8rem 0;
  line-height: 1.4;
  transform: translateX(0%);
  left: 0;
  top: 100%;
  right: auto;
  height: fit-content;
  text-align: start;
  margin-left: 0px;
  width: 70%;
}
@media (max-width: 768px) {
  .gallery_type3 .c-item_info .c-item_title {
    font-size: 13px;
    padding: 0.6rem 0;
    max-width: 150%;
    margin-bottom: 0;
    width: 100%;
  }
}
.gallery_type3 .c-item_info .c-item_title.wild {
  width: 98%;
}
@media screen and (min-width: 1441px) {
  .gallery_type3 .c-item_info .c-item_title.wild {
    width: 98%;
  }
}
.gallery_type3 .c-item_info .c-item_discr {
  font-size: 12px;
  line-height: 1.7;
  display: block;
  margin-top: 0.3rem;
  font-weight: normal;
  text-align: start;
  opacity: 0.6;
}
@media (max-width: 768px) {
  .gallery_type3 .c-item_info .c-item_discr {
    font-size: 60%;
    line-height: 1.7;
  }
}
.gallery_type3 .c-item_info .light {
  margin-right: 0.3rem;
  color: var(--secondary-color-light);
}
@media (max-width: 768px) {
  .gallery_type3 .c-item_info .light {
    margin-right: 0.2rem;
  }
}
@media (max-width: 768px) {
  .gallery_type3.txt_noscale .c-item_info .c-item_title {
    font-size: 17px;
  }
}
.gallery_type3.txt_noscale .c-item_info .c-item_discr {
  font-size: 14px;
}
@media (max-width: 768px) {
  .gallery_type3.txt_noscale .c-item_info .c-item_discr {
    width: 76%;
  }
}
.gallery_type3 .owl-carousel .owl-stage .owl-item .c-item_wrap {
  width: 100%;
}
.gallery_type3 .owl-carousel .owl-stage .owl-item .c-item_wrap .video-shape {
  width: 100%;
  height: auto;
}
.gallery_type3 .owl-carousel .owl-stage .owl-item.active.center .c-item_wrap {
  border: none;
}
@media (max-width: 768px) {
  .gallery_type3 .owl-carousel.owl-center .owl-item {
    opacity: 0.2;
  }
}
@media (max-width: 768px) {
  .gallery_type3 .owl-carousel.owl-center .owl-item.active.center {
    transform: scale(2);
  }
  .gallery_type3 .owl-carousel.owl-center .owl-item.active.center img {
    /* 1. 強制啟動 GPU 硬體加速，有時能逼導瀏覽器重新渲染像素 */
    transform-style: preserve-3d;
    backface-visibility: hidden;
    /* 2. 改善手機上的影像縮放平滑度（演算法） */
    image-rendering: -webkit-optimize-contrast; /* Safari 專用，提高對比清晰度 */
    image-rendering: crisp-edges;
  }
}
.gallery_type3 .d-arrow-left, .gallery_type3 .d-arrow-right {
  width: 50px;
  height: 100px;
}
.gallery_type3 .d-arrow-left i, .gallery_type3 .d-arrow-right i {
  font-size: 2.8rem;
  margin-top: 0.5rem;
}

.video-container {
  width: 100%; /* 容器寬度 */
  max-width: 800px; /* 限制最大寬度 */
  aspect-ratio: 16/9; /* 強制維持 16:9 比例，或根據影片比例調整 */
  background: #000000; /* 載入前預設黑色背景 */
  padding-top: 0;
  pointer-events: none;
}
.video-container video {
  width: 100%;
  height: auto;
  object-fit: contain; /* 關鍵：確保影片在容器內維持正常比例不變形 */
  position: absolute;
  filter: contrast(1.8) grayscale(0.65);
  pointer-events: none;
}
.video-container video.type1 {
  width: 150%;
  height: auto;
  object-fit: contain;
  position: absolute;
  top: -19%;
  left: -29%;
  filter: contrast(1.4);
}
.video-container video.type2 {
  width: 108%;
  height: 116%;
  object-fit: contain;
  position: absolute;
  top: -3%;
  left: -5%;
  bottom: 0;
  right: 0;
  filter: brightness(2);
  margin: auto;
}
.video-container video.type3 {
  filter: none;
}

.chatbot-btn:hover {
  color: #fff;
}
.chatbot-btn:hover .btn-bg {
  left: -50px;
}

a.btn-main.big {
  font-size: 30px;
  padding: 20px 30px;
}
@media (max-width: 768px) {
  a.btn-main.big {
    font-size: 1.8rem;
    padding: 16px 24px;
  }
}
@media (max-width: 768px) {
  a.btn-main.big.forPhone_sm {
    font-size: 22px;
    padding: 10px 22px;
  }
}

a.btn-main.big.type2 {
  font-size: 18px;
  padding: 8px 20px;
}

a.btn-main.big.type3 {
  font-size: 22px;
  padding: 10px 22px;
}

@media (max-width: 768px) {
  .ezlife_page .ezlife_start {
    padding-top: 3rem;
  }
}
.ezlife_page .ezlife_start h1.ultra-big {
  line-height: 6.2rem;
  font-size: 6.2rem;
  text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.8);
}
.ezlife_page .ezlife_start h1.ultra-big .bestAI {
  text-shadow: none;
}
@media (max-width: 768px) {
  .ezlife_page .ezlife_start h1.ultra-big {
    font-size: 12vw;
    line-height: 3.4rem;
  }
}
.ezlife_page .ezlife_start h1.ultra-big span.text-line {
  font-size: inherit;
  -webkit-text-stroke: 1px #ffffff;
}
.ezlife_page .ezlife_start h1.ultra-big .smaller {
  font-size: 4.6rem;
  margin-top: -0.38rem;
}
@media (max-width: 768px) {
  .ezlife_page .ezlife_start h1.ultra-big .smaller {
    font-size: 7.8vw;
  }
}
.ezlife_page .ezlife_start h5.s2 {
  background: rgba(255, 255, 255, 0.2);
}
.ezlife_page .ezlife_start .ezlife_startContent {
  margin-top: -6rem;
}
@media screen and (min-width: 1441px) {
  .ezlife_page .ezlife_start .ezlife_startContent {
    margin-top: 0;
    padding-top: 6rem !important;
  }
}
@media (max-width: 768px) {
  .ezlife_page .ezlife_start .ezlife_startContent {
    margin-top: 0;
    padding-top: 6rem !important;
  }
}
.ezlife_page h2 .bigger_letter {
  font-size: 4.8rem;
  line-height: 5rem;
}
@media (max-width: 768px) {
  .ezlife_page h2 .bigger_letter {
    font-size: 12vw;
    line-height: 4rem;
  }
}
@media (max-width: 768px) {
  .ezlife_page .blog {
    padding-bottom: 30rem;
  }
}
@media (max-width: 768px) {
  .ezlife_page .txt_scrolling {
    padding: 5rem 0;
  }
}
@media (max-width: 768px) {
  .ezlife_page #ezlife-case .de-gradient-edge-bottom, .ezlife_page #ezlife-case .de-gradient-edge-top {
    z-index: 0;
  }
}

@media (max-width: 768px) {
  .bg_img_mobile {
    background-position: left top !important;
    background-size: 300% !important;
    background-repeat: no-repeat;
  }
}

spline-viewer::part(logo) {
  display: none !important;
}

.bim_page_start {
  padding: 0;
}
@media (max-width: 768px) {
  .bim_page_start {
    padding-top: 0 !important;
  }
}
.bim_page_start .de-gradient-edge-bottom {
  height: 40%;
  background: linear-gradient(0deg, rgb(0, 0, 0) 20%, rgba(0, 0, 0, 0) 100%);
}
@media (max-width: 768px) {
  .bim_page_start .de-gradient-edge-bottom {
    height: 30%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 20%, rgba(0, 0, 0, 0) 100%);
  }
}
.bim_page_start h1.ultra-big-2 {
  font-size: 7.2rem;
  text-shadow: 0 10px 20px #000, 2px 2px 2px rgba(0, 0, 0, 0.5);
}
@media (max-width: 768px) {
  .bim_page_start h1.ultra-big-2 {
    font-size: 13.2vw;
    line-height: 4.6rem;
  }
}
.bim_page_start h1.ultra-big-2 .bigger_letter {
  font-size: 140%;
  vertical-align: middle;
  height: 136px;
  text-shadow: none;
}
@media (max-width: 768px) {
  .bim_page_start h1.ultra-big-2 .bigger_letter {
    margin-right: 0.2rem;
    font-size: 150%;
    height: 73px;
    vertical-align: bottom;
  }
}
.bim_page_start h1.ultra-big-2 .smaller {
  font-size: 85%;
  display: block;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .bim_page_start h1.ultra-big-2 .smaller {
    font-size: 11vw;
    margin-top: -1rem;
  }
}
.bim_page_start h5.s2 {
  background: var(--darkblue-light);
}
.bim_page_start h5.s2 i {
  color: var(--cyan-light-active);
}
@media (max-width: 768px) {
  .bim_page_start h5.s2 {
    margin-top: 8px !important;
  }
}
@media (max-width: 768px) {
  .bim_page_start h5.s2 span {
    margin: 0 8px;
  }
}
@media (max-width: 480px) {
  .bim_page_start h5.s2 span {
    margin: 0 5px;
  }
}
.bim_page_start .full {
  width: 100vw;
  height: 100vh;
  margin: 0;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
}
@media (max-width: 768px) {
  .bim_page_start .full spline-viewer {
    height: calc(100vh - 80px);
  }
}
.bim_page_start .full .de-gradient-edge-bottom {
  height: 20%;
  background: linear-gradient(0deg, rgb(0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%) !important;
}
@media screen and (min-width: 1441px) {
  .bim_page_start .full .de-gradient-edge-bottom {
    display: none;
  }
}
@media (max-width: 768px) {
  .bim_page_start .full .de-gradient-edge-bottom {
    height: 20%;
    display: none;
  }
}
.bim_page_start .bim_start {
  padding-top: 0;
  margin-top: 0;
  pointer-events: none !important;
  height: 100vh;
  display: flex;
  align-content: flex-end;
  flex-wrap: wrap;
  padding-bottom: 40px;
}
@media screen and (min-width: 1441px) {
  .bim_page_start .bim_start {
    padding-top: 180px !important;
  }
}
@media (max-width: 768px) {
  .bim_page_start .bim_start {
    margin-top: 0;
    padding-top: 6rem !important;
  }
}
.bim_page_start .bim_start .button {
  pointer-events: initial;
}
.bim_page_start .bim_start .emp_img {
  width: 90%;
}
@media screen and (min-width: 1441px) {
  .bim_page_start .bim_start .emp_img {
    width: initial;
  }
}
@media (max-width: 768px) {
  .bim_page_start .bim_start .emp_img {
    height: 50vh;
  }
}
.bim_page_start .bim_start h2, .bim_page_start .bim_start h3 {
  font-size: 42px;
  text-shadow: 0 10px 30px rgb(0, 0, 0), 2px 2px 2px rgb(0, 0, 0);
}
@media (max-width: 768px) {
  .bim_page_start .bim_start h2, .bim_page_start .bim_start h3 {
    font-size: 2.4rem;
    line-height: 2.8rem;
  }
}
.bim_page_start .bim_start h2.bestAI, .bim_page_start .bim_start h3.bestAI {
  font-size: 42px;
  text-shadow: none !important;
}
@media (max-width: 768px) {
  .bim_page_start .bim_start h2.bestAI, .bim_page_start .bim_start h3.bestAI {
    font-size: 1.9rem;
  }
}
.bim_page_start .bim_start h2 i, .bim_page_start .bim_start h3 i {
  font-size: 2rem;
  color: var(--cyan-light-active);
  line-height: 2.2rem;
  vertical-align: bottom;
  border: 1px solid #fff;
  border-radius: 50%;
  width: 2.6rem;
  height: 2.6rem;
  margin-top: 0;
  padding: 3px 0 0 11px;
  margin-right: 2px;
  -webkit-text-fill-color: initial;
}
@media (max-width: 768px) {
  .bim_page_start .bim_start h2 i, .bim_page_start .bim_start h3 i {
    vertical-align: middle;
    margin-top: -4px;
    transform: scale(0.75);
    transform-origin: center left;
    padding: 3px 0 0 11px;
    margin-right: -13px;
  }
}
.bim_page_start .txt_direction {
  position: absolute;
  right: 1rem;
  bottom: 20px;
  font-size: 0.8rem;
  color: #a5a5a5;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  z-index: 10;
  line-height: 1.3rem;
  padding: 8px 12px;
}
.bim_page_start .txt_direction span {
  color: var(--cyan-light-active);
}
@media screen and (min-width: 1441px) {
  .bim_page_start .txt_direction {
    right: 2rem;
    bottom: 20px;
  }
}
@media (max-width: 768px) {
  .bim_page_start .txt_direction {
    display: none;
  }
}
.bim_page_start .txt_direction .btn {
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
  padding: 6px 16px;
  border: none;
  background: transparent;
  color: #111111 !important;
  font-weight: 600;
  border-radius: 2rem;
  border: 2px solid var(--darkblue-lighter);
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.85rem;
}
.bim_page_start .txt_direction .btn i {
  color: var(--secondary-color);
}
@media (max-width: 768px) {
  .bim_page_start .txt_direction .btn {
    padding: 8px 14px;
  }
  .bim_page_start .txt_direction .btn span {
    display: none;
  }
  .bim_page_start .txt_direction .btn i {
    font-size: 1.1rem;
  }
}
.bim_page_start .txt_direction .btn:hover {
  background: #0053c1;
  color: #ffffff;
  transform: translateY(-2px);
}
.bim_page_start .txt_direction .btn:hover span, .bim_page_start .txt_direction .btn:hover i {
  color: #ffffff !important;
}

#btn-cam-mobile {
  display: none;
}
@media (max-width: 768px) {
  #btn-cam-mobile {
    display: initial;
  }
}
#btn-cam-mobile.btn {
  margin-top: 0;
  padding: 10px 20px;
  border: none;
  background: transparent;
  color: #fff;
  font-weight: 600;
  border-radius: 2rem;
  border: 2px solid var(--darkblue-lighter);
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.85rem;
}
@media (max-width: 768px) {
  #btn-cam-mobile.btn {
    padding: 8px 12px;
    position: absolute;
    right: 0;
    bottom: 0;
  }
  #btn-cam-mobile.btn span {
    display: none;
  }
  #btn-cam-mobile.btn i {
    font-size: 0.9rem;
    color: var(--primary-color);
  }
}
#btn-cam-mobile.btn:hover {
  background: rgba(0, 84, 193, 0.3);
  color: #ffffff;
  transform: translateY(-2px);
}
.bim_feat .sec-title .title {
  display: block;
  font-size: 52px;
  line-height: 1.2;
  color: var(--color-heading);
  font-family: var(--font-heading);
}
@media (max-width: 768px) {
  .bim_feat .sec-title .title {
    font-size: 36px;
  }
}
.bim_feat .sec-title .title .bigger {
  font-size: 68px;
  width: initial;
  height: initial;
}
@media (max-width: 768px) {
  .bim_feat .sec-title .title .bigger {
    font-size: 44px;
  }
}

.bim_score h4.bigger {
  font-size: 1.8rem;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .bim_score h4.bigger {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

.bim_process .sec-title {
  position: relative;
}
.bim_process .sec-title .title {
  display: block;
  font-size: 40px;
  line-height: 1.1;
  color: var(--color-heading);
  font-family: var(--font-heading);
}
@media (max-width: 768px) {
  .bim_process .sec-title .title {
    font-size: 36px;
  }
}
.bim_process .sec-title .title .bigger {
  font-size: 54px;
  width: initial;
  height: initial;
  letter-spacing: -2px;
}
@media (max-width: 768px) {
  .bim_process .sec-title .title .bigger {
    font-size: 48px;
  }
}
.bim_process .sec-title picture {
  position: absolute;
  right: 0;
  top: 6rem;
  width: 3rem;
}

.ba_base_func .owl-item .de_testi blockquote {
  padding: 3rem 40px 6rem 40px;
  overflow: hidden;
  border-radius: 10px;
}
@media (max-width: 768px) {
  .ba_base_func .owl-item .de_testi blockquote {
    padding: 2rem 40px 8.4rem 40px;
  }
}
.ba_base_func .owl-item .de_testi blockquote:before {
  content: "\f013";
}
.ba_base_func .owl-item .de_testi blockquote:before {
  content: "\f085";
  font-size: 11rem;
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(0, 114, 255, 0.65);
  background: none;
  padding: 0;
  text-shadow: 0 0 100px rgba(0, 255, 213, 0.5);
  -webkit-text-fill-color: #000000;
}
.ba_base_func .owl-item .de_testi_by {
  font-style: normal;
  font-size: 12px;
  display: flex;
  margin-top: -20px;
  position: relative;
}
.ba_base_func .owl-item .de_testi_by span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: normal;
}
.ba_base_func .owl-item .de_testi_by img {
  position: absolute;
  width: 15rem !important;
  height: auto !important;
  right: -4rem;
  top: -2rem;
}
@media (min-width: 980px) and (max-width: 1440px) {
  .ba_base_func .owl-item .de_testi_by img {
    width: 13rem !important;
    top: 0rem;
    right: -3.8rem;
  }
}
@media (max-width: 768px) {
  .ba_base_func .owl-item .de_testi_by img {
    width: 13.8rem;
    top: 0rem;
  }
}
.ba_base_func .about-sec-title.type2 {
  padding: 0 3.2rem;
}
.owl-theme .owl-dots .owl-dot span {
  display: none;
}

.certifi_startBox .mask {
  background: rgba(0, 0, 0, 0.6);
  height: 100%;
}
@media (max-width: 768px) {
  .certifi_startBox .mask {
    background: rgba(0, 0, 0, 0.7);
  }
}
.certifi_startBox .container {
  padding-top: 195px;
}
.certifi_startBox .xb-feature-item .xb-item--title {
  font-size: 1.6rem;
  margin: 40px 0 18px;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .certifi_startBox .xb-feature-item .xb-item--title {
    line-height: 1.4;
    margin: 10px 0 12px;
  }
}
.certifi_startBox .xb-feature-item a {
  height: 62px;
  width: 62px;
  transform: rotate(40deg);
}
.certifi_startBox .xb-feature-item:hover a.xb-item--icon {
  background: var(--color-primary);
}
.certifi_startBox .xb-feature-item:hover a.xb-item--icon svg rect {
  fill: var(--color-secondary);
}
.certifi_startBox .de-gradient-edge-bottom {
  z-index: -1;
}

@media (max-width: 768px) {
  .certifi_startBox[data-video-src*="mp4:video"] video {
    width: 100%;
    height: 100%;
    object-fit: contain; /* 維持正常比例 */
    /* 調整影片在 div 內的位置：預設是置中 (50% 50%) */
    object-position: center top; /* 讓影片靠上方對齊，黑邊留給下方 */
    /* object-position: right bottom; 也可以設定靠右下，或給具體百分比 */
  }
}

.certifi_end h2 .bigger_letter {
  font-size: 4.2rem;
  line-height: 5rem;
}
@media (max-width: 768px) {
  .certifi_end h2 .bigger_letter {
    font-size: 12vw;
    line-height: 3rem;
  }
}
.certifi_end .block_btns {
  margin: 1.6rem 0;
}
@media (max-width: 768px) {
  .certifi_end .block_btns {
    margin: 1.8rem 0 2.6rem;
  }
  .certifi_end .block_btns .xb-item---btn:first-child .thm-btn {
    margin-bottom: 1rem;
  }
}

@media (max-width: 768px) {
  .productpage .block_txt p, .productpage .block_txt .btn-main {
    margin-left: 2rem;
  }
}
@media (max-width: 768px) {
  .productpage {
    padding-top: 120px !important;
  }
}
.productpage h1 {
  line-height: 4.4rem;
}
@media (max-width: 768px) {
  .productpage h1 {
    line-height: 2.8rem;
    font-size: 11vw;
  }
}
.productpage h1 .bestAI {
  text-align: left;
  font-size: 68%;
}
@media (max-width: 768px) {
  .productpage h1 .bestAI {
    font-size: 75%;
  }
}
.productpage h5.s2 {
  background: rgba(0, 0, 0, 0.5);
}
@media (max-width: 768px) {
  .productpage h5.s2 span i {
    margin-right: 10px;
    padding-left: 12px;
  }
}
.productpage .product_func {
  display: none;
}
@media (max-width: 768px) {
  .productpage .product_func {
    display: initial;
  }
}
.productpage .product_func .owl-carousel .owl-stage-outer {
  margin: 1rem -30px 0;
  padding-left: 20px;
}
.productpage .product_func .owl-carousel .owl-item .item .de_testi blockquote {
  padding: 2rem 1.2rem 1rem 1.6rem;
}
.productpage .product_func .owl-carousel .owl-item .item .de_testi blockquote h3.bestAI {
  text-align: left;
  margin-bottom: 0.8rem;
  padding-right: 4.5rem;
  line-height: 1.3;
}
.productpage .product_func .owl-carousel .owl-item .item .de_testi blockquote::before {
  font-family: "Prompt", Helvetica, Arial, sans-serif;
  content: "1";
  font-size: 8rem;
  position: absolute;
  top: 3rem;
  right: -7px;
  padding: 0;
  -webkit-text-stroke: 1px var(--cyan-light-active);
  font-weight: 900;
  -webkit-text-fill-color: #000000;
}
.productpage .product_func .owl-carousel .owl-item .item .de_testi blockquote.t2::before {
  content: "2";
}
.productpage .product_func .owl-carousel .owl-item .item .de_testi blockquote.t3::before {
  content: "3";
}
.productpage .product_func .owl-carousel .owl-item .item .de_testi blockquote.t4::before {
  content: "4";
  right: -4px;
}
.productpage .product_func .owl-carousel .owl-item .item .de_testi blockquote .btn_link {
  float: inline-end;
}
.productpage .product_func .owl-carousel .owl-item .item .de_testi blockquote .btn_link a {
  font-size: 1.05rem;
  font-weight: bold;
  color: var(--secondary-color);
  position: relative;
}
.productpage .product_func .owl-carousel .owl-item .item .de_testi blockquote .btn_link a::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  background: var(--secondary-color);
  left: 0;
  bottom: 0;
}
.productpage .product_func .owl-carousel .integration-list li {
  font-weight: bold;
  padding-left: 1.8rem;
  position: relative;
  font-size: 1.05rem;
}
.productpage .product_func .owl-carousel .integration-list li span {
  position: absolute;
  top: -21px;
  left: 0rem;
  opacity: 1;
}
.productpage .product_func {
  /* Ensure the carousel wrapper serves as the relative anchor */
}
.productpage .product_func .owl-carousel {
  position: relative;
}
.productpage .product_func {
  /* Position the nav container in the top right */
}
.productpage .product_func .owl-carousel .owl-nav {
  position: absolute;
  top: -50px; /* Adjust this value depending on your header space */
  right: 1rem;
  display: flex;
  gap: 10px; /* Adds space between the prev and next buttons */
  padding-bottom: 1rem;
}
.productpage .product_func {
  /* Reset default margins if necessary */
}
.productpage .product_func .owl-carousel .owl-nav button.owl-prev,
.productpage .product_func .owl-carousel .owl-nav button.owl-next {
  margin: 0;
  padding: 5px 10px !important;
  background: #eee; /* Custom background style example */
  background: transparent;
  margin-left: -4.2rem;
  border: 2px solid #00408f;
  border-radius: 50%;
}

/* responsive image hotspot */
/* Container scales perfectly with the image */
.hotspot-container {
  position: relative;
  width: 100%;
  max-width: 680px;
  margin: -3rem 9rem 0 0;
}
@media (max-width: 768px) {
  .hotspot-container {
    width: 200%;
    position: relative !important;
    margin: 0 auto 0 -11rem;
  }
}
@media screen and (min-width: 1441px) {
  .hotspot-container {
    max-width: 800px;
    margin: -6rem auto 0;
  }
}

.responsive-img {
  display: block;
  width: 100%;
  height: auto;
}

/* Base Hotspot Placement */
.hotspot {
  position: absolute;
  transform: translate(-50%, -50%); /* Centers the point exactly on coordinates */
  z-index: 10;
  top: 25%;
  left: 50%;
}
@media (max-width: 768px) {
  .hotspot {
    z-index: initial;
  }
}
.hotspot::before {
  content: "總開關斷路器 (MCCB)";
  position: absolute;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 700;
  display: inline-block;
  min-width: 18rem;
  text-align: initial;
  left: 2.8rem;
  top: 0.2rem;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  text-shadow: 0 4px 10px rgb(0, 0, 0), 2px 2px 2px rgb(0, 0, 0);
}
@media (max-width: 768px) {
  .hotspot::before {
    left: -3rem;
    top: 2.4rem;
  }
}
.hotspot.type2 {
  top: 48%;
  left: 35%;
}
.hotspot.type2::before {
  content: "微型斷路器 (MCB)";
}
.hotspot.type3 {
  top: 60%;
  left: 73%;
}
.hotspot.type3::before {
  content: "漏電斷路器 (RCBO)";
}
@media (max-width: 768px) {
  .hotspot.type3::before {
    left: -8.5rem;
  }
}
.hotspot.type4 {
  top: 38%;
  left: 66%;
}
.hotspot.type4::before {
  content: "無線電錶 (PowerTag)";
}
@media (max-width: 768px) {
  .hotspot.type4::before {
    left: -6.5rem;
  }
}

/* Pulsing Hotspot Button */
.hotspot-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #0044d7;
  border: 3px solid #ffffff;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  position: relative;
  transition: transform 0.2s ease;
}
.hotspot-btn::before {
  font-family: FontAwesome;
  content: "\f067";
  color: #ffffff;
  font-size: 1rem;
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.hotspot-btn::after {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  border-radius: 50%;
  border: 5px solid #00ffd5;
  animation: pulse 2s infinite;
}

/* Tooltip Styling */
.hotspot-tooltip {
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%) scale(1);
  min-width: 22rem;
  background: #ffffff;
  color: #333333;
  padding: 1.8rem 1.6rem 0.6rem;
  border-radius: 3px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  line-height: 1.6rem;
}
.hotspot-tooltip.ty2 {
  bottom: -5rem;
  left: -12rem;
}
@media (min-width: 980px) and (max-width: 1440px) {
  .hotspot-tooltip.ty2 {
    bottom: -6rem;
    left: -11.5rem;
  }
}
.hotspot-tooltip h4 {
  color: #070021;
  font-size: 1.5rem;
}
.hotspot-tooltip p {
  margin-bottom: 0.8rem;
}
.hotspot-tooltip .integration-list li {
  transform: scale(1.05);
  transform-origin: top left;
  margin-bottom: 0.3rem;
  font-size: 1.05rem;
  font-weight: bolder;
  gap: 8px;
}
.hotspot-tooltip .integration-list li path {
  opacity: 1;
}
.hotspot-tooltip .integration-list li path::nth-child(2) {
  fill: #070021;
}
.hotspot-tooltip .integration-list li span {
  transform: none;
  margin-right: 0;
}
.hotspot-tooltip img {
  position: absolute;
  top: 8rem;
  right: -5rem;
  width: 240px;
  height: auto;
  filter: drop-shadow(5px 15px 8px rgba(0, 0, 0, 0.5));
}
.hotspot-tooltip .btn_link {
  float: right;
  font-size: 1.1rem;
  font-weight: bold;
}
.hotspot-tooltip .btn_link a {
  color: #006eff;
  position: relative;
  transition: all 0.3s ease;
}
.hotspot-tooltip .btn_link a::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  background: #006eff;
  left: 0;
  bottom: 0;
}
.hotspot-tooltip .btn_link a:hover {
  color: #000000;
}
.hotspot-tooltip .btn_link a:hover::after {
  height: 0;
  background: #000000;
}

/* Show tooltip on hover OR when active class is present (Mobile) */
.hotspot:hover .hotspot-tooltip,
.hotspot.is-active .hotspot-tooltip {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) scale(1);
}

.hotspot:hover::before, .hotspot.is-active::before {
  opacity: 0;
}
@media (max-width: 768px) {
  .hotspot:hover::before, .hotspot.is-active::before {
    opacity: 1;
  }
}

.hotspot:hover .hotspot-btn, .hotspot.is-active .hotspot-btn {
  background: #00ffd5;
  transform: rotate(45deg) scale(1.3);
}
@media (max-width: 768px) {
  .hotspot:hover .hotspot-btn, .hotspot.is-active .hotspot-btn {
    background: #0044d7;
    transform: rotate(0deg) scale(1);
  }
}
.hotspot:hover .hotspot-btn::before, .hotspot.is-active .hotspot-btn::before {
  color: #070021;
}
@media (max-width: 768px) {
  .hotspot:hover .hotspot-btn::before, .hotspot.is-active .hotspot-btn::before {
    transform: none;
    background: none;
    color: #ffffff;
    pointer-events: none;
  }
}

/* Animations */
@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(4.2);
    opacity: 0;
  }
}
/* 調整原本的 hover/active 行為，避免手機上維持原本的 translate 造成置中歪掉 */
.hotspot:hover .hotspot-tooltip,
.hotspot.is-active .hotspot-tooltip {
  opacity: 1;
  pointer-events: auto;
  /* 桌機版維持原樣 */
}
@media (min-width: 769px) {
  .hotspot:hover .hotspot-tooltip,
  .hotspot.is-active .hotspot-tooltip {
    transform: translateX(-50%) scale(1);
  }
}
@media (max-width: 768px) {
  .hotspot:hover .hotspot-tooltip,
  .hotspot.is-active .hotspot-tooltip {
    display: none;
  }
}

/* 只有在沒有 active 狀態時，hover 才會顯示 */
.hotspot:not(.is-active):hover .hotspot-tooltip {
  opacity: 1;
  pointer-events: auto;
}

/* 確保點擊 active 後也能顯示 */
.hotspot.is-active .hotspot-tooltip {
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 768px) {
  .hotspot.is-active .hotspot-tooltip {
    opacity: 0;
  }
}

/* ==========================================
   手機版 Modal 效果 (RWD)
   ========================================== */
@media (max-width: 768px) {
  .hotspot-tooltip {
    /* 1. 改為 fixed 定位，相對於整個螢幕 */
    position: fixed;
    top: 65%;
    left: 50%;
    bottom: auto; /* 覆蓋桌機的 bottom: 125% */
    /* 2. 模擬 bootstrap modal-sm 的置中與寬度 */
    width: 90%; /* 留點左右邊距 */
    max-width: 380px; /* 類似 modal-sm 的寬度 */
    /* 精準置中與動畫起點 */
    z-index: 9999; /* 確保在最上層 */
    padding: 2rem 1.5rem; /* 稍微調整手機版內距 */
    pointer-events: none !important;
  }
  /* 當啟動時的置中狀態 */
  .hotspot.is-active .hotspot-tooltip {
    transform: translate(-50%, -50%) scale(1);
    pointer-events: none;
  }
  /* 手機版圖片微調：原本桌機版用 negative right 很容易爆版，手機版改成塞在內文下方或隱藏 */
  .hotspot-tooltip img {
    position: relative;
    top: auto;
    right: auto;
    width: 220px;
    height: auto;
    margin-top: -0.5rem;
    filter: none;
  }
  .hotspot-container .hotspot .hotspot-btn::before {
    content: "1";
    font-family: var(--title-font);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    margin-left: -6px;
  }
  .hotspot-container .hotspot.type2 .hotspot-btn::before {
    content: "2";
  }
  .hotspot-container .hotspot.type3 .hotspot-btn::before {
    content: "3";
  }
  .hotspot-container .hotspot.type4 .hotspot-btn::before {
    content: "4";
  }
  /* (選擇性) 增加一個暗色遮罩背景，讓 Modal 更明顯 */
}
.close-tooltip-btn {
  display: block;
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: none;
  font-size: 1.8rem;
  cursor: pointer;
  color: #070021;
  line-height: 1;
  padding: 5px;
}
@media (max-width: 768px) {
  .close-tooltip-btn {
    display: block;
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    font-size: 1.8rem;
    cursor: pointer;
    color: #070021;
    line-height: 1;
    padding: 5px;
  }
}

.close-tooltip-btn {
  pointer-events: auto !important; /* 確保可以被點擊 */
  cursor: pointer;
  z-index: 99999 !important; /* 確保在最上層 */
}

.de_tab.tab_style_4 h4 {
  margin: 0;
  font-size: 1.1rem;
}
@media (max-width: 768px) {
  .de_tab.tab_style_4 h3 {
    display: none;
  }
}
@media (max-width: 768px) {
  .de_tab.tab_style_4 .de_nav {
    margin-bottom: 0;
    border-radius: 10px;
  }
}
.de_tab.tab_style_4 .de_nav li {
  text-align: left;
  position: relative;
}
@media (max-width: 768px) {
  .de_tab.tab_style_4 .de_nav li {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .de_tab.tab_style_4 .de_nav li.active::after {
    font-family: "Material Icons";
    content: "\ef4a";
    font-size: 1.2rem;
    color: var(--cyan-light-active);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1.2rem;
  }
}

.table-responsive {
  border-bottom: 3px solid rgba(0, 77, 54, 0.65);
}

.table {
  color: #ffffff;
}
.table tbody {
  font-weight: bold;
}
.table .header {
  background-color: rgba(0, 77, 54, 0.65) !important;
  font-size: 1.1rem;
  line-height: 1.3;
  color: var(--secondary-color);
}
.table .header tr > th {
  padding-top: 1rem;
}
.table .border_l {
  border-left: 10px solid #000000;
}
.table .border_top {
  border-top: 1px #004e37 solid;
}
.table .border_right {
  border-right: 1px #004e37 solid;
}
.table .border_left {
  border-left: 1px #004e37 solid;
}
.table img {
  height: 6rem;
}
.table img.ty2 {
  width: 100%;
  height: 10rem;
}
.table .none_bg_co {
  --bs-table-accent-bg: rgba(0, 0, 0, 0);
}
@media (max-width: 768px) {
  .table .none_bg_co {
    --bs-table-accent-bg: rgba(0, 77, 74, 0.1);
  }
}

.table-dark {
  background-color: rgba(0, 0, 0, 0.5) !important;
}
.table-dark.table-striped > tbody > tr:nth-of-type(odd) {
  --bs-table-accent-bg: rgba(0, 77, 74, 0.1);
}

.table-hover > tbody > tr:hover {
  --bs-table-accent-bg: rgba(0, 57, 57, 0.3) !important;
  color: var(--bs-table-hover-color);
}

#product-carousel.owl-theme .owl-nav.disabled + .owl-dots, #product-carousel-sec.owl-theme .owl-nav.disabled + .owl-dots, #product-carousel-third.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 0;
}

.table-container {
  width: 100%;
  overflow-x: auto; /* Enables horizontal scroll on mobile */
  margin: 20px 0;
}

table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap; /* Prevents text from wrapping prematurely */
}
table .border_l {
  border-left: 10px solid #000000;
}
table tbody {
  border-color: transparent;
}

.table {
  border-bottom: 5px solid #023828;
}

th, td {
  padding: 12px 15px;
  border: 0px solid #ddd;
  text-align: left;
  color: #ffffff;
  line-height: 1.8;
}

.table th {
  background-color: rgba(0, 77, 54, 0.65) !important;
  color: var(--secondary-color);
  font-size: 1.1rem;
  line-height: 1.3;
  padding-top: 1rem;
}

.mobile-only {
  display: none;
}

/* Media Query for Tablets and Mobile */
@media (max-width: 768px) {
  table {
    border-bottom: 0px;
  }
  table.table .border_l {
    border-left: 0px;
  }
  table .hide {
    display: none;
  }
  table, thead, tbody, th, td, tr {
    display: block; /* Forces table elements to behave like block elements */
  }
  thead tr {
    position: absolute;
    top: -9999px; /* Hides the original header */
    left: -9999px;
  }
  tr {
    margin-bottom: 10px;
    border: 1px solid #454545;
  }
  td {
    border: none;
    border-bottom: 1px solid #454545 !important;
    position: relative;
    padding-left: 42%; /* 留給左側偽元素 data-label 的空間 */
    padding-right: 15px; /* 補上右側內距，避免文字貼齊邊框 */
    text-align: right;
    /* ─── 💡 解決文字太長折行的核心修改 ─── */
    word-break: break-word; /* 針對標準文字與亞洲文字，允許在字內換行 */
    overflow-wrap: break-word; /* 針對超長網址或連續英文字母，強制拆開換行 */
    white-space: normal; /* 確保沒有被其他地方設定到 nowrap，強制允許換行 */
    display: block; /* 確保寬度計算正常 */
    line-height: 1.65;
  }
  td.mobile-only {
    display: block;
  }
  /* Displays the data-label as the row header on mobile */
  td::before {
    content: attr(data-label);
    position: absolute;
    top: 50%; /* ─── 💡 建議加上這兩行，讓標題在左側垂直居中 ─── */
    transform: translateY(-50%);
    left: 15px;
    padding-right: 10px;
    white-space: nowrap; /* 標題本身維持不換行 */
    text-align: left;
    font-weight: bold;
    color: #868686;
    white-space: nowrap; /* 強制不換行 */
    overflow: hidden; /* 隱藏超出容器的文字 */
    text-overflow: ellipsis; /* 顯示省略號 */
  }
  .table {
    border-bottom: 0px;
  }
  .table.ty2 td {
    padding-left: 41% !important;
  }
  .table.ty2 td::before {
    width: 40%;
  }
}
.eho_page {
  padding-top: 0;
  padding-bottom: 0;
}
@media (max-width: 768px) {
  .eho_page {
    padding-top: 0 !important;
  }
}
.eho_page .de-gradient-edge-bottom {
  height: 40%;
  background: linear-gradient(0deg, rgb(0, 0, 0) 20%, rgba(0, 0, 0, 0) 100%);
}
@media (max-width: 768px) {
  .eho_page .de-gradient-edge-bottom {
    height: 55%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 65%, rgba(0, 0, 0, 0) 100%);
  }
}
.eho_page h1.ultra-big-2 {
  font-size: 7.2rem;
  text-shadow: 0 10px 20px #000, 2px 2px 2px rgba(0, 0, 0, 0.5);
}
@media (max-width: 768px) {
  .eho_page h1.ultra-big-2 {
    font-size: 13.2vw;
    line-height: 4.6rem;
  }
}
.eho_page h1.ultra-big-2 .bigger_letter {
  font-size: 140%;
  vertical-align: middle;
  height: 136px;
  text-shadow: none;
}
@media (max-width: 768px) {
  .eho_page h1.ultra-big-2 .bigger_letter {
    margin-right: 0.2rem;
    font-size: 150%;
    height: 73px;
    vertical-align: bottom;
  }
}
.eho_page h1.ultra-big-2 .smaller {
  font-size: 85%;
  display: block;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .eho_page h1.ultra-big-2 .smaller {
    font-size: 11vw;
    margin-top: -1rem;
  }
}
.eho_page h5.s2 {
  background: rgba(0, 0, 0, 0.55);
}
.eho_page h5.s2 i {
  color: var(--cyan-light-active);
}
@media (max-width: 768px) {
  .eho_page h5.s2 {
    margin-top: 8px !important;
    margin-bottom: 16px !important;
  }
}
@media (max-width: 768px) {
  .eho_page h5.s2 span {
    margin: 0 8px;
  }
}
@media (max-width: 480px) {
  .eho_page h5.s2 span {
    margin: 0 5px;
  }
}
.eho_page .full {
  width: 100vw;
  height: 100vh;
  margin: 0;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
}
@media (max-width: 768px) {
  .eho_page .full spline-viewer {
    height: calc(100vh - 80px);
  }
}
.eho_page .full .de-gradient-edge-bottom {
  height: 50%;
  background: linear-gradient(0deg, rgb(0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%) !important;
}
@media screen and (min-width: 1441px) {
  .eho_page .full .de-gradient-edge-bottom {
    display: none;
  }
}
@media (max-width: 768px) {
  .eho_page .full .de-gradient-edge-bottom {
    height: 40%;
  }
}
.eho_page .eho_start_txt {
  height: 100vh;
  display: flex;
  align-content: flex-end;
  flex-wrap: wrap;
  padding-bottom: 40px;
  pointer-events: none !important;
}
@media screen and (min-width: 1441px) {
  .eho_page .eho_start_txt {
    padding-top: 180px !important;
  }
}
@media (max-width: 768px) {
  .eho_page .eho_start_txt {
    margin-top: 0;
    padding: 6rem 0 5.8rem 1rem;
  }
}
.eho_page .eho_start_txt .button {
  pointer-events: initial;
}
.eho_page .eho_start_txt h2, .eho_page .eho_start_txt h3 {
  text-shadow: 0 10px 30px rgb(0, 0, 0), 2px 2px 2px rgb(0, 0, 0);
}
@media (max-width: 768px) {
  .eho_page .eho_start_txt h2, .eho_page .eho_start_txt h3 {
    font-size: 2.4rem;
    line-height: 2.4rem;
  }
}
.eho_page .eho_start_txt h2.bestAI, .eho_page .eho_start_txt h3.bestAI {
  text-shadow: none !important;
}
@media (max-width: 768px) {
  .eho_page .eho_start_txt h2.bestAI, .eho_page .eho_start_txt h3.bestAI {
    font-size: 1.9rem;
  }
}
.eho_page .eho_start_txt h2 i, .eho_page .eho_start_txt h3 i {
  font-size: 2.6rem;
  color: var(--cyan-light-active);
  line-height: 2.5rem;
  vertical-align: bottom;
  border: 1px solid #fff;
  border-radius: 50%;
  width: 3.2rem;
  height: 3.2rem;
  margin-top: 0;
  padding: 5px 0 0 14px;
  margin-right: 8px;
  -webkit-text-fill-color: initial;
}
@media (max-width: 768px) {
  .eho_page .eho_start_txt h2 i, .eho_page .eho_start_txt h3 i {
    vertical-align: middle;
    margin-top: -4px;
    transform: scale(0.65);
    transform-origin: center left;
    padding: 6px 0 0 14px;
    margin-right: -17px;
  }
}
.eho_page .eho_start_txt p {
  color: var(--color-white);
  text-shadow: 0 4px 10px rgba(0, 0, 0, 0.5), 2px 2px 2px rgba(0, 0, 0, 0.5);
}
@media (max-width: 768px) {
  .eho_page .eho_start_txt p {
    display: none;
  }
}
.eho_page .txt_direction {
  position: absolute;
  right: 1rem;
  bottom: 20px;
  font-size: 0.8rem;
  color: #a5a5a5;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  z-index: 10;
  line-height: 1.3rem;
  padding: 8px 12px;
}
.eho_page .txt_direction span {
  color: var(--cyan-light-active);
}
@media screen and (min-width: 1441px) {
  .eho_page .txt_direction {
    right: 2rem;
    bottom: 20px;
  }
}
@media (max-width: 768px) {
  .eho_page .txt_direction {
    display: none;
  }
}

.eho_app_title .sec-title .title {
  display: block;
  font-size: 42px;
  line-height: 1.3 !important;
  color: var(--color-heading);
  font-family: var(--font-heading);
}
@media (max-width: 768px) {
  .eho_app_title .sec-title .title {
    font-size: 26px;
    line-height: 1.3;
  }
}
.eho_app_title .sec-title .title.type3 span:nth-child(2) {
  width: 136px;
  height: 62px;
  margin-right: 0;
  margin-left: -1rem;
}
@media (max-width: 768px) {
  .eho_app_title .sec-title .title.type3 span:nth-child(2) {
    top: 0;
    margin-right: 6px;
  }
}
.eho_app_title .sec-title .title.type3 .discrip {
  font-size: 1.1rem;
}
@media (max-width: 768px) {
  .eho_app_title .sec-title .title.type3 .discrip {
    font-size: 0.9rem;
    line-height: 1.6;
    padding: 2rem 0 7rem;
  }
}
.eho_app_title .sec-title .title .bigger {
  font-size: 68px;
  width: initial;
  height: initial;
}
@media (max-width: 768px) {
  .eho_app_title .sec-title .title .bigger {
    font-size: 44px;
    line-height: 1.1;
  }
}

#canvas3d {
  width: 100vw;
  height: 100vh;
  display: block;
}
.viewer-container {
  width: 100vw;
  height: 100vh;
  position: relative;
}
.viewer-container .controls {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  z-index: 10;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  padding: 12px 16px;
  border-radius: 3rem;
}
@media (max-width: 768px) {
  .viewer-container .controls {
    gap: 8px;
    bottom: 1rem;
  }
}
.viewer-container .btn {
  margin-top: 0;
  padding: 10px 20px;
  border: none;
  background: #ffffff;
  color: #111111;
  font-weight: 600;
  border-radius: 2rem;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.85rem;
}
@media (max-width: 768px) {
  .viewer-container .btn {
    padding: 8px 14px;
  }
  .viewer-container .btn span {
    display: none;
  }
  .viewer-container .btn i {
    font-size: 1.1rem;
  }
}
.viewer-container .btn:hover {
  background: #0053c1;
  color: #ffffff;
  transform: translateY(-2px);
}

.gradient-canvas {
  margin: 0;
  padding: 0;
}
#gradient-canvas {
  /* --gradient-color-1: #fd8cad;
  --gradient-color-2: #fbe8d0;
  --gradient-color-3: #fcc3e6;
  --gradient-color-4: #fcd7d5; */
  --gradient-color-1: #9E9E9E;
  --gradient-color-2: #79fff2;
  --gradient-color-3: #594139;
  --gradient-color-4: #061c3f;
}

.gradient-canvas {
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
}
.gradient-canvas #gradient-canvas {
  height: 100%;
  width: 100vw;
  opacity: 0.7;
}
@media (max-width: 768px) {
  .gradient-canvas #gradient-canvas {
    display: none;
  }
}

.animate_lines {
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 80vw;
}
.animate_lines .line {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(23, 25, 28, 0.03);
}

.animate_lines .line:after {
  background: -webkit-gradient(linear, left top, left bottom, from(#0a1857), color-stop(50%, #00bbff), to(#00ffb7));
  background: linear-gradient(to bottom, #0a1857 0%, #00bbff 50%, #00ffb7 100%);
  content: "";
  display: block;
  position: absolute;
  height: 25vh;
  width: 100%;
  top: -50%;
  left: 0;
  -webkit-animation: run 7s 0s infinite;
  animation: run 7s 0s infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
  animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
}

.animate_lines .line:nth-child(1) {
  margin-left: 22%;
}

.animate_lines .line:nth-child(1):after {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.animate_lines .line:nth-child(3) {
  margin-left: 12%;
}

.animate_lines .line:nth-child(3):after {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

.animate_lines .line:nth-child(4) {
  margin-left: 80%;
}

.animate_lines .line:nth-child(4):after {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.animate_lines .line:nth-child(5) {
  margin-left: 85%;
}

.animate_lines .line:nth-child(5):after {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s;
}

.animate_lines .line:nth-child(6) {
  margin-left: 100%;
}

.animate_lines .line:nth-child(6):after {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

@-webkit-keyframes run {
  0% {
    top: 110%;
  }
  100% {
    top: -50%;
  }
}
@keyframes run {
  0% {
    top: 110%;
  }
  100% {
    top: -50%;
  }
}