/* Homepage three-slide banner */
.home-carousel{height:100vh;min-height:680px;margin-top:0;overflow:hidden;background:#173d67}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,24,43,.72) 0%,rgba(8,35,61,.42) 36%,rgba(9,42,72,.05) 72%)}
.home-carousel .hero-copy{z-index:3;color:#fff;top:55%;max-width:680px}
.home-carousel .hero-copy>p{color:#a9d5fb;font-weight:700}
.home-carousel .hero-copy h1{margin-bottom:18px;text-shadow:0 2px 18px rgba(0,20,40,.18)}
.home-carousel .hero-copy>span{display:block;font-size:18px;letter-spacing:.08em;margin-bottom:32px;color:rgba(255,255,255,.9)}
.home-carousel .hero-copy>a{border-color:rgba(255,255,255,.75);background:rgba(8,35,58,.18);backdrop-filter:blur(4px)}
.home-carousel .hero-copy>a:hover{background:#fff;color:#173d67}
.home-carousel .hero-nav{z-index:5;color:#fff}
.home-carousel .hero-nav>button{width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;font-size:18px;line-height:1;background:rgba(8,32,53,.2)}
.home-carousel .hero-nav>button:hover{background:#fff;color:#173d67}
.hero-dots{display:flex;align-items:center;gap:8px}
.hero-dots button{width:28px;height:3px;padding:0;border:0;border-radius:3px;background:rgba(255,255,255,.45);transition:width .3s,background-color .3s}
.hero-dots button.is-active{width:52px;background:#fff}
@media(max-width:900px){.home-carousel{height:760px;margin-top:0}.home-carousel .hero-copy{top:57%}.home-carousel .hero-copy>span{font-size:16px}.home-carousel .hero-nav{left:24px}}
@media(max-width:560px){.home-carousel{height:680px;min-height:680px}.hero-slide>img{object-position:58% center}.hero-slide:nth-child(2)>img{object-position:55% center}.hero-slide:nth-child(3)>img{object-position:48% center}.hero-shade{background:linear-gradient(90deg,rgba(7,24,43,.78),rgba(8,35,61,.35))}.home-carousel .hero-copy{top:56%;width:calc(100vw - 48px)}.home-carousel .hero-copy h1{font-size:38px}.home-carousel .hero-copy>span{font-size:14px;line-height:1.7;margin-bottom:25px}.home-carousel .hero-nav{bottom:24px}}

/* Homepage solution cards */
.home-solutions{padding:0;background:#fff;overflow:hidden}
.home-solutions-title{height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:#fff}
.home-solutions-title p{margin:0 0 12px;color:#428fd5;font-size:11px;font-weight:700;letter-spacing:.22em}
.home-solutions-title h2{margin:0;color:#17191b;font-size:42px;font-weight:700;line-height:1.2}
.home-solutions-title>i{display:block;width:62px;height:4px;margin-top:28px;background:#428fd5}
.home-solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:600px}
.home-solution-card{position:relative;display:block;overflow:hidden;color:#fff;background:#234d72}
.home-solution-card>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 50%;transform:scale(1);transition:transform .7s cubic-bezier(.2,.65,.25,1)}
.home-solution-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,34,56,.26),rgba(7,28,48,.62));transition:background .45s ease}
.home-solution-copy{position:absolute;inset:0;padding:115px 9.5%;display:flex;flex-direction:column;align-items:flex-start}
.home-solution-copy b{font-size:30px;line-height:1;font-weight:700}
.home-solution-copy strong{margin-top:28px;font-size:27px;line-height:1.4;font-weight:600}
.home-solution-copy i{width:64px;height:4px;margin-top:28px;background:#428fd5}
.home-solution-copy em{margin-top:auto;font-size:14px;font-style:normal;opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease}
.home-solution-card:hover>img{transform:scale(1.055)}
.home-solution-card:hover .home-solution-shade{background:linear-gradient(180deg,rgba(8,34,56,.18),rgba(7,28,48,.72))}
.home-solution-card:hover .home-solution-copy em{opacity:1;transform:translateY(0)}
.home-solution-card:focus-visible{outline:3px solid #428fd5;outline-offset:-3px}
@media(max-width:900px){.home-solutions-title{height:210px}.home-solution-grid{height:auto;grid-template-columns:1fr}.home-solution-card{height:460px}.home-solution-copy{padding:70px 7%}.home-solution-copy em{opacity:1;transform:none}}
@media(max-width:560px){.home-solutions-title{height:180px}.home-solutions-title h2{font-size:34px}.home-solutions-title>i{margin-top:20px}.home-solution-card{height:360px}.home-solution-copy{padding:55px 28px}.home-solution-copy b{font-size:24px}.home-solution-copy strong{font-size:23px;margin-top:20px}.home-solution-copy i{margin-top:22px}}

/* Reuse the product-center page's product-combination banner */
.home-product-banner{position:relative;overflow:hidden;background:linear-gradient(135deg,#f7fafc 0%,#edf4f8 52%,#dfeaf1 100%);border-radius:4px}
.home-product-banner:after{content:"";position:absolute;z-index:0;width:420px;height:420px;right:8%;top:4%;border-radius:50%;background:rgba(255,255,255,.76)}
.home-product-glow{position:absolute;z-index:1;left:10%;right:8%;bottom:6%;height:35px;border-radius:50%;background:rgba(57,79,93,.2);filter:blur(20px)}
.home-combo{position:absolute;z-index:2;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 15px 17px rgba(31,52,65,.14))}
.home-combo-esjz{right:3%;bottom:10%;max-width:49%;max-height:58%}
.home-combo-esc{right:42%;bottom:8%;max-width:26%;max-height:65%}
.home-combo-esgb{right:27%;bottom:11%;max-width:20%;max-height:50%}
.home-combo-est3{right:67%;bottom:8%;max-width:19%;max-height:61%}
.home-combo-esd{right:55%;bottom:9%;max-width:17%;max-height:44%}
@media(max-width:900px){.home-product-banner{height:500px}.home-product-banner:after{width:350px;height:350px}.home-combo-esjz{max-width:46%}.home-combo-esc{max-width:24%}}
@media(max-width:560px){.home-product-banner{height:360px}.home-product-banner:after{width:260px;height:260px;right:-25px;top:35px}.home-combo-esjz{right:-2%;max-width:50%}.home-combo-esc{right:41%;max-width:25%}.home-combo-esgb{right:25%;max-width:20%}.home-combo-est3{right:66%;max-width:20%}.home-combo-esd{right:53%;max-width:18%}}

/* Homepage product center: one full-width banner and one detail entry */
.home-product-center{background:#fff;color:#202326}
.home-product-center .product-inner{min-height:0;padding:0}
.home-product-center .section-title{height:220px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}
.home-product-center .section-title p{color:#428fd5;margin:0 0 12px}
.home-product-center .section-title h2{color:#202326;font-weight:500}
.home-product-center .section-title>span{display:none}
.home-product-center .section-title:after{content:"";display:block;width:62px;height:4px;margin-top:28px;background:#428fd5}
.home-product-stage{display:block;max-width:none;margin:0}
.home-product-stage>.product-tabs,.home-product-stage>article{display:none}
.home-product-stage .home-product-banner{height:620px;border-radius:0}
.home-product-detail{position:absolute;z-index:5;left:50%;top:78%;transform:translate(-50%,-50%);width:190px;height:58px;padding:0 62px 0 28px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.68);border-radius:999px;background:linear-gradient(100deg,#244b93 0%,#428fd5 68%,#67bdf0 100%);box-shadow:0 10px 28px rgba(33,91,151,.28),inset 0 0 16px rgba(255,255,255,.18);color:#fff;font-size:15px;font-weight:600;letter-spacing:.05em;transition:filter .3s,transform .3s,box-shadow .3s}
.home-product-detail:after{content:"→";position:absolute;right:8px;top:7px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#2e559b;font-size:25px;font-weight:700;box-shadow:0 0 16px rgba(255,255,255,.85)}
.home-product-detail:hover{filter:brightness(1.08);box-shadow:0 13px 34px rgba(33,91,151,.36),inset 0 0 16px rgba(255,255,255,.2);transform:translate(-50%,-50%) scale(1.035)}
.home-product-detail:focus-visible{outline:3px solid #428fd5;outline-offset:4px}
@media(max-width:900px){.home-product-center .section-title{height:190px}.home-product-stage .home-product-banner{height:500px}.home-product-detail{top:80%;min-width:140px;padding:13px 26px}}
@media(max-width:560px){.home-product-center .section-title{height:165px}.home-product-center .section-title h2{font-size:34px}.home-product-center .section-title:after{margin-top:20px}.home-product-stage .home-product-banner{height:420px}.home-product-detail{top:82%;min-width:132px;padding:12px 23px;border-radius:10px;font-size:14px}}
