/* Full-bleed cinematic CAD space. All narrative motion belongs to the scene. */
.hardware-hero{background:#000000;border-block:0;border-bottom:1px solid #242c31;aspect-ratio:auto;height:min(840px,calc(100svh - 122px));min-height:650px;margin:0 0 36px;overflow:hidden}
.hardware-scene{background:#000000;isolation:isolate}
.hardware-scene::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,#000000 0%,#000000f5 22%,#00000080 39%,#00000000 64%)}
.hardware-scene .hardware-hero-canvas{z-index:2;image-rendering:pixelated}
.hardware-scene .cad-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;image-rendering:auto}
.hardware-scene.has-failed .cad-overlay{display:none}
.hero-device{z-index:5}
.hardware-copy{z-index:6;left:50%;top:47%;transform:translate(-50%,-50%);width:34%;text-align:center;max-width:520px}
.hardware-copy h1{font-size:clamp(3.5rem,5.7cqw,6rem);line-height:.98;letter-spacing:-.04em}
.hardware-copy h1 [data-hero-enter]{display:inline-block}
.hardware-copy .hardware-highlight{white-space:nowrap}
.hardware-copy .hardware-highlight{color:var(--accent)}
.hardware-copy p{color:#a7b4b7;max-width:350px;margin:26px auto 0;font-size:1.0625rem;line-height:1.55}
.hardware-copy .hero-actions{justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.hardware-copy .button{background:#172025;font-size:.9375rem;padding:13px 19px;min-height:48px}
.hardware-copy .button.black{background:#ecefe8;color:#121813;border-color:#ecefe8}
.hardware-copy .button.black:hover{background:#fff}


.hardware-credit{z-index:7;color:#859695;left:6%;right:auto;bottom:26px;transform:none;font-size:.75rem;background:none;padding:0}
.cad-static{position:absolute;inset:0;z-index:1;opacity:.60;pointer-events:none;transition:opacity .3s ease}
.hardware-scene.is-ready .cad-static{opacity:0;visibility:hidden}
.cad-static-node{position:absolute;left:calc(var(--x)*100%);top:calc(var(--y)*100%);width:calc(var(--w)*108%);height:calc(var(--h)*110%);transform:translate(-50%,-50%);font:12px var(--font-ui)}
.cad-static-node svg{display:block;width:100%;height:100%;overflow:visible}
.cad-static-node span{position:absolute;top:-12px;left:20px;color:inherit;background:#000000;padding:4px 6px;white-space:nowrap}
.cad-static-node.hardware-core{color:var(--accent)}
.hardware-fallback{z-index:2}
.hardware-fallback img{image-rendering:pixelated}
.hardware-scene.is-enhanced:not(.is-ready):not(.has-failed) .hardware-fallback{opacity:1;visibility:visible}
.hardware-core{--x:.19;--y:.49;--w:.22;--h:.48}
.hardware-pi{--x:.74;--y:.51;--w:.47;--h:.65}
.hardware-atom{--x:.75;--y:.51;--w:.33;--h:.64}
.hardware-stick{--x:.75;--y:.48;--w:.27;--h:.80}
.cad-static-node:not(.hardware-core),.hardware-fallback figure:not(.hardware-core){display:none}
@media(min-width:1001px){
 .hardware-copy p{width:640px;max-width:none;margin-inline:calc((100% - 640px)/2)}
}
@media(min-width:1001px) and (max-width:1200px){
 .hardware-copy{left:50%;width:35%}
 .hardware-copy h1{font-size:5.6cqw}
 .hardware-copy .hero-actions{flex-direction:column;align-items:center}
}
@media(max-width:1000px){
 .hardware-hero{padding-top:40px;gap:24px;height:auto;min-height:0;margin-bottom:30px}
 .hardware-copy{position:relative;left:auto;top:auto;transform:none;width:calc(100% - 48px);max-width:580px;text-align:center}
 .hardware-copy h1{font-size:4.3rem}
 .hardware-copy p{margin-top:24px;max-width:360px}
 .hardware-copy .hero-actions{justify-content:center;margin-top:26px;flex-direction:row}
 .hardware-scene{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.55}
 .hardware-scene::after{background:linear-gradient(0deg,#000000,#00000000 20%)}
 .hardware-credit{position:static;left:auto;bottom:auto;transform:none;align-self:flex-start;margin:0 24px 24px}
}
@media(max-width:720px){
 .hardware-hero{padding-top:32px;gap:20px}
 .hardware-copy{width:calc(100% - 32px)}
 .hardware-copy h1{font-size:clamp(3.1rem,11.2vw,4.2rem)}
 .hardware-copy p{font-size:1rem}
 .hardware-copy .button{font-size:.875rem;padding:12px 16px}
 .hardware-scene{aspect-ratio:1.16}
 .hardware-core{--x:.5;--y:.50;--w:.61;--h:.78}
 .cad-static{opacity:.55}
 .cad-static-node{height:calc(var(--h)*103%);width:calc(var(--w)*108%)}
 .cad-static-node span{font-size:11px;left:6px;top:-16px}
 .hardware-fallback figure{width:calc(var(--w)*90%);height:calc(var(--h)*90%)}
 .hardware-credit{margin-left:16px}
}
@media(prefers-reduced-motion:reduce){.cad-static{transition:none}}
