/* Three large editorial scenes, scoped to the public HARIM portal. */
.signal-site .signal-hero{min-height:0;padding-bottom:70px}
.signal-story{position:relative;border-block:1px solid #c9d6c9;scroll-margin-top:0!important}
.signal-story.is-enhanced{height:clamp(2400px,420svh,4200px)}
.story-sticky{--scene-height:min(100svh,1000px);position:relative;overflow:hidden;padding-top:75px}
.is-enhanced .story-sticky{position:sticky;top:0;height:var(--scene-height);min-height:570px;padding:0}
.story-chapters{position:absolute;top:29px;left:6%;right:6%;display:flex;gap:34px;list-style:none;margin:0;padding:0 0 18px;border-bottom:1px solid #c6d5c7;z-index:5}
.story-chapters li{font-size:11px;letter-spacing:.2px;color:#789281;position:relative}
.story-chapters li span{font:9px Consolas,monospace;display:inline-block;margin-right:9px;color:#89a08d}
.story-chapters li[aria-current="step"]{color:#205640}
.story-chapters li[aria-current="step"]::after{content:"";position:absolute;left:0;right:0;bottom:-19px;height:2px;background:#159676}
.product-panel{position:relative;min-height:720px;isolation:isolate}
.is-enhanced .product-panel{position:absolute;inset:75px 0 70px;min-height:0;opacity:var(--panel-opacity,0);pointer-events:none}
.is-enhanced .product-origin{--panel-opacity:1}
.product-copy{position:absolute;left:8%;top:50%;width:38%;max-width:560px;transform:translateY(-50%);z-index:3}
.product-copy .signal-label,.plan-heading .signal-label{font-size:10px;letter-spacing:1.8px;margin:0 0 28px}
.signal-site .product-copy h2{font-size:clamp(48px,6.2vw,92px);font-weight:500;line-height:1.02;letter-spacing:-.06em;margin:0 0 32px}
.product-copy h2 em,.plan-heading h2 em{font-style:normal;color:#149a78}
.product-copy>p:not(.signal-label){font-size:16px;line-height:1.7;color:#5a7163;max-width:350px;margin:0}
.product-detail{display:block;margin-top:34px;font:9px/1.7 Consolas,monospace;letter-spacing:1.4px;color:#7a9381}
.story-device{position:absolute;margin:0;isolation:isolate;pointer-events:none;will-change:transform;filter:drop-shadow(0 25px 18px #32503c1b)}
.story-emisor{right:1%;top:50%;width:min(58vw,calc((var(--scene-height) - 145px)*.8));aspect-ratio:4/5;transform:translateY(-50%) translateX(var(--tx-travel,0px)) scale(var(--tx-scale,1))}
.story-receptor{left:-1%;top:53%;width:min(68vw,calc((var(--scene-height) - 145px)*1.333));aspect-ratio:4/3;transform:translateY(-50%) translateX(var(--rx-travel,0px)) scale(var(--rx-scale,1))}
.story-device img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.story-sprite{position:absolute;inset:0;background-size:200% 300%;background-repeat:no-repeat;opacity:0}
.is-sprite-ready .story-sprite{opacity:1}.is-sprite-ready img{opacity:0}
.product-destination .product-copy{left:auto;right:6%;width:33%}
.signal-site .product-destination h2{font-size:clamp(42px,5.1vw,78px)}
.product-aura{position:absolute;width:105%;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--aura-scale,1));z-index:-1}
.product-aura::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#b5d7b932,transparent 68%)}
.product-aura i{position:absolute;inset:4%;border:1px solid #65b7993a;border-radius:50%;transform:rotate(-24deg) scaleX(.6)}
.product-aura i:nth-child(2){inset:-8%;transform:rotate(25deg) scaleX(.63);border-color:#65b79925}
.product-aura i:nth-child(3){inset:-20%;transform:rotate(-12deg) scaleX(.7);border-color:#65b79919}
.receiver-halo{position:absolute;inset:5% -5%;z-index:-1;background:radial-gradient(ellipse,#94c6a72b,transparent 66%)}
.plan-heading{position:absolute;top:6%;left:0;right:0;text-align:center;z-index:2}
.plan-heading .signal-label{margin-bottom:18px}
.signal-site .plan-heading h2{font-size:clamp(42px,4.5vw,70px);font-weight:500;letter-spacing:-.05em;line-height:1.05;margin:0}
.floorplan-wrap{position:absolute;left:50%;top:54%;width:min(1000px,83vw,calc((var(--scene-height) - 275px)*1.64));aspect-ratio:1000/610;margin:0;transform:translate(-50%,-50%) perspective(1400px) rotateX(var(--plan-tilt,0deg)) scale(var(--plan-scale,1));transform-origin:center}
.story-floorplan{display:block;width:100%;height:100%;overflow:visible}
.plan-waves{opacity:var(--wave-visibility,1)}
.plan-waves circle{vector-effect:non-scaling-stroke}
.plan-label{font:15px Consolas,monospace;letter-spacing:2px}
.plan-sensor text,.plan-gateway text{font:600 14px "Segoe UI",sans-serif;letter-spacing:1.5px;fill:#1d6548}
.plan-route{stroke-dasharray:1;stroke-dashoffset:var(--route-offset,0)}
.plan-received{opacity:var(--arrival,1)}
.floorplan-wrap figcaption{position:absolute;top:99%;width:100%;text-align:center;font:9px/1.8 Consolas,monospace;letter-spacing:1px;color:#47785b}
.floorplan-wrap figcaption span{display:block;color:#839887;font:10px/1.6 "Segoe UI",sans-serif;letter-spacing:0;margin-top:8px}
.story-controls{position:relative;margin:0 6%;padding:22px 0;display:flex;align-items:center;justify-content:space-between;z-index:6;border-top:1px solid #c6d5c7}
.is-enhanced .story-controls{position:absolute;bottom:0;left:6%;right:6%;margin:0}
.story-controls>span{font:9px/1.6 Consolas,monospace;letter-spacing:1.2px;color:#6b8975}
.story-controls button{border:0;border-radius:0;background:transparent;color:#456b55;padding:4px 0;font:10px/1.5 Consolas,monospace;cursor:pointer}
.story-controls button:focus-visible{outline:2px solid #1b8e6c;outline-offset:5px}
.story-intro-note{font-size:25px;line-height:1.5;font-weight:300}
@media(max-height:700px) and (min-width:801px){.product-copy .signal-label{margin-bottom:20px}.signal-site .product-copy h2{font-size:57px;margin-bottom:22px}.product-copy>p:not(.signal-label){font-size:14px}.product-detail{margin-top:20px}.signal-site .plan-heading h2{font-size:44px}.plan-heading{top:1%}.floorplan-wrap{top:54%}}
@media(max-width:800px){
  .signal-site .signal-hero{padding-bottom:40px}
  .signal-story.is-enhanced{height:350svh}
  .story-sticky{--scene-height:100svh}
  .is-enhanced .story-sticky{min-height:620px}
  .story-chapters{top:22px;left:6%;right:6%;gap:0;justify-content:space-between;padding-bottom:15px}
  .story-chapters li{font-size:10px}.story-chapters li span{margin-right:6px;font-size:8px}.story-chapters li[aria-current="step"]::after{bottom:-16px}
  .product-panel{min-height:730px}
  .is-enhanced .product-panel{inset:76px 0 69px}
  .product-copy,.product-destination .product-copy{top:0;left:7%;right:7%;width:auto;max-width:none;transform:none}
  .product-copy .signal-label{font-size:8px;margin-bottom:16px}
  .signal-site .product-copy h2,.signal-site .product-destination h2{font-size:clamp(43px,11vw,67px);line-height:1.02;margin-bottom:18px}
  .product-copy>p:not(.signal-label){font-size:13px;line-height:1.65;max-width:330px}
  .product-detail{display:none}
  .story-emisor{top:auto;bottom:-25px;left:50%;right:auto;width:min(100vw,calc((var(--scene-height) - 310px)*.8));transform:translateX(-50%) translateY(var(--tx-travel,0px)) scale(var(--tx-scale,1))}
  .story-receptor{top:auto;bottom:25px;left:50%;width:110vw;max-width:660px;transform:translateX(-50%) translateY(var(--rx-travel,0px)) scale(var(--rx-scale,1))}
  .plan-heading{top:1%;left:7%;right:7%;text-align:left}.plan-heading .signal-label{font-size:8px;letter-spacing:1.2px;margin-bottom:18px}
  .signal-site .plan-heading h2{font-size:clamp(43px,11vw,67px)}
  .floorplan-wrap{width:111vw;top:61%;max-width:700px}.plan-label{font-size:20px;letter-spacing:1px}.plan-sensor text,.plan-gateway text{font-size:19px}
  .floorplan-wrap figcaption{font-size:8px;margin-top:20px}.floorplan-wrap figcaption span{font-size:9px;max-width:270px;margin:6px auto 0}
  .story-controls{padding-block:18px}.story-controls>span{font-size:8px;letter-spacing:.5px}.story-controls button{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .signal-story.is-enhanced{height:auto}.is-enhanced .story-sticky{position:relative;height:auto;min-height:0;padding-top:75px}
  .is-enhanced .product-panel{position:relative;inset:auto;min-height:720px;opacity:1!important}
  .is-enhanced .story-controls{position:relative;left:auto;right:auto;margin-inline:6%}
  .story-device{will-change:auto}.product-aura{transform:translate(-50%,-50%)}
  .floorplan-wrap{transform:translate(-50%,-50%)}
}
