/* A scoped, layered hero. Text and geometry remain sharp at every viewport. */
.hp-hero.hp-hero--motion{min-height:660px;padding:0;overflow:hidden;background:radial-gradient(ellipse at 86% 18%,#dceaff 0,transparent 48%),radial-gradient(ellipse at 67% 90%,#e1edff 0,transparent 55%),linear-gradient(115deg,#fff 12%,#f4f8ff 66%,#edf5ff)}
.hp-hero--motion .hp-hero__inner{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:center;gap:28px;padding:54px 0 74px}
.hp-hero--motion .hp-hero__copy{width:auto;max-width:510px;position:relative;z-index:2}
.hp-hero--motion .hp-scroll{bottom:22px}
.hm-visual{--hm-cycle:12s;min-width:0;width:100%;margin:0;position:relative;color:#203d63}
.hm-scene{position:relative;aspect-ratio:1.24;perspective:1500px;isolation:isolate}
.hm-ground{position:absolute;left:13%;right:3%;bottom:5%;height:9%;border-radius:50%;background:radial-gradient(ellipse,#587dc54d,transparent 70%);filter:blur(13px);transform:rotate(-3deg)}
.hm-entrance,.hm-float{position:absolute;inset:0;transform-style:preserve-3d}
.hm-rig{position:absolute;inset:7% 5% 9% 6%;transform-style:preserve-3d;transform:rotateX(calc(6deg + var(--hm-pointer-y,0deg))) rotateY(calc(-12deg + var(--hm-pointer-x,0deg))) rotateZ(-2deg);transition:transform .55s cubic-bezier(.2,.65,.25,1)}
.hm-glass{position:absolute;inset:0;border-radius:25px;border:1px solid #91b7ed;background:linear-gradient(130deg,#ffffffb8,#e8f3ff91 42%,#cce1ffb8);box-shadow:inset 2px 2px 2px #ffffffed,inset -3px -3px 4px #74a8e878,0 24px 38px -24px #275dad55;transform-style:preserve-3d}
.hm-glass--back{transform:translate3d(14px,8px,-20px);background:linear-gradient(135deg,#bad7ff80,#7eaff745);border-color:#99bbf0;box-shadow:inset -2px -2px 2px #b2d4ff,9px 15px 26px #3365af16}
.hm-panel{padding:6%;display:flex;flex-direction:column}
.hm-panel__edge{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.hm-panel__edge:after{content:"";position:absolute;inset:-70%;background:linear-gradient(115deg,transparent 42%,#fff9 48%,#fff0 54%);opacity:0;transform:translateX(-25%);animation:hm-sheen var(--hm-cycle) ease-in-out infinite}
.hm-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6%;transform:translateZ(10px)}
.hm-brand{font-size:21px;letter-spacing:-.8px;font-weight:750;color:#275693;display:flex;align-items:center;gap:9px}
.hm-panel__caption{font-size:10px;letter-spacing:.03em;color:#6d88ad}
.hm-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;transform-style:preserve-3d}
.hm-signal{position:relative;display:grid;justify-items:center;gap:5px;padding:15px 5px 12px;border-radius:15px;background:linear-gradient(135deg,#fffffff5,#f0f7ffdd);border:1px solid #fff;box-shadow:inset -1px -2px 2px #bfd8f86e,3px 7px 0 -4px #a6c6ee80,6px 12px 16px -9px #4275b43b;transform:translateZ(18px);--hm-delay:0s;animation:hm-card-lift var(--hm-cycle) var(--hm-delay) ease-in-out infinite}
.hm-signal:after{content:"";position:absolute;inset:-1px;border:1px solid #77aaf4;border-radius:inherit;box-shadow:0 0 20px #84b7ff2e,inset 0 0 18px #a2c8ff24;opacity:0;animation:hm-signal-glow var(--hm-cycle) var(--hm-delay) ease-in-out infinite;pointer-events:none}
.hm-signal--environment{--hm-delay:.8s}
.hm-signal--context{--hm-delay:1.6s}
.hm-icon{display:grid;place-items:center;width:40px;height:40px;color:#367eee;border-radius:12px;background:linear-gradient(140deg,#f3f9ff,#dceaff);border:1px solid #fff;box-shadow:2px 3px 6px #346ca318,inset 0 1px 1px #fff;margin-bottom:2px}
.hm-icon svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hm-signal strong{font-size:15px;font-weight:600;color:#27466c;line-height:1.5}
.hm-signal__detail{font-size:10px;color:#7b92b1;line-height:1.5}
.hm-signal>i{display:block;width:18px;height:3px;border-radius:5px;background:#d6e5f7;margin-top:5px;animation:hm-signal-dot var(--hm-cycle) var(--hm-delay) ease-in-out infinite}
.hm-connections{height:28px;margin:0 16%;display:flex;justify-content:space-between;position:relative;flex:none}
.hm-connections:after{content:"";position:absolute;top:16px;left:0;right:0;height:12px;border:1px solid #b6cef0;border-bottom:0;border-radius:0 0 9px 9px;transform:rotate(180deg)}
.hm-connections>span{width:1px;height:17px;background:#b6cef0;position:relative}
.hm-connections>span:nth-child(2){height:28px}
.hm-connections>span:after{content:"";position:absolute;top:0;left:-1px;width:3px;height:9px;border-radius:3px;background:#4c95ff;opacity:0;animation:hm-trace var(--hm-cycle) 1.3s ease infinite}
.hm-connections>span:nth-child(2):after{animation-delay:2.1s}
.hm-connections>span:nth-child(3):after{animation-delay:2.9s}
.hm-engine{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;align-self:center;width:58%;min-height:48px;border:1px solid #c7dfff;border-radius:14px;background:linear-gradient(120deg,#5e9ef7,#367cee 64%,#286fe1);color:#fff;box-shadow:inset 1px 1px 2px #ffffff75,inset -1px -2px 1px #1959c28c,0 5px 0 -2px #82aff1,0 9px 24px #286ddd30;transform:translateZ(25px)}
.hm-engine:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 32px #5c9cff66;opacity:0;animation:hm-engine-glow var(--hm-cycle) ease-in-out infinite}
.hm-engine strong{font-size:16px;font-weight:600;letter-spacing:1px}
.hm-engine__mark svg{width:22px;height:22px;display:block;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.hm-engine__dots{display:flex;gap:3px;margin-left:5px}
.hm-engine__dots i{width:3px;height:3px;background:#fff8;border-radius:50%;animation:hm-engine-dot var(--hm-cycle) ease-in-out infinite}
.hm-engine__dots i:nth-child(2){animation-delay:.2s}
.hm-engine__dots i:nth-child(3){animation-delay:.4s}
.hm-branches{height:28px;flex:none;position:relative;margin:0 25%;border:1px solid #b6cef0;border-bottom:0;border-radius:8px 8px 0 0;margin-top:14px}
.hm-branches:before{content:"";position:absolute;left:50%;bottom:100%;height:15px;width:1px;background:#b6cef0}
.hm-branches>span{position:absolute;top:10px;left:-2px;width:3px;height:9px;background:#4c95ff;border-radius:3px;opacity:0;animation:hm-trace var(--hm-cycle) 4s ease infinite}
.hm-branches>span:last-child{left:auto;right:-2px;animation-delay:5s}
.hm-results{display:grid;grid-template-columns:1fr 1fr;gap:14px;transform-style:preserve-3d}
.hm-result{position:relative;display:flex;align-items:center;gap:11px;min-width:0;padding:15px 13px;border-radius:15px;border:1px solid #fff;background:linear-gradient(125deg,#fffffff7,#eef6ffe8);box-shadow:inset -1px -2px 2px #b4d1f64a,3px 7px 0 -4px #a6c6ee80,6px 12px 18px -9px #4275b43b;transform:translateZ(22px)}
.hm-result:after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid #87b0f0;box-shadow:0 4px 24px #77a9f83b;opacity:0;animation:hm-result-glow var(--hm-cycle) ease-in-out infinite}
.hm-result--challenge:after{animation-delay:1s}
.hm-result strong{font-size:15px;font-weight:600;white-space:nowrap;display:block;line-height:1.5}
.hm-result div>span{display:block;font-size:9px;color:#7b92b1;white-space:nowrap;margin-top:4px}
.hm-pass{flex:none;display:grid;place-items:center;width:39px;height:39px;border-radius:50%;color:#fff;background:linear-gradient(140deg,#77b6ff,#2877ef 75%);box-shadow:inset 1px 1px 2px #cbeaff,0 4px 7px #347bda21}
.hm-pass svg{width:30px;height:30px;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.hm-result img{width:56px;height:40px;object-fit:cover;border:1px solid #d6e7fb;border-radius:9px;box-shadow:0 2px 6px #375b8a18;flex:none}
.hm-plinth{position:absolute;left:-5%;right:-6%;height:10%;top:96%;border-radius:50% / 30%;background:linear-gradient(180deg,#ffffffd9,#d8eaff 30%,#8ab8ee 45%,#eff9ff 65%,#98bfeebb 95%);border:1px solid #a8c8ef;box-shadow:inset 1px 1px 3px #fff,0 7px 2px -5px #548bcc8c,0 18px 26px -15px #4478b98c;transform:translateZ(-18px) rotateX(55deg);transform-origin:center top}
.hm-caption{display:flex;align-items:center;justify-content:center;gap:18px;min-height:32px;color:#8a9bb2;font-size:10px;letter-spacing:.04em}
.hm-motion-toggle{display:inline-flex;align-items:center;gap:5px;font:inherit;letter-spacing:0;color:#6c83a1;background:transparent;border:0;border-left:1px solid #ccd9eb;padding:2px 0 2px 14px;cursor:pointer;min-height:28px}
.hm-motion-toggle[hidden]{display:none}
.hm-motion-toggle:hover{color:#2468eb}
.hm-motion-toggle:focus-visible{outline:2px solid #397fee;outline-offset:5px;border-radius:2px}
.hm-motion-toggle svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hm-motion-toggle .hm-play-icon,.hm-motion-toggle[aria-pressed=true] .hm-pause-icon{display:none}
.hm-motion-toggle[aria-pressed=true] .hm-play-icon{display:block}
.hm-visual.has-entered .hm-entrance{animation:hm-enter 1.2s cubic-bezier(.16,.7,.23,1) both}
.hm-visual.has-entered .hm-float{animation:hm-float 7s 1.2s ease-in-out infinite}
.hm-visual *, .hm-visual :before, .hm-visual :after{animation-play-state:paused!important}
.hm-visual.is-motion-running *, .hm-visual.is-motion-running :before, .hm-visual.is-motion-running :after{animation-play-state:running!important}
@keyframes hm-enter{from{opacity:0;transform:translate3d(0,20px,-50px) scale(.96)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes hm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes hm-sheen{0%,60%,100%{opacity:0;transform:translateX(-25%)}69%{opacity:.6}85%{opacity:0;transform:translateX(25%)}}
@keyframes hm-card-lift{0%,7%,32%,100%{transform:translateZ(18px)}15%,23%{transform:translateZ(27px)}}
@keyframes hm-signal-glow{0%,7%,32%,100%{opacity:0}15%,23%{opacity:1}}
@keyframes hm-signal-dot{0%,7%,32%,100%{background:#d6e5f7}15%,23%{background:#4b90f0}}
@keyframes hm-trace{0%,10%,26%,100%{opacity:0;transform:translateY(-3px)}16%{opacity:.9}24%{opacity:0;transform:translateY(13px)}}
@keyframes hm-engine-glow{0%,25%,57%,100%{opacity:0}35%,45%{opacity:1}}
@keyframes hm-engine-dot{0%,25%,54%,100%{opacity:.4}34%,43%{opacity:1}}
@keyframes hm-result-glow{0%,40%,73%,100%{opacity:0}49%,60%{opacity:1}}
@media(min-width:1700px){.hp-hero.hp-hero--motion{min-height:710px}.hp-hero--motion .hp-hero__inner{gap:44px}}
@media(max-width:1150px) and (min-width:761px){.hp-hero.hp-hero--motion{min-height:570px}.hp-hero--motion .hp-hero__inner{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:16px;padding:40px 0 65px}.hm-panel{padding:5%}.hm-brand{font-size:18px}.hm-panel__caption{font-size:8px}.hm-signal-grid{gap:8px}.hm-signal{padding:11px 3px 9px;gap:3px}.hm-icon{width:32px;height:32px}.hm-icon svg{width:22px;height:22px}.hm-signal strong,.hm-result strong{font-size:13px}.hm-signal__detail{font-size:9px}.hm-engine{min-height:39px}.hm-engine strong{font-size:14px}.hm-connections{height:24px}.hm-branches{height:20px;margin-top:12px}.hm-results{gap:9px}.hm-result{padding:12px 9px;gap:8px}.hm-pass{width:32px;height:32px}.hm-result img{width:41px;height:32px}.hm-result div>span{font-size:8px}.hm-caption{font-size:9px}.hm-scene{aspect-ratio:1.18}}
@media(max-width:900px) and (min-width:761px){.hp-hero--motion .hp-hero__inner{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}.hm-panel__caption{display:none}.hm-signal__detail{font-size:8px}.hm-result{gap:6px;padding:12px 8px}.hm-pass{width:26px;height:26px}.hm-pass svg{width:23px;height:23px}.hm-result img{width:30px;height:26px}.hm-result strong{font-size:12px}.hm-result div>span{display:none}.hm-brand{font-size:17px}.hm-scene{aspect-ratio:1.05}.hm-panel{padding:6%}.hm-panel__head{margin-bottom:9%}.hm-engine{width:67%}.hm-engine__dots{margin:0}.hm-connections{height:27px}.hm-branches{height:25px}.hm-caption{gap:9px}}
@media(max-width:760px){.hp-hero.hp-hero--motion{display:block;min-height:0;padding:0}.hp-hero--motion .hp-hero__inner{display:grid;grid-template-columns:minmax(0,1fr);padding:43px 0 24px;gap:18px}.hp-hero--motion .hp-hero__copy{width:auto;max-width:510px}.hp-hero--motion .hp-hero__note{max-width:none}.hp-hero--motion .hp-scroll{display:none}.hm-visual{max-width:540px;justify-self:center}.hm-scene{aspect-ratio:1.24}.hm-rig{inset:8% 6% 7% 5%;transform:rotateX(4deg) rotateY(-8deg) rotateZ(-2deg)}.hm-caption{font-size:9px;min-height:22px}.hm-motion-toggle{display:none}.hm-panel{padding:5%}.hm-brand{font-size:17px}.hm-panel__caption{font-size:8px}.hm-panel__head{margin-bottom:5%}.hm-signal-grid{gap:9px}.hm-signal{padding:9px 4px 8px;gap:2px;border-radius:12px}.hm-icon{width:30px;height:30px;border-radius:9px}.hm-icon svg{width:20px;height:20px}.hm-signal strong{font-size:12px}.hm-signal__detail{font-size:8px}.hm-signal>i{width:14px;height:2px;margin-top:3px}.hm-connections{height:24px}.hm-engine{min-height:34px;border-radius:10px;gap:7px}.hm-engine strong{font-size:13px}.hm-engine__mark svg{width:17px;height:17px}.hm-engine__dots{margin-left:0}.hm-branches{height:16px;margin-top:12px}.hm-results{gap:10px}.hm-result{padding:11px 9px;gap:8px;border-radius:12px}.hm-result strong{font-size:12px}.hm-result div>span{font-size:8px;margin-top:3px}.hm-pass{width:30px;height:30px}.hm-pass svg{width:24px;height:24px}.hm-result img{width:37px;height:30px}.hm-glass{border-radius:19px}}
@media(max-width:380px){.hm-scene{aspect-ratio:1.12}.hm-panel__caption{display:none}.hm-panel__head{margin-bottom:6%}.hm-result{gap:6px;padding:10px 7px}.hm-result strong{font-size:11px}.hm-result div>span{font-size:7px}.hm-pass{width:26px;height:26px}.hm-result img{width:30px;height:27px}.hm-signal-grid{gap:6px}.hm-engine{width:66%}.hm-rig{inset:7% 5% 8% 4%}}
/* Reserve room for the complete panel; a viewport ratio alone can clip its contents. */
.hm-scene{width:100%;min-height:550px}
@media(max-width:1150px){.hm-scene{min-height:460px}}
@media(max-width:900px){.hm-scene{min-height:435px}}
@media(max-width:760px){.hm-scene{min-height:370px}}
@media(max-width:480px){
  .hp-hero--motion .hp-hero__inner{padding:30px 0 20px;gap:10px}
  .hp-hero--motion .hp-eyebrow{margin-bottom:12px;font-size:11px}
  .hp-hero--motion h1{font-size:clamp(36px,11vw,44px);line-height:1.24;margin-top:0}
  .hp-hero--motion .hp-hero__lead{font-size:14px;line-height:1.8;margin:18px 0 20px}
  .hp-hero--motion .hp-hero__lead br{display:none}
  .hp-hero--motion .hp-hero__note{margin-top:18px;gap:6px;line-height:1.8}
  .hp-hero--motion .hp-actions{gap:10px}
  .hp-hero--motion .hp-button{min-height:45px!important;padding:10px 20px!important;gap:12px!important}
  .hm-scene{min-height:345px;aspect-ratio:auto}
  .hm-rig{inset:5% 2% 6%;transform:rotateX(3deg) rotateY(-4deg) rotateZ(-1.5deg)}
  .hm-panel__head{margin-bottom:4%}
  .hm-panel__caption{display:none}
  .hm-brand{font-size:17px}
  .hm-signal{padding:8px 3px 7px;gap:2px}
  .hm-icon{width:28px;height:28px}
  .hm-signal strong{font-size:12px}
  .hm-signal__detail{font-size:9px}
  .hm-connections{height:24px}
  .hm-engine{width:65%}
  .hm-branches{height:18px;margin-top:12px}
  .hm-result{padding:12px 9px;gap:8px}
  .hm-result strong{font-size:12px}
  .hm-result div>span{display:none}
  .hm-pass{width:28px;height:28px}
  .hm-result img{width:34px;height:28px}
  .hm-caption{margin-top:4px}
  .hm-plinth{left:-2%;right:-3%}
}
@media(prefers-reduced-motion:reduce),(max-width:760px),(pointer:coarse){.hm-visual *,.hm-visual :before,.hm-visual :after{animation:none!important;transition:none!important}.hm-motion-toggle{display:none!important}}
