@charset "UTF-8";
.idx-main {
  font-family: AudreyDisplayTC, AudreyTextTC, "Microsoft JhengHei", sans-serif;
  color: var(--rmhc-black);
  line-height: 1.6;
}
.idx-main * {
  box-sizing: border-box;
}
.idx-main img {
  display: block;
  max-width: 100%;
}

.idx-hero {
  /* 第三次試點 ×0.8：scoped token 與前次相同，不重算、不改 root */
  --tf-sm: 29px; /* 36×0.8；.sub 使用 */
  position: relative;
  overflow: hidden;
  background-color: var(--idx-lav, #C8BFE7);
}
.idx-hero .slides {
  position: relative;
  aspect-ratio: 1920/800;
}
.idx-hero .slides .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s;
  pointer-events: none;
}
.idx-hero .slides .slide .txt {
  position: relative;
  top: 5%;
  max-width: calc(var(--rmhc-wrap-ultra) + 60px);
  /* 60×0.8 */
  margin: 0 auto;
  height: 100%;
  padding: 0 var(--lyt-padding);
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
  color: var(--rmhc-black);
}
.idx-hero .slides .slide .txt .sub {
  font-size: 26px;
  max-width: 565px;
  font-weight: 400;
  line-height: 1.5;
}
.idx-hero .slides .slide .txt .sub em {
  font-weight: bold;
}
.idx-hero .slides .slide.s1, .idx-hero .slides .slide.s2 {
  background-color: var(--rmhc-lav);
  background-image: url("../img/index/banner/main-banner-v2-1.jpg");
  background-position: right center;
  background-size: auto 100%;
  background-repeat: no-repeat;
}
.idx-hero .slides .slide.s2 {
  background-image: url("../img/index/banner/main-banner-v2-2.jpg");
}
.idx-hero .slides .slide.on {
  opacity: 1;
  pointer-events: auto;
}
.idx-hero h1 {
  font-size: 61px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  margin: 0 0 0.4em;
}
.idx-hero .sub {
  font-size: var(--tf-sm);
  margin: 0 0 29px; /* 36×0.8 */
  line-height: 1.3;
}
.idx-hero .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px; /* 8×0.8 */
  background: #000;
  color: #fff;
  font-size: 22px; /* 28×0.8 */
  padding: 19px 38px; /* 23×0.8 / 48×0.8 */
  padding: 0.86em 1.8em;
  border-radius: 0;
  text-decoration: none;
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
  transition: 0.15s;
  letter-spacing: 0.09em;
}
.idx-hero .dots {
  position: absolute;
  left: 50%;
  bottom: 4%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px; /* 10×0.8 */
  z-index: 5;
}
.idx-hero .dots i {
  width: 118px; /* 148×0.8 */
  height: 8px; /* 10×0.8 */
  border-radius: 8px; /* 10×0.8 */
  background: rgba(93, 93, 93, 0.5);
  cursor: pointer;
}
.idx-hero .dots i.on {
  background: var(--rmhc-white);
}
.idx-hero .nav.prev {
  left: 14px; /* 18×0.8 */
}
.idx-hero .nav.next {
  right: 14px; /* 18×0.8 */
}
.idx-hero .nav.prev, .idx-hero .nav.next {
  display: none;
}

.idx-hero .slide.s2 .eyebrow {
  font-size: 41px;
  letter-spacing: 2px; /* 2×0.8=1.6 → 2 */
  margin-bottom: 8px; /* 10×0.8 */
  font-weight: 700;
}

.idx-hero .nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 37px; /* 46×0.8 */
  height: 37px; /* 46×0.8 */
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  border: none;
  cursor: pointer;
  font-size: 16px; /* 20×0.8 */
  color: #333;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.idx-service {
  /* 試點 ×0.8：scoped 覆寫 token，避免一次改 root 影響全站 */
  --tf-xl: 62px; /* 78×0.8 */
  --tf-sm: 29px; /* 36×0.8 */
  --tf-mid: 38px; /* 48×0.8（.page-wrap h2 可能吃到） */
  background: var(--idx-yellow);
  padding: 5.5vw 0;
  text-align: center;
}
.idx-service h2 {
  font-size: 46px;
  font-weight: 700;
  color: var(---black);
  line-height: 1;
  margin-bottom: 1em;
}
.idx-service .quad-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 19px; /* 24×0.8 */
  margin: 0 72px; /* 90×0.8 */
}
.idx-service .quad-grid .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px; /* 20×0.8 */
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: transform 0.15s;
}
.idx-service .quad-grid .item:hover {
  transform: translateY(-5px);
}
.idx-service .quad-grid .item .ic {
  height: 77px; /* 96×0.8 */
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.idx-service .quad-grid .item .ic img {
  max-width: 102px; /* 128×0.8 */
  max-height: 100%;
  width: auto;
  height: auto;
}
.idx-service .quad-grid .item .lb {
  font-size: var(--tf-sm);
  font-weight: 700;
  color: var(--rmhc-black);
  line-height: 1.2;
}

.idx-stats {
  /* 第二次試點 ×0.8：scoped token 與第一次試點相同，不重算、不改 root */
  --tf-xl: 62px;
  --tf-sm: 29px;
  --tf-mid: 38px;
  padding: 43px 0; /* 54×0.8 */
}
.idx-stats h2 {
  font-size: var(--tf-mid);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1em;
}
.idx-stats {
  /* 覆寫 base .nona-grid（僅首頁本區塊；他頁 .nona-grid 不受影響） */
}
.idx-stats .nona-grid {
  gap: 32px 24px; /* 40×0.8 / 30×0.8 */
}
.idx-stats .nona-grid .st {
  gap: 13px; /* 16×0.8 */
}
.idx-stats .nona-grid .st .ic {
  height: 62px; /* 78×0.8 */
}
.idx-stats .nona-grid .st .ic img {
  max-width: 70px; /* 88×0.8 */
}
.idx-stats .nona-grid .st .desc {
  font-size: 22px; /* 28×0.8 */
}

.idx-story {
  /* 第二次試點：使用者稱 .rmhc-story，實際 class 為 .idx-story */
  --tf-sm: 29px;
  --tf-mid: 38px;
  padding: 8px 0 64px; /* 10×0.8 / 80×0.8 */
  /* 覆寫 base .storyCards（僅首頁本區塊） */
}
.idx-story .storyCards .head {
  margin: 0 auto 24px; /* 30×0.8 */
}
.idx-story .storyCards .head h2 {
  font-size: var(--tf-mid); /* 與 .idx-stats h2 字級一致 */
}
.idx-story .storyCards .arrows {
  gap: 18px; /* 22×0.8 */
}
.idx-story .storyCards .arrows button {
  padding: 5px; /* 6×0.8 */
}
.idx-story .storyCards .arrows button svg {
  width: 34px; /* 42×0.8 */
  height: 19px; /* 24×0.8 */
}
.idx-story .storyCards .track {
  gap: 26px; /* 32×0.8；JS storyScroll 步距須同步 */
  padding-bottom: 6px; /* 8×0.8 */
  /* 原 max(28px, 50%−832px)；28×0.8=22；對齊 --rmhc-wrap-max 1400： (1400−22×2)/2=678 */
  padding-left: max(22px, 50% - 678px);
  padding-right: max(22px, 50% - 678px);
  scroll-padding-left: max(22px, 50% - 678px);
}
.idx-story .storyCards .card {
  flex: 0 0 372px; /* 465×0.8 */
  border-radius: 26px; /* 32×0.8 */
}
.idx-story .storyCards .card .ph {
  height: 236px; /* 295×0.8 */
}
.idx-story .storyCards .card .info {
  padding: 32px 22px; /* 40×0.8 / 28×0.8 */
}
.idx-story .storyCards .card .info h3 {
  font-size: var(--tf-sm);
  margin-bottom: 11px; /* 14×0.8 */
}
.idx-story .storyCards .card .info p {
  font-size: 22px; /* 28×0.8 */
}
.idx-story .storyCards .card .info .go {
  right: 26px; /* 32×0.8 */
  bottom: 22px; /* 28×0.8 */
}
.idx-story .storyCards .card .info .go svg {
  width: 24px; /* 30×0.8 */
}

/* 961–1920：桌機雙欄；pc() 等比縮放，下限對齊 ≤960 手機稿字級，避免 960↔961 斷層爆開 */
@media (min-width: 961px) and (max-width: 1920px) {
  .idx-hero .slides .slide .txt {
    /* 60×0.8 */
    padding: 0 1.3vw; /* 30×0.8 */
  }
  .idx-hero .slides .slide .txt h1 {
    /* 純 pc(62) 在 961 僅 ~31px，會與 ≤960 的 48px 斷層；下限 48 銜接手機稿 */
    font-size: 3.2vw; /* 78×0.8 */
  }
  .idx-hero .slides .slide .txt .sub {
    font-size: 1.5vw; /* 36×0.8；下限銜接手機稿 22 */
    margin-bottom: max(1.5vw, 22px);
  }
  .idx-hero .slides .slide .txt .btn {
    font-size: 1.1vw; /* 28×0.8 */
    gap: max(0.3vw, 4px); /* 8×0.8 */
  }
  .idx-hero .slides .slide .txt .eyebrow {
    font-size: 2.2vw;
    letter-spacing: 0.037em;
    margin-bottom: max(0.4vw, 6px); /* 10×0.8 */
  }
  .idx-hero .slide.s2 .txt .sub {
    max-width: 31.5vw; /* 540×0.8 */
  }
  .idx-hero .dots {
    gap: 0.4vw; /* 10×0.8 */
  }
  .idx-hero .dots i {
    width: 6.1vw; /* 148×0.8 */
    height: 0.4vw; /* 10×0.8 */
    border-radius: 0.4vw;
  }
}
@media (min-width: 751px) and (max-width: 1168px) {
  /* 原 1460×0.8≈1168：標題縮字級 */
  .idx-stats h2 {
    font-size: 32px; /* 40×0.8 */
    margin-bottom: 0.85em;
  }
  .idx-story .storyCards .head h2 {
    font-size: 32px; /* 與 .idx-stats h2 字級一致 */
  }
}
@media (min-width: 751px) and (max-width: 840px) {
  /* 840 為接近手機前階，保留斷點；僅縮字級 */
  .idx-stats h2 {
    font-size: 26px; /* 32×0.8 */
    margin-bottom: 0.75em;
  }
  .idx-story .storyCards .head h2 {
    font-size: 26px; /* 與 .idx-stats h2 字級一致 */
  }
}
/* 第一次試點 token 階梯值沿用，擴及本次試點區塊 */
@media (max-width: 1168px) {
  .idx-service {
    --tf-xl: 45px; /* 56×0.8 */
    --tf-sm: 22px; /* 28×0.8 */
  }
  .idx-stats,
  .idx-story,
  .idx-hero {
    --tf-xl: 45px;
    --tf-sm: 22px;
  }
}
@media (max-width: 936px) {
  .idx-service {
    --tf-sm: 18px; /* 22×0.8 */
  }
  .idx-stats,
  .idx-story,
  .idx-hero {
    --tf-sm: 18px;
  }
}
/* .idx-stats .nona-grid：對齊 base_rwd，數值 ×0.8；斷點 1460→1168，840／750 保留 */
@media (min-width: 1169px) and (max-width: 1920px) {
  .idx-stats .nona-grid {
    /* 蓋過 base_rwd ≤1460 兩欄，讓試點三欄延續到 1169 */
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 29px 16px; /* 36×0.8 / 20×0.8 */
  }
  .idx-stats .nona-grid .st {
    gap: 10px; /* 12×0.8 */
  }
  .idx-stats .nona-grid .st .ic {
    height: 54px; /* 68×0.8 */
  }
  .idx-stats .nona-grid .st .ic img {
    max-width: 61px; /* 76×0.8 */
  }
  .idx-stats .nona-grid .st .num {
    font-size: clamp(45px, 2.9vw + 10px, 62px); /* 56/78×0.8；vw 係數約×0.8 */
  }
  .idx-stats .nona-grid .st .num .pre,
  .idx-stats .nona-grid .st .num small {
    font-size: clamp(19px, 1.2vw + 6px, 29px); /* 24/36×0.8 */
  }
  .idx-stats .nona-grid .st .desc {
    font-size: clamp(18px, 1vw + 6px, 22px); /* 22/28×0.8 */
  }
}
@media (max-width: 1168px) {
  .idx-stats .nona-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 751px) and (max-width: 1168px) {
  .idx-stats .nona-grid {
    gap: 29px 22px; /* 36×0.8 / 28×0.8 */
  }
  .idx-stats .nona-grid .st {
    gap: 11px; /* 14×0.8 */
  }
  .idx-stats .nona-grid .st .ic {
    height: 51px; /* 64×0.8 */
  }
  .idx-stats .nona-grid .st .ic img {
    max-width: 58px; /* 72×0.8 */
  }
  .idx-stats .nona-grid .st .num {
    font-size: var(--tf-mid);
  }
  .idx-stats .nona-grid .st .num .pre,
  .idx-stats .nona-grid .st .num small {
    font-size: 19px; /* 24×0.8 */
  }
  .idx-stats .nona-grid .st .desc {
    font-size: 18px; /* 22×0.8 */
  }
}
@media (min-width: 751px) and (max-width: 840px) {
  .idx-stats .nona-grid {
    gap: 19px 13px; /* 24×0.8 / 16×0.8 */
  }
  .idx-stats .nona-grid .st {
    gap: 8px; /* 10×0.8 */
  }
  .idx-stats .nona-grid .st .ic {
    height: 38px; /* 48×0.8 */
  }
  .idx-stats .nona-grid .st .ic img {
    max-width: 45px; /* 56×0.8 */
  }
  .idx-stats .nona-grid .st .num {
    font-size: var(--tf-sm);
  }
  .idx-stats .nona-grid .st .num .pre,
  .idx-stats .nona-grid .st .num small {
    font-size: 14px; /* 18×0.8 */
  }
  .idx-stats .nona-grid .st .desc {
    font-size: 14px; /* 18×0.8 */
  }
}
@media (max-width: 768px) {
  /* 原 960：服務四格改為 2×2；斷點 960×0.8=768 */
  .idx-service .quad-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 13px; /* 30×0.8 / 16×0.8 */
    margin: 0 36px; /* 45×0.8 */
  }
}
/*
 * ≤960：.idx-hero 改手機版型（避免 751–960 桌機雙欄標題與圓圖重疊）。
 * 751–960 用 750 稿固定 px；≤750 再以 mb() 等比縮小，與 961+ 的 max(pc,48px) 銜接不爆開。
 */
@media (max-width: 960px) {
  .idx-hero .slides {
    height: auto;
    aspect-ratio: 75/110;
  }
  .idx-hero .slides .slide .txt {
    text-align: center;
    align-items: center;
    justify-content: flex-start;
    padding: 80px 0; /* 100×0.8；≤750 由 mb() 覆寫 */
  }
  .idx-hero .slides .slide .txt h1 {
    font-size: 48px; /* 60×0.8；銜接 961+ 下限 */
    margin-bottom: 0.35em;
  }
  .idx-hero .slides .slide .txt .sub {
    font-size: 22px; /* 28×0.8 */
    margin-bottom: 0;
  }
  .idx-hero .slides .slide .txt .btn {
    position: absolute;
    left: 50%;
    bottom: 2%;
    transform: translateX(-50%);
    background: none;
    color: #fff;
    font-size: 29px; /* 36×0.8 */
    font-weight: 700;
    letter-spacing: 2px;
    padding: 0;
    border-radius: 0;
  }
  .idx-hero .slides .slide .txt .btn:hover {
    background: none;
  }
  .idx-hero .slides .slide.s1, .idx-hero .slides .slide.s2 {
    /* slide1 圖片：文字置中靠上、了解更多字落在底部黑 bar */
    background-color: var(--idx-lav, #C8BFE7);
    background-image: url("../img/index/banner/main-banner-1-mobile.jpg");
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
  }
  .idx-hero .slides .slide.s2 {
    background-image: url("../img/index/banner/main-banner-2-mobile.jpg");
  }
  .idx-hero .slides .slide.s2 .txt {
    top: 50%;
  }
  .idx-hero .dots {
    bottom: 12%;
    gap: 8px; /* 10×0.8 */
  }
  .idx-hero .dots i {
    width: 118px; /* 148×0.8 */
    height: 8px; /* 10×0.8 */
    border-radius: 8px;
  }
}
@media (max-width: 750px) {
  .idx-hero .slides .slide .txt {
    padding: 10.7vw 0; /* 100×0.8 */
  }
  .idx-hero .slides .slide .txt h1 {
    font-size: 6.4vw; /* 60×0.8 */
  }
  .idx-hero .slides .slide .txt .sub {
    font-size: 2.9vw; /* 28×0.8 */
  }
  .idx-hero .slides .slide .txt .btn {
    font-size: 3.9vw; /* 36×0.8 */
    letter-spacing: 0.3vw;
    bottom: 7.5%;
  }
  .idx-hero .slides .slide.s2 .txt {
    padding: 0 0 21.3vw; /* 200×0.8 */
  }
  .idx-hero .slides .slide.s2 .eyebrow {
    font-size: 4.1vw; /* 16×0.8 */
    margin-bottom: 0.8vw; /* 8×0.8 */
  }
  .idx-hero .slides .slide.s2 .btn {
    top: -2%;
  }
  .idx-hero .dots {
    gap: 1.1vw; /* 10×0.8 */
  }
  .idx-hero .dots i {
    width: 15.7vw; /* 148×0.8 */
    height: 1.1vw; /* 10×0.8 */
    border-radius: 1.1vw;
  }
  .idx-service h2 {
    font-size: 6vw; /* 原 56×0.8 */
  }
  .idx-stats h2,
  .idx-story .storyCards .head h2 {
    font-size: 6vw; /* 原 56×0.8；字級與 stats 一致 */
  }
  /* ≤750：.idx-stats .nona-grid 對齊 base_rwd 數值 ×0.8 後再 mb() */
  .idx-stats .nona-grid {
    gap: 3.9vw 2.9vw; /* 36/28 ×0.8 */
  }
  .idx-stats .nona-grid .st {
    gap: 1.5vw; /* 14×0.8 */
  }
  .idx-stats .nona-grid .st .ic {
    height: 6.8vw; /* 64×0.8 */
  }
  .idx-stats .nona-grid .st .ic img {
    max-width: 7.7vw; /* 72×0.8 */
  }
  .idx-stats .nona-grid .st .num {
    font-size: 5.1vw; /* 48×0.8 */
  }
  .idx-stats .nona-grid .st .num .pre,
  .idx-stats .nona-grid .st .num small {
    font-size: 2.5vw; /* 24×0.8 */
  }
  .idx-stats .nona-grid .st .desc {
    font-size: 2.4vw; /* 22×0.8 */
  }
  .idx-stats .nona-grid .st.st-budget .num {
    font-size: 3.6vw; /* 34×0.8 */
  }
  .idx-stats .nona-grid .st.st-wheelchair .num {
    font-size: 4.4vw; /* 41×0.8 */
  }
  .idx-stats .nona-grid .st.st-pem .num {
    font-size: 4vw; /* 38×0.8 */
  }
  /* ≤750：.idx-story .storyCards */
  .idx-story .storyCards .head {
    gap: 11px; /* 14×0.8 */
  }
  .idx-story .storyCards .card {
    flex: 0 0 86%; /* 比例維持 */
  }
}
@media (max-width: 480px) {
  /* 原 600×0.8=480 */
  .idx-service .quad-grid {
    gap: 16px 10px; /* 20×0.8 / 12×0.8 */
  }
  .idx-service .quad-grid .item {
    gap: 10px; /* 12×0.8 */
  }
  .idx-service .quad-grid .item .ic {
    height: 58px; /* 72×0.8 */
  }
  .idx-service .quad-grid .item .ic img {
    max-width: 70px; /* 88×0.8 */
    max-height: 100%;
  }
  .idx-service .quad-grid .item .lb {
    font-size: 13px; /* 16×0.8 */
  }
}
@media (max-width: 346px) {
  /* 原 433×0.8≈346 */
  .idx-service .quad-grid {
    margin: 0 12px; /* 15×0.8 */
  }
}
@media (max-width: 575px) {
  /* .idx-story .card：對齊 base_rwd ≤575，設計 px ×0.8 再 mb() */
  .idx-story .storyCards .card {
    border-radius: 3.5vw; /* 32×0.8 */
  }
  .idx-story .storyCards .card .ph {
    height: 31.5vw; /* 295×0.8 */
  }
  .idx-story .storyCards .card .info {
    padding: 4.3vw 2.9vw; /* 40/28 ×0.8 */
  }
  .idx-story .storyCards .card .info h3 {
    margin-bottom: 1.5vw; /* 14×0.8 */
  }
  .idx-story .storyCards .card .info p {
    font-size: 2.9vw; /* 28×0.8 */
  }
  .idx-story .storyCards .card .info .go {
    right: 3.5vw; /* 32×0.8 */
    bottom: 2.9vw; /* 28×0.8 */
  }
  .idx-story .storyCards .card .info .go svg {
    width: 3.2vw; /* 30×0.8 */
  }
}/*# sourceMappingURL=index-2026.css.map */