#banner{position:relative;width:100%;margin-top:79px;background:#fff7f5;overflow:hidden;}
#banner .main-slider{position:relative;width:100%;}
/* Slick 載入前只顯示第一張，避免 Banner 高度瞬間被所有圖片撐開 */
#banner .main-slider:not(.slick-initialized) > .item{display:none;}
#banner .main-slider:not(.slick-initialized) > .item:first-child{display:block;}

#banner .main-slider ,#banner .main-slider .slick-list{-webkit-transition: all 0s ease-in-out;}
#banner .item{position:relative;width:100%;overflow:hidden;}
#banner .banner_img{position:relative;width:100%;aspect-ratio:48/25;overflow:hidden;background:#fff5f3;}
#banner .banner_img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 100%;animation:bannerImageBreath 14s ease-in-out infinite;will-change:transform;}
#banner .info{z-index:5;inset:0;display:flex;align-items:center;pointer-events:none;}
#banner .banner_inner{position:relative;display:flex;align-items:center;justify-content:space-between;width:min(92%,1600px);height:100%;margin:auto;}
#banner .banner_content{position:relative;width:35%;padding-bottom:55px;color:#723348;pointer-events:auto;}
#banner .banner_slogan{margin-bottom:22px;color:#864158;font-size:17px;font-weight:600;letter-spacing:.25em;}
#banner .banner_title{color:#80394f;font-family:"Noto Serif TC","Times New Roman",serif;font-size:clamp(42px,4vw,72px);font-weight:500;line-height:1.28;letter-spacing:.08em;white-space:pre-line;}
#banner .banner_desc{margin-top:24px;color:#8e5061;font-size:19px;font-weight:500;line-height:1.8;letter-spacing:.08em;}
#banner .banner_doctor{margin-top:45px;color:#252525;}
#banner .banner_doctor_name{font-size:24px;font-weight:700;letter-spacing:.18em;}
#banner .banner_doctor_name span{margin-left:8px;font-size:19px;font-weight:600;}
#banner .banner_doctor_info{margin-top:15px;font-size:16px;font-weight:500;line-height:1.8;letter-spacing:.04em;}
#banner .banner_features{position:relative;display:flex;flex-direction:column;gap:25px;width:22%;padding-bottom:55px;pointer-events:auto;}
#banner .banner_feature{display:flex;align-items:center;gap:17px;}
#banner .banner_feature_icon{position:relative;display:flex;align-items:center;justify-content:center;width:56px;aspect-ratio:1;border:1px solid rgba(132,60,83,.45);border-radius:50%;flex:none;animation:bannerFeatureFloat 5s ease-in-out infinite;}
#banner .banner_feature_icon:after{position:absolute;inset:-5px;border:1px solid rgba(145,70,95,.2);border-radius:50%;content:"";opacity:0;pointer-events:none;animation:bannerIconPulse 4s ease-out infinite;}
#banner .banner_feature_icon svg{width:34px;height:34px;fill:none;stroke:#91465f;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
#banner .banner_feature_text{display:flex;flex-direction:column;gap:3px;}
#banner .banner_feature_text strong{color:#282020;font-size:17px;font-weight:700;letter-spacing:.08em;}
#banner .banner_feature_text span{color:#4a4143;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.02em;}
#banner .banner_feature:nth-child(2) .banner_feature_icon{animation-delay:-1.25s;}
#banner .banner_feature:nth-child(3) .banner_feature_icon{animation-delay:-2.5s;}
#banner .banner_feature:nth-child(4) .banner_feature_icon{animation-delay:-3.75s;}
#banner .banner_feature:nth-child(2) .banner_feature_icon:after{animation-delay:1s;}
#banner .banner_feature:nth-child(3) .banner_feature_icon:after{animation-delay:2s;}
#banner .banner_feature:nth-child(4) .banner_feature_icon:after{animation-delay:3s;}
#banner .banner_link{z-index:2;inset:0;}
#banner .slick-slide{outline:none;}
#banner .slick-slide>div{line-height:0;}
#banner .slick-slide .item{line-height:normal;}

/* Banner 文字進場 */
#banner .banner_slogan,#banner .banner_desc,#banner .banner_doctor{opacity:0;filter:blur(4px);transform:translateY(30px);transition:opacity .9s ease,transform 1.05s cubic-bezier(.16,1,.3,1),filter .8s ease;}
#banner .banner_title{opacity:0;filter:blur(5px);transform:translateY(38px);letter-spacing:.16em;transition:opacity 1s ease,transform 1.15s cubic-bezier(.16,1,.3,1),letter-spacing 1.2s cubic-bezier(.16,1,.3,1),filter .8s ease;}
#banner .banner_feature{opacity:0;filter:blur(3px);transform:translateX(35px);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1),filter .8s ease;}
#banner .item.is-animating .banner_slogan,#banner .item.is-animating .banner_desc,#banner .item.is-animating .banner_doctor{opacity:1;filter:blur(0);transform:translateY(0);}
#banner .item.is-animating .banner_title{opacity:1;filter:blur(0);transform:translateY(0);letter-spacing:.08em;}
#banner .item.is-animating .banner_feature{opacity:1;filter:blur(0);transform:translateX(0);}
#banner .item.is-animating .banner_slogan{transition-delay:0s;animation:bannerSloganGlow 5s ease-in-out 1.4s infinite;}
#banner .item.is-animating .banner_title{transition-delay:.1s;animation:bannerTitleGlow 6s ease-in-out 1.5s infinite;}
#banner .item.is-animating .banner_desc{transition-delay:.2s;}
#banner .item.is-animating .banner_doctor{transition-delay:.3s;}
#banner .item.is-animating .banner_feature:nth-child(1){transition-delay:.42s;}
#banner .item.is-animating .banner_feature:nth-child(2){transition-delay:.56s;}
#banner .item.is-animating .banner_feature:nth-child(3){transition-delay:.7s;}
#banner .item.is-animating .banner_feature:nth-child(4){transition-delay:.84s;}

/* Banner services */
.banner_services{position:absolute;left:50%;z-index:10;width:min(94%,1540px);margin-top:-100px;transform:translateX(-50%);}
.banner_services_inner{display:grid;grid-template-columns:repeat(6,1fr);align-items:stretch;padding:25px 18px;background:rgba(255,255,255,.96);border:1px solid rgba(156,96,111,.13);border-radius:25px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.banner_service{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 20px 3px;color:#71384a;text-align:center;opacity:0;transform:translateY(22px);animation:bannerServiceIn .8s cubic-bezier(.16,1,.3,1) forwards;transition:color .35s ease;}
.banner_service:not(:last-child):after{position:absolute;right:0;top:8%;width:1px;height:84%;background:#eadcdf;content:"";}
.banner_service_icon{display:flex;align-items:center;justify-content:center;width:55px;aspect-ratio:1;margin-bottom:8px;animation:bannerServiceFloat 5.5s ease-in-out infinite;}
.banner_service_icon svg{width:52px;height:52px;fill:none;stroke:#9d4c65;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s ease,stroke .35s ease;}
.banner_service_name{font-size: 20px;font-weight:700;letter-spacing:.06em;}
.banner_service_desc{margin-top:9px;color:#565052;font-size: 15px;line-height:1.7;text-align: center;}
.banner_service:hover{color:#a3516b;}
.banner_service:hover .banner_service_icon svg{stroke:#b06078;transform:scale(1.07);}
.banner_service:nth-child(1){animation-delay:.8s;}
.banner_service:nth-child(2){animation-delay:.92s;}
.banner_service:nth-child(3){animation-delay:1.04s;}
.banner_service:nth-child(4){animation-delay:1.16s;}
.banner_service:nth-child(5){animation-delay:1.28s;}
.banner_service:nth-child(6){animation-delay:1.4s;}
.banner_service:nth-child(2) .banner_service_icon{animation-delay:-.9s;}
.banner_service:nth-child(3) .banner_service_icon{animation-delay:-1.8s;}
.banner_service:nth-child(4) .banner_service_icon{animation-delay:-2.7s;}
.banner_service:nth-child(5) .banner_service_icon{animation-delay:-3.6s;}
.banner_service:nth-child(6) .banner_service_icon{animation-delay:-4.5s;}

@keyframes bannerImageBreath{0%,100%{transform:scale(1);}50%{transform:scale(1.018);}}
@keyframes bannerFeatureFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@keyframes bannerIconPulse{0%{opacity:0;transform:scale(.9);}25%{opacity:.65;}70%,100%{opacity:0;transform:scale(1.23);}}
@keyframes bannerSloganGlow{0%,100%{text-shadow:0 0 0 rgba(134,65,88,0);}50%{text-shadow:0 0 18px rgba(134,65,88,.18);}}
@keyframes bannerTitleGlow{0%,100%{text-shadow:0 0 0 rgba(128,57,79,0);}50%{text-shadow:0 5px 28px rgba(128,57,79,.12);}}
@keyframes bannerServiceIn{to{opacity:1;transform:translateY(0);}}
@keyframes bannerServiceFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);}}

@media screen and (max-width:1440px){
#banner{padding-bottom:90px;}
#banner .banner_img{aspect-ratio:1920/900;}
#banner .banner_inner{width:94%;}
#banner .banner_content{width:34%;}
#banner .banner_title{font-size:clamp(40px,4vw,60px);}
#banner .banner_features{width:23%;}
.banner_services{width:95%;}
.banner_service{padding-left:12px;padding-right:12px;}
}

@media screen and (max-width:1200px){
#banner .banner_img{aspect-ratio:16/8.2;}
#banner .banner_content{width:37%;}
#banner .banner_slogan{margin-bottom:15px;font-size:14px;}
#banner .banner_title{font-size:42px;}
#banner .banner_desc{margin-top:18px;font-size:15px;}
#banner .banner_doctor{margin-top:28px;}
#banner .banner_doctor_name{font-size:20px;}
#banner .banner_doctor_info{font-size:14px;}
#banner .banner_features{width:24%;gap:17px;}
#banner .banner_feature_icon{width:45px;}
#banner .banner_feature_icon svg{width:27px;height:27px;}
#banner .banner_feature_text strong{font-size:14px;}
#banner .banner_feature_text span{font-size:10px;}
.banner_service_name{font-size:14px;}
.banner_service_desc{font-size:11px;}
}

@media screen and (max-width:1024px){
#banner{padding-bottom:0;background:#fff8f6;margin-top: 68px;}
#banner .banner_img{aspect-ratio: 7/4;}
#banner .banner_img img{object-position: 0% center;}
#banner .info{align-items:stretch;}
#banner .banner_inner{display:block;width:100%;padding: 0;}
#banner .banner_content{position:absolute;left: 45px;top:7%;width:45%;padding:0;}
#banner .banner_slogan{font-size:13px;letter-spacing:.15em;}
#banner .banner_title{font-size:36px;line-height:1.35;}
#banner .item.is-animating .banner_title{letter-spacing:.08em;}
#banner .banner_desc{font-size:14px;line-height:1.6;}
#banner .banner_doctor{margin-top:22px;}
#banner .banner_doctor_name{font-size:18px;}
#banner .banner_doctor_info{font-size:12px;}
#banner .banner_features{position:absolute;left: 45px;bottom: 97px;top: auto;display:grid;grid-template-columns:1fr 1fr;width:38%;gap:12px 15px;padding:0;}
#banner .banner_feature{gap:8px;}
#banner .banner_feature_icon{width:38px;}
#banner .banner_feature_icon svg{width:23px;height:23px;}
#banner .banner_feature_text strong{font-size: 15px;}
#banner .banner_feature_text span{display:none;}
.banner_services{position:relative;left:auto;bottom:auto;width:100%;transform:none;overflow-x:auto;background:#fff;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-top: 0;}
.banner_services::-webkit-scrollbar{display:none;}
.banner_services_inner{display:flex;width:max-content;min-width:100%;padding:18px 12px;border:0;border-radius:0;background:#fff;}
.banner_service{width:145px;flex:none;padding:5px 15px;}
.banner_service_icon{width:45px;}
.banner_service_icon svg{width:42px;height:42px;}
}

@media screen and (max-width:640px){
#banner .banner_img{aspect-ratio: 4/4.7;}
#banner .banner_img img{object-position: 31% center;}
#banner .banner_inner{padding:0 16px;}
#banner .banner_content{left:18px;top:5%;width: 46%;}
#banner .banner_slogan{margin-bottom:10px;font-size: 12px;letter-spacing:.1em;}
#banner .banner_title{font-size:28px;letter-spacing:.12em;}
#banner .item.is-animating .banner_title{letter-spacing:.05em;font-size: 1.75rem;}
#banner .banner_desc{margin-top:12px;font-size: 13px;}
#banner .banner_doctor{margin-top:18px;}
#banner .banner_doctor_name{font-size:16px;}
#banner .banner_doctor_name span{font-size:14px;}
#banner .banner_doctor_info{margin-top:8px;font-size: 12px;line-height:1.6;}
#banner .banner_features{left: 18px;top:auto;bottom: 7%;grid-template-columns:1fr;width:125px;gap: 11px;}
#banner .banner_feature{gap:7px;}
#banner .banner_feature_icon{width:31px;}
#banner .banner_feature_icon svg{width:19px;height:19px;}
.banner_feature_text strong{font-size:11px;letter-spacing:.02em;}
.banner_service{width: 140px;padding:5px 10px;}
.banner_service_name{font-size: 16px;}
.banner_service_desc{font-size: 14px;}
}

@media (prefers-reduced-motion:reduce){
#banner .banner_img img,#banner .banner_feature_icon,#banner .banner_feature_icon:after,#banner .banner_slogan,#banner .banner_title,.banner_service,.banner_service_icon{animation:none!important;}
#banner .banner_slogan,#banner .banner_title,#banner .banner_desc,#banner .banner_doctor,#banner .banner_feature{opacity:1!important;filter:none!important;transform:none!important;transition:none!important;}
}