
/* Keep the source image continuous; light and interface details sit above it. */
.hero-photo{animation:sam-hero-photo-settle 4.2s cubic-bezier(.18,.68,.25,1) both!important;transform-origin:right center;will-change:auto;transition:filter .36s ease}
.hero.scene-powered .hero-photo{filter:brightness(1.12) contrast(1) saturate(.99)}
.hero.scene-auto-ignition .hero-photo{transition-duration:1.05s}
@media(min-width:1051px){.sam-scene{animation:sam-hero-photo-settle 4.2s cubic-bezier(.18,.68,.25,1) both;transform-origin:right center}}
.proof span{display:inline-flex;align-items:center;gap:7px}
.proof span:before{content:none!important}
.proof svg{width:17px;height:17px;fill:none;stroke:#36b9ff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.topbar .brand{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;transition:filter .25s,background .25s}
.topbar .brand img{transition:filter .25s,transform .25s}
.topbar .brand:hover img{filter:drop-shadow(0 0 8px #19b9ff);transform:translateY(-1px)}
.topbar .brand:after{content:"";position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 35%,#c9f6ff80 49%,transparent 62%);transform:translateX(-140%);animation:brand-shine 14s ease-in-out 3s infinite;pointer-events:none}
@keyframes brand-shine{0%,88%{transform:translateX(-140%)}96%,100%{transform:translateX(140%)}}
.sam-scene{position:absolute;right:0;top:0;height:100%;aspect-ratio:2;pointer-events:none;z-index:0;isolation:isolate}
.sam-scene:before{content:"";position:absolute;z-index:0;inset:7% 0 3% 24%;background:radial-gradient(ellipse at 69% 47%,rgba(151,200,226,.13),rgba(110,164,199,.045) 34%,transparent 69%),radial-gradient(ellipse at 57% 68%,rgba(255,188,127,.11),rgba(239,169,111,.03) 28%,transparent 61%);filter:blur(12px);opacity:0;transition:opacity .28s ease;pointer-events:none}
.sam-scene.powered:before{opacity:.48}
.auto-ignition:before{transition-duration:.95s}
.scene-svg{position:relative;z-index:1;width:100%;height:100%;overflow:visible}
.scene-backdrop-shade{fill:#03101e;opacity:.16;transition:opacity .4s ease}
.powered .scene-backdrop-shade{opacity:0}
.auto-ignition .scene-backdrop-shade{transition-duration:.95s}
.scene-logo{filter:brightness(.34);transition:filter .18s ease}
.powered .scene-logo{filter:brightness(1.14) drop-shadow(0 0 5px rgba(119,190,224,.54)) drop-shadow(0 0 10px rgba(0,126,193,.28))}
.auto-ignition .scene-logo{transition:filter 1.05s ease}
.scene-wires{fill:none;opacity:0;transition:opacity .18s;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.scene-wires path{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .32s ease}
.auto-ignition .scene-wires{transition:opacity .72s ease}
.auto-ignition .scene-wires path{transition:stroke-dashoffset .9s cubic-bezier(.2,.7,.25,1)}
.fibre-sleeve{stroke:#4a8fb4;stroke-width:5;stroke-opacity:.13}
.fibre-cladding{stroke:#4cb3d2;stroke-width:1.8;stroke-opacity:.78;filter:drop-shadow(0 0 1px #64bfd8)}
.fibre-core{stroke:#e0f3f7;stroke-width:.9;stroke-opacity:.92;filter:drop-shadow(0 0 1px #a4dce9)}
.wires-on .scene-wires{opacity:.82}
.wires-on .scene-wires path{stroke-dashoffset:0}
.scene-panel{pointer-events:auto;outline:none;cursor:default}
.panel-motion{transition:transform .24s,filter .18s;filter:brightness(.34)}
.auto-ignition .panel-motion{transition:transform .24s,filter .72s ease}
.panel-motion>rect:first-child{fill:#041c30;fill-opacity:.98;stroke:#06b9e2;stroke-width:1.2}
.panels-on .panel-motion{filter:brightness(1.04) drop-shadow(0 0 3px rgba(153,209,231,.3))}
.scene-panel:hover .panel-motion,.scene-panel:focus .panel-motion{transform:translateY(-2px);filter:brightness(1.18) drop-shadow(0 0 4px #03c8ff)}
.scene-panel:focus .panel-motion>rect:first-child{stroke:#d7faff;stroke-width:2}
.panel-icon{fill:none;stroke:#50e4ff;stroke-width:1.6;stroke-linejoin:round}
.panel-label{font:600 8px Montserrat,Arial;fill:#a1dceb}
.panel-value{font:700 15px Montserrat,Arial;fill:#d5f7ff}
.panel-chart{stroke:#12d9ff;stroke-width:3}
.panel-reflection{opacity:0;transform:translateX(var(--shine,0px));transition:opacity .3s;pointer-events:none}
.scene-panel:hover .panel-reflection,.scene-panel:focus .panel-reflection{opacity:1}
.scene-power{position:absolute;z-index:3;left:67.1%;top:33.2%;width:12%;height:20%;clip-path:polygon(57% 0,68% 14%,72% 40%,95% 51%,100% 65%,76% 85%,28% 100%,0 87%,0 67%,14% 53%,10% 30%);border:0;padding:0;background:transparent;cursor:pointer;pointer-events:auto}
.scene-power:focus-visible{background:#b9f3ff40;outline:0;filter:drop-shadow(0 0 10px #fff)}
.hero-inner{position:relative;z-index:1;pointer-events:none}
.hero-copy{pointer-events:auto}
@media(max-width:1050px){
 .hero-photo{background-image:none!important}
 .hero{padding-bottom:0!important;display:block}
 .sam-scene{position:relative;height:auto;width:190%;aspect-ratio:2;margin-left:-90%;right:auto;top:auto;opacity:1}
 .scene-svg{background:url("assets/cantiere-miniatura-blueprint.png") center/100% 100% no-repeat;transition:filter .36s ease}
 .powered .scene-svg{filter:brightness(1.12) contrast(1) saturate(.99)}
 .auto-ignition .scene-svg{transition-duration:1.05s}
 .hero-inner{min-height:auto!important;padding-bottom:20px}
}
@media(prefers-reduced-motion:reduce){
 .hero-photo,.sam-scene{animation:none!important;transform:none!important}
 .hero-photo{transition:none!important}
 .sam-scene:before{transition:none!important}
 .sam-scene *,.topbar .brand:after,.topbar .brand img{animation:none!important;transition:none!important}
 .scene-panel:hover .panel-motion,.scene-panel:focus .panel-motion{transform:none!important}
}

