/* banner */
#banner{width:100%;z-index:3;background:#f8f5f3;overflow:hidden;}
#banner .main-slider{position:relative;}
#banner .item{position:relative;height: 100vh;overflow:hidden;background:#f8f5f3;}
#banner .item .clip{inset:0;z-index:1;}
#banner .item .clip>*{min-width:100%;width:100%;}
#banner .item .clip .bgBox{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;background-position:center center;transform:scale(1.02);transition:transform 6s linear;}
#banner .item .clip:before{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(251,249,248,.98) 0%,rgba(251,249,248,.94) 27%,rgba(251,249,248,.73) 42%,rgba(251,249,248,.24) 60%,rgba(251,249,248,0) 76%);pointer-events:none;opacity: .2;}
#banner .item .clip iframe{position:absolute;width:100%;height:100%;top:0;left:0;}
#banner .item .clip video{overflow:hidden;position:absolute;width:100%;height:100%;object-fit:cover;top:50%;left: 50%;transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);}
#banner .item .info{inset:0;z-index:5;align-items:center;justify-content:flex-start;pointer-events:none;}
#banner .item .info .banner-copy{width: min(1366px,88%);margin:0 auto;pointer-events:auto;}
#banner .item .info .banner-copy>*{max-width:560px;}
#banner .item .info .txt,#banner .item .info .h2txt,#banner .item .info .ptxt{transform:translateY(22px);opacity:0;transition:all .7s cubic-bezier(.22,1,.36,1);}
#banner .item .info .h2txt{transition-delay:.12s;}
#banner .item .info .ptxt{transition-delay:.22s;}
#banner .item.slick-current .info .txt,#banner .item.slick-current .info .h2txt,#banner .item.slick-current .info .ptxt{transform:none;opacity:1;}
#banner .item .info .eyebrow-wrap{margin-bottom: 20px;}
#banner .item .info .en{display:inline-flex;align-items:center;gap:10px;padding: 8px 20px;border:1px solid rgba(117,86,166,.18);border-radius:999px;background:rgba(255,255,255,.6);font-size: 20px;font-weight: 500;letter-spacing:.15em;color:var(--primary);line-height:1.4;}
#banner .item .info .h3{margin:0;padding:0;color:#4b405f;font-family: "Noto Serif TC",serif;font-size:clamp(48px,5vw,76px);font-weight:600;line-height:1.22;white-space:normal;}
#banner .item .info .h3 em {
    color: var(--green-700);
    font-style: normal;
}
#banner .item .info .ptxt{margin-top: 34px;}
#banner .item .info .ptxt p{margin:0;padding:0;color:#5f5a61;font-size: 20px;font-weight: 400;letter-spacing: 0.9px;line-height: 1.8;}
#banner .hero-actions{display:flex;align-items:center;gap:16px;margin-top:28px;max-width:none!important;position:relative;z-index:8;}
#banner .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:999px;font-size: 16px;font-weight: 500;letter-spacing:.03em;transition:all .3s ease;box-sizing:border-box;background-color: #ffffff;border-color: #ffffff;}

#banner .btn .arrow { position: relative; border-left: 1px solid rgba(255,255,255,0.5); padding: 15px 0 15px 25px; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-left: 15px; }
#banner .btn .arrow::before { content: ""; position: absolute; width: 0; height: 0; border-style: solid; border-width: 6px 0 6px 8px; border-color: transparent transparent transparent #f2f2f2; }
#banner .btn .arrow { border-left: 1px solid rgba(230,230,230,0.5); }


#banner .btn-primary{color:#fff;background:linear-gradient(135deg,#8062b2 0%,#6f4fa1 100%);box-shadow:0 10px 24px rgba(117,86,166,.22);}
#banner .btn-primary span{color:#fff;}
#banner .btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(117,86,166,.28);}
#banner .btn-secondary{color:#4b405f;background:rgba(255,255,255,.78);border:1px solid rgba(117,86,166,.18);}
#banner .btn-secondary:hover{background:#fff;transform:translateY(-2px);}
#banner .play-icon{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid rgba(117,86,166,.28);border-radius:50%;font-size:9px;color:var(--primary);padding-left:2px;}
#banner .banner-link{z-index:3;pointer-events:none;}
#banner .wave-purple{left:-8%;right: 34%;bottom:-48px;background:linear-gradient(90deg,rgba(221,211,232,.98),rgba(190,170,214,.92));transform: rotate(7deg);}
linear infinite;animation:scale_banner 6s linear infinite;}
@-webkit-keyframes scale_banner{0%{transform:scale(1.02)}100%{transform:scale(1.06)}}
@keyframes scale_banner{0%{transform:scale(1.02)}100%{transform:scale(1.06)}}

@media screen and (max-width:1440px){
	#banner .item{height:720px;min-height:720px;}
	#banner .item .info .banner-copy{width:90%;}
	#banner .item .info .h3{font-size:clamp(44px,5vw,68px);}
}

@media screen and (max-width:1024px){
	#banner .item{height:680px;min-height:680px;}
	#banner .item .clip .bgBox{background-position:68% center;}
	#banner .item .clip:before{background:linear-gradient(90deg,rgba(251,249,248,.97) 0%,rgba(251,249,248,.88) 38%,rgba(251,249,248,.40) 60%,rgba(251,249,248,0) 80%);}
	#banner .item .info .banner-copy{width:90%;}
	#banner .item .info .banner-copy>*{max-width:500px;}
}

@media screen and (max-width:980px){
	#banner .item{height: 570px;min-height: 570px;}
	#banner .item .clip .bgBox{background-position:66% center;}
	#banner .item .clip:before{background:linear-gradient(180deg,rgba(251,249,248,.98) 0%,rgba(251,249,248,.9) 42%,rgba(251,249,248,.24) 70%,rgba(251,249,248,0) 88%);}
	#banner .item .info{align-items:flex-start;}
	#banner .item .info .banner-copy{padding-top:120px;}
	#banner .item .info .banner-copy>*{max-width:600px;margin-bottom: 5px;}
	#banner .item .info .h3{font-size: clamp(30px,5vw,60px);}
	#banner .banner-wave{height:110px;}
}

@media screen and (max-width:640px){
	#banner{padding-top:70px;}
	#banner .item{height: 330px;min-height: 330px;}
	#banner .item .clip .bgBox{background-position:72% 58%;}
	#banner .item .clip:before{background:linear-gradient(180deg,rgba(251,249,248,.99) 0%,rgba(251,249,248,.92) 46%,rgba(251,249,248,.26) 72%,rgba(251,249,248,0) 88%);}
	#banner .item .info .banner-copy{width:calc(100% - 32px);padding-top: 30px;}
	#banner .item .info .en{font-size:12px;padding:5px 11px;}
	#banner .item .info .h3{line-height:1.2;}
	#banner .item .info .ptxt{margin-top:16px;}
	#banner .item .info .ptxt p{font-size:15px;line-height:1.75;width: 280px;}
	#banner .hero-actions{gap:10px;flex-wrap:wrap;margin-top: 0;}
	#banner .btn{min-height:48px;padding:0 19px;font-size:14px;}
	#banner .btn-secondary{background:rgba(255,255,255,.88);}
	#banner .banner-wave{height:92px;}
	#banner .wave-purple{bottom:-40px;}
	#banner .wave-green{bottom:-35px;}
    .more_btn{}
}

/* banner entrance - soft slow */
#banner .item .clip{opacity:0;transform:scale(1.02);transition:none;}
#banner .item .clip .bgBox{opacity:.78;transform:scale(1.07);filter:blur(3px);transition:none;}
#banner .item .clip:before{opacity:0;transition:none;}

#banner .item .info .eyebrow-wrap,
#banner .item .info .h2txt,
#banner .item .info .ptxt,
#banner .item .hero-actions{opacity:0;transition:none;will-change:transform,opacity;}

#banner .item .info .eyebrow-wrap{transform:translateY(18px);}
#banner .item .info .h2txt{transform:translateY(28px);}
#banner .item .info .ptxt{transform:translateY(24px);}
#banner .item .hero-actions{transform:translateY(20px) scale(.985);}

#banner .item.bn-enter .clip{animation:bnSceneIn 1.45s cubic-bezier(.22,1,.36,1) both;}
#banner .item.bn-enter .clip .bgBox{animation:bnImageIn 1.85s cubic-bezier(.22,1,.36,1) .08s both;}
#banner .item.bn-enter .clip:before{animation:bnOverlayIn 1.25s ease .15s both;}

#banner .item.bn-enter .info .eyebrow-wrap{animation:bnTextIn .85s cubic-bezier(.22,1,.36,1) .34s both;}
#banner .item.bn-enter .info .h2txt{animation:bnTextIn 1.02s cubic-bezier(.22,1,.36,1) .52s both;}
#banner .item.bn-enter .info .ptxt{animation:bnTextIn .95s cubic-bezier(.22,1,.36,1) .72s both;}
#banner .item.bn-enter .hero-actions{animation:bnButtonIn .9s cubic-bezier(.22,1,.36,1) .92s both;}

#banner .item.bn-enter .banner-wave .wave-purple{animation:bnWavePurple 1.25s cubic-bezier(.22,1,.36,1) .62s both;}
#banner .item.bn-enter .banner-wave .wave-green{animation:bnWaveGreen 1.35s cubic-bezier(.22,1,.36,1) .75s both;}

@keyframes bnSceneIn{0%{opacity:0;transform:scale(1.02);}100%{opacity:1;transform:scale(1);}}
@keyframes bnImageIn{0%{opacity:.78;transform:scale(1.07);filter:blur(3px);}100%{opacity:1;transform:scale(1.02);filter:blur(0);}}
@keyframes bnOverlayIn{0%{opacity:0;}100%{opacity:.2;}}
@keyframes bnTextIn{0%{opacity:0;transform:translateY(26px);}100%{opacity:1;transform:translateY(0);}}
@keyframes bnButtonIn{0%{opacity:0;transform:translateY(20px) scale(.985);}100%{opacity:1;transform:translateY(0) scale(1);}}
@keyframes bnWavePurple{0%{opacity:0;transform:translateY(42px) rotate(9deg);}100%{opacity:1;transform:translateY(0) rotate(7deg);}}
@keyframes bnWaveGreen{0%{opacity:0;transform:translateY(52px) rotate(-7deg);}100%{opacity:1;transform:translateY(0) rotate(-5deg);}}

#banner .item.bn-enter.slick-current .clip .bgBox{animation:bnImageIn 1.85s cubic-bezier(.22,1,.36,1) .08s both,scale_banner 9s ease-in-out 1.93s infinite alternate;}

/* more_btn */
.more_btn {display: inline-flex!important;align-items: center;justify-content: space-between;gap: 34px;margin-top: 10px;min-width: 150px;padding: 10px 18px 10px 32px!important;border-radius: 999px!important;background: linear-gradient(135deg,#614292 0%,#a78fcf 100%);background-size: 200% 200%;background-position: left center;box-shadow: 0 12px 28px rgba(117,86,166,.20);font-size: 16px;font-weight: 500;letter-spacing: .05em;transition: transform .35s ease,box-shadow .35s ease,background-position .45s ease;overflow: hidden;}
.more_btn:before{content:"";position:absolute;top:0;left: -80%;width:65%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .65s ease;}
.more_btn:hover:before{left: 110%;}
.more_btn:hover {transform: translateY(-3px);background-position: right center;box-shadow: 0 18px 36px rgb(125 125 125 / 30%);}
.more_btn .about_more_arrow { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: #7459a5; transition: transform .35s cubic-bezier(.22,1,.36,1),background .35s ease,color .35s ease; }
.more_btn:hover .about_more_arrow { transform: translateX(10px) rotate(0deg); background: #f6f1fb; color: #6f4fa1; }
.more_btn {padding: 18px 60px;border-radius: 40px;}
.more_btn:hover{background: linear-gradient(135deg, var(--secondary) 0%, #78aa6d 100%);}
.more_arrow { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: var(--primary); font-size: 22px; line-height: 1; }
.more_btn  svg { width: 20px; fill: var(--primary); }
.more_btn:hover svg{
    fill: var(--green-500);
}


@media (prefers-reduced-motion: reduce){
	#banner .item .clip,
	#banner .item .clip .bgBox,
	#banner .item .clip:before,
	#banner .item .info .eyebrow-wrap,
	#banner .item .info .h2txt,
	#banner .item .info .ptxt,
	#banner .item .hero-actions,
	#banner .item .banner-wave .wave-purple,
	#banner .item .banner-wave .wave-green{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;filter:none!important;}
}


@media screen and (max-width:640px){
    .more_btn{
    margin-top: 10px;
    padding: 8px 12px 8px 20px !important;
    min-width: 140px;
    font-size: 15px;
}
}
