
/* Banner Base */
#banner{--banner-height:clamp(650px,41.4vw,830px);position:relative;width:100%;margin-top: 100px;background:#f9fcff;isolation:isolate;z-index:1;overflow:hidden;}
#banner *{box-sizing:border-box;}
#banner .banner_svg_defs{position:absolute;width:0;height:0;overflow:hidden;}
#banner .main-slider{position:relative;width:100%;height:var(--banner-height);z-index:1;}
#banner .slick-list,#banner .slick-track{height:100%;}
#banner .slick-slide{height:var(--banner-height);}
#banner .slick-slide>div{height:100%;}
#banner .sun_banner_item{position:relative;width:100%;height:var(--banner-height);overflow:hidden;background:linear-gradient(115deg,#fff8f2 0%,#fff 27%,#f5faff 72%,#e0f1fb 100%);}
#banner .sun_banner_item:before{content:"";position:absolute;left:-12%;top:-48%;width:72%;height:115%;background:radial-gradient(ellipse,rgba(255,204,150,.24) 0%,rgba(255,247,231,.17) 38%,transparent 70%);pointer-events:none;}

/* Light & Sun */
#banner .banner_light{position:absolute;inset:0;background:linear-gradient(152deg,rgba(255,255,255,.6) 0%,rgba(255,255,255,.04) 43%,transparent 43.2%),radial-gradient(ellipse at 54% 11%,rgba(255,252,234,.8),transparent 45%);z-index:0;pointer-events:none;}
#banner .slick-slide .banner_sun{position:absolute;top:4%;left:40.5%;width:20vw;height:20vw;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 47% 26%,#ffd167 0%,#ffdf91 37%,rgba(255,224,153,.62) 58%,rgba(255,229,178,0) 76%);opacity:.9;z-index:1;pointer-events:none;}



/* Photo & Video Mask */
#banner .banner_photo{--banner-photo-clip:polygon(2% 93%,4.01% 84.72%,6.30% 76.75%,8.85% 69.11%,11.66% 61.80%,14.71% 54.85%,18% 48.25%,21.51% 42.03%,25.25% 36.19%,29.20% 30.74%,33.35% 25.69%,37.69% 21.06%,42.22% 16.85%,46.92% 13.08%,51.79% 9.76%,56.82% 6.89%,62% 4.50%,66.19% 3.12%,70.23% 2.13%,74.12% 1.49%,77.85% 1.20%,81.40% 1.23%,84.75% 1.57%,87.89% 2.20%,90.81% 3.10%,93.50% 4.25%,95.94% 5.63%,98.11% 7.22%,100% 9%,100% 81%,95.37% 83.75%,90.85% 86.37%,86.43% 88.84%,82.09% 91.14%,77.84% 93.26%,73.67% 95.19%,69.56% 96.90%,65.50% 98.38%,61.49% 99.61%,57.52% 100.58%,53.58% 101.27%,49.66% 101.67%,45.75% 101.76%,41.84% 101.52%,37.93% 100.94%,34% 100%,30.10% 99%,26.42% 98.02%,22.95% 97.08%,19.70% 96.19%,16.68% 95.36%,13.88% 94.62%,11.30% 93.99%,8.96% 93.48%,6.86% 93.11%,5% 92.89%,3.37% 92.85%,2% 93%);position:absolute;top:0;right:0;bottom:0;left:36%;z-index:2;pointer-events:none;}
#banner .banner_photo_media{position:absolute;inset:0;overflow:hidden;clip-path:var(--banner-photo-clip);-webkit-clip-path:var(--banner-photo-clip);-webkit-mask-image:none;mask-image:none;transform:none;isolation:auto;contain:paint;}
#banner .banner_photo_media>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center;clip-path:var(--banner-photo-clip);-webkit-clip-path:var(--banner-photo-clip);}
#banner .banner_video{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;z-index:2;clip-path:var(--banner-photo-clip);-webkit-clip-path:var(--banner-photo-clip);pointer-events:none;}
#banner .banner_video video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border:0;clip-path:var(--banner-photo-clip);-webkit-clip-path:var(--banner-photo-clip);}
#banner .banner_video iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;clip-path:var(--banner-photo-clip);-webkit-clip-path:var(--banner-photo-clip);}
#banner .banner_photo_curve{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;}


/* Content */
#banner .banner_info{position:absolute;top:15.5%;left:6.7%;width:42%;max-width:740px;display:flex;align-items:flex-start;justify-content:flex-start;z-index:5;pointer-events:none;}
#banner .banner_info .workframe{width:100%;max-width:none;margin:0;padding:0;text-align:left;}
#banner .banner_info .txt{width:100%;}
#banner .banner_eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:29px;color:#5985a6;font-family:Arial,sans-serif;font-size:14px;font-weight:800;line-height:1.5;letter-spacing:.19em;white-space:nowrap;}
#banner .banner_eyebrow:before{content:"";display:block;flex:0 0 44px;width:44px;height:4px;background:#ff8117;}
#banner .banner_title{position:relative;display:block;max-width:750px;margin:0;padding:0;color:#104b78;font-size:clamp(46px,3.7vw,76px);font-weight:900;letter-spacing:.035em;line-height:1.34;text-align:left;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;text-shadow:0 2px 1px rgba(16,75,120,.02);}
#banner .banner_title:after{content:"";position:absolute;right: 19%;bottom: -14px;width:29%;height:7px;border-top:7px solid #ff8019;border-radius:55% 48% 0 0;transform:rotate(-2deg);}
#banner .banner_desc{max-width:570px;margin:35px 0 0;padding:0;color:#57768d;font-size:clamp(16px,1.05vw,19px);font-weight:600;line-height:1.9;letter-spacing:.04em;white-space:pre-line;text-align:left;}

/* CTA */
#banner .banner_cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:67px;margin-top:67px;padding:0 30px;color:#fff;background:linear-gradient(120deg,#0d517f,#074570);border-radius:100px;box-shadow:0 10px 22px rgba(12,70,110,.16);font-size:18px;font-weight:700;line-height:1.5;letter-spacing:.04em;text-decoration:none;pointer-events:auto;transition:background .3s,transform .3s,box-shadow .3s;}
#banner .banner_cta *{color:white;}
#banner .banner_cta:hover{background:linear-gradient(120deg,#136796,#0c4b79);transform:translateY(-4px);box-shadow:0 14px 25px rgba(12,70,110,.25);}
#banner .banner_cta:focus-visible,#banner .banner_scroll:focus-visible{outline:3px solid #ff8b1b;outline-offset:5px;}
#banner .banner_cta_arrow{font-family:Arial,sans-serif;font-size:28px;font-weight:400;line-height:1;transition:transform .3s;}
#banner .banner_cta:hover .banner_cta_arrow{transform:translateX(5px);}

/* Decorative Message */
#banner .banner_message{position:absolute;right:4.5%;bottom:19%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;z-index:6;color:#fff;font-family:"DFKai-SB","KaiTi","STKaiti",serif;font-size:29px;font-weight:600;line-height:1.4;letter-spacing:.1em;text-shadow:0 2px 8px rgba(0,45,95,.15);transform:rotate(-9deg);pointer-events:none;}
#banner .banner_message span:nth-child(2){padding-left:18px;}
#banner .banner_message:after{content:"";display:block;align-self:flex-end;width:120px;height:7px;margin-top:9px;background:#ff8b18;border-radius:50%;transform:rotate(-4deg);}

/* Bottom Waves */
#banner .banner_wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:26%;z-index:6;pointer-events:none;}
#banner .banner_wave svg{display:block;width:100%;height:100%;}

/* Scroll Prompt */
#banner .banner_scroll{position:absolute;right:4.6%;bottom: 43px;z-index:8;display:flex;align-items:center;gap:11px;color:#fff;font-family:Arial,sans-serif;font-size: 10px;font-weight:700;letter-spacing:.16em;text-decoration:none;transition:opacity .3s;}
#banner .banner_scroll:hover{opacity:.75;}
#banner .banner_scroll span{color:white;font-size: 12px;}
#banner .banner_scroll_icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.85);border-radius:50%;font-family:Arial,sans-serif;font-size:22px;font-weight:400;line-height:1;animation:sunScrollMove 2.2s ease-in-out infinite;}
@keyframes sunScrollMove{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* Responsive */
@media screen and (max-width:1500px) {
  #banner .banner_title:after{right: 36%;}
  #banner .banner_info { left: 5.5%; top: 15%; width: 46%; }
  #banner .banner_title { font-size: clamp(45px,3.6vw,65px); }
  #banner .banner_desc { max-width: 500px; }
  #banner .banner_cta { margin-top: 49px; }
}
@media screen and (max-width:1199px) {
  #banner { margin-top: 82px; --banner-height: 690px; }
  #banner .banner_info { top: 12%; left: 5%; width: 52%; }
  #banner .banner_title { font-size: clamp(42px,4.2vw,56px); }
  #banner .banner_photo { left: 35%; }
  #banner .slick-slide .banner_sun { top: 4%; left: 42%; width: 25vw; height: 25vw; }
  #banner .banner_eyebrow { font-size: 12px; letter-spacing: .12em; }
  #banner .banner_desc { max-width: 440px; font-size: 16px; }
  #banner .banner_cta { min-height: 59px; margin-top: 40px; padding: 0 24px; font-size: 16px; }
  #banner .banner_message { right: 4%; bottom: 21%; font-size: 24px; }
  #banner .banner_wave { height: 25%; }
}
@media screen and (max-width:991px) {
  #banner { --banner-height: 790px; }
  #banner .banner_info { top: 8%; left: 6%; width: 80%; max-width: 690px; }
  #banner .banner_title { max-width: 650px; font-size: clamp(42px,5vw,56px); }
  #banner .banner_desc { max-width: 580px; margin-top: 26px; font-size: 16px; }
  #banner .banner_cta { margin-top: 30px; }
  #banner .banner_photo {top: 12%;left: 13%;right: -7%;bottom: 0;}
  #banner .slick-slide .banner_sun { top: 33%; left: 23%; width: 36vw; height: 36vw; }
  #banner .banner_wave { height: 23%; }
  #banner .banner_video video{
    object-position: 50% 50%;
}
  #banner .banner_message { right: 7%; bottom: 18%; font-size: 22px; }
  #banner .banner_scroll { right: 5%; bottom: 25px; }
}
@media screen and (max-width:768px) {
  #banner { margin-top: 74px; --banner-height: 760px; }
  #banner .sun_banner_item { background: linear-gradient(145deg,#fff8f2 0%,#fff 34%,#edf8ff 100%); }
  #banner .banner_info {top: 15%;left: 6%;width: 88%;}
  #banner .banner_photo{}
  #banner .banner_eyebrow { gap: 10px; margin-bottom: 18px; font-size: 10px; letter-spacing: .1em; }
  #banner .banner_eyebrow:before { flex-basis: 27px; width: 27px; height: 3px; }
  #banner .banner_title { max-width: 560px; font-size: clamp(37px,7vw,49px); line-height: 1.3; }
  #banner .banner_title:after {right: 16vw;bottom: -13px;width: 28vw;border-top-width: 5px;}
  #banner .banner_desc { max-width: 540px; margin-top: 24px; font-size: 15px; line-height: 1.75; }
  #banner .banner_cta { min-height: 53px; margin-top: 22px; padding: 0 22px; gap: 18px; font-size: 15px; }
  #banner .banner_cta_arrow { font-size: 23px; }
  #banner .banner_photo {top: 41%;le;left: 0%;right: -15%;bottom: 0;display: none;}
  #banner .slick-slide .banner_sun {top: 48%;left: 46%;width: 44vw;height: 44vw;}
  #banner .banner_message { right: 8%; bottom: 16%; font-size: 20px; }
  #banner .banner_wave { height: 21%; }
  #banner .banner_scroll { right: 5%; bottom: 22px; font-size: 10px; }
  #banner .banner_scroll_icon { width: 31px; height: 31px; font-size: 18px; }
}
@media screen and (max-width:480px) {
  #banner {--banner-height: 600px;}
  #banner .banner_info {top: -5.5%;left: 6%;width: 88%;display: flex;align-items: center;}
  #banner .banner_eyebrow { font-size: 9px; letter-spacing: .07em; }
  #banner .banner_title {font-size: clamp(33px,9vw,40px);letter-spacing: .01em;}
  #banner .banner_desc {margin-top: 37px;font-size: 14px;line-height: 1.7;}
  #banner .banner_cta { min-height: 50px; margin-top: 20px; padding: 0 18px; gap: 14px; font-size: 14px; }
  #banner .banner_photo {top: 43%;left: -7%;right: -31%;bottom: 0;display: none;}
  #banner .slick-slide .banner_sun {top: auto;left: 40%;width: 55vw;height: 55vw;bottom: -8px;}
  #banner .banner_message { right: 8%; bottom: 18%; font-size: 17px; }
  #banner .banner_message:after { width: 75px; height: 4px; }
  #banner .banner_wave { height: 19%; }
  #banner .banner_scroll {bottom: 13px;font-size: 9px;gap: 6px;display: none;}
  #banner .banner_scroll_icon { width: 28px; height: 28px; font-size: 16px; }
}
@media (prefers-reduced-motion:reduce) {
  #banner .banner_scroll_icon { animation: none; }
  #banner .banner_cta,#banner .banner_cta_arrow { transition: none; }
}
