/* ======================== 導覽列樣式 ======================== */
.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #B89873;
  padding: 0 36px;
  min-height: 40px;
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  box-shadow: 0 2px 18px #92bdd133;
}

.logo-link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.logo {
  height: 54px;
  margin-right: 2px;
}
.nav-site-title {
  font-size: 22px;
  font-weight: 700;
  color: #eee2d6;
  letter-spacing: 1px;
}
/* Hamburger Menu 樣式 */
.hamburger-menu {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 1100;
}
.hamburger-menu span {
  display: block;
  width: 28px;
  height: 4px;
  background: #eee2d6;
  border-radius: 3px;
  transition: all 0.1s;
}

.nav-center {
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  align-items: center;
  gap: 38px;
}
.nav-center a {
  color: #eee2d6; /*#225363*/
  font-size: 1.3rem;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 7px;
  transition: background 0.18s, color 0.18s;
  text-decoration: none;
  letter-spacing: 1px;
}
.nav-center a.active,
.nav-center a:hover {
  background: #90e6c1;
  color: #176b54;
}

.nav-right select {
  padding: 6px 10px;
  font-size: 14px;
  border-radius: 4px;
  border: 1px solid #aaa;
  background: #fff;
}
.nav-right button {
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  padding: 6px 10px;
  color: #225363;
  transition: color 0.3s;
}

.nav-right button:hover {
  color: #157e57;
}
/* 解決錨點被navbar蓋住的問題 */
.section-anchor-fix {
  scroll-margin-top: 0px; /* 根據你的.navbar高度調整，通常54~80px，建議大於navbar一點 */
}
/* ======================== 主內容區塊 ======================== */
body {
  width: 100%; 
  max-width: 100vw;
  overflow-x: hidden;
  padding: 0;
  margin: 0;
  /*font-family: "Segoe UI", "Noto Sans TC", Arial, sans-serif;*/
  background-color: #B89873;  
  color: #284d5e;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}
body.visible {
  visibility: visible;
  opacity: 1;
}
main {
  padding: 42px 0 40px 0;
  text-align: center;
  padding-top: 60px;
}
/* ======================== 首頁滿版圖片區塊（Hero Banner） ======================== */
.hero-section {
  width: 100vw;
  height: 100vh;
  margin-left: calc(50% - 50vw); /* 滿版居中貼齊兩側 */
  overflow: hidden;
  position: relative;
}
.hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 保持比例，裁切填滿整個區塊 */
  object-position: center center; /* 確保手機等窄畫面也會顯示圖片中央 */
  display: block;
}
.hero-title {
  position: absolute;
  top: 20%;
  left: 6vw;
  z-index: 2;
  color: #f5ede3;             /* 淺米白，可依主題調整 */
  font-size: 5vw;           /* 根據螢幕大小自適應 */
  font-family: 'EB Garamond', serif !important;  
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 2px;
  text-shadow: 0 4px 18px #bfab8f33, 0 1.5px 0 #fff8;
  white-space: pre-line;      /* 支援換行 */
  pointer-events: none;       /* 不擋到背景 */
}
.hero-title span {
  display: block;
  text-align: left;    /* 這一行確保內容靠左對齊 */
}
.hero-logo {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%); /* 中偏上 */
  width: 200px;       /* 可依需求調整圖片顯示大小 */
  height: auto;
  z-index: 2;
  opacity: 0.92;      /* 可視需要調整透明度 */
}
/* ======================== index大區塊（關於睿至） ======================== */
.index-feature-grid2 {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 0px;
  padding: 0;   /* 滿版不要左右 padding */
}
.index-feature-block2 {
  min-height: 300px;
  width: 100vw;  /* 滿版寬度 */
  margin-left: calc(50% - 50vw);/* 讓內容真正貼齊螢幕左右 */
  /*aspect-ratio: 1024/426; /* 例：1200/400，請依你的圖實際像素設定 */
  background:    
            linear-gradient(
              to top right, 
            rgba(255, 255, 255, 0.98) 0%,    
            rgba(255, 255, 255, 0.92) 10%,
            rgba(255, 255, 255, 0.80) 22%,
            rgba(255, 255, 255, 0.65) 40%,
            rgba(255, 255, 255, 0.30) 55%,
            rgba(255, 255, 255, 0.00) 75%
            ),
            url('images/index_background_4.png');
  background-size: 100% auto;
  background-repeat: no-repeat; /* 保證不重複 */
  background-position: center center;

  box-shadow: 0 8px 32px 0 rgba(60, 60, 60, 0.11),
              0 1.5px 6px 0 rgba(140, 140, 140, 0.04);
  padding: 50px 0;
  border-radius: 0; /* 滿版不要圓角（如要留圓角可只設上下） */
  display: flex;
  flex-direction: row; /* ← 橫向排版 */
  align-items: flex-start;
  justify-content: center;
  gap: 8vw; /* 兩側間距 */
  transition: transform 0.22s, background 0.22s, box-shadow 0.22s;
  overflow: hidden; /* 避免 overlay 超出 */
}
.index-bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none; /* 不影響點擊 */
}
.index-left {
  flex: 1;
  align-items: flex-start;   /* 垂直靠上 */
  justify-content: flex-start; /* 水平靠左 */
  position: relative;
  z-index: 2; /* 讓內容蓋在 overlay 上方 */
}
.index-left h3 {
  margin: 0;
  color: #23504f;
  font-size: 40px;
  font-weight: 700;
  /*font-family: 'Segoe UI', 'Noto Sans TC', Arial, sans-serif;*/
  text-shadow: 0 2px 8px #d8fcf2;
  padding: 0px 35% 0 20px;  /* 上 右 下 左 */
}

.index-right {
  flex: 2;
  text-align: left; /* ← 這行讓所有內文左對齊 */
  position: relative;
  z-index: 2; /* 讓內容蓋在 overlay 上方 */
  padding-right: 5vw; /* 右側內距，確保文字不貼邊 */
}
.index-right p {
  color: #284d5e;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.72;
  letter-spacing: 0.04em;
  text-shadow: 0 1px 0 #ffffff88;
  /*font-family: 'Roboto', 'Montserrat', 'Noto Sans TC', Arial, sans-serif;*/
  margin-left: 320px;
}
.index-feature-block2 h3 {
  margin-top: 0;
  color: #23504f;
  font-size: 40px;
  /*font-family: 'Segoe UI', 'Noto Sans TC', Arial, sans-serif;*/
  font-weight: 700;
  line-height: 1.2;
  text-shadow: 0 2px 8px #d8fcf2;
}
.index-feature-block2 p {
  color: #284d5e;
  font-size: 20px;
  /*font-family: 'Roboto', 'Montserrat', 'Noto Sans TC', Arial, sans-serif;*/
  font-weight: 500;
  line-height: 1.72;
  letter-spacing: 0.04em;
  margin-top: 18px;
  margin-bottom: 0;
  text-shadow: 0 1px 0 #ffffff88;
}

.index-feature-block2:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 12px 32px rgba(0,0,0,0.14);
}

/* ======================== 特色亮點區塊 ======================== */
/* 外層統一包裝區塊 */
.index-feature-wrapper-features {
  background:    
            linear-gradient(
            to right top, 
            rgba(255,255,255,1) 40%,    
            rgba(255,255,255,0.94) 65%,
            rgba(255,255,255,0.84) 75%,
            rgba(255,255,255,0.75) 81%,
            rgba(255,255,255,0.28) 90%,
            rgba(255,255,255,0.00) 98%
            ), 
            url('images/features_0.jpg') center center / cover no-repeat;
  padding: 60px 6vw 60px;
  border-radius: 0px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  min-height: 700px;
}
.index-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
  margin-top: 0; /* 原本是 32px，會產生空隙 */
  padding: 0 ; /*8vw*/
}
.index-feature-block {
  background: linear-gradient(135deg, rgba(219,244,255,0.97) 0%, rgba(178,230,207,0.91) 100%);
  backdrop-filter: blur(2.5px);
  min-height: 300px;
  padding: 32px 20px; /* 原為 42px → 更緊湊一點 */
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border-radius: 18px;
  box-shadow: 0 8px 32px 0 rgba(60, 60, 60, 0.11),
              0 1.5px 6px 0 rgba(140, 140, 140, 0.04);
  text-align: left;
  transition: transform 0.22s, background 0.22s, box-shadow 0.22s;
  padding-bottom: 180px; /* 必須大於圖片高度！比圖片高度略大，確保內容不壓到圖片 */
  overflow: hidden; /* 避免 overlay 超出 */
}
.index-feature-block:hover {
  transform: translateY(-12px) scale(1.032);
  box-shadow: 0 12px 32px rgba(0,0,0,0.14);
  background:
    linear-gradient(135deg, rgba(255,255,255,0.28) 0%, rgba(185,255,245,0.13) 100%),
    linear-gradient(135deg, #eafdff 0%, #b8eaff 40%, #a8e6a2 100%);
}
.index-feature-block h3 {
  margin: 0 0 14px 0;
  color: #004d40;
  font-size: 25px;
  /*font-family: 'Segoe UI', 'Noto Sans TC', Arial, sans-serif;*/
  font-weight: 700;
  text-align: center;
  text-shadow: 0 1.5px 8px #fff;
}
.index-feature-block p {
  color: #284d5e;
  font-size: 17px;
  /*font-family: 'Roboto', 'Montserrat', 'Noto Sans TC', Arial, sans-serif;*/
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.04em;
  margin-top: 12px;
  margin-bottom: 0;
  text-shadow: 0 1px 0 #ffffff88;
  text-align: left;
}
/* 願景大標 */
.vision-block {
  text-align: left;
  margin-top: 60px;
  margin-bottom: 40px; /* ← 增加與下方 block 的垂直距離 */
  /*padding-left: 6vw;        /* 往右內縮一點，跟其他區塊對齊 */
  padding-left: 0 !important;

}
.vision-block h3 {
  font-size: 40px;
  color: #23504f;
  margin-bottom: 20px;
  margin-top: 0;            /* 可選：清掉可能預設的 h3 上邊距 */
}
.vision-block p {
  font-size: 20px;
  line-height: 1.8;
  color: #284d5e;
  max-width: 800px;
  margin: 0;
  text-shadow: 0 1px 0 #ffffff88;
}
.feature-block-img {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;      /* 或 100% 或其它固定寬度 */
  height: auto;
  margin: 0;
  display: block;
}
/* ======================== 服務項目 ======================== */
/* 外層統一包裝區塊 */
.index-feature-wrapper-services {
  background:     
            linear-gradient(
            to right bottom, 
            rgb(226, 251, 253) 28%,    
            rgba(226, 251, 253,0.94) 35%,
            rgba(226, 251, 253,0.84) 45%,
            rgba(226, 251, 253,0.75) 70%,
            rgba(226, 251, 253,0.28) 90%,
            rgba(226, 251, 253,0.00) 98%
            ),
            url('images/services_background.png') center center / cover no-repeat;
  padding: 60px 15vw 60px;
  border-radius: 0px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  min-height: 700px;
}
/* 2x2 格狀排列 */
.services-section-grid2x2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 20px;
}

/* 單一 service 卡片 */
.service-card {
  display: flex;
  align-items: stretch;
  background: linear-gradient(135deg, rgba(219,244,255,0.97) 0%, rgba(178,230,207,0.91) 100%);
  border-radius: 20px;
  box-shadow: 0 6px 24px 0 rgba(220,100,40,0.07);
  overflow: hidden;
  min-height: 250px;
  transition: box-shadow 0.22s, background-position 0.85s cubic-bezier(.43,.11,.56,.94);
  width: 100%;
}

/* 左文右圖：預設（.service-left） */
.service-left { flex-direction: row; }
/* 右圖左文 */
.service-right { flex-direction: row-reverse; }

/* 圖片區 */
.service-imgbox {
  flex: 0 0 80px;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
  border-radius: 0 20px 20px 0;
  min-width: 180px;
  min-height: 100%;
  max-width: 220px;
  position: relative;
  overflow: hidden;
  position: relative; 
}
.service-right .service-imgbox {
  border-radius: 20px 0 0 20px;
}
.service-imgbox img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: contain;   
  border-radius: 0;
  display: block;
  background: transparent;
  box-shadow: none;
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
}
/* 內容區 */
.service-content {
  flex: 1 1 0;
  padding: 36px 0px 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;  /* 垂直靠上 */
  align-items: flex-start;      /* 水平靠左 */
}
.service-content h3 {
  color: #157e57;
  margin: 0 0 14px 0;
  font-size: 25px;
  border-left: 6px solid #34d399;
  padding-left: 12px;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: left;
}
.service-content ul {
  padding-left: 0;
  margin: 8px 0 0 0;
  list-style: none;
  text-align: left;
}
.service-content li {
  font-size: 17px;
  color: #153f31;
  line-height: 2.1;
  padding-left: 1.2em;
  padding-right: 1vw ;
  position: relative;
  text-align: left ;

}
.service-content li:before {
  content: '•';
  color: #34d399;
  position: absolute;
  left: 0;
}
.service-card:hover .service-imgbox img {
  transform: scale(1.08) rotate(-1.5deg);
}

/* ======================== 聯絡我們 Contact ======================== */
/* 外層統一包裝區塊 */
.index-feature-wrapper-contect_us {
  background:  url('images/contect_us_background.png') center center / cover no-repeat;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 20px 6vw 100px;
  border-radius: 0px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  min-height: 700px;
}
.contact-flex {
  display: flex;
  flex-direction: row;
  gap: 50px;
  justify-content: center;
  align-items: flex-start;
  margin-top: 24px;
  flex-wrap: wrap;
}
form {
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 40px;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
form label {
  font-weight: bold;
  color: #333;
  text-align: left;
  display: block;
  margin-bottom: 1px;
}
form input,
form textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 15px;
  box-sizing: border-box;
}
form textarea {
  min-height: 140px;
  resize: vertical;
}
form button {
  background-color: #f26522;
  color: white;
  border: none;
  padding: 14px;
  font-size: 16px;
  font-weight: bold;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s;
}
form button:hover {
  background-color: #d35400;
}
main h2 {
  text-align: center;
  margin-top: 40px;
  color: #1f3d2d;
}
.contact-info {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  padding: 36px 30px 24px 30px;
  min-width: 280px;
  max-width: 340px;
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  box-sizing: border-box;
}
.contact-info h3 {
  color:#80c397;
  margin-bottom:0.6em;
  font-size: 40px;
  font-weight: bold;
}
.contact-info .contact-title {
  font-weight: bold;
  color:#4f3470;
  font-size: 18px;
  margin-bottom: 0.8em;
}
.contact-info .contact-label {
  color: #8c8c8c;
  font-size: 13px;
  margin-bottom: 2px;
}
.contact-info a { color: #4472c4; text-decoration: underline; word-break: break-all;}
.contact-info .map {
  margin-top: 18px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(40,40,40,0.09);
}

/* ======================== 浮動 LOGO/頁尾 ======================== */
.corner-logo {
  position: fixed;
  bottom: 20px;
  right: 20px;
  height: 50px;
  opacity: 0.6;
  transition: opacity 0.3s;
  z-index: 1000;
}
.corner-logo:hover {
  opacity: 1;
}
footer {
  background: linear-gradient(
    to top,
    #b89873 80%,
    #e8dfd1 100%
  ); /* 漸層更有層次 */
  color: #284d5e;
  padding: 36px 0 28px 0;
  font-size: 1rem;
  border-top: 2px solid #d2c2aa;
  position: relative;
  z-index: 2;
}
.footer-content {
  text-align: center;
  max-width: 660px;
  margin: 0 auto;
}
.footer-content p {
  margin: 0 0 10px 0;
  line-height: 1.8;
  font-family: "Noto Sans TC", "Montserrat", Arial, sans-serif;
  letter-spacing: 0.04em;
}
.footer-content p[data-lang="footer_text1"] {
  color: #284d5e; /*#284d5e  #174048  #23504f*/
  font-weight: bold;
  font-family: "EB Garamond", "Montserrat", Arial, serif;
  font-size: 1.1rem;
  margin-bottom: 8px;
}
.footer-content p[data-lang="footer_text2"] {
  color: #617882;
  font-size: 0.98rem;
  font-family: "EB Garamond", "Montserrat", Arial, serif;
  margin-bottom: 6px;
}
.footer-content p[data-lang="footer_text3"] {
  color: #a67c4f;
  font-family: "EB Garamond", "Montserrat", Arial, serif;
  font-size: 1.08rem;
  letter-spacing: 0.12em;
  font-weight: 500;
}

/* ======================== 響應式 RWD 設計 ======================== */
/* ======================== 600px Only 手機專用 RWD ======================== */
@media (max-width: 600px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
  }
  .navbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    z-index: 9999 !important;
    min-height: 76px !important;
    height: 76px !important;
    background: #B89873;
    box-sizing: border-box;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 2vw !important; 
  }
  .logo {
    height: 34px !important;   /* 手機建議小一點 */
    margin-right: 2px !important;
  }
  .logo-link { 
   /* margin-bottom: 0; */
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
  }
  .nav-center {
    position: absolute !important;
    top: 60px !important;
    left: 0;
    width: 100vw !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    background: #B89873;
    box-shadow: 0 4px 16px #92bdd133;
    padding: 18px 0 16px 24px !important;
    gap: 0 !important;
    transform: translateY(-200%);
    transition: transform 0.32s cubic-bezier(.42,.33,.25,1.09);
    z-index: 2100;
    opacity: 0.97;
  }
  .nav-center.show {
    transform: translateY(0%);
    box-shadow: 0 6px 24px #92bdd199;
    opacity: 1;
  }
  .nav-center a {
    font-size: 1.13rem !important;
    width: 100%;
    padding: 13px 10px !important;
    margin: 0 !important;
    text-align: left !important;
    border-radius: 0 !important;
    border-bottom: 1px solid #eee2d6;
    word-break: break-word;
  }
  .nav-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-left: auto !important;
    /* 保證貼右 */
    position: static !important;
  }
  .nav-right button {
    font-size: 24px !important;
    /*padding: 3px 6px !important;*/
    padding: 0 !important;
  }
  .hamburger-menu {
    display: flex !important;
    width: 32px !important;
    height: 32px !important;
    align-items: center !important;
    margin-left: 0 !important;
  }
  .hamburger-menu span {
    width: 26px !important;
    height: 4px !important;
  }
  .section-anchor-fix {
    scroll-margin-top: 90px;
  }
  main {
    padding-top: 70px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
  }
  /* hero 區塊 */
  .hero-section {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  .hero-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 70% center !important;
    border-radius: 0 !important;
  }
  .hero-title {
    left: 8vw !important;
    top: 16vw !important;
    font-size: 8vw !important;
    line-height: 1.22 !important;
    white-space: pre-line;
    max-width: 90vw;
    z-index: 2;
    text-shadow: 0 2px 6px #624e3a50, 0 1px 0 #fff5;
  }
  /* index 關於睿至大區塊 */
  .index-feature-block2 {
    flex-direction: column !important;
    min-height: 120px !important;
    width: 100% !important;
    padding: 18vw 0 4vw 4vw !important;
    gap: 4vw !important;
    margin-left: 0 !important;
    background-size: cover !important;
    box-shadow: none !important;
  }
  .index-bg-overlay {
    display: none !important;
  }
  .index-left,
  .index-right {
    width: 100% !important;
    position: static !important;
  }
  .index-left h3 {
    font-size: 1.25rem !important;
    padding: 0 0 0 6vw !important;
    text-align: left !important;
  }
  .index-right p {
    font-size: 1.07rem !important;
    margin: 0 !important;
    padding: 0 6vw 0 6vw !important;
    line-height: 1.7;
    max-width: 92vw;
    word-break: break-word;
    background: rgba(255,255,255,0.75);
    border-radius: 8px;
    text-align: left !important;
  }
  /* 特色亮點區塊 */
  .index-feature-wrapper-features {
    padding: 10vw 0 0vw 0 !important;
    background-size: cover !important;
    min-height: unset !important;
  }
  .vision-block {
    padding-left: 5vw !important;
    margin-top: 8vw !important;
    margin-bottom: 7vw !important;
  }
  .vision-block h3 {
    font-size: 1.3rem !important;
  }
  .vision-block p {
    font-size: 1rem !important;
    padding-right: 5vw !important;
    line-height: 1.6;
  }
  .index-feature-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
    padding: 0 2vw !important;
  }
  .index-feature-block {
    padding: 20px 12px 56px 12px !important;
    border-radius: 12px !important;
    min-height: unset !important;
    max-width: 85vw !important;
    margin: 0 auto 18px auto !important;
    box-shadow: none !important;
    padding-bottom: 0px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;   /* 關鍵！所有子元素水平置中 */
  }
  .index-feature-block h3 {
    font-size: 1.12rem !important;
    text-align: left !important;
    margin-bottom: 0.5em !important;
  }
  .index-feature-block p {
    font-size: 1rem !important;
    line-height: 1.6;
    text-align: left !important;
    padding-right: 3vw !important;
  }
  .feature-block-img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 90vw !important;
    margin-top: 16px !important;
    object-fit: contain !important;
    margin-left: 50% !important;
    margin-right: auto !important;
  }
  /* 服務項目 */
  .index-feature-wrapper-services {
    padding: 10vw 0 0 0 !important;
    min-height: unset !important;
    background-size: cover !important;
  }
  .services-section-grid2x2 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    padding: 0 2vw !important;
  }
  .service-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 90% !important;
    min-height: unset !important;
    margin: 0 auto 18px auto !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    background: linear-gradient(135deg, rgba(219,244,255,0.97) 0%, rgba(178,230,207,0.91) 100%);
    overflow: hidden !important;  /* 關鍵：確保內容都包在底色內 */
    position: static !important;
    padding-bottom: 0 !important;  /* 取消多餘的底部空間 */
  }
  .service-content {
    padding: 18px 10px 8px 12px !important;
    align-items: flex-start !important;
  }
  .service-content h3 {
    font-size: 1.07rem !important;
    border-left: 4px solid #34d399;
    padding-left: 0.6em !important;
    margin-bottom: 0.8em !important;
  }
  .service-content li {
    font-size: 1rem !important;
    padding-left: 1.1em !important;
    line-height: 1.7 !important;
    margin-bottom: 0.4em !important;
    word-break: break-word;
  }
  .service-imgbox {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 300px !important;
    height: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important; /* 關鍵：底部對齊 */
    background: transparent !important;
    border-radius: 0 0 14px 14px !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    /* 刪除多餘的 margin-bottom */
  }
  .service-imgbox img {
    display: block !important;
    width: 100% !important;
    max-width: 92vw !important;
    height: auto !important;
    max-height: 220px !important;
    object-fit: contain !important;
    border-radius: 0 0 14px 14px !important;
    margin: 0 auto 0 auto !important;  /* 關鍵：取消底部留白 */
    background: transparent !important;
    position: static !important;
  }
  /* 聯絡我們 Contact Us */
  .index-feature-wrapper-contect_us {
    padding: 7vw 0 7vw 0 !important;
    min-height: unset !important;
    background-size: cover !important;
    width: 100% !important;
    margin-left: 0 !important;
  }
  .contact-flex {
    flex-direction: column !important;
    gap: 18px !important;
    width: 92% !important;
    margin: 0 auto !important;
    padding: 0 5vw !important;
    align-items: stretch !important;
  }
  form {
    max-width: 100% !important;
    padding: 18px 8px !important;
    font-size: 1rem !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }
  .contact-info {
    max-width: 100% !important;
    padding: 20px 8px 18px 8px !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    margin: 0 auto 8px auto !important;
    box-shadow: none !important;
  }
  .contact-info .map {
    margin-top: 12px !important;
    height: 140px !important;
    border-radius: 8px !important;
  }
  .corner-logo {
    height: 32px !important;
    bottom: 10px !important;
    right: 10px !important;
  }
  footer {
    font-size: 0.95rem !important;
    padding: 12px 0 !important;
  }
}

/* ================================================================ */
html {
  scroll-behavior: smooth !important;
}

/* ======================== 字體設定 ======================== */
body.font-zh {
  font-family: "Noto Sans TC", "PingFang TC", "微軟正黑體", Arial, sans-serif;
}
body.font-en {
  font-family: "EB Garamond", "Inter", "Montserrat", Arial, sans-serif;
}
