/* Portal captures match the 1002 × 587 px display aperture of the 1536 × 1024 laptop render. */
.hero .hero-stage{padding:0 0 32px;perspective:1600px;overflow:visible}
.hero .hero-screen.laptop-scene{position:relative;isolation:isolate;width:calc(100% + 110px);margin:0 -55px;aspect-ratio:3/2;transform:rotateY(calc(-3deg + var(--pointer-x,0deg))) rotateX(var(--pointer-y,0deg));border:0;background:none;box-shadow:none;transition:transform .5s ease;filter:drop-shadow(0 32px 27px #050e0b45)}
.laptop-hardware{position:absolute!important;inset:0;display:block;width:100%!important;height:100%!important;object-fit:contain;pointer-events:none;z-index:1}
.hero .laptop-display{position:absolute;left:17.45%;top:10.65%;width:65.2%;height:57.35%;padding:0;border:0;border-radius:0;background:#eef0ee;overflow:hidden;z-index:2;cursor:zoom-in;display:flex;align-items:center}
.hero .laptop-display img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .2s}
.hero .laptop-display:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,#ffffff0c,transparent 40%,#1018200a);box-shadow:inset 0 0 2px 1px #0007}
.laptop-display:focus-visible{outline:3px solid #badf8e;outline-offset:4px}
.laptop-caption{position:absolute;left:0;bottom:0;width:100%;text-align:center;color:#b9c5b8;font-size:9px;letter-spacing:.06em}
.hero .stage-status{position:relative;z-index:3;transform:none;margin:-16px auto 0;max-width:300px;padding:16px 22px;background:#eaf0e6;border:1px solid #ffffff80;box-shadow:0 15px 40px #091a1129}
.hero .stage-label,.hero .stage-tabs{margin-left:5%;margin-right:5%}
@media(min-width:1100px){.hero{grid-template-columns:.92fr 1.22fr;gap:40px}.hero h1{font-size:clamp(43px,4.6vw,71px)}.hero .hero-text{max-width:470px}.hero .hero-stage{padding-top:22px}.hero .stage-status{margin-top:-9px}}
@media(max-width:900px){.hero .hero-screen.laptop-scene{width:100%;margin:0}.hero .stage-status{margin-top:8px}.hero .hero-stage{padding-bottom:10px}}
@media(max-width:600px){.hero .hero-screen.laptop-scene{width:calc(100% + 42px);margin:0 -21px;transform:none}.hero .stage-label,.hero .stage-tabs{margin-left:0;margin-right:0}.hero .stage-status{max-width:230px;margin-top:10px;padding:12px 17px}.laptop-caption{font-size:7px}.hero .hero-stage{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.hero .hero-screen.laptop-scene{transform:none;transition:none}}
