@charset "UTF-8";
/* ========================
  🎨 Design Tokens - Variables
======================== */
/* Color */
/* Breakpoints（對齊 Bootstrap） */
/* Font Family */
/* Section Spacing - 常見預設 */
/*
  手機常用：padding-inline 20-48px、padding-block 32-64px
  桌機常用：padding-inline 90-150px、padding-block 48-80px
  row 間距：手機 16-28px、桌機 24-36px
  如果不需要 gutter，可用 .section-pad--px-0 / .section-pad--py-0 等類別來局部去除。
*/
/* Section Spacing - Desktop */
/* Section Spacing - 常見預設 end*/
/* Section Spacing - Mobile */
/* Section Spacing - Desktop */
.page01 {
  position: relative;
  aspect-ratio: 9/16;
  display: flex;
  align-items: center;
}
@media (min-width: 992px) {
  .page01 {
    aspect-ratio: 16/9;
  }
}
.page01 img {
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.7411764706));
}
.page01 .Txt {
  width: clamp(16.1373rem, 12.7726rem + 14.36vw, 30rem);
  max-width: 100%;
  margin: 0 auto;
  text-align: justify;
  -moz-text-align-last: justify;
       text-align-last: justify;
  white-space: nowrap;
  color: #C3D81E;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.7411764706);
}
.page01 .Txt h2 {
  font-size: clamp(1.9211rem, 1.5075rem + 1.76vw, 3.625rem);
}
.page01 .Txt h3 {
  font-size: clamp(1.5753rem, 1.2295rem + 1.48vw, 3rem);
}
.page01 .line-title {
  display: flex;
  align-items: center;
  font-size: clamp(1.0374rem, 0.8189rem + 0.93vw, 1.9375rem);
  /* 你可以依照需求調整或使用 clamp */
  margin-top: 1rem;
}
.page01 {
  /* 設定左右兩條線的共同樣式 */
}
.page01 .line-title::before,
.page01 .line-title::after {
  content: "";
  flex: 1;
  /* 這是關鍵：讓線條自動填滿左右剩餘空間 */
  height: 1px;
  /* 線條粗細 */
  background: #C3D81E;
  /* 線條顏色 */
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.7411764706);
}
.page01 {
  /* 調整線條與文字之間的間距 */
}
.page01 .line-title::before {
  margin-right: 1.5rem;
}
.page01 .line-title::after {
  margin-left: 1.5rem;
}

.trafficTimeline {
  text-align: center;
  display: flex;
  position: relative;
}
.trafficTimeline .item {
  display: flex;
  flex-direction: column;
  row-gap: clamp(0.6148rem, 0.5212rem + 0.4vw, 1rem);
}
.trafficTimeline .item:nth-child(even) {
  flex-direction: column-reverse;
}
.trafficTimeline .zh-trafficName {
  font-size: inherit;
  margin-bottom: 0;
}
.trafficTimeline .en-trafficName {
  line-height: 1;
  font-family: "Cinzel", "Times New Roman", serif;
  margin-bottom: 0;
  text-transform: uppercase;
  font-size: clamp(12px, 0.32px + 3vw, 30px);
}
@media (min-width: 992px) {
  .trafficTimeline .en-trafficName {
    font-size: clamp(0.5379rem, 0.4561rem + 0.35vw, 0.875rem);
  }
}
@media (min-width: 992px) {
  .trafficTimeline {
    margin-top: 0;
    height: clamp(153px, 0.14px + 15.41vw, 296px);
  }
  .trafficTimeline .item {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
  }
  .trafficTimeline .item:nth-child(odd) {
    transform: translateY(-50%);
    justify-content: end;
  }
  .trafficTimeline .item:nth-child(odd)::after {
    content: "";
    display: block;
    margin: 12px auto 8px;
    width: 3px;
    height: clamp(0.9221rem, 0.7819rem + 0.6vw, 1.5rem);
    background-color: #012B5B;
  }
  .trafficTimeline .item:nth-child(even) {
    transform: translateY(8px);
  }
  .trafficTimeline .item:nth-child(even)::after {
    content: "";
    display: block;
    margin: 8px auto 12px;
    width: 3px;
    height: clamp(0.9221rem, 0.7819rem + 0.6vw, 1.5rem);
    background-color: #012B5B;
  }
}
@media (max-width: 991px) {
  .trafficTimeline {
    flex-direction: column;
  }
  .trafficTimeline .item {
    width: 50%;
    position: relative;
  }
  .trafficTimeline .item:nth-child(odd)::before {
    content: "";
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    background: #012B5B;
    width: 3vw;
    height: 2px;
  }
  .trafficTimeline .item:nth-child(even) {
    transform: translateX(100%);
  }
  .trafficTimeline .item:nth-child(even)::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    background: #012B5B;
    width: 3vw;
    height: 2px;
  }
}
.trafficTimeline::before {
  content: "";
  background-color: #012B5B;
  position: absolute;
}
@media (min-width: 992px) {
  .trafficTimeline::before {
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 1px;
  }
}
@media (max-width: 991px) {
  .trafficTimeline::before {
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: 1px;
  }
}

.page02 .img-cover,
.page02 .img-ratio,
.page02 .video-wrap,
.page07 .img-cover,
.page07 .img-ratio,
.page07 .video-wrap,
.page11 .img-cover,
.page11 .img-ratio,
.page11 .video-wrap {
  padding-top: 0;
  height: clamp(160px, -2.23px + 41.6vw, 410px);
}
@media (min-width: 992px) {
  .page02 .img-cover,
  .page02 .img-ratio,
  .page02 .video-wrap,
  .page07 .img-cover,
  .page07 .img-ratio,
  .page07 .video-wrap,
  .page11 .img-cover,
  .page11 .img-ratio,
  .page11 .video-wrap {
    height: clamp(196px, -0.69px + 19.83vw, 380px);
  }
}

.page03 {
  position: relative;
  color: #fff;
  background-color: #012B5B;
}
.page03 .Txt {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.page03 .txt-wrap {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
@media (max-width: 991px) {
  .page03 {
    padding-bottom: 56%;
  }
  .page03 .bg-video-wrap {
    aspect-ratio: 16/9;
    top: auto;
  }
}

@media (min-width: 992px) {
  .page04 .TxtBox {
    position: absolute;
    z-index: 1;
    inset: 0;
  }
}

@media (min-width: 992px) {
  .page05 {
    aspect-ratio: 1920/820;
  }
}

@media (min-width: 992px) {
  .page05-1 {
    aspect-ratio: 1920/260;
    display: flex;
    align-items: end;
  }
}
.page05-1 .txt-deco {
  font-family: "Cinzel", "Times New Roman", serif;
  letter-spacing: 0.27em;
  line-height: 1.3;
}
@media (max-width: 991px) {
  .page05-1 .txt-deco {
    text-align: center;
    font-size: 34px;
    margin-top: 1.2em;
  }
}
@media (min-width: 992px) {
  .page05-1 .txt-deco {
    padding-right: clamp(7px, -0.48px + 0.75vw, 14px);
    font-size: clamp(20px, 0.76px + 1.94vw, 38px);
  }
}

.page07 .TxtBox {
  margin-bottom: var(--section-gutter-y);
}
.page07 .ImgGroup {
  display: flex;
}

.page11 .TxtBox {
  margin-bottom: var(--section-gutter-y);
}
.page11 .ImgGroup {
  display: flex;
}

@media (min-width: 992px) {
  .page12 .txt-wrap {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.page12 .img-cover {
  aspect-ratio: 610/763;
}
@media (min-width: 992px) {
  .page12 .img-cover {
    aspect-ratio: 3/4;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.page13 {
  color: #484848;
  position: relative;
  background-size: cover;
  background-position: left top;
}
@media (max-width: 991px) {
  .page13 {
    aspect-ratio: 9/16;
    background-size: auto 100%;
    background-position: 18% 0;
  }
}
.page13 .logo-50jia img {
  aspect-ratio: 245/57;
  -o-object-fit: contain;
     object-fit: contain;
  background-position: left;
  width: 12vw;
  filter: drop-shadow(0px 3px 5px rgba(0, 0, 0, 0.3));
}/*# sourceMappingURL=style.css.map */