/* Motion system */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}
  .reveal.is-visible{opacity:1;transform:none}
  .hero-grid{transition:transform .35s ease-out}
  .service-card,.feature-image,.btn,.product-card{transition:transform .25s ease,box-shadow .25s ease}
  .service-card:hover,.feature-image:hover,.product-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(4,26,56,.14)}
  .btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:-120% auto auto -30%;width:42%;height:330%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:rotate(22deg);transition:transform .55s ease}.btn:hover:after{transform:translateX(420%) rotate(22deg)}
}

/* v40: rotating premium product showcase */
.hero-visual{overflow:visible;transform-style:preserve-3d}
.hero-product-image{z-index:3!important;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,opacity;transition:transform .45s ease,filter .45s ease,opacity .28s ease!important}
.hero-visual .orbit{animation:heroOrbit 15s linear infinite}
.hero-visual:before{animation:heroGlow 5s ease-in-out infinite}
.hero-visual.is-switching>.hero-product-image{opacity:0!important;transform:perspective(1100px) rotateY(82deg) rotateX(4deg) scale(.82) translateZ(10px)!important;filter:drop-shadow(8px 12px 9px rgba(0,0,0,.18))!important}
.hero-visual.is-arriving>.hero-product-image{animation:productArrive .65s cubic-bezier(.2,.8,.2,1) both}
.hero-product-caption{position:absolute;z-index:7;right:50%;bottom:9px;transform:translateX(50%) translateZ(60px);min-width:175px;padding:8px 16px;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:rgba(2,16,39,.78);box-shadow:0 10px 30px rgba(2,16,39,.25);backdrop-filter:blur(10px);color:#fff;text-align:center;pointer-events:none}
.hero-product-caption small,.hero-product-caption strong{display:block}.hero-product-caption small{color:#8eeaf2;font-size:11px;font-weight:700}.hero-product-caption strong{margin-top:1px;font:800 15px Arial,sans-serif;direction:ltr}
.hero-product-dots{position:absolute;z-index:8;right:50%;bottom:-11px;display:flex;gap:5px;transform:translateX(50%)}
.hero-product-dots span{width:6px;height:6px;border-radius:8px;background:#a9b7c8;transition:width .3s ease,background .3s ease}.hero-product-dots span.is-active{width:20px;background:#18c7d6}
@keyframes productArrive{0%{opacity:0;transform:perspective(1100px) rotateY(-72deg) rotateX(-3deg) scale(.84) translateZ(10px)}100%{opacity:1;transform:perspective(1100px) rotateY(-8deg) rotateX(1deg) translateZ(28px)}}
@keyframes heroOrbit{to{transform:rotate(360deg)}}
@keyframes heroGlow{0%,100%{filter:saturate(1);transform:scale(1)}50%{filter:saturate(1.18);transform:scale(1.025)}}

/* Subtle premium motion across the site. */
@media (pointer:fine) and (prefers-reduced-motion:no-preference){
  .product-card{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .22s ease,box-shadow .3s ease!important}
  .product-card:hover{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-8px)!important}
}
@media(max-width:620px){.hero-product-caption{bottom:2px;min-width:156px;padding:7px 12px}.hero-product-caption small{font-size:10px}.hero-product-caption strong{font-size:13px}.hero-product-dots{bottom:-15px}}
@media(prefers-reduced-motion:reduce){.hero-visual .orbit,.hero-visual:before,.hero-visual.is-arriving>.hero-product-image{animation:none!important}.hero-visual.is-switching>.hero-product-image{opacity:1!important;transform:none!important}}

/* v42: rotating battery showcase in the storage section */
.storage-carousel{position:relative;isolation:isolate;perspective:1100px;background:radial-gradient(circle at 50% 40%,#fff 0%,#f1f6fb 62%,#dfeaf4 100%)!important}
.storage-carousel:before{content:"";position:absolute;z-index:0;width:68%;height:20%;right:16%;bottom:11%;border-radius:50%;background:rgba(4,26,56,.17);filter:blur(20px);transform:rotateX(70deg)}
.storage-carousel>img{position:relative;z-index:1;width:100%;height:100%;padding:22px;object-fit:contain!important;mix-blend-mode:normal!important;filter:drop-shadow(18px 27px 20px rgba(4,26,56,.24));transform:perspective(1000px) rotateY(-5deg) translateZ(24px);transition:opacity .28s ease,transform .45s ease,filter .45s ease!important;backface-visibility:hidden;will-change:transform,opacity}
.storage-carousel.is-switching>img{opacity:0;transform:perspective(1000px) rotateY(76deg) scale(.86) translateZ(6px);filter:drop-shadow(7px 10px 8px rgba(4,26,56,.12))}
.storage-carousel.is-arriving>img{animation:storageArrive .65s cubic-bezier(.2,.8,.2,1) both}
.storage-product-name{position:absolute;z-index:3;right:50%;bottom:22px;transform:translateX(50%);padding:8px 15px;border:1px solid rgba(255,255,255,.65);border-radius:13px;background:rgba(2,16,39,.82);backdrop-filter:blur(9px);box-shadow:0 9px 24px rgba(4,26,56,.2);color:#fff;font:800 14px Arial,sans-serif;direction:ltr;white-space:nowrap}
.storage-product-dots{position:absolute;z-index:4;right:50%;bottom:7px;display:flex;gap:5px;transform:translateX(50%)}.storage-product-dots span{width:6px;height:6px;border-radius:8px;background:#9fb1c4;transition:.25s}.storage-product-dots span.is-active{width:19px;background:#18c7d6}
@keyframes storageArrive{0%{opacity:0;transform:perspective(1000px) rotateY(-70deg) scale(.86) translateZ(8px)}100%{opacity:1;transform:perspective(1000px) rotateY(-5deg) translateZ(24px)}}
@media(max-width:620px){.storage-carousel>img{padding:12px}.storage-product-name{bottom:20px;font-size:12px;padding:7px 11px}.storage-product-dots{bottom:6px}}
@media(prefers-reduced-motion:reduce){.storage-carousel.is-arriving>img{animation:none!important}.storage-carousel.is-switching>img{opacity:1;transform:none}}

/* v43: modern campaign artwork inside the home hero */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hero-campaign-card{position:relative;isolation:isolate;width:min(100%,590px);padding:7px;border:1px solid rgba(7,86,183,.15);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(232,242,251,.92));box-shadow:0 28px 65px rgba(4,26,56,.18),0 8px 20px rgba(7,86,183,.1);overflow:hidden;transform:perspective(1200px) rotateY(2deg) rotateX(-1deg);transition:transform .4s ease,box-shadow .4s ease}
.hero-campaign-card:before{content:"";position:absolute;z-index:3;inset:7px;border-radius:23px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);pointer-events:none}
.hero-campaign-card:after{content:"";position:absolute;z-index:4;top:-30%;right:-55%;width:38%;height:160%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:rotate(18deg);animation:campaignShine 6s ease-in-out infinite;pointer-events:none}
.hero-campaign-card img{position:relative;z-index:2;display:block;width:100%;height:auto;border-radius:23px;object-fit:cover;transform:none!important;filter:saturate(1.04) contrast(1.02)!important;mix-blend-mode:normal!important}
.hero-campaign-glow{position:absolute;z-index:0;inset:10% 7%;border-radius:35%;background:linear-gradient(135deg,#65f51b,#18c7d6);filter:blur(35px);opacity:.26}
.hero-campaign-card:hover{transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-5px);box-shadow:0 34px 78px rgba(4,26,56,.23),0 10px 26px rgba(7,86,183,.13)}
.hero-copy>.actions{margin-top:24px}.hero-copy>.trust-row{justify-content:center}
@keyframes campaignShine{0%,62%{right:-55%;opacity:0}68%{opacity:1}88%,100%{right:120%;opacity:0}}
@media(max-width:900px){.hero-campaign-card{margin-inline:auto}.hero-copy>.actions{max-width:590px;margin-inline:auto}.hero-copy>.trust-row{max-width:590px;margin-inline:auto}}
@media(max-width:620px){.hero-campaign-card{padding:5px;border-radius:24px;transform:none;box-shadow:0 20px 45px rgba(4,26,56,.16)}.hero-campaign-card:before{inset:5px;border-radius:19px}.hero-campaign-card img{border-radius:19px}.hero-copy>.actions{margin-top:18px}.hero-copy>.trust-row{justify-content:center}}
@media(prefers-reduced-motion:reduce){.hero-campaign-card:after{animation:none}}

/* Coverage card (map rules live in coverage-map.css) */
.coverage-card{position:relative;overflow:hidden;isolation:isolate}
.coverage-card:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(217,255,79,.16);border-radius:50%;left:-110px;bottom:-220px;z-index:-1;pointer-events:none}

@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
