@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');
:root{--bg:#05090c;--bg2:#081117;--panel:#0c151b;--text:#f5f8fa;--muted:#8fa1ab;--line:rgba(255,255,255,.11);--cyan:#4fd8ff;--cyan2:#00a8d4;--red:#ff4d58;--green:#53f0ae;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{height:76px;position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:32px;padding:0 32px;border-bottom:1px solid transparent;transition:.3s;background:linear-gradient(to bottom,rgba(5,9,12,.8),rgba(5,9,12,0));backdrop-filter:blur(8px)}.site-header.scrolled{background:rgba(5,9,12,.88);border-color:var(--line)}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none}.brand-mark{width:34px;height:34px}.brand-mark svg{width:100%;fill:none;stroke:var(--cyan);stroke-width:2}.brand-mark .wave{stroke:white}.brand-text{font-weight:800;font-size:17px;letter-spacing:.18em}.brand-text span{color:var(--cyan)}.desktop-nav{margin-left:auto;display:flex;gap:28px}.desktop-nav a,.header-cta{color:#dfe8ed;text-decoration:none;font-size:13px}.desktop-nav a:hover{color:white}.header-cta{border:1px solid var(--line);padding:10px 16px;border-radius:999px;margin-left:8px}.hero{min-height:100vh;position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;padding:125px max(32px,calc((100vw - var(--max))/2)) 80px;overflow:hidden;background:radial-gradient(circle at 78% 38%,rgba(29,118,145,.28),transparent 30%),linear-gradient(180deg,#071016 0,#05090c 78%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(to bottom,transparent,var(--bg))}.hero-grid{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(90,208,240,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(90,208,240,.18) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to right,transparent 0,black 45%,black 100%)}.sea-lines{position:absolute;inset:auto -10vw 4vh 35vw;height:44%;transform:rotate(-8deg);opacity:.35}.sea-lines span{position:absolute;left:0;right:0;height:120px;border-top:1px solid rgba(79,216,255,.35);border-radius:50%}.sea-lines span:nth-child(2){top:70px}.sea-lines span:nth-child(3){top:140px}.sea-lines span:nth-child(4){top:210px}.hero-copy{position:relative;z-index:4;max-width:680px}.eyebrow,.section-kicker{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.16em;color:#9eb4bf}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green);margin-right:8px}.hero h1{font-size:clamp(55px,6.4vw,96px);line-height:.91;letter-spacing:-.065em;margin:22px 0 28px;font-weight:700}.hero h1 em,.sports h2 em,.requirements h2 em,.contact h2 em{font-style:normal;color:var(--cyan)}.hero-lede{max-width:590px;color:#b4c2c9;font-size:18px;line-height:1.6}.hero-actions{display:flex;gap:14px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:4px;text-decoration:none;font-weight:700;font-size:13px}.btn-primary{background:var(--cyan);color:#041016;box-shadow:0 0 35px rgba(79,216,255,.15)}.btn-ghost{border:1px solid var(--line);color:white}.trust-row{display:flex;align-items:center;gap:12px;margin-top:35px;color:#768d99;font:10px "Space Mono",monospace;letter-spacing:.08em}.trust-row i{width:18px;height:1px;background:#28414c}.watch-stage{height:670px;position:relative;z-index:4;display:flex;align-items:center;justify-content:center}.watch-body{width:330px;height:390px;border-radius:115px;position:relative;padding:17px;background:linear-gradient(145deg,#4a555b 0,#11171a 17%,#090d0f 70%,#384249 100%);box-shadow:0 50px 100px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.22),inset 0 -10px 30px rgba(0,0,0,.7);transform:rotate(-5deg)}.watch-body:before,.watch-body:after{content:"";position:absolute;left:85px;width:160px;height:160px;background:linear-gradient(90deg,#0c1114,#293239,#0c1114);z-index:-1}.watch-body:before{top:-115px;border-radius:32px 32px 10px 10px}.watch-body:after{bottom:-115px;border-radius:10px 10px 32px 32px}.watch-crown{position:absolute;right:-14px;top:95px;width:16px;height:52px;border-radius:4px;background:#252e33}.watch-screen{width:100%;height:100%;border-radius:98px;background:radial-gradient(circle at 50% 40%,#0c2930,#041012 58%,#020607);overflow:hidden;padding:25px 28px 22px;box-shadow:inset 0 0 30px #000;border:1px solid rgba(255,255,255,.08)}.watch-top{display:flex;justify-content:space-between;font:10px "Space Mono"}.lte{color:var(--cyan)}.watch-logo{text-align:center;margin-top:12px;font:700 10px "Space Mono";letter-spacing:.2em;color:#dff9ff}.watch-coords{text-align:center;margin-top:5px;font:8px "Space Mono";color:#67808b}.watch-ring{width:150px;height:150px;border-radius:50%;margin:14px auto 8px;display:grid;place-items:center;background:conic-gradient(var(--cyan) 0 78%,rgba(79,216,255,.1) 78% 100%);box-shadow:0 0 35px rgba(79,216,255,.15)}.watch-ring:before{content:"";position:absolute}.watch-ring-inner{width:137px;height:137px;border-radius:50%;background:#041013;display:flex;flex-direction:column;align-items:center;justify-content:center}.watch-ring strong{font-size:20px;letter-spacing:.08em}.watch-ring span{font:9px "Space Mono";color:var(--cyan);margin-top:2px}.watch-ring small{font:8px "Space Mono";color:#617781;margin-top:8px}.watch-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:8px}.watch-stats div{text-align:center}.watch-stats b{display:block;font-size:11px}.watch-stats span{font:7px "Space Mono";color:#6d848e}.watch-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.watch-buttons button{border:0;background:#10323c;color:#9feeff;padding:10px 4px;border-radius:999px;font-weight:800;font-size:10px}.watch-buttons .sos{background:#69171e;color:#ffb7bc}.orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid rgba(79,216,255,.13);border-radius:50%;width:550px;height:550px}.orbit-b{width:660px;height:660px}.radar-sweep{position:absolute;top:50%;left:50%;width:660px;height:660px;border-radius:50%;background:conic-gradient(from 25deg,transparent 0 80%,rgba(79,216,255,.08) 92%,rgba(79,216,255,.18) 100%);transform:translate(-50%,-50%) rotate(0deg);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;animation:spin 8s linear infinite}.watch-shadow{position:absolute;width:360px;height:60px;border-radius:50%;background:#000;filter:blur(25px);bottom:85px;opacity:.6}.telemetry{position:absolute;background:rgba(7,18,23,.82);border:1px solid rgba(79,216,255,.2);backdrop-filter:blur(10px);padding:12px 16px;min-width:160px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.telemetry b{font:10px "Space Mono";color:var(--cyan);display:block}.telemetry span{font-size:10px;color:#8197a2}.card-one{left:2%;top:27%}.card-two{right:-2%;bottom:24%}.scroll-hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);z-index:5;font:9px "Space Mono";letter-spacing:.2em;color:#51646d}.scroll-hint span{color:var(--cyan)}
.manifesto,.flow,.sports,.plans,.requirements{max-width:var(--max);margin:auto;padding:130px 32px}.manifesto-grid,.section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;margin-top:24px}.manifesto h2,.section-heading h2,.sports h2,.plans h2,.requirements h2,.safety-note h2,.contact h2{font-size:clamp(40px,5vw,70px);line-height:1.02;letter-spacing:-.05em;margin:0}.manifesto h2 em{font-style:normal;color:#7e929c}.manifesto-copy{padding-top:10px;color:#a7b5bc;line-height:1.75}.risk-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:85px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.risk-strip article{padding:28px 30px 32px;border-right:1px solid var(--line)}.risk-strip article:last-child{border-right:0}.risk-strip span{font:10px "Space Mono";color:var(--cyan)}.risk-strip h3{font-size:28px;margin:28px 0 10px}.risk-strip p{color:#7f939d;line-height:1.6;font-size:13px}.statement{padding:90px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#070d11}.statement-marquee{width:100%;overflow:hidden}.statement-marquee+.statement-marquee{margin-top:8px}.statement-track{display:flex;width:max-content;will-change:transform}.statement-line{flex:0 0 auto;font-size:clamp(42px,6.5vw,96px);font-weight:800;white-space:nowrap;letter-spacing:-.06em;padding-right:.34em}.statement-line span{color:var(--cyan)}.statement-line.muted{color:#39464d}.statement-line.muted span{color:#7b252b}.statement-marquee-left .statement-track{animation:statement-left 24s linear infinite}.statement-marquee-right .statement-track{animation:statement-right 28s linear infinite}@keyframes statement-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes statement-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.statement-track{animation-play-state:paused!important}}.section-heading{align-items:end}.section-heading p{color:#8ea0aa;line-height:1.7;margin:0}.timeline{margin-top:100px;position:relative}.timeline-rail{position:absolute;left:41px;top:40px;bottom:40px;width:1px;background:#1a2b33}.timeline-progress{width:1px;height:0;background:var(--cyan);box-shadow:0 0 15px var(--cyan)}.timeline-step{display:grid;grid-template-columns:82px 1fr 1.2fr;gap:50px;align-items:center;min-height:420px;border-bottom:1px solid var(--line);position:relative}.step-no{width:82px;height:82px;border:1px solid #22404c;border-radius:50%;display:grid;place-items:center;background:var(--bg);z-index:2;font:12px "Space Mono";color:var(--cyan)}.step-copy h3{font-size:34px;margin:15px 0}.step-copy p{color:#8da0aa;line-height:1.7;max-width:440px}.chip{display:inline-block;font:9px "Space Mono";letter-spacing:.12em;border:1px solid #47565d;padding:6px 8px;color:#9eaeb5}.chip.cyan{border-color:#1d6579;color:#7de9ff}.chip.alert{border-color:#71343a;color:#ff8189}.chip.pro{border-color:#714d1e;color:#ffc066}.step-ui{height:270px;border:1px solid var(--line);background:#081117;position:relative;overflow:hidden}.mini-map{background:linear-gradient(160deg,#0a1720,#061014)}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(79,216,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(79,216,255,.08) 1px,transparent 1px);background-size:30px 30px}.map-coast{position:absolute;right:-30px;top:-20px;width:48%;height:120%;background:#142028;clip-path:polygon(62% 0,100% 0,100% 100%,20% 100%,37% 78%,15% 64%,47% 49%,27% 34%)}.map-dot{position:absolute;left:43%;top:51%;width:12px;height:12px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 8px rgba(79,216,255,.1),0 0 30px var(--cyan)}.map-label{position:absolute;left:20px;bottom:18px;font:9px "Space Mono";color:var(--cyan)}.signal-wave{position:absolute;inset:40px 30px 80px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 120'%3E%3Cpath d='M0 70 C30 65 45 70 65 72 S95 74 105 65 120 10 132 75 155 92 172 70 192 70 205 68 220 35 230 75 245 78 265 69 280 72 300 72 315 30 328 76 350 86 365 70 385 71 405 67 425 74 445 71 465 69 500 70' fill='none' stroke='%234fd8ff' stroke-width='2'/%3E%3C/svg%3E") center/100% 100% no-repeat;filter:drop-shadow(0 0 6px rgba(79,216,255,.35))}.signal-stats{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;font:9px "Space Mono";color:#718690}.signal-stats b{color:#d9f8ff;display:block;font-size:13px}.sos-ui{display:flex;align-items:center;justify-content:center;gap:40px;background:radial-gradient(circle at 28% 50%,rgba(255,77,88,.13),transparent 32%),#0a1115}.sos-pulse{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;border:1px solid #7a2b31;box-shadow:0 0 0 18px rgba(255,77,88,.04),0 0 0 35px rgba(255,77,88,.025)}.sos-pulse span{font-weight:800;font-size:27px;color:#ff6771}.sos-copy b{display:block;color:#ff7d85;font:12px "Space Mono"}.sos-copy span{font-size:11px;color:#6d7c84}.watchdog-ui{background:radial-gradient(circle at 50% 50%,rgba(79,216,255,.08),transparent 50%),#071015}.watchdog-node{position:absolute;border:1px solid #265363;color:#9cefff;font:9px "Space Mono";display:grid;place-items:center;background:#08141a}.watchdog-node.main{width:70px;height:70px;border-radius:50%;left:calc(50% - 35px);top:calc(50% - 35px);font-weight:700}.watchdog-node.n1,.watchdog-node.n2,.watchdog-node.n3{width:92px;height:38px}.n1{left:8%;top:18%}.n2{right:8%;top:18%}.n3{right:8%;bottom:16%}.watchdog-lines{position:absolute;inset:0;width:100%;height:100%}.watchdog-lines line{stroke:#245161;stroke-width:1px;vector-effect:non-scaling-stroke}.ok-band{max-width:var(--max);margin:50px auto 110px;padding:55px 70px;display:grid;grid-template-columns:150px 1fr;align-items:center;gap:50px;border:1px solid rgba(79,216,255,.22);background:linear-gradient(110deg,rgba(79,216,255,.08),rgba(79,216,255,.015))}.ok-button{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:#0c303a;border:1px solid #286173;font-size:42px;box-shadow:0 0 40px rgba(79,216,255,.08)}.ok-band h2{font-size:52px;margin:8px 0}.ok-band p{color:#8ea1aa;line-height:1.6;max-width:700px}.sports{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sports h2{margin-top:24px}.sport-cloud{margin-top:70px;display:flex;flex-wrap:wrap;gap:12px}.sport-cloud span{border:1px solid var(--line);padding:20px 24px;font-size:clamp(18px,2vw,32px);font-weight:700;letter-spacing:-.03em;background:#070d11}.sport-cloud span:nth-child(3n+1){color:var(--cyan)}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:75px}.plan-card{padding:44px;border:1px solid var(--line);min-height:560px;display:flex;flex-direction:column}.plan-card.pro{background:radial-gradient(circle at 100% 0,rgba(255,171,64,.10),transparent 35%),#0b1115;border-color:#48351e}.plan-tag{font:10px "Space Mono";letter-spacing:.12em;color:var(--cyan)}.plan-tag span{color:#ffbd66}.plan-card h3{font-size:44px;line-height:1.03;letter-spacing:-.045em;margin:38px 0 20px}.plan-card p{color:#8da0aa;line-height:1.65;max-width:490px}.plan-card ul{padding:0;list-style:none;margin:35px 0}.plan-card li{padding:14px 0;border-top:1px solid var(--line);color:#c5d1d6;font-size:13px}.plan-card li:before{content:"✓";color:var(--cyan);margin-right:10px}.plan-card a{margin-top:auto;color:white;text-decoration:none;font-weight:700;font-size:13px}.plan-card.pro a,.plan-card.pro li:before{color:#ffc06e}.requirements h2{max-width:900px;margin-top:25px}.req-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px}.req-grid article{border-top:1px solid var(--line);padding:35px 0}.req-icon{font:700 16px "Space Mono";color:var(--cyan);height:40px}.req-grid h3{font-size:24px}.req-grid p,.compatibility{color:#8397a1;line-height:1.65}.compatibility{max-width:880px;border-left:2px solid #234d5c;padding-left:18px;margin-top:35px;font-size:13px}.safety-note{max-width:var(--max);margin:20px auto 120px;padding:55px 70px;border:1px solid #543033;background:linear-gradient(105deg,rgba(255,77,88,.07),transparent);display:grid;grid-template-columns:100px 1fr;gap:30px}.warning-mark{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;border:1px solid #7b3b40;color:#ff6670;font-size:30px}.safety-note h2{font-size:44px;margin:12px 0}.safety-note p{color:#9e8b8d;line-height:1.7;max-width:800px}.contact{position:relative;text-align:center;padding:150px 32px 120px;border-top:1px solid var(--line);overflow:hidden}.contact-bg{position:absolute;width:800px;height:800px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-45%);background:radial-gradient(circle,rgba(79,216,255,.10),transparent 62%);pointer-events:none}.contact h2{font-size:clamp(70px,10vw,150px);line-height:.82;margin:35px 0;position:relative}.contact p{color:#93a4ad;max-width:600px;margin:0 auto 32px;line-height:1.7}.btn.big{padding:18px 28px;font-size:15px}.coming-soon{margin-top:42px;font:9px "Space Mono";letter-spacing:.12em;color:#667983}.coming-soon b{color:#a9bac2}footer{border-top:1px solid var(--line);padding:28px 32px;display:flex;align-items:center;gap:25px;color:#52636c;font-size:11px}.footer-brand{margin-right:auto}.footer-brand .brand-text{font-size:12px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes spin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(max-width:900px){.desktop-nav{display:none}.site-header{padding:0 18px}.hero{grid-template-columns:1fr;padding:110px 22px 70px}.hero-copy{z-index:8}.hero h1{font-size:58px}.watch-stage{height:560px;margin-top:20px}.watch-body{transform:scale(.82) rotate(-4deg)}.orbit{transform:translate(-50%,-50%) scale(.8)}.radar-sweep{width:528px;height:528px}.sea-lines{display:none}.telemetry{display:none}.manifesto,.flow,.sports,.plans,.requirements{padding:90px 22px}.manifesto-grid,.section-heading{grid-template-columns:1fr;gap:28px}.risk-strip{grid-template-columns:1fr}.risk-strip article{border-right:0;border-bottom:1px solid var(--line)}.timeline-rail{display:none}.timeline-step{grid-template-columns:64px 1fr;gap:20px;padding:40px 0}.step-no{width:58px;height:58px}.step-ui{grid-column:1 / -1;height:230px}.statement-line{font-size:38px}.ok-band{margin:30px 22px 80px;padding:35px;grid-template-columns:1fr}.plan-grid,.req-grid{grid-template-columns:1fr}.plan-card{min-height:0}.safety-note{margin:0 22px 80px;padding:34px;grid-template-columns:1fr}.contact{padding-top:100px}.header-cta{margin-left:auto}.brand-text{font-size:14px}}
@media(max-width:520px){.hero h1{font-size:50px}.hero-lede{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.trust-row{font-size:8px;gap:7px}.watch-stage{height:470px}.watch-body{transform:scale(.72) rotate(-4deg)}.orbit{transform:translate(-50%,-50%) scale(.66)}.radar-sweep{width:436px;height:436px}.manifesto h2,.section-heading h2,.sports h2,.requirements h2{font-size:42px}.timeline-step{grid-template-columns:50px 1fr}.step-no{width:46px;height:46px}.signal-stats{font-size:7px}.sos-ui{gap:18px}.sos-pulse{width:90px;height:90px}.plan-card{padding:30px}.plan-card h3{font-size:36px}.ok-band{padding:28px}.safety-note h2{font-size:36px}footer{flex-wrap:wrap}.site-header .brand-mark{display:none}}

/* WaterGuard production logo */
.brand-logo{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(79,216,255,.22))}
.watch-app-logo{display:block;width:58px;height:58px;object-fit:contain;margin:5px auto -2px;filter:drop-shadow(0 0 10px rgba(79,216,255,.28))}
.footer-brand .brand-logo{width:38px;height:38px}
@media(max-width:900px){.brand-logo{width:42px;height:42px}.site-header{height:70px}.watch-app-logo{width:52px;height:52px}}
@media(max-width:520px){.site-header .brand-logo{display:block;width:42px;height:42px}.site-header .brand-text{font-size:12px;letter-spacing:.12em}.header-cta{padding:9px 12px}.hero{padding-top:96px}.hero h1{font-size:clamp(43px,13vw,50px)}.watch-stage{margin-top:4px}.watch-app-logo{width:48px;height:48px}}

/* Language selector */
.lang-switch{display:flex;align-items:center;gap:5px;color:#51646d;font:700 10px "Space Mono",monospace;letter-spacing:.08em;white-space:nowrap}
.lang-btn{appearance:none;border:0;background:transparent;color:#617681;font:700 10px "Space Mono",monospace;letter-spacing:.08em;padding:7px 5px;cursor:pointer;transition:color .2s ease,text-shadow .2s ease}
.lang-btn:hover{color:#dff9ff}.lang-btn.active{color:var(--cyan);text-shadow:0 0 12px rgba(79,216,255,.28)}
@media(max-width:900px){.lang-switch{margin-left:auto}.header-cta{margin-left:0}}
@media(max-width:520px){.site-header{gap:10px}.brand{gap:7px}.lang-switch{gap:2px}.lang-btn{padding:7px 3px}.header-cta{font-size:11px;padding:9px 10px}}
@media(max-width:380px){.site-header .brand-text{display:none}.site-header{gap:8px}}

@media(max-width:900px){.statement{padding:65px 0}.statement-marquee-left .statement-track{animation-duration:30s}.statement-marquee-right .statement-track{animation-duration:34s}}
@media(max-width:520px){.statement{padding:55px 0}.statement-marquee-left .statement-track{animation-duration:34s}.statement-marquee-right .statement-track{animation-duration:38s}}

.device-gallery{max-width:var(--max);margin:90px auto;padding:0 24px;text-align:center}
.device-gallery h2{font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.04em;margin:18px 0 55px}
.device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;justify-content:center}
.device-frame{margin:0 auto;max-width:230px}
.device-frame img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;display:block;background:#090d0f;border:10px solid transparent;background-image:linear-gradient(145deg,#4a555b 0,#11171a 17%,#090d0f 70%,#384249 100%);background-origin:border-box;background-clip:content-box,border-box;box-shadow:0 30px 60px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.15)}
.device-frame figcaption{margin-top:18px;color:#8ea0aa;font-size:14px;line-height:1.5}
@media(max-width:820px){.device-grid{grid-template-columns:1fr;gap:44px}.device-frame{max-width:210px}}

/* JIRA: WVEN-175 - lead capture form */
.lead-card{max-width:480px;margin:48px auto 0;padding:40px 36px;border-radius:14px;border:1px solid rgba(79,216,255,.35);background:radial-gradient(circle at 50% 0%,rgba(79,216,255,.10),transparent 65%),#0e1a21;box-shadow:0 0 60px rgba(79,216,255,.10)}
.lead-form{display:flex;flex-direction:column;gap:16px;text-align:left}
.lead-field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.lead-field input,.lead-field select{width:100%;padding:12px 14px;border-radius:4px;border:1px solid rgba(255,255,255,.18);background:#141f26;color:var(--text);font-size:14px;font-family:inherit}
.lead-field input:focus,.lead-field select:focus{outline:none;border-color:var(--cyan)}
.lead-honeypot{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.lead-form .btn{margin-top:4px;border:none;cursor:pointer}
.lead-form .btn:disabled{opacity:.6;cursor:default}
.lead-status{min-height:20px;font-size:13px;color:var(--green)}
.lead-status.error{color:var(--red)}
.contact-mailto{display:inline-block;margin-top:20px;color:var(--muted);font-size:13px;text-decoration:underline}

/* JIRA: WVEN-180 - hero stage-cycle: alterna vista orologio <-> vista radar/mappa reale (script.js). */
.stage-view{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 1.1s ease}
.stage-view.is-active{opacity:1;pointer-events:auto}
.radar-disc{width:min(550px,94%);aspect-ratio:1/1;border-radius:50%;position:relative;overflow:hidden;background:rgba(7,19,26,.3);border:1px solid rgba(79,216,255,.25);box-shadow:0 40px 90px rgba(0,0,0,.5),inset 0 0 40px rgba(0,0,0,.65);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}
#heroMap{position:absolute;inset:0;background:transparent;opacity:.35}
.radar-disc .leaflet-tile-pane{filter:grayscale(.85) invert(1) hue-rotate(160deg) brightness(.6) saturate(.75)}
.radar-disc .leaflet-container{font-family:inherit;background:#0a1a22}
.radar-coord{position:absolute;top:8%;left:50%;transform:translateX(-50%);font:11px "Space Mono",monospace;color:#8fe4df;letter-spacing:.08em;white-space:nowrap;text-shadow:0 1px 6px #000;z-index:5;pointer-events:none}
.radar-session{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);font:9px "Space Mono",monospace;color:#9fb6bc;letter-spacing:.16em;text-shadow:0 1px 6px #000;z-index:5;pointer-events:none}
.radar-disc .gps-point{background:#91fff1;border:2px solid #fff;border-radius:50%;box-shadow:0 0 16px #57ffe6}
.stage-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:6}
.stage-dots span{width:6px;height:6px;border-radius:50%;background:rgba(79,216,255,.25);transition:background .4s ease,transform .4s ease}
.stage-dots span.is-active{background:var(--cyan);transform:scale(1.3)}
@media(prefers-reduced-motion:reduce){.stage-view{transition:none}}
