:root {
    --bg-green: #446747;
    --bg-cream: #ECE5D8;
    --title-orange: #F3A615;
    --title-red: #FD6037;
    --text: #000000;
    --sub-gray: #4d4d4d;
    --light-green: #81A45A;
    --write: #ffffff;
    --gray: #C7C7C7;
}
*{ box-sizing: border-box; }
html,body{ height: 100%; }
body{
    margin: 0;
    background: var(--bg-green);
    font-family: "Noto Sans TC", sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

    .fade-element {
      opacity: 0; /* 初始透明度 */
      transition: opacity 0.5s ease-in-out; /* 過渡效果：0.5秒內淡入/淡出 */
    }

    .fade-element.show {
      opacity: 1; /* 顯示時的透明度 */
    }

/* ============ index Banner ============ */
.hero{
    padding-top: 120px;
    padding-bottom: 48px;
}

.hero-inner{
    width: auto;
    height: 750px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.05fr .95fr; /* 左字右圖，接近你圖中的比例 */
    gap: 40px;
    align-items: stretch;
}

.hero-left{
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 5vw;
}

.hero-title{
    margin: 0 0 10px;
    font-size: clamp(28px, 100px, 200px);
    line-height: 1.15;
    color: var(--title-orange);
    font-weight: 900;
    letter-spacing: .5px;
}

.hero-sub{
    margin: 12px 0 30px;
    color: var(--write);
    font-size: clamp(14px, 1.6vw, 25px);
    opacity: .95;
}
/* 進度條 */
.hero-progress{
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    max-width: 420px;
}
.index-label{
    font-weight: 800;
    letter-spacing: 1px;
    color: var(--write);
}
.index-track{
    position: relative;
    height: 12px;
    background: var(--bg-cream);
    border-radius: 8px;
    overflow: hidden;
}
.index-fill{
    position: absolute; 
    left: 0; 
    top: 0; 
    bottom: 0;
    background: var(--light-green);
    border-right: 4px solid var(--bg-cream);
}

/* 右圖 */
.hero-right{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 5vw;
}
.hero-image{
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 6px;
}

/* 平板橫向 (max 1200px) */
@media (max-width: 1200px) {
    .hero-inner {
        height: auto;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .hero-title {
        font-size: clamp(28px, 5vw, 80px);
    }
}

/* 平板直向 (max 992px) */
@media (max-width: 992px) {
    .hero-inner {
        grid-template-columns: 1fr;
        text-align: center;
        height: auto;
        padding: 0 5vw;
    }

    .hero-left {
        margin-left: 0;
        order: 2;
    }

    .hero-right {
        order: 1;
        margin-right: 0;
    }

    .hero-image {
        max-width: 80%;
        margin: 0 auto 20px;
    }

    .hero-title {
        font-size: clamp(24px, 6vw, 60px);
    }

    .hero-sub {
        font-size: clamp(14px, 3vw, 20px);
    }
}

/* 手機橫向 (max 768px) */
@media (max-width: 768px) {
    .hero {
        padding-top: 80px;
        padding-bottom: 40px;
    }

    .hero-inner {
        gap: 20px;
    }

    .hero-image {
        max-width: 100%;
        border-radius: 4px;
    }

    .hero-title {
        font-size: clamp(22px, 7vw, 45px);
    }

    .hero-sub {
        font-size: clamp(13px, 3vw, 18px);
    }
}

/* 手機直向 (max 576px) */
@media (max-width: 576px) {
    .hero {
        padding-top: 85px;
        padding-bottom: 30px;
    }

    .hero-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        height: 580px;
        justify-content: center;
    }

    .hero-title {
        font-size: 28px;
        line-height: 1.25;
    }

    .hero-sub {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .hero-image {
        width: 100%;
    }
}
/* ============ index same css ============ */
.indexOne, .indexThree{ 
    background:var(--bg-cream); 
    padding:clamp(56px,9vw,150px) 16px; 
}
.indexOne__inner, .indexTwo__inner, .indexThree__inner{ 
    width:min(1100px,92vw); 
    margin:0 auto; 
    text-align:center; 
}
.indexOne__title, .indexTwo__title, .indexThree__title{
    margin:0; 
    color:var(--title-red);
    font-size:clamp(32px,6vw,75px);
    font-weight:900; 
    letter-spacing:.04em; 
    line-height:1.1;
}
.indexOne__sub, .indexTwo__sub, .indexThree__sub{
    margin: 1rem 0 2rem; 
    color: var(--sub-gray); 
    font-weight:700; 
    letter-spacing:.06em;
    font-size:clamp(20px,2.5vw,30px);
}

/* ============ index 教學特色 ============ */
.indexOne__header{ text-align:center; margin-bottom:clamp(24px,5vw,48px); }

.indexOne__stage{
  --ring-size: clamp(320px, 56vw, 620px);
  position:relative;
  width:var(--ring-size); 
  height:var(--ring-size);
  margin:100px auto;
}

/* 外圈 */
.indexOne__ring{
  position:absolute; inset:0;
  border:1px solid var(--text);
  border-radius:50%;
}

/* 小高爾夫球（沿外圈跑） */
.indexOne__golf{
  position:absolute; 
  width:22px; 
  height:22px; 
  object-fit:contain;
  transform: translate(-50%, -50%);           /* 以中心對齊 */
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.18));
  z-index:1;
}

/* 中央圓圖 + 疊字 */
.indexOne__center{ position:absolute; inset:0; display:grid; place-items:center; }
.indexOne__hero{
  width:60%; 
  height:60%; 
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  opacity:1; 
  transform:scale(1);
  transition: opacity .35s ease, transform .35s ease;
}
.indexOne__hero.is-pop     { animation: indexOne__popImg .45s cubic-bezier(.2,.8,.2,1); }
.indexOne__heroText.is-pop { animation: indexOne__pop    .45s cubic-bezier(.2,.8,.2,1); }
@keyframes indexOne__pop {
  0%   { transform: translate(-50%, -50%) scale(1);   }
  60%  { transform: translate(-50%, -50%) scale(1.08); }
  100% { transform: translate(-50%, -50%) scale(1);   }
}
@keyframes indexOne__popImg {
  0%   { transform: scale(1);   }
  60%  { transform: scale(1.08); }
  100% { transform: scale(1);   }
}
.indexOne__heroText{
  position:absolute; 
  top:50%; left:50%; 
  transform:translate(-50%,-50%);
  margin:0;
  color:#fff; 
  font-weight:900; 
  font-size:clamp(20px,2.4vw,30px);
  text-align:center; 
  z-index:2;
  text-shadow: #000000 1px 0 10px;
}

/* 節點 */
.indexOne__nodes{ list-style:none; margin:0; padding:0;}
.indexOne__node{
  position:absolute; 
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  z-index: 2;
}
.indexOne__node button{
  all:unset; 
  cursor:pointer;
  display:grid; 
  place-items:center;
  width:clamp(46px,6.8vw,66px); 
  aspect-ratio:1/1;
  border-radius:50%; 
  background:var(--bg-cream);
  border:1px solid var(--text); 
  color:#7B7B7B;
  font-weight:500; 
  font-size:clamp(18px,2.5vw,25px);
  transition: transform .2s ease, color .2s ease, box-shadow .2s ease;
}
.indexOne__node.is-active button{
  color:var(--text);
  font-weight:900;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

/* ============ index 課程 ============ */
:root{
  --collapsed: 72px;    /* 水平：收合寬度 */
  --expanded: 120px;     /* 水平：展開寬度 */
  --v-collapsed: 72px;   /* 垂直：收合高度 */
  --radius: 12px;
  --gap: 16px;
  --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.indexTwo{ 
  padding: clamp(56px, 9vw, 150px) 16px; 
    max-width: 1200px;
    margin: 0 auto;
}
.indexTwo__header{
  width: min(1100px, 92vw);
  margin: 0 auto 30px; 
  text-align: center;
}
.indexTwo__title{
    color: var(--title-orange);
}
.indexTwo__sub{
    color: var(--write);
}
.indexTwo__card-list{
  display: flex;
  align-items: stretch;
  gap: var(--gap);
  padding: 8px var(--gap);
  justify-content: center;
}
.indexTwo__card{
 position: relative;
 flex: 0 0 var(--collapsed);
 height: 360px;
 border-radius: var(--radius);
 overflow: hidden;
 background: #fff;
 border: 1px solid #000000;
 transition: flex-basis .45s cubic-bezier(.2,.8,.2,1), transform .3s ease, height .45s cubic-bezier(.2,.8,.2,1);
 cursor: pointer;
 will-change: flex-basis, height;
}
.indexTwo__card:active{ transform: scale(.995); }

/* stripe - 桌面：垂直文字 */
.indexTwo__stripe{
  position:absolute;
  inset:0;
  width: var(--collapsed);
  height: 100%;
  background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.65)), var(--bg) center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  transition: background .35s ease, width .45s cubic-bezier(.2,.8,.2,1);
}
.indexTwo__card.active .indexTwo__stripe{
 background:#fff;
}
.indexTwo__title-stripe{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: .12em;
  font-size: 30px;
  color:#111827;
  font-weight: 900;
}

/* body - 桌面：從左側出現 */
.indexTwo__body{
  position:absolute;
  inset:0 0 0 var(--collapsed);
  padding: 28px 24px 20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  opacity:0;
  transition: opacity .35s ease
}
/* body 內部的背景圖和漸層 */
.indexTwo__body::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--bg) center/cover no-repeat;
  transform-origin:center;
  z-index:-1;
}
.indexTwo__body::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255) 0%,rgba(255,255,255,.60) 30%,rgba(255,255,255,.60) 100%);
  z-index:-1;
}
.indexTwo__body h3{margin:0 0 4px 0;font-size:22px;}
.indexTwo__body p{margin:0 0 8px 0;font-size:13px;line-height:1.6;color:#334155;max-width:46ch;}
.indexTwo__cta{
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  color:#0f172a;
  border-bottom:2px solid #0f172a;
  width:max-content;
  padding-bottom:2px;
}

/* active - 桌面 (水平展開) */
.indexTwo__card.active{
 flex: 1 0 var(--expanded);
}
.indexTwo__card.active .indexTwo__body{
 opacity:1;
 transform:translateX(0);
}

/* ============= 響應式設計：垂直手風琴模式 (max 700px) ============= */
@media(max-width:1000px){
 /* 容器：切換為垂直堆疊 */
 .indexTwo__card-list{
    max-width: 100%;
    margin: 0 auto;
    overflow-x: hidden; /* 確保沒有水平滾動 */
    flex-direction: column; /* 垂直排列 */
    padding: 0 16px; /* 清除不必要的 padding */
    gap: 8px; /* 減小垂直間距 */
  }
    
 /* 卡片：垂直展開樣式 */
 .indexTwo__card{
    flex: 0 0 var(--v-collapsed); /* 使用新的垂直收合高度 */
    height: var(--v-collapsed);
    width: 100%;
  }

 /* stripe：作為頂部標題列 */
 .indexTwo__stripe{
    width: 100%; /* 寬度佔滿 */
    height: var(--v-collapsed); /* 高度使用垂直收合高度 */
    position: relative; /* 不再是絕對定位覆蓋全卡片 */
    align-items: center;
    justify-content: flex-start; /* 文字靠上對齊 */
    padding: 0 20px;
  }
    .indexTwo__card.active .indexTwo__stripe{
        background:#fff
    }

 /* title on stripe：水平文字 */
 .indexTwo__title-stripe{
    writing-mode: horizontal-tb; /* 變回水平文字 */
    text-orientation: initial;
    padding: 20px 0;
  }

 /* body：位於 stripe 下方，高度為可展開部分 */
 .indexTwo__body{
    position: relative; /* 變為相對定位 */
    inset: auto; /* 清除絕對定位的 inset */
    padding: 16px 20px;
    opacity: 0;
    transform: translateY(-100%); 
    transition: transform .45s cubic-bezier(.2,.8,.2,1);
  }
  .indexTwo__body::after {
    background: linear-gradient(180deg, rgba(255, 255, 255) 0%, rgba(255, 255, 255, .60) 90%, rgba(255, 255, 255, .60) 100%);
  }
  .indexTwo__body p{
    font-size: 15px;
  }

 .indexTwo__card.active{
    flex: 0 0 var(--v-expanded);
    height: var(--v-expanded);
  }
 .indexTwo__card.active .indexTwo__body{
    opacity: 1;
    transform: translateX(0);
  }
}

/* ============ index 授課地點 ============ */
.indexThree{padding: clamp(56px, 9vw, 150px) 0 ;}
.indexThree__inner{ width: 100%; }
.indexThree__header{ text-align:center; margin-bottom:clamp(18px,4vw,36px); }
.indexThree__title{
  color:var(--title-red); 
}

/* 舞台（維持與 SVG 相同的長寬比） */
.indexThree__stage{
  margin: clamp(150px, 2vw, 250px) auto clamp(100px, 1.5vw, 200px) auto;
  aspect-ratio: 1440 / 464;  /* 跟 viewBox 比例一致 */
  position: relative;
}

/* 讓 SVG 完整塞進舞台，而不是塞滿整個螢幕 */
.indexThree__bg{
  position: absolute; 
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  color: #000;               /* 線條顏色，可改變 */
}

/* pins 容器 */
.indexThree__pins{ list-style:none; margin:0; padding:0; }

/* 單一圓點：以百分比定位，可 RWD */
.indexThree__pin{
  --size: clamp(45px, 10vw, 150px);
  position:absolute;
  left: calc(var(--x) * 1%);        /* 由 HTML style --x/--y 提供 */
  top:  calc(var(--y) * 1%);
  transform: translate(-50%, -50%);
}

.indexThree__pinInner{
  width:var(--size); 
  height:var(--size);
  border-radius:50%;
  background:var(--it-pin-bg);
  border:2px solid var(--it-pin-bd);
  display:flex; 
  flex-direction:column;
  align-items:center; 
  justify-content:center;
  gap: clamp(2px, .6vw, 6px);
  text-align:center;
}

/* 旗幟圖示自適應於圓內 */
.indexThree__flag{
  width: clamp(22px, 28%, 34%);
  height:auto;
  color:var(--text);
}

/* 地名文字 */
.indexThree__label a{
  text-decoration: none;
  display:block;
  padding:clamp(5px, .8vw, 12px) clamp(10px, 1.5vw, 20px);
  line-height:1.2;
  font-weight:700;
  color:var(--write);
  font-size: clamp(15px, 2vw, 30px);
  white-space:nowrap;
  background: var(--light-green);
  border-radius: 999px;
}
.indexThree__place{display: none;}

.indexThree__pin.one {--x:16; --y:66;}
.indexThree__pin.two {--x:39; --y:24;}
.indexThree__pin.three {--x:44; --y:99;}
.indexThree__pin.four {--x:68; --y:61;}
.indexThree__pin.five {--x:58; --y:5;}
.indexThree__pin.six {--x:84; --y:27;}

.pin-popover {
  position: absolute;
  transform: translate(-50%, calc(-100% - 14px));
  width: clamp(220px, 28vw, 360px);
  background: #fff;
  color: #111;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.14);
  padding: 10px;
  z-index: 5;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .28s ease;
}

.pin-popover.is-show {
  opacity: 1;
  transform: translate(-50%, calc(-100% - 18px));
  pointer-events: auto;
}

/* 三角形箭頭 */
.pin-popover::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top-color: #fff;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.06));
}

/* 卡片內容 */
.pin-popover__media {
  width: 100%;
  aspect-ratio: 16/9;
  background: #f2f2f2;
  border-radius: 10px;
  overflow: hidden;
}
.pin-popover__media > img,
.pin-popover__media > iframe {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border: 0;
}

.pin-popover__title {
  margin: 10px 6px 0;
  font-weight: 800;
  font-size: clamp(14px, 1.8vw, 18px);
}

@media (max-width: 600px) {
  .indexThree__bg{
    height: 150%;
  }
  .indexThree__stage {
    margin: clamp(60px, 1vw, 150px) auto clamp(120px, .5vw, 100px) auto;
  }
  .indexThree__pin.one {--x:23; --y:87;}
  .indexThree__pin.two {--x:34; --y:37;}
  .indexThree__pin.three {--x:22; --y:146;}
  .indexThree__pin.four {--x:64; --y:120;}
  .indexThree__pin.five {--x:76; --y:66;}
  .indexThree__pin.six {--x:68; --y:7;}
  .indexThree__label a {font-size: 20px;}
  .indexThree__pin {--size: clamp(45px, 15vw, 150px);}
}
@media (max-width: 440px) {
  .indexThree__bg{
    height: 190%;
  }
  .indexThree__stage {
    margin: clamp(60px, 1vw, 150px) auto clamp(170px, .5vw, 100px) auto;
  }
  .indexThree__pin.one {--x:29; --y:48;}
  .indexThree__pin.two {--x:21; --y:115;}
  .indexThree__pin.three {--x:22; --y:191;}
  .indexThree__pin.four {--x:67; --y:155;}
  .indexThree__pin.five {--x:76; --y:73;}
  .indexThree__pin.six {--x:76; --y:10;}
  .indexThree__label a {font-size: 16px;}
  .indexThree__pin {--size: clamp(45px, 15vw, 150px);}
  .pin-popover {width: 160px;}
  .pin-popover__title {font-size: 12px; margin: 10px 0 0;}
}

/* ============ page banner ============ */
.pageHero {
  display: block;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: #94cffd;
  overflow: hidden; /* 防止圖片位移溢出 */
}
.pageHero-mobile, .pageHero-mobile img, #pageHeromobile-text, #pageHeromobile-sub{display: none;}

/* --- 主標題文字 --- */
#pageHero-text {
  display: block;
  position: absolute;
  font-size: 100px;
  color: #3e6a8d;
  text-align: center;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .25);
  line-height: 1.3;
  pointer-events: none;
}

#pageHero-sub {
  display: block;
  position: absolute;
  font-size: 25px;
  font-weight: 600;
  padding-top: 100px;
  margin-top: 85px;
  color: #3e6a8d;
  text-align: center;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .25);
  line-height: 1.3;
  pointer-events: none;
}

/* --- 背景圖層通用設定 --- */
.pageHero img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
  transition: transform 0.3s ease;
}

@media (max-width: 1200px) {
  #pageHero-text { font-size: 80px; top: 40%; }
  #pageHero-sub { font-size: 25px; margin: top 100px;}
  .pageHero img {object-fit: cover;}
}

@media (max-width: 678px) {
    .pageHero, .pageHero img, #pageHero-text, #pageHero-sub{display: none;}
    .pageHero-mobile {
      display: block;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100vh;
      background: #94cffd;
      overflow: hidden; /* 防止圖片位移溢出 */
    }
    .pageHero-mobile img {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      user-select: none;
      transition: transform 0.3s ease;
    }
    #pageHeromobile-text {
      display: block;
      position: absolute;
      font-size: 80px;
      color: #3e6a8d;
      text-align: center;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, .25);
      line-height: 1.3;
      pointer-events: none;
      padding-bottom: 250px;
    }
}

@media (max-width: 480px) {
    #pageHeromobile-text{
      font-size: clamp(50px, .25vw, 30px);
      padding-bottom: 100px;
    }
}

/* ============ course ============ */
.courseSwitch{
  position: relative;
  background: var(--bg-cream);
  padding: clamp(20px, 50vw, 200px) 50px;
  display: grid;
}
.courseSwitch__inner{
  /* width: min(1100px, 92vw); */
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: clamp(16px, 3vw, 40px);
  align-items: start;
}

/* ====== 左側選單（桌機直欄 / 手機橫捲） ====== */
.courseSwitch__menu{
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.6vw, 14px);
  overflow: auto;
  max-height: 70vh;
  position: sticky;                           /* 桌機固定在視窗內 */
  top: clamp(20px, 6vw, 80px);
}
.courseSwitch__menu .menuItem{
  appearance: none;
  background: transparent;
  border: 0;
  text-align: left;
  color: #9a9a9a;
  font-size: clamp(16px, 1.9vw, 25px);       /* 流體字級 */
  letter-spacing: .02em;
  padding: clamp(6px, 0.8vw, 8px) 0;
  cursor: pointer;
  transition: color .25s ease;
}
.courseSwitch__menu .menuItem:hover,
.courseSwitch__menu .menuItem:focus{ color: #454545; outline: none; }
.courseSwitch__menu .menuItem.is-active{
  color: #454545;
  font-weight: 800;
}

/* ====== 右側內容：只顯示 is-active 的 item ====== */
.courseSwitch__items{
  position: relative;
  min-height: clamp(300px, 40vw, 560px);     /* 內容高度流體 */
}
.courseSwitch__item{
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3.6vw, 48px);
  align-items: start;
  opacity: 0;
  animation: cs-fade .5s ease-out forwards;  /* 進場 */
}
.courseSwitch__item.is-active{ display: grid; align-items: center;}
@keyframes cs-fade { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
@media (prefers-reduced-motion: reduce){
  .courseSwitch__item{ animation: none; opacity: 1; }
}

/* ====== 內部版面 ====== */
.panel__media{
  width: 100%;
  background: #d8dadd;
  border-radius: 6px;
  box-shadow: var(--shadow);
  min-height: clamp(220px, 32vw, 420px);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.panel__media img{ width:100%; height:100%; object-fit: cover; display:block; }

.panel__content{ color: var(--text); text-align: left; }
.panel__title{
  margin: 0 0 6px;
  font-size: 56px;
  color: var(--title-red);
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1.15;
}
.panel__meta{
  margin: 0 0 clamp(12px, 1.6vw, 20px);
  font-size: 30px;
  font-weight: 800;
}
.panel__desc{
  margin: 0 0 clamp(10px, 1.2vw, 12px);
  font-size: 25px;
  line-height: clamp(1.6, 2.6vw, 1.9);
}
.panel__subtitle{ margin: 14px 0 8px; font-weight: 900; font-size: 25px; }
.panel__listWrap{ padding-left: 14px; font-size: 25px; }
.panel__list{ margin: 0 0 4px 1.1em; padding: 0; line-height: 1.9; }
.panel__list li{ margin-bottom: 2px; }

/* ====== 斷點：平板（<= 1024px） ====== */
@media (max-width: 1200px){
  .courseSwitch__item.is-active {
    display: flex;
    flex-direction: column;
  }
}
@media (max-width: 1024px){
  .courseSwitch__inner{
    grid-template-columns: 240px 1fr;        /* 側欄稍縮 */
  }
  .panel__media{ min-height: clamp(220px, 36vw, 420px); }
}

/* ====== 斷點：窄平板/手機（<= 820px） ====== */
@media (max-width: 820px){
  .courseSwitch__inner{
    grid-template-columns: 1fr;              /* 單欄 */
    gap: clamp(14px, 3.2vw, 24px);
  }
  .courseSwitch__menu{
    position: static;
    max-height: none;
    flex-direction: row;                      /* 改為橫向選單 */
    gap: clamp(8px, 2.6vw, 16px);
    overflow-x: auto;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }
  .courseSwitch__menu .menuItem{
    white-space: nowrap;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.6);
    border: 1px solid rgba(0,0,0,.06);
    scroll-snap-align: start;
    font-size: clamp(14px, 2.8vw, 18px);     /* 手機字級較小 */
  }
  .courseSwitch__items{ min-height: auto; }

  .courseSwitch__item{
    grid-template-columns: 1fr;              /* 內容單欄 */
    gap: clamp(14px, 3.2vw, 20px);
  }
  .panel__media{ order: 1; min-height: clamp(220px, 52vw, 380px); }
  .panel__content{ order: 2; text-align: left; }
}

/* ====== 斷點：手機（<= 576px） ====== */
@media (max-width: 576px){
  .courseSwitch{
    padding: clamp(20px, 50vw, 100px) 30px;
  }
  .courseSwitch__menu {
    top: 200px;
  }
  .courseSwitch__menu .menuItem{
    padding: 10px 12px;
  }
  .panel__title{ font-size: 26px; }
  .panel__meta{ font-size: 18px; }
  .panel__desc, .panel__listWrap{ font-size: 15px; }
}


/* ============ price ============ */
.price__section{ background: var(--bg-green); padding: clamp(50px, 9vw, 150px) 16px; }

/* 外層寬度限制 */
.price__wrap{
  width: min(1100px, 92vw);
  margin: 0 auto;
  font-family: "Source Sans Pro", system-ui, -apple-system, "PingFang TC", "Noto Sans TC", sans-serif;
}

/* 隱藏 radio */
.price__section input[type="radio"]{ display:none; }

/* 每一項 */
.price__item{ display:block; margin-bottom: 12px; }

/* 標題列 */
.price__itemTitle{
  padding: 14px 50px;
  border-radius: 999px;
  border:1px solid var(--write);
  color: var(--write);
  font-weight: 800;
  font-size: clamp(16px, 2.2vw, 50px);
  cursor: pointer;
  display:flex; align-items:center; justify-content:space-between;
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
  position: relative;
}
.price__itemTitle::after{
  content:"\25BC";
  font-size: 12px;
  margin-left: 8px;
  transition: transform .25s ease;
}

/* 內容區（收合） */
.price__content{
  width: 100%;
  margin: 0 auto;
  padding: 0 18px;
  color: var(--text);
  line-height: 1.8;
  height: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: height .25s ease, opacity .4s ease, visibility .25s ease, margin .25s ease;
}

/* 打開狀態（由 radio 觸發） */
#price__acc-1:checked + .price__item .price__itemTitle,
#price__acc-2:checked + .price__item .price__itemTitle,
#price__acc-3:checked + .price__item .price__itemTitle,
#price__acc-4:checked + .price__item .price__itemTitle,
#price__acc-5:checked + .price__item .price__itemTitle,
#price__acc-6:checked + .price__item .price__itemTitle,
#price__acc-7:checked + .price__item .price__itemTitle{
  color:var(--text); background: var(--bg-cream); border-color: var(--text);
}
#price__acc-1:checked + .price__item .price__itemTitle::after,
#price__acc-2:checked + .price__item .price__itemTitle::after,
#price__acc-3:checked + .price__item .price__itemTitle::after,
#price__acc-4:checked + .price__item .price__itemTitle::after,
#price__acc-5:checked + .price__item .price__itemTitle::after,
#price__acc-6:checked + .price__item .price__itemTitle::after,
#price__acc-7:checked + .price__item .price__itemTitle::after{
  transform: rotate(180deg);
}

/* 展開內容：用 padding 和 height 讓動畫比較順 */
#price__acc-1:checked + .price__item .price__content,
#price__acc-2:checked + .price__item .price__content,
#price__acc-3:checked + .price__item .price__content,
#price__acc-4:checked + .price__item .price__content,
#price__acc-5:checked + .price__item .price__content,
#price__acc-6:checked + .price__item .price__content,
#price__acc-7:checked + .price__item .price__content{
  margin-top: 12px; margin-bottom: 12px;
  height: auto; opacity:1; visibility: visible;
  padding-top: 12px; padding-bottom: 18px;
}

.price__list{
  position: relative;
  margin: 0;
  list-style: none;
  display: grid;
  gap: clamp(18px, 3vw, 28px);
  font-size: clamp(16px, 2.6vw, 40px);
  line-height: 1.6;
  color: var(--write);
  justify-content: center;
}

/* 每列：星星 + 文字 */
.price__row{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 18px;
  position: relative;
}

.price__star{
  width: clamp(20px, 1.9vw, 30px);
  height: auto;
  display: block;
  transform: rotate(0);
  position: absolute;
  top: 15px;
  left: -24px;
  translate: 0 -5px;
}

.price__text{
  grid-column: 2 / -1;
}

/* ============ Location ============ */
.locSec{
  width:100%;
  position: relative;
}

.locSec__svg-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.locSec__svg-bg svg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    /* object-fit: fill; */
}

:root {
  --svg-stroke-dark: #1C1C1C;
  --svg-stroke-light: #FFFFFF;
}

#main-path {
  stroke-dasharray: 0;
  stroke-dashoffset: 0;
  stroke: var(--svg-stroke-dark);
  transition: stroke 0.5s ease-in-out;
}

/* 一個區塊 */
.locSec__block{
    position:relative;
    overflow:hidden;
    padding: clamp(44px, 7vw, 80px) 16px;
    height: 936px;
    display: flex;
    align-items: center;
}
.locSec__block.is-light{ background:var(--bg-cream); color:var(--text); }
.locSec__block.is-dark { background:var(--bg-green);  color:var(--write); }

/* 背景曲線圖（每段不同圖） */
.locSec__bg{
  position:absolute; 
  inset:0;
  object-fit:cover;
  pointer-events:none; 
  user-select:none;
  left: 90px;
}

/* 內容容器 */
.locSec__inner{
  position:relative; 
  z-index:2;
  width:clamp(820px, 92vw, 1300px);
  margin:0 auto;
}

/* 標題 + 地址 */
.locSec__header{ margin-bottom: clamp(14px, 3.2vw, 22px); }
.locSec__title{
  margin:0 0 6px;
  font-size: clamp(22px, 2.8vw, 55px);
  font-weight: 900;
  letter-spacing:.02em;
  display:flex; 
  align-items:center; 
  gap:10px;
}
.locSec__block.is-light .locSec__title{ color:var(--ink); }
.locSec__block.is-dark  .locSec__title{ color:#fff; }

.locSec__pin{ font-size:1.1em; line-height:1; }
.locSec__pin svg {
  width: clamp(20px, 4vw, 67px);
  height: clamp(20px, 4vw, 67px);
}

.locSec__addr{
  margin:0;
  font-size: clamp(13px, 2vw, 30px);
  font-weight:600;
}
.locSec__block.is-light .locSec__addr{ color:var(--muted); }
.locSec__block.is-dark  .locSec__addr{ color:var(--muted-light); }

/* 內文 + 圖片：桌機為左右排列；偶數段反轉（加 .locSec__body--reverse） */
.locSec__body{
  display:grid;
  grid-template-columns: 1fr 1fr;
  align-items:start;
}
.locSec__body--reverse{
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.locSec__text{ font-size: clamp(13px, 2vw, 30px); }
.locSec__text.is-light{background: var(--bg-cream);}
.locSec__text.is-dark {background: var(--bg-green);}
.locSec__label{
  margin: 0 0 6px;
  font-weight: 800;
}
.locSec__list{
  margin:0;
  padding-left:1.1em;
  line-height:1.9;
}

/* 照片卡 */
.locSec__media{
  width:100%;
  aspect-ratio: 16/9;
  margin: 0;
}
.locSec__media iframe{
  width:85%; 
  height:100%; 
  object-fit:cover; 
  display:block;
}

.locSec__block.is-dark .locSec__list{ color:#f1f5f1; }
.locSec__block.is-dark .locSec__label{ color:#fff; }

@media (max-width: 991px) {
    .locSec__svg-bg svg {
      width: 110%;
      height: 110%;
    }
    .locSec__block {
        height: auto; 
        align-items: flex-start;
        padding: 60px 20px;
    }

    .locSec__body {
        gap: 40px; 
        width: 100%;
        margin: 0;
        justify-items: center;
    }

    .locSec__body--reverse {
        gap: 1px; 
    }
    
    .locSec__media {
        width: 100%;
    }
    .locSec__media iframe {
        width: 92%;
        height: 85%;
    }

    .locSec__inner {
        width: 100%;
        padding: 0 16px;
    }
}


/* 手機極小螢幕 (螢幕寬度小於 576px) */
@media (max-width: 575px) {
  .locSec__svg-bg svg {width: 230%;}
    .locSec__body {grid-template-columns: 1fr;justify-items: start;}
    .locSec__body--reverse {gap: 40px;}
    .locSec__block {
        padding: 80px 50px;
    }

    .locSec__media{
      margin: 0;
    }

    .locSec__media iframe {
      width: 88%;
      height: 105%;
    }

    .locSec__pin svg {
      width: clamp(25px, 2vw, 30px);
      height: clamp(25px, 2vw, 30px);
    }

    .locSec__title {
      font-size: clamp(30px,3.5vw,40px);
    }

    .locSec__addr, .locSec__text {font-size: clamp(20px, 2.5vw, 30px);}
}

/* ============ Feature ============ */
.services {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  padding: 20px;
  box-sizing: border-box;
  background: var(--bg-cream);
}
.services > * {
  flex-grow: 1;
}

.circle--rotate {
  border-radius: 50%;
  border: 1px #000000 solid;
  width: 80%;
  height: 43%;
  margin: 0 auto 0;
  position: relative;
  transform: rotate(0deg);
  z-index: 0;
  padding: 0;
}
.circle--rotate > li {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  border-radius: 50%;
  z-index: 10;
  visibility: hidden;
}
.circle--rotate > li .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: visible;
  cursor: pointer;
  text-align: center;
  overflow: hidden;
  font-size: 40px;
  color: #ffffff;
  border-radius: 50%;
  background-color: #000000;
  height: 6%;
  width: 6%;
  margin: -3% auto;
  transition: all 500ms ease;
  transform: rotate(-90deg);
  z-index: 999;
}
.circle--rotate > li .p5__text {
  position: absolute;
  top: -5%;
  left: 40%;
  display: grid;
  align-items: center;
  justify-content: center;
  visibility: visible;
  cursor: pointer;
  overflow: hidden;
  font-size: 50px;
  color: #000000;
  margin: 0;
  transition: all 500ms ease;
  transform: translate(0) rotate(-90deg);
  transform-origin: left top;
  width: 47vw;
  max-width: 970px;
}
.p5__title {
  font-weight: bold;
  margin-bottom: 20px;
}

.p5__subtxt {
  font-size: 40px;
  margin: 0;
  padding-left: 1.2em;
}
.p5__text .p5__subtxt::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--active-color);
}
.circle--rotate > li img {
  margin: auto;
}

.circle--slider {
  position: relative;
  left: -50vw;
  transform: translateX(0);
}
.circle--slider .rotate--circle {
  margin: 0 auto;
}
.circle--slider .circle--rotate > li .icon {
  position: relative;
  overflow: visible;
  background-color: #f5f1eb;
  border: 1px solid #6e6e6e;
  color: #6e6e6e;
}
.circle--slider .circle--rotate > li.active .icon {
  background-color: #f5f1eb;
  border: 1px solid #000000;
  color: #000000;
  transition: all 1s;
}
.circle--slider .circle--rotate > li .p5__text {
  transition: all 1s;
  opacity: 0;
}
.circle--slider .circle--rotate > li.active .p5__text {
  opacity: 1;
}
.circle--slider .count2 li:nth-child(2) {
  transform: rotate(180deg);
}
.circle--slider .count3 li:nth-child(2) {
  transform: rotate(120deg);
}
.circle--slider .count3 li:nth-child(3) {
  transform: rotate(240deg);
}
.circle--slider .count4 li:nth-child(2) {
  transform: rotate(90deg);
}
.circle--slider .count4 li:nth-child(3) {
  transform: rotate(180deg);
}
.circle--slider .count4 li:nth-child(4) {
  transform: rotate(270deg);
}
.circle--slider .count5 li:nth-child(2) {
  transform: rotate(72deg);
}
.circle--slider .count5 li:nth-child(3) {
  transform: rotate(144deg);
}
.circle--slider .count5 li:nth-child(4) {
  transform: rotate(216deg);
}
.circle--slider .count5 li:nth-child(5) {
  transform: rotate(-72deg);
}
.circle--slider .count6 li:nth-child(1) {
  transform: rotate(90deg);
}
.circle--slider .count6 li:nth-child(2) {
  transform: rotate(120deg);
}
.circle--slider .count6 li:nth-child(3) {
  transform: rotate(150deg);
}
.circle--slider .count6 li:nth-child(4) {
  transform: rotate(180deg);
}
.circle--slider .count6 li:nth-child(5) {
  transform: rotate(210deg);
}
.circle--slider .count6 li:nth-child(6) {
  transform: rotate(240deg);
}
.circle--slider .count7 li:nth-child(2) {
  transform: rotate(51.5deg);
}
.circle--slider .count7 li:nth-child(3) {
  transform: rotate(103deg);
}
.circle--slider .count7 li:nth-child(4) {
  transform: rotate(154.5deg);
}
.circle--slider .count7 li:nth-child(5) {
  transform: rotate(206deg);
}
.circle--slider .count7 li:nth-child(6) {
  transform: rotate(-103deg);
}
.circle--slider .count7 li:nth-child(7) {
  transform: rotate(-51.5deg);
}
.circle--slider .count8 li:nth-child(1) {
  transform: rotate(90deg);
}
.circle--slider .count8 li:nth-child(2) {
  transform: rotate(135deg);
}
.circle--slider .count8 li:nth-child(3) {
  transform: rotate(180deg);
}
.circle--slider .count8 li:nth-child(4) {
  transform: rotate(-135deg);
}
.circle--slider .count8 li:nth-child(5) {
  transform: rotate(-90deg);
}
.circle--slider .count8 li:nth-child(6) {
  transform: rotate(-45deg);
}
.circle--slider .count8 li:nth-child(7) {
  transform: rotate(0deg);
}
.circle--slider .count8 li:nth-child(8) {
  transform: rotate(45deg);
}
.circle--slider .count9 li:nth-child(2) {
  transform: rotate(40deg);
}
.circle--slider .count9 li:nth-child(3) {
  transform: rotate(80deg);
}
.circle--slider .count9 li:nth-child(4) {
  transform: rotate(120deg);
}
.circle--slider .count9 li:nth-child(5) {
  transform: rotate(160deg);
}
.circle--slider .count9 li:nth-child(6) {
  transform: rotate(-160deg);
}
.circle--slider .count9 li:nth-child(7) {
  transform: rotate(-120deg);
}
.circle--slider .count9 li:nth-child(8) {
  transform: rotate(-80deg);
}
.circle--slider .count9 li:nth-child(9) {
  transform: rotate(-40deg);
}
.circle--slider .count10 li:nth-child(2) {
  transform: rotate(36deg);
}
.circle--slider .count10 li:nth-child(3) {
  transform: rotate(72deg);
}
.circle--slider .count10 li:nth-child(4) {
  transform: rotate(108deg);
}
.circle--slider .count10 li:nth-child(5) {
  transform: rotate(144deg);
}
.circle--slider .count10 li:nth-child(6) {
  transform: rotate(-180deg);
}
.circle--slider .count10 li:nth-child(7) {
  transform: rotate(-144deg);
}
.circle--slider .count10 li:nth-child(8) {
  transform: rotate(-108deg);
}
.circle--slider .count10 li:nth-child(9) {
  transform: rotate(-72deg);
}
.circle--slider .count10 li:nth-child(10) {
  transform: rotate(-36deg);
}
.circle--slider .animate-wrapper {
  width: 80%;
  height: 25%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  border-radius: 50%;
}
.circle--slider .animate-img {
  width: 25%;
  height: 25%;
  border-radius: 50%;
  overflow: hidden;
}
.circle--slider .animate-img .animate-img__in {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 50%;
  background-repeat: no-repeat;
  z-index: 3;
  transform: rotate3d(0, 0, 0, 0deg) scale(1);
  transition: 0.55s ease-in-out;
  width: 100%;
  height: 100%;
  opacity: 1;
  background-size: cover;
}
@media (max-width: 1024px) {
  .circle--slider {left: -80vw;}
  .circle--rotate {width: 1000px;}
  .circle--slider .animate-wrapper {width: 1000px;}
  .circle--rotate > li .icon {
    height: 10%;
    width: 10%;
    margin: -5% auto;
    font-size: 50px;
  }
  .circle--rotate > li .p5__text {
    top: -7%;
    left: 30%;
    font-size: 40px;
    width: 70vw;
    max-width: 600px;
  }
  .p5__subtxt {font-size: 35px;}
}
@media (max-width: 820px) and (min-width: 671px) {
  .circle--slider {left: -60vw;}
  .circle--rotate {width: 700px;}
  .circle--slider .animate-wrapper {width: 700px;}
  .circle--rotate > li .icon {
    height: 10%;
    width: 10%;
    margin: -5% auto;
    font-size: 30px;
  }
  .circle--rotate > li .p5__text {
    top: -7%;
    left: 30%;
    font-size: 30px;
    width: 45vw;
    max-width: 500px;
  }
  .p5__subtxt {font-size: 25px;}
}
@media (max-width: 670px) {
  .circle--slider {left: -110vw;}
  .circle--rotate {width: 900px;}
  .circle--slider .animate-wrapper {width: 900px;}
  .circle--rotate > li .icon {
    height: 10%;
    width: 10%;
    margin: -5% auto;
    font-size: 30px;
  }
  .circle--rotate > li .p5__text {
    top: -7%;
    left: 30%;
    font-size: 30px;
    width: 55vw;
    max-width: 500px;
  }
  .p5__subtxt {font-size: 25px;}
}
@media (max-width: 490px) {
  .circle--slider {left: -110vw;}
  .circle--rotate {width: 500px;}
  .circle--slider .animate-wrapper {width: 500px;}
  .circle--rotate > li .icon {
    height: 10%;
    width: 10%;
    margin: -5% auto;
  }
  .circle--rotate > li .p5__text {
    top: -7%;
    left: 25%;
    font-size: 20px;
    width: 55vw;
  }
  .p5__subtxt {font-size: 20px;}
}

/* ============ Team ============ */
.team-section-container {
    display: grid;
    grid-template-columns: 45% 55%;
    width: 100%;
    height: 900px;
    background-color: var(--bg-cream);
    overflow: hidden;
}

.team-main-photo {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.team-info-column {
    display: flex;
    flex-direction: column;
    padding: 60px 50px;
}

.team-member-details {
    flex-grow: 1;
}

.team-nav-bar {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}

.team-nav-item {
    width: 100px;
    height: 100px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.team-nav-item:hover {
    transform: scale(1.05);
}

.team-nav-item.active {
    border-color: var(--text);
    transform: scale(1.05);
}

.team-member-details h2 {
    font-size: 6rem;
    margin: 0;
    line-height: 1;
    color: var(--text);
}

.team-member-details .title {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 10px 0 40px 0;
    color: #555;
}

.team-member-details h3 {
    font-size: 22px;
    font-weight: 700;
    margin: 20px 0 15px 0;
    border-bottom: 2px solid #ccc;
    padding-bottom: 5px;
    color: var(--text);
}

.team-member-details ul {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
    columns: 2;
    column-gap: 20px;
}

.team-member-details ul.columns-3 {
    columns: 3;
}

.team-member-details ul.single-column {
    columns: 1;
}

.team-member-details ul li {
    font-size: 20px;
    margin-bottom: 10px;
    color: #333;
}

@keyframes bounce-in {
    0% { transform: scale(0.95); opacity: 0.5; }
    60% { transform: scale(1.03); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}

.team-main-photo.is-animating {
    animation: bounce-in 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes float-out {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(-15px); }
}

.team-member-details.is-exiting,
.team-main-photo.is-exiting {
    animation: float-out 0.25s forwards ease-in;
}

@keyframes float-in {
    from { opacity: 0; transform: translateX(-15px); }
    to { opacity: 1; transform: translateX(0); }
}

.team-member-details.is-animating > * {
    opacity: 0;
    animation: float-in 0.5s forwards ease-out;
}

.team-member-details.is-animating ul li {
    opacity: 0;
    animation: float-in 0.4s forwards ease-out;
}

.team-member-details.is-animating .title { animation-delay: 0.05s; }
.team-member-details.is-animating h3 { animation-delay: 0.1s; }

.team-member-details.is-animating ul:first-of-type li:nth-child(1) { animation-delay: 0.15s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(2) { animation-delay: 0.20s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(3) { animation-delay: 0.25s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(4) { animation-delay: 0.30s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(5) { animation-delay: 0.35s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(6) { animation-delay: 0.40s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(7) { animation-delay: 0.45s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(8) { animation-delay: 0.50s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(9) { animation-delay: 0.55s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(10) { animation-delay: 0.60s; }
.team-member-details.is-animating ul:first-of-type li:nth-child(11) { animation-delay: 0.65s; }


.team-member-details.is-animating ul:last-of-type li:nth-child(1) { animation-delay: 0.50s; }
.team-member-details.is-animating ul:last-of-type li:nth-child(2) { animation-delay: 0.55s; }
.team-member-details.is-animating ul:last-of-type li:nth-child(3) { animation-delay: 0.60s; }
.team-member-details.is-animating ul:last-of-type li:nth-child(4) { animation-delay: 0.65s; }

/* ============ RWD (響應式設計) ============ */

@media (max-width: 1024px) {
    .team-info-column {
        padding: 40px;
    }

    .team-member-details h2 {
        font-size: 4.5rem;
    }

    .team-nav-item {
        width: 80px;
        height: 80px;
    }

    .team-member-details ul.columns-3 {
        columns: 2;
    }
}

@media (max-width: 768px) {
    .team-section-container {
        grid-template-columns: 1fr;
        height: auto;
    }

    .team-main-photo {
        height: 350px;
    }

    .team-info-column {
        padding: 30px 20px;
        flex-direction: column-reverse; 
    }

    .team-nav-bar {
        border-top: none;
        border-bottom: 1px solid #ddd;
        padding-top: 0;
        padding-bottom: 20px;
        justify-content: center;
    }

    .team-nav-item {
        width: 70px;
        height: 70px;
    }

    .team-member-details h2 {
        font-size: 3.5rem;
    }

    .team-member-details .title {
        font-size: 1.25rem;
    }

    .team-member-details h3 {
        font-size: 18px;
    }

    .team-member-details ul li {
        font-size: 16px;
    }

    .team-member-details ul,
    .team-member-details ul.columns-3 {
        columns: 2;
    }
}