

.area-hero {
  position: relative;
  margin-top: 4.625rem;
  min-height: 16rem;
  padding: 5rem 1.5rem 0;                              /* 留 breadcrumb 空間；底 0 給卡片貼齊 */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
  isolation: isolate;
  color: var(--color-navy, #262A71);
}
.area-hero__map {
  position: absolute;
  inset: 0;
  z-index: -1;
  /* 圖由各頁 inline --hero-bg 提供；#dce6ec 為 fallback — longhand 寫法 */
  background-color: #dce6ec;
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/* 手機（contact 做法）：地圖固定為圖片比例（750×594 → 79.2vw）、貼頂 cover，照片完整顯示；
   標題區撐到照片底，白卡接在照片下緣 */
@media (max-width: 767.98px) {
  .area-hero__map,
  .area-hero__map::after { height: 79.2vw; bottom: auto; }
  .area-hero__map {
    background-image: var(--hero-bg-m, var(--hero-bg));
    background-position: top center;
    background-size: cover;
  }
  .area-hero { min-height: 0; }
  .area-hero__label { margin-top: calc(39.6vw - 7.75rem); }
  .area-hero__title { font-size: 3.5rem; min-height: calc(39.6vw + 1rem); }
}
.area-hero .breadcrumb {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  padding: 0;
  color: var(--color-navy, #262A71);
}
.area-hero__label {
  display: inline-block;
  font-family: var(--font-body, sans-serif);
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--color-navy, #262A71);
  margin-bottom: 0.25rem;
}
@media (max-width: 767.98px) {
  .area-hero__label { font-size: 0.9375rem; letter-spacing: 0.14em; }
}
.area-hero__title {
  margin: 0;
  font-family: var(--font-display, sans-serif);
  font-weight: 800;
  font-size: clamp(2.5rem, 9vw, 8rem);                 /* = contact get-in-touch (40 → 128px) */
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--color-navy, #262A71);
}

@media (min-width: 768px) {
  .area-hero { min-height: 32rem; padding: 6rem 2.5rem 0; }
  .area-hero .breadcrumb { top: 2rem; left: 2.5rem; right: 2.5rem; }
}
@media (min-width: 1024px) {
  .area-hero { min-height: clamp(49.375rem, 70svh, 75rem); padding: 6rem 3rem 0; }   /* = contact hero 高度 */
  .area-hero .breadcrumb { top: 2.5rem; left: 3rem; right: 3rem; }
  .area-hero__label { margin-top: 3%; }
}
/* ≥1280：標題 / breadcrumb / 白卡 對齊到置中的 1366 內容欄（地圖 bg 仍滿版）*/
@media (min-width: 1280px) {
  .area-hero {
    margin-top: 6.25rem;
    padding-left:  var(--edge-pad);
    padding-right: var(--edge-pad);
  }
  .area-hero .breadcrumb {
    left:  var(--edge-pad);
    right: var(--edge-pad);
  }
  /* 白卡背景延伸到視窗左緣，內容靠 padding 對齊 1366 欄左緣 */
  .area-hero__card { left: 0; width: 50vw; }
  .area-hero__card .hero-card__inner {
    padding-left: var(--edge-pad);
  }
}

.area-hero__card { color: var(--color-text-body, #333); }
@media (max-width: 767.98px) {
  .area-hero__card { margin-top: 0; }
}

.area-intro {
  background: var(--color-white, #fff);
  padding: 1.5rem 1.5rem;
}
.area-intro__inner {
  width: 100%;
  max-width: var(--content-max, 85.3125rem);           /* 內頁固定 1366，不跟 FHD 放大 */
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}
.area-intro__aside-intro {
  margin: 0 0 2rem;
  font-size: 0.875rem;                 /* 縮小為在地補充說明,弱化為次要文字 */
  line-height: 1.5;
  color: var(--color-text-muted);      /* #666 灰,弱化為次要文字 */
}

@media (min-width: 1024px) {
  .area-intro { padding: 4rem 3rem; }
  /* 左 icon | 右 trust-bar 同列頂端對齊,補充段落移到下方橫跨整列 */
  .area-intro__inner {
    grid-template-columns: 1fr 1fr;
    column-gap: 4rem;
    row-gap: 2.25rem;
    align-items: start;
    grid-template-areas:
      "features trust"
      "note     note";
  }
  .area-intro__aside { display: contents; }   /* 拆開,讓段落與 trust-bar 成為同層 grid item */
  .area-features { grid-area: features; }
  .area-intro__aside .trust-bar { grid-area: trust; }
  .area-intro__aside-intro { grid-area: note; margin: 0; }
}
@media (min-width: 1280px) {
  .area-intro { padding: 4rem; }
}

.area-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
}
.area-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.625rem;
}
.area-feature__icon {
  width: clamp(4.5rem, 14vw, 6.875rem);
  height: auto;
}
.area-feature__text {
  margin: 0;
  font-family: var(--font-body, sans-serif);
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.2;
  color: var(--color-navy, #262A71);
}

.cta-band {
  background: var(--color-white, #fff);
  padding: 0rem 0 5rem 0;
}
.cta-band__inner {
  width: 100%;
  max-width: var(--content-max, 85.3125rem);           /* 內頁固定 1366 */
  margin: 0 auto;
  background: var(--color-navy, #262A71);
  border-radius: 2.5rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  padding: 2rem 1.5rem;
  text-align: center;
}
.cta-band__logo { width: 8rem; height: auto; }
.cta-band__slogan {
  margin: 0;
  font-family: var(--font-cta, sans-serif);
  font-weight: 800;
  font-size: 1.5rem;
  line-height: 1.15;
  color: var(--color-white, #fff);
}
.cta-band__phone {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
}
.cta-band__badge { width: 3rem; height: auto; }
.cta-band__badge--navy { display: none; }
.cta-band__num {
  font-family: var(--font-display, sans-serif);
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--color-yellow, #F0BC29);
  text-decoration: none;
}

@media (max-width: 1023.98px) {
  .cta-band { padding: 0 1.5rem 5rem; }
  .cta-band__logo { display: none; }
  .cta-band__badge--light { width: 3.25rem; }         /* 52px，與 32px 號碼成比例 */
  .cta-band__num { font-size: 2rem; }
  .cta-band__phone { gap: 0.875rem; }
}

@media (min-width: 1024px) {
  .cta-band__inner {
    flex-direction: row;
    text-align: left;
    gap: 0;
    align-items: stretch;
    padding: 0;
  }
  .cta-band__logo { align-self: center; margin: 0 2rem; width: 16rem; }
  .cta-band__slogan {
    align-self: center;
    flex: 1;
    padding: 2rem 2rem;
    border-left: 0.25rem solid var(--color-yellow, #F0BC29);
    font-size: 2.1875rem;
  }
  .cta-band__phone {
    flex-direction: column;
    justify-content: center;
    background: var(--color-yellow, #F0BC29);
    padding: 2rem 2.5rem;
    gap: 0.75rem;
  }
  .cta-band__badge--light { display: none; }
  .cta-band__badge--navy  { display: block; width: 6.25rem; }
  .cta-band__num { color: var(--color-navy, #262A71); }
}

.fleet-band {
  position: relative;
  min-height: 23rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 2.5rem 1.5rem 3rem;
  overflow: hidden;
  isolation: isolate;
  text-align: center;
  color: var(--color-white, #fff);
}
.fleet-band__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #dce6ec bottom center / cover no-repeat;
}
.fleet-band__title {
  margin: 0;
  font-family: var(--font-cta, sans-serif);
  font-weight: 800;
  font-size: clamp(2rem, 5vw, 3.75rem);                /* = section-title (32 → 60px) */
  line-height: 1.15;
  position: relative;
  top: 2rem;                                                /* 往下推一點，讓字不會太貼照片上緣 */
}
@media (min-width: 768px) { .fleet-band { min-height: 22rem; } }
@media (min-width: 1024px) { .fleet-band { min-height: 850px; } }

@media (min-width: 1024px) {
  .testimonials--center .testimonials__slider { margin-right: 0; }
  .testimonials--center .slider__track { justify-content: center; }
  /* badges 對齊上方 3 張卡的總寬（435×3 + 20×2 = 1345px）置中 */
  .testimonials--center .testimonials__badges {
    max-width: 84.0625rem;
    margin-left: auto;
    margin-right: auto;
  }
}

