:root {
  --t100-bg: #000000;
  --t100-primary: #39ceff;
  --t100-accent: #00f6ed;
  --t100-link: #00acf6;
  --t100-text: #ffffff;
}

body {
  background-color: var(--t100-bg);
}

/* heading & text */
.t100-section-title {
  color: var(--t100-primary);
  font-size: 2.25rem;
  margin-bottom: 1.5rem;
}

.t100-section-subtitle {
  color: var(--t100-accent);
  font-size: 1.2rem;
  margin-bottom: 0.75rem;
}

main,
section {
  color: var(--t100-text);
  font-size: 1.0625rem;
  text-align: justify;
}

a {
  color: var(--t100-text);
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

/* 共用 section */
.t100-section {
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3.5rem;
}

.t100-section-des {
  max-width: 42rem;
  font-size: 1.1875rem;
  line-height: 1.8;
}

/* CTA 按鈕區 */
.t100-btn-wrap {
  width: 100%;
}

/* 側邊導覽（桌機版） */
.t100-section-nav {
  position: fixed;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  z-index: 999;
}

.t100-section-nav-link {
  color: #aaaaaa;
  font-size: 0.9375rem;
  padding: 0.25rem 0;
  display: flex;
  align-items: center;
}

.t100-section-nav-label {
  opacity: 0;
  margin-right: 0.4rem;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.t100-section-nav-dot {
  font-size: 1rem;
  line-height: 1;
  transition: color 0.2s ease;
}

/* hover 或 active 狀態（active 狀態可用 JS 加上 .is-active） */
.t100-section-nav-link:hover,
.t100-section-nav-link.is-active {
  color: var(--t100-primary);
}

.t100-section-nav-link:hover .t100-section-nav-label,
.t100-section-nav-link.is-active .t100-section-nav-label {
  opacity: 1;
  color: var(--t100-primary);
}

.t100-section-nav-link:hover .t100-section-nav-dot,
.t100-section-nav-link.is-active .t100-section-nav-dot {
  color: var(--t100-primary);
}

/* 手機隱藏側邊導覽（已在 HTML 用 d-none d-md-block） */

/* Hero 區 */
.t100-hero {
  min-height: calc(100dvh - 40px);
  padding-top: 4rem;
  padding-bottom: 4rem;
  background: no-repeat center top;
  background-size: cover;
}

.t100-hero-logo img {
  max-width: 260px;
}

.t100-hero-title img {
  max-width: 480px;
}

/* #arrow {
  display: inline-block;
  width: 69px;
  height: 69px;
  margin: 1rem auto 0;
  background-image: url("../images/arrow.png");
  background-size: cover;
  background-repeat: no-repeat;
  animation-name: arrow-step-animation;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes arrow-step-animation {
  0%, 19% { background-position: 0 0;}
  20%, 39% { background-position: -69px 0;}
  40%, 59% { background-position: -138px 0;}
  60%, 79% { background-position: -207px 0;}
  80%, 99% { background-position: -276px 0;}
  100% { background-position: -276px 0;}
} */
@media (min-width: 768px) {
  .t100-section{
    min-height: calc(90dvh - 40px);
  }
}

/* 影片區 */
.t100-section-video .ratio {
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.7);
}

/* section02 背景 */
.t100-section-02 {
  background: no-repeat center bottom;
  background-size: cover;
}

/* section03 背景 */
.t100-section-03 {
  background: no-repeat center top;
  background-size: cover;
}

/* section04 背景 + icon 卡片 */
.t100-section-04 {
  background: no-repeat center top;
  background-size: cover;
}

.t100-icon-card {
  padding-left: 4.5rem;
  position: relative;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.t100-icon-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 64px;
  height: 64px;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}

.t100-icon-card-01::before {
  background-image: url("../images/icon01.webp");
}

.t100-icon-card-02::before {
  background-image: url("../images/icon02.webp");
}

/* section06 背景 + icon 卡片 */
/* .t100-section-06 { */
  /* background: url("../images/img06.jpg") no-repeat right 120px; */
  /* background-size: auto; */
/* } */

.t100-icon-card-03::before {
  background-image: url("../images/icon03.webp");
}

.t100-icon-card-04::before {
  background-image: url("../images/icon04.webp");
}

.t100-contact-list {
  margin-top: 0.75rem;
}

.t100-contact-item {
  font-size: 1.0625rem;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}

.t100-contact-label {
  font-weight: 600;
  margin-right: 0.25rem;
}

.t100-contact-link {
  text-decoration: underline;
}

/* RWD 調整 */
@media (max-width: 991.98px) {
  .t100-section-des {
    max-width: 100%;
  }

  .t100-section-06 {
    background-position: center top;
    background-size: cover;
  }
}

@media (max-width: 767.98px) {
  h2.t100-section-title {
    font-size: 1.75rem;
  }

  h3.t100-section-subtitle {
    font-size: 1.05rem;
  }

  .t100-hero {
    min-height: 60vh;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .t100-hero-logo img {
    max-width: 220px;
  }

  .t100-hero-title img {
    max-width: 360px;
  }

  .t100-icon-card {
    padding-left: 3.5rem;
  }
}
