:root{--blue:#008bd2;--blue2:#23b1ff;--navy:#061b30;--ink:#11263b;--muted:#617182;--ice:#eff7fc;--line:#e1ebf1;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);background:#fff;font:15px/1.65 Inter,Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Inter,sans-serif;line-height:1.17;letter-spacing:-.04em}h2{font-size:clamp(32px,3.5vw,49px);font-weight:800}h3{font-size:18px;font-weight:800;letter-spacing:-.03em}p{color:var(--muted)}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}.container{width:min(1160px,calc(100% - 64px));margin:auto}.header{height:78px;position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #edf1f5;box-shadow:0 4px 20px #0b29400a}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;line-height:1;min-width:195px}.brand-mark{font-family:Arial,sans-serif;font-size:51px;line-height:.7;color:var(--blue);font-weight:900;transform:rotate(-25deg);margin-right:-2px}.brand-word{font:800 28px/.9 Manrope,sans-serif;letter-spacing:-.075em;color:#34404b}.brand-word>span{color:var(--blue)}.brand-word small{display:block;text-align:right;font:600 10px/1.8 Inter,sans-serif;letter-spacing:0;color:#60717e}.nav nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:650}.nav nav>a:not(.btn):hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid transparent;border-radius:9px;padding:14px 21px;font-weight:750;font-size:13px;line-height:1.2;transition:transform .2s,background .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:white;box-shadow:0 8px 20px #008bd225}.btn-primary:hover{background:#0076b5}.btn-outline-light{color:#fff;border-color:#8cb2ca;background:#0b2a4266}.btn-dark{color:#fff;background:var(--navy)}.menu-toggle{display:none;border:0;background:none;font-size:27px;color:var(--ink)}.hero{min-height:585px;position:relative;background:var(--navy);overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 42%;background:url('assets/sonda-magazzino.webp') center 48%/cover no-repeat;filter:saturate(.8)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061b30 0%,#061b30 34%,#061b30ef 46%,#061b30a6 64%,#061b3055 100%)}.hero-inner{min-height:585px;position:relative;display:flex;align-items:center;justify-content:space-between}.hero-copy{max-width:675px;padding:68px 0 58px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;color:#178fcd;display:block;margin-bottom:19px}.eyebrow.light{color:#7cd5ff}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#42c3ff;margin-right:7px;box-shadow:0 0 0 4px #42c3ff20}.hero h1{font-size:clamp(39px,4.45vw,63px);color:white;max-width:730px;letter-spacing:-.055em;line-height:1.11;margin-bottom:23px}.hero h1 em{font-style:normal;color:#91d8ff}.hero p{color:#e2edf5;font-size:16px;max-width:510px;line-height:1.75}.hero-actions{display:flex;gap:12px;margin-top:29px;flex-wrap:wrap}.hero-note{color:#b5cbdc;font-size:12px;margin-top:29px}.hero-stat{position:absolute;right:10px;bottom:70px;border:1px solid #ffffff80;background:#09263ab8;backdrop-filter:blur(12px);border-radius:14px;color:white;padding:16px 20px;display:flex;gap:14px;align-items:center;box-shadow:0 14px 40px #0003}.hero-stat small{display:block;font-size:9px;letter-spacing:.1em;color:#b8e4fb}.hero-stat strong{font-size:29px;letter-spacing:-.04em}.stat-icon{font-size:32px;color:#83d6ff}.signal{font-size:17px;color:#8bdbff;margin-left:12px}.benefits{border-bottom:1px solid var(--line);background:white}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:34px 0}.benefit{text-align:center;padding:0 25px;border-right:1px solid var(--line)}.benefit:last-child{border:0}.line-icon{width:58px;height:58px;border-radius:50%;background:#eaf7ff;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:33px;margin:0 auto 12px}.benefit h3{font-size:15px;margin-bottom:5px}.benefit p{font-size:12px;line-height:1.6;margin:0}.section{padding:100px 0}.problem{background:#fff}.problem-grid{display:grid;grid-template-columns:1fr .86fr;gap:110px;align-items:center}.problem h2{margin-bottom:0}.problem p{font-size:16px}.text-link{color:var(--blue);font-weight:800;font-size:14px}.text-link span{margin-left:9px}.workflow{background:#f4f9fc}.section-head{max-width:690px;margin-bottom:40px}.section-head.centered{text-align:center;margin:0 auto 42px}.section-head h2{margin-bottom:14px}.section-head p{font-size:16px}.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.workflow-card{background:white;border:1px solid #e4edf3;border-radius:16px;padding:24px;text-align:center;box-shadow:0 15px 40px #0b375108}.step{font-size:10px;font-weight:800;letter-spacing:.13em;color:#268ec5}.workflow-media{height:225px;display:flex;align-items:center;justify-content:center;margin:14px 0 17px;background:radial-gradient(circle,#e5f6ff 0%,#f5fbff 58%,transparent 59%);border-radius:15px;overflow:hidden}.sensor-mini img{height:215px;width:160px;object-fit:cover;object-position:center 42%;mix-blend-mode:multiply;border-radius:9px}.workflow-card h3{margin-bottom:7px}.workflow-card p{font-size:13px;max-width:260px;margin:0 auto}.gateway-art{position:relative;width:190px;height:145px;transform:perspective(550px) rotateX(9deg) rotateY(-16deg)}.gateway-body{position:absolute;left:20px;top:65px;width:155px;height:75px;border-radius:7px 7px 13px 13px;background:linear-gradient(150deg,#363c40,#101317 75%);box-shadow:15px 20px 23px #0b1b2b38;display:flex;align-items:flex-end;gap:12px;padding:13px}.gateway-body i{width:22px;height:16px;border:3px solid #68747a;background:#080c10;border-radius:2px}.gateway-top{position:absolute;left:21px;top:35px;width:153px;height:55px;border-radius:9px;background:linear-gradient(135deg,#4b5357,#20262a);transform:skewY(-10deg)}.gateway-antenna{position:absolute;right:37px;top:-8px;width:8px;height:65px;border-radius:8px;background:linear-gradient(90deg,#0a0c0f,#485159,#111)}.dashboard{width:270px;height:166px;border:7px solid #222d36;border-radius:10px;background:white;display:flex;box-shadow:0 18px 20px #0b1b2b25;overflow:hidden;text-align:left}.dash-side{width:40px;background:#f0f7fb;display:flex;flex-direction:column;align-items:center;gap:13px;color:#2c9ad6;padding-top:9px}.dash-side b{font-size:12px}.dash-main{padding:12px;flex:1}.dash-top{display:flex;justify-content:space-between;font-size:8px}.dash-top span{color:#13a673}.dash-value{margin-top:12px}.dash-value small{display:block;color:#81929f;font-size:8px}.dash-value strong{font-size:21px;color:#17344a}.dash-main svg{width:100%;height:53px}.mock-note{text-align:center;font-size:11px;margin:23px 0 0}.product-grid{display:grid;grid-template-columns:.9fr 1fr;gap:95px;align-items:center}.product-image{background:#f3f7fa;border-radius:22px;height:540px;position:relative;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;object-position:center}.photo-label{position:absolute;left:20px;bottom:18px;font-size:10px;letter-spacing:.1em;font-weight:800;background:#ffffffec;padding:9px 12px;border-radius:5px}.product-content h2{margin-bottom:24px}.product-content>p{font-size:16px}.feature-list{margin:29px 0 31px;display:grid;gap:19px}.feature-list>div{display:flex;gap:15px;align-items:flex-start}.feature-list>div>span{background:#e3f5ff;color:var(--blue);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-weight:800;flex-shrink:0}.feature-list strong,.feature-list small{display:block}.feature-list small{color:var(--muted);font-size:12px;margin-top:3px}.cloud-section{background:#eaf5fb}.cloud-grid{display:grid;grid-template-columns:.8fr 1fr;gap:70px;align-items:center}.cloud-grid p{font-size:15px}.cloud-preview{background:white;padding:22px;border-radius:16px;box-shadow:0 25px 55px #1445621c;border:1px solid #d9e9f2}.cloud-preview-head{display:flex;justify-content:space-between;font-size:13px;font-weight:800;border-bottom:1px solid var(--line);padding-bottom:16px}.cloud-preview-head small{color:#8395a4;font-size:10px}.cloud-preview-head>span:last-child{color:#14a778;font-size:10px}.cloud-metrics{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}.cloud-metrics>div{background:#f5f9fc;border-radius:9px;padding:13px}.cloud-metrics small,.cloud-metrics span{display:block;font-size:10px;color:#6d8291}.cloud-metrics strong{display:block;font-size:27px;line-height:1.6}.chart-label{font-size:11px;color:#5f7688;margin:21px 0 6px}.cloud-preview svg{width:100%;height:150px}.chart-bottom{display:flex;justify-content:space-between;color:#9cabb6;font-size:9px}.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.app-grid article{background:#f4f9fc;border:1px solid #e7f0f5;border-radius:14px;padding:27px;min-height:202px;transition:transform .2s}.app-grid article:hover{transform:translateY(-4px)}.app-icon{font-size:29px;color:var(--blue);height:49px}.app-grid h3{font-size:17px;margin-bottom:8px}.app-grid p{font-size:12px;margin:0}.real-life{background:#f7fafc}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-grid figure{margin:0;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line)}.photo-grid img{width:100%;height:300px;object-fit:cover;display:block}.photo-grid figure:nth-child(1) img{object-position:center 46%}.photo-grid figure:nth-child(2) img{object-position:center 52%}.photo-grid figcaption{font-size:13px;font-weight:750;padding:14px 17px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px}.service-items>div{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:20px 0}.service-items>div:first-child{padding-top:0}.service-items>div:last-child{border:0}.service-items>div>span{color:var(--blue);font-weight:800;font-size:14px}.service-items h3{margin-bottom:5px}.service-items p{font-size:13px;margin:0}.contact{background:linear-gradient(120deg,#061b30,#0c3957);padding:95px 0;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{color:#fff}.contact p{color:#b9d1e1;font-size:16px}.contact-parent{margin-top:50px;color:#9bbad0;font-size:13px}.contact-parent strong{color:white}.contact-form{background:#fff;border-radius:17px;padding:28px;display:grid;gap:13px;color:var(--ink)}.contact-form label{font-size:12px;font-weight:750;display:block}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;border:1px solid #dce7ef;border-radius:7px;padding:11px 12px;outline:none;margin-top:6px;font-size:13px;color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue)}.contact-form .privacy{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:#637786}.privacy input{margin-top:4px}.contact-form .btn{width:100%}.form-note{font-size:10px!important;color:#8193a0!important;margin:0}.footer{background:#051523;color:#fff;padding:52px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:55px}.footer-brand .brand-word{color:white}.footer-grid p{font-size:12px;color:#8fa8b8;margin-top:15px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:8px;font-size:12px;color:#a6bdcb}.footer-grid strong{color:white;font-size:13px;margin-bottom:9px}.footer-grid a:hover{color:#70d0ff}.footer-bottom{margin-top:40px;border-top:1px solid #284052;padding:19px 0;display:flex;justify-content:space-between;font-size:11px;color:#809aac}@media(max-width:1050px){.nav nav{gap:13px}.nav nav>a{font-size:12px}.hero-stat{right:0}.problem-grid,.product-grid,.cloud-grid,.service-grid,.contact-grid{gap:45px}.hero h1{max-width:590px}}@media(max-width:760px){.container{width:min(100% - 36px,540px)}.header{height:68px}.brand{min-width:auto}.brand-word{font-size:25px}.brand-mark{font-size:44px}.menu-toggle{display:block}.nav nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;padding:20px;box-shadow:0 20px 25px #0002;flex-direction:column;align-items:stretch;gap:16px}.nav nav.open{display:flex}.nav nav>a{font-size:14px}.nav-cta{justify-content:center}.hero,.hero-inner{min-height:690px}.hero-photo{inset:0;background-position:61% center;opacity:.57}.hero-shade{background:linear-gradient(90deg,#061b30ed,#061b30bd),linear-gradient(0deg,#061b30 0%,transparent 65%)}.hero-inner{align-items:flex-start}.hero-copy{padding:75px 0 140px}.hero h1{font-size:clamp(38px,8vw,52px)}.hero p{font-size:14px}.hero-stat{bottom:30px;left:0;right:auto;padding:10px 14px}.hero-stat strong{font-size:23px}.benefits-grid{grid-template-columns:repeat(2,1fr);row-gap:24px}.benefit{padding:0 10px}.benefit:nth-child(2){border:0}.line-icon{width:48px;height:48px;font-size:27px}.section{padding:65px 0}.problem-grid,.product-grid,.cloud-grid,.service-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.workflow-grid{grid-template-columns:1fr}.workflow-media{height:205px}.product-image{height:420px}.cloud-preview{padding:14px}.app-grid{grid-template-columns:repeat(2,1fr);gap:10px}.app-grid article{padding:18px;min-height:205px}.photo-grid{grid-template-columns:1fr}.photo-grid img{height:310px}.contact{padding:65px 0}.contact-parent{margin-top:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:12px;flex-wrap:wrap}}@media(max-width:420px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.hero-copy{padding-top:52px}.hero h1{font-size:37px}.app-grid{grid-template-columns:1fr}.app-grid article{min-height:auto}.cloud-preview-head{font-size:11px}.cloud-preview-head small{display:none}}


/* Motion: restrained entrances, chart playback and tactile interactions. */
.btn, .workflow-card, .app-grid article, .cloud-preview, .photo-grid figure {
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}
.btn > span, .text-link > span { display: inline-block; transition: transform .25s ease; }
.btn:hover > span, .text-link:hover > span { transform: translate(3px, -2px); }
.btn:active { transform: translateY(0) scale(.98); }
:where(a, button, input, textarea):focus-visible { outline: 3px solid #23b1ff; outline-offset: 4px; }
.photo-grid img { transition: transform .65s cubic-bezier(.2,.65,.3,1); }
.chart-runner { fill: #078fdb; stroke: #fff; stroke-width: 2; filter: drop-shadow(0 0 4px #078fdb80); pointer-events: none; }
.cloud-preview svg, .dash-main svg { overflow: visible; }
.motion-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; border-top: 1px solid var(--line); margin-top: 17px; padding-top: 12px; }
.motion-controls[hidden] { display: none; }
.motion-controls > span { color: var(--muted); font-size: 10px; }
.motion-controls button { border: 1px solid #c5dce9; border-radius: 6px; padding: 7px 10px; background: #f4f9fc; color: #174762; font-size: 11px; font-weight: 600; transition: background .2s ease; }
.motion-controls button:hover { background: #e0f1fb; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  html:not([data-motion="paused"]) .workflow-card:hover,
  html:not([data-motion="paused"]) .app-grid article:hover { transform: translateY(-5px); border-color: #a7d9f3; box-shadow: 0 16px 32px #0b375112; }
  html:not([data-motion="paused"]) .photo-grid figure:hover img { transform: scale(1.035); }
}
html[data-motion="paused"] { scroll-behavior: auto; }
html[data-motion="paused"] *, html[data-motion="paused"] *::before, html[data-motion="paused"] *::after { transition: none !important; }
html[data-motion="paused"] .btn:hover, html[data-motion="paused"] .app-grid article:hover,
html[data-motion="paused"] .btn:hover > span, html[data-motion="paused"] .text-link:hover > span,
html[data-motion="paused"] .btn:active { transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .chart-runner { display: none; }
  .btn:hover, .btn:active, .app-grid article:hover, .btn:hover > span, .text-link:hover > span { transform: none; }
}


/* Benefit disclosures: hover, keyboard and touch share the same expanded state. */
.benefits-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; align-items: start; padding: 28px 0; }
.benefit, .benefit:last-child { min-width: 0; padding: 0; border: 1px solid transparent; border-radius: 14px; background: #fff; position: relative; transition: border-color .3s ease, box-shadow .3s ease, background .3s ease; }
.benefit-toggle { width: 100%; display: flex; flex-direction: column; align-items: center; border: 0; border-radius: 14px; background: transparent; padding: 20px 12px 16px; color: var(--ink); text-align: center; }
.benefit-title { display: block; font-family: Manrope,Inter,sans-serif; font-size: 14px; line-height: 1.35; font-weight: 800; letter-spacing: -.03em; min-height: 38px; }
.benefit-summary { display: block; color: var(--muted); font-size: 12px; line-height: 1.6; margin-top: 6px; min-height: 58px; }
.benefit-more { display: flex; align-items: center; gap: 9px; color: #0076b5; font-size: 10px; font-weight: 700; margin-top: 14px; }
.benefit-more > span { display: inline-block; font-size: 17px; line-height: 1; transition: transform .3s ease; }
.benefit .line-icon { flex-shrink: 0; transition: transform .4s cubic-bezier(.2,.65,.3,1), background .3s ease, color .3s ease, box-shadow .3s ease; }
.benefit-detail { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .4s cubic-bezier(.2,.65,.3,1), opacity .3s ease; }
.benefit-detail > div { overflow: hidden; min-height: 0; padding: 0 15px; }
.benefit-detail p { text-align: left; font-size: 12px; line-height: 1.75; margin: 0; }
.benefit-detail .text-link { display: block; text-align: left; font-size: 11px; line-height: 1.5; padding: 14px 0 20px; }
.benefit.is-expanded { background: linear-gradient(155deg,#f0f9ff,#fff 80%); border-color: #b9e0f5; box-shadow: 0 14px 32px #0b375114; }
.benefit.is-expanded .line-icon { transform: translateY(-4px) scale(1.08); background: #008bd2; color: #fff; box-shadow: 0 7px 18px #008bd229; }
.benefit.is-expanded .benefit-more > span { transform: rotate(45deg); }
.benefit.is-expanded .benefit-detail { grid-template-rows: 1fr; opacity: 1; }
.benefit:focus-within { border-color: #008bd2; }
html[data-motion="paused"] .benefit.is-expanded .line-icon { transform: none; }
@media(max-width:1050px) { .benefits-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) { .benefits-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; } .benefit-title { font-size: 14px; } }
@media(max-width:420px) { .benefits-grid { grid-template-columns: 1fr; } .benefit-title, .benefit-summary { min-height: 0; } .benefit-toggle { padding: 20px; } .benefit-detail > div { padding: 0 20px; } }
@media(prefers-reduced-motion:reduce) { .benefit.is-expanded .line-icon { transform: none; } }


/* Animated network diagram, with a vertical topology on small screens. */
.network-section { background: #f8fbfd; }
.network-section .section-head { max-width: 800px; }
.network-demo { border: 1px solid #dbe8f1; border-radius: 20px; overflow: hidden; background: radial-gradient(ellipse at 50% 50%,#edf7fd, #fff 75%); box-shadow: 0 18px 50px #12344b08; }
.network-toolbar { padding: 22px 25px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; background: #fff; }
.network-toolbar > div:first-child { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.network-badge { background: #e9f7f1; color: #16724f; padding: 6px 11px; border-radius: 20px; font-size: 11px; font-weight: 700; }
.network-demo-label { font-size: 9px; letter-spacing: .1em; color: var(--muted); font-weight: 700; }
.network-buttons { display: flex; flex-wrap: wrap; gap: 7px; }
.network-buttons button { font-size: 11px; font-weight: 650; padding: 9px 12px; border-radius: 7px; border: 1px solid #d4e4ee; color: #17516e; background: #f4f9fc; }
.network-buttons button:hover { background: #e4f2fb; }
.network-buttons button:disabled { cursor: default; opacity: .6; }
.network-overview { display: flex; align-items: center; gap: 30px; padding: 24px 28px 0; flex-wrap: wrap; }
.network-overview small { display: block; font-size: 9px; letter-spacing: .07em; color: var(--muted); }
.network-overview strong { font-size: 27px; letter-spacing: -.04em; }
.network-overview p { flex: 1; min-width: 200px; margin: 0; font-size: 12px; }
#networkDiagram { display: block; width: 100%; height: auto; }
.network-link { fill: none; stroke: #c6dfef; stroke-width: 2; stroke-dasharray: 5 6; }
.network-packet-halo { fill: #0096df; opacity: .25; filter: url(#packetGlow); }
.network-packet-core { fill: #008bd2; stroke: #fff; stroke-width: 2; }
.network-packet.is-alarm .network-packet-core, .network-packet.is-alarm .network-packet-halo { fill: #df5738; }
.network-node-card { fill: #fff; stroke: #d4e5f0; stroke-width: 1.5; }
.network-node-icon { fill: none; stroke: #298dc3; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.network-node-icon-bg { fill: #edf7fd; }
.network-node-label { font: 700 13px Inter,Arial,sans-serif; fill: #18384d; text-anchor: middle; }
.network-node-value { font: 500 10px Inter,Arial,sans-serif; fill: #657f90; text-anchor: middle; }
.network-node.is-alarm .network-node-card { fill: #fff4ef; stroke: #e39d89; }
.network-node.is-alarm .network-node-icon-bg { fill: #ffdfd2; }
.network-node.is-alarm .network-node-icon { stroke: #c7472b; }
.network-node.is-alarm .network-node-value { fill: #b83e25; }
.network-demo.has-alarm .network-badge { background: #fff0e9; color: #b83e25; }
.network-demo.has-alarm #networkTemp { color: #c7472b; }
.network-legend { display: flex; flex-wrap: wrap; gap: 13px 25px; padding: 18px 25px; border-top: 1px solid var(--line); background: #fff; font-size: 11px; color: var(--muted); }
.network-legend span { display: inline-flex; align-items: center; gap: 7px; }
.network-legend i { width: 7px; height: 7px; border-radius: 50%; background: #008bd2; }
.network-legend .alarm-dot { background: #df5738; }
.network-fallback { padding: 25px; }
@media(max-width:600px) { .network-toolbar { padding: 17px; gap: 14px; } .network-overview { gap: 14px 22px; padding: 20px 18px 0; } .network-overview p { flex-basis: 100%; } .network-buttons button { font-size: 10px; padding: 9px; } .network-node-label { font-size: 12px; } .network-legend { padding: 16px; font-size: 10px; } }


/* Optional humidity reading in the illustrative hero card. */
.hero-humidity { margin-top: 10px; padding-top: 10px; border-top: 1px solid #ffffff30; }
.hero-humidity strong { display: block; font-size: 25px; line-height: 1.4; }
.hero-humidity strong > span { font-size: 16px; font-weight: 600; }
.humidity-option { display: block; font-size: 9px; color: #b8d5e8; margin-top: 2px; }
@media(max-width:760px) { .hero-humidity { margin-top: 7px; padding-top: 7px; } .hero-humidity strong { font-size: 21px; } .hero-copy { padding-bottom: 225px; } }


/* New air-quality products, distinct from the BTW-AMB temperature probe. */
.air-quality { background: #f5f9fc; }
.air-quality .section-head { max-width: 780px; }
.air-quality-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.air-quality-card { position: relative; padding: 34px; border-radius: 18px; border: 1px solid #dce9f2; background: #fff; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.air-quality-symbol { display: flex; align-items: center; justify-content: center; width: 88px; height: 76px; border-radius: 17px; background: #eaf7ff; color: #0076b5; font: 800 27px Manrope,Inter,sans-serif; letter-spacing: -.04em; margin-bottom: 26px; }
.air-quality-tag { position: absolute; top: 34px; right: 28px; border-radius: 20px; padding: 5px 10px; color: #187454; background: #eaf7f1; font-size: 10px; font-weight: 700; }
.air-quality-card h3 { font-size: 23px; margin-bottom: 14px; }
.air-quality-card p { font-size: 14px; margin-bottom: 24px; }
.air-quality-card .text-link { font-size: 13px; }
.air-quality-note { margin: 24px 0 0; font-size: 12px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { html:not([data-motion="paused"]) .air-quality-card:hover { transform: translateY(-5px); border-color: #a7d9f3; box-shadow: 0 16px 32px #0b375112; } }
@media(max-width:760px) { .air-quality-grid { grid-template-columns: 1fr; } .air-quality-card { padding: 27px; } .air-quality-tag { top: 27px; right: 24px; } }


/* Application details use the same accessible disclosure behaviour as benefits. */
.app-grid { align-items: start; }
.app-grid .application-card { min-height: 240px; }
.application-toggle { display: inline-flex; align-items: center; gap: 10px; margin-top: 17px; padding: 6px 0; border: 0; background: none; color: #0076b5; font-size: 11px; font-weight: 700; }
.application-toggle > span { font-size: 19px; line-height: 1; transition: transform .3s ease; }
.application-card .app-icon { transition: transform .35s cubic-bezier(.2,.65,.3,1), color .3s ease; transform-origin: left center; }
.application-detail { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .4s cubic-bezier(.2,.65,.3,1), opacity .3s ease; }
.application-detail > div { min-height: 0; overflow: hidden; }
.app-grid .application-detail p { border-top: 1px solid #d7e8f4; padding-top: 16px; margin-top: 14px; line-height: 1.8; }
.application-detail .text-link { display: inline-block; font-size: 12px; line-height: 1.6; margin-top: 16px; }
.app-grid .application-card.is-expanded { background: linear-gradient(145deg,#eaf6ff,#fff); border-color: #99d2f0; box-shadow: 0 16px 32px #0b375112; }
.application-card.is-expanded .app-icon { transform: translateY(-3px) scale(1.12); color: #0076b5; }
.application-card.is-expanded .application-toggle > span { transform: rotate(45deg); }
.application-card.is-expanded .application-detail { grid-template-rows: 1fr; opacity: 1; }
.application-card:focus-within { border-color: #008bd2; }
html[data-motion="paused"] .application-card.is-expanded .app-icon { transform: none; }
@media(max-width:760px) { .app-grid .application-card { min-height: 230px; } }
@media(max-width:420px) { .app-grid .application-card { min-height: auto; } }
@media(prefers-reduced-motion:reduce) { .application-card.is-expanded .app-icon { transform: none; } }


/* Alarm explanation stays inside the diagram, alongside the active topology. */
.network-alert { pointer-events: none; }
.network-alert-box { fill: #fff0e8; stroke: #dc6b47; stroke-width: 2; }
.network-alert-kicker { fill: #a7462a; font: 700 12px Inter,Arial,sans-serif; letter-spacing: .1em; }
.network-alert-title { fill: #b83e25; font: 800 27px Manrope,Inter,sans-serif; }
.network-alert-detail { fill: #883820; font: 600 16px Inter,Arial,sans-serif; }
.network-alert.is-compact .network-alert-kicker { font-size: 9px; }
.network-alert.is-compact .network-alert-title { font-size: 20px; }
.network-alert.is-compact .network-alert-detail { font-size: 13px; }
.network-alert.is-low .network-alert-box { fill: #edf2ff; stroke: #5479ce; }
.network-alert.is-low text { fill: #264e9b; }
.network-demo[data-alarm="low"] .network-badge { background: #edf2ff; color: #264e9b; }
.network-demo[data-alarm="low"] #networkTemp { color: #264e9b; }
.network-node.is-low-alarm .network-node-card { fill: #edf2ff; stroke: #8da7de; }
.network-node.is-low-alarm .network-node-icon-bg { fill: #dbe6ff; }
.network-node.is-low-alarm .network-node-icon { stroke: #3e66b7; }
.network-node.is-low-alarm .network-node-value { fill: #264e9b; }
.network-packet.is-low-alarm .network-packet-core, .network-packet.is-low-alarm .network-packet-halo { fill: #5479ce; }

/* Shared, accessible explanations for every network element. */
.network-help { margin: 18px 28px 0; color: #587386; font-size: 13px; line-height: 1.6; }
.network-node { cursor: pointer; outline: none; }
.network-node-card { transition: stroke .2s ease, stroke-width .2s ease, filter .2s ease; }
.network-node.is-explained .network-node-card,
.network-node:focus-visible .network-node-card { stroke: #007cab; stroke-width: 3; filter: drop-shadow(0 4px 7px #087caa30); }
.network-detail { position: fixed; z-index: 1000; box-sizing: border-box; max-height: calc(100dvh - 32px); overflow-y: auto; padding: 25px; border: 1px solid #c7e2ef; border-radius: 18px; background: #fff; color: #28495e; box-shadow: 0 18px 65px #0b304b2b; animation: networkDetailEnter .2s ease both; }
.network-detail[hidden] { display: none; }
.network-detail-kicker { display: block; padding-right: 22px; color: #087cab; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.network-detail h3 { margin: 9px 26px 14px 0; color: #14364d; font-size: 21px; line-height: 1.3; }
.network-detail p { margin: 0 0 12px; font-size: 13px; line-height: 1.75; }
.network-detail p:last-child { margin-bottom: 0; }
.network-detail-close { position: absolute; right: 10px; top: 10px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #edf6fb; color: #28566f; cursor: pointer; font-size: 24px; }
.network-detail-close:focus-visible { outline: 2px solid #007cab; outline-offset: 3px; }
@keyframes networkDetailEnter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .network-detail { animation: none; } .network-node-card { transition: none; } }

/* Illustrated physical locations behind the network. */
.network-scenery { pointer-events: none; }
.network-zone-bg { fill: #f4f7fa; stroke: #d8e3eb; stroke-width: 1; }
.zone-cold .network-zone-bg { fill: #eaf6fc; stroke: #bedfea; }
.zone-plant .network-zone-bg { fill: #f1f5f6; }
.zone-technical .network-zone-bg { fill: #edf2f9; stroke: #cbd8e9; }
.zone-office .network-zone-bg { fill: #f6f3ec; stroke: #e6ddcb; }
.zone-remote .network-zone-bg { fill: #edf8f6; stroke: #c9e6df; }
.network-zone-title { fill: #3e6275; font: 800 12px Inter,Arial,sans-serif; letter-spacing: .065em; }
.network-zone-subtitle { fill: #647e8d; font: 500 10px Inter,Arial,sans-serif; }
.network-scene-drawing { fill: none; stroke: #6f99ab; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .45; }
.zone-office .network-scene-drawing { stroke: #a18c69; }
.network-place-bg { fill: #ffffff80; stroke: #d5e8e4; stroke-width: 1; }
.network-place-label { fill: #5a817d; font: 700 10px Inter,Arial,sans-serif; letter-spacing: .07em; text-anchor: middle; }

/* Readable, crawlable FAQ and keyboard access to the main content. */
.skip-link { position: fixed; z-index: 1100; top: 8px; left: 16px; padding: 12px 18px; border-radius: 8px; background: #061b30; color: #fff; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); outline: 3px solid #23b1ff; }
.seo-faq { background: #f7fafc; }
.seo-faq .section-head { max-width: 760px; }
.faq-list { max-width: 900px; }
.faq-list details { border-top: 1px solid #d9e6ef; padding: 20px 0; }
.faq-list details:last-child { border-bottom: 1px solid #d9e6ef; }
.faq-list summary { cursor: pointer; color: #17394f; font-weight: 700; font-size: 16px; padding-right: 16px; }
.faq-list summary::marker { color: #008bd2; }
.faq-list summary:focus-visible { outline: 2px solid #008bd2; outline-offset: 5px; border-radius: 3px; }
.faq-list p { margin: 14px 0 0; max-width: 800px; font-size: 14px; line-height: 1.8; }
.faq-list a { color: #0077b0; text-decoration: underline; text-underline-offset: 3px; }

/* The illuminated outline follows packet occupancy, including paused frames. */
.network-node.is-receiving .network-node-card { stroke: #008bd2; stroke-width: 4; filter: drop-shadow(0 0 7px #008bd280); }
.network-node.is-receiving.is-packet-high .network-node-card { stroke: #df5738; filter: drop-shadow(0 0 7px #df573880); }
.network-node.is-receiving.is-packet-low .network-node-card { stroke: #3e66b7; filter: drop-shadow(0 0 7px #3e66b780); }

/* Location containers follow the same live packet as their device badges. */
.network-zone-bg, .network-place-bg { transition: stroke .18s ease, stroke-width .18s ease, filter .18s ease; }
.network-zone.is-receiving > .network-zone-bg,
.network-place.is-receiving > .network-place-bg { stroke: #008bd2; stroke-width: 3; filter: drop-shadow(0 0 5px #008bd250); }
.network-zone.is-receiving.is-packet-high > .network-zone-bg,
.network-place.is-receiving.is-packet-high > .network-place-bg { stroke: #df5738; filter: drop-shadow(0 0 5px #df573850); }
.network-zone.is-receiving.is-packet-low > .network-zone-bg,
.network-place.is-receiving.is-packet-low > .network-place-bg { stroke: #3e66b7; filter: drop-shadow(0 0 5px #3e66b750); }
@media (prefers-reduced-motion: reduce) { .network-zone-bg, .network-place-bg { transition: none; } }

/* Server-verified contact form: visible progress, recovery and private SMTP. */
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.captcha-panel { min-width: 0; margin: 3px 0; padding: 15px; border: 1px solid #dce7ef; border-radius: 10px; background: #f6fafd; }
.captcha-panel legend { padding: 0 6px; color: #234a62; font-size: 12px; font-weight: 750; }
.captcha-image-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.captcha-image-row img { max-width: 100%; height: auto; border-radius: 6px; }
.captcha-image-row img[hidden] { display: none; }
.captcha-image-row button { border: 1px solid #c9dce8; background: #fff; color: #16628a; border-radius: 6px; padding: 8px 11px; font-size: 11px; }
.captcha-panel small { display: block; color: #617182; font-size: 11px; line-height: 1.7; }
.captcha-panel a { color: #0077b0; text-decoration: underline; }
.contact-form .captcha-status { color: #526e80; font-size: 11px; line-height: 1.6; margin: 9px 0; }
.contact-form .form-note { padding: 10px 12px; background: #eff6fa; border-radius: 7px; line-height: 1.65; }
.contact-form .form-note[data-state="success"] { background: #e9f7ef; color: #17633e!important; }
.contact-form .form-note[data-state="error"] { background: #fff0ec; color: #9a361f!important; }
.contact-form button:disabled { opacity: .6; cursor: wait; transform: none; }

.network-buttons .network-icon-button { width: 40px; height: 40px; padding: 9px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.network-icon-button svg { display: block; }
.network-icon-button:focus-visible { outline: 2px solid #0796e4; outline-offset: 3px; }

.solution-highlights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 46px; }
.solution-highlight { padding: 28px 30px; border: 1px solid #dcecf5; border-radius: 16px; background: linear-gradient(135deg,#f0f9ff,#fafcfd); }
.solution-highlight-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 18px; color: #078fdb; border-radius: 13px; background: #e1f3fe; }
.solution-highlight h3 { font-size: 23px; margin-bottom: 12px; }
.solution-highlight p { font-size: 14px; margin-bottom: 0; }
@media(max-width:760px) { .solution-highlights { grid-template-columns: 1fr; gap: 16px; margin-top: 30px; } .solution-highlight { padding: 24px; } }

/* Keep native language names visible on desktop and alongside the mobile menu. */
.nav { gap: 15px; }
.nav > .brand { order: 1; }
.nav > nav { order: 2; gap: 16px; }
.language-control { order: 3; flex-shrink: 0; margin-left: auto; }
.language-control select { max-width: 112px; min-height: 40px; padding: 8px 25px 8px 10px; border: 1px solid #d4e4ee; border-radius: 7px; background: #f4f9fc; color: #17516e; font: 600 12px Inter,Arial,sans-serif; cursor: pointer; }
.language-control select:focus-visible { outline: 2px solid #0796e4; outline-offset: 3px; }
.nav > .menu-toggle { order: 4; }
html:not([lang="it"]) .hero h1 { font-size: clamp(36px,4vw,57px); }
.network-buttons { align-items: center; }
@media (min-width:761px) and (max-width:1220px) {
  .nav > .menu-toggle { display: block; }
  .nav > nav { display: none; position: absolute; left: 0; right: 0; top: 78px; padding: 20px; background: white; box-shadow: 0 20px 25px #0002; flex-direction: column; align-items: stretch; gap: 16px; }
  .nav > nav.open { display: flex; }
}
@media (max-width:760px) {
  .nav { gap: 10px; }
  .language-control select { max-width: 106px; font-size: 11px; }
  .nav > nav { gap: 16px; }
  html:not([lang="it"]) .hero h1 { font-size: clamp(34px,7.5vw,49px); overflow-wrap: break-word; }
}

.privacy-section{background:#f7fafc}.privacy-section .section-head{max-width:900px}.privacy-section .section-head p{font-size:14px;line-height:1.8;color:var(--muted)}.privacy-reference{margin-top:24px;font-size:14px}.privacy-reference a,.contact-form .privacy a{color:#0077b0;text-decoration:underline;text-underline-offset:3px}.privacy-section:target{scroll-margin-top:100px}

/* Installation and mixed environments: independent animated disclosures. */
.solution-highlights{align-items:start}
.solution-highlight{transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}
.solution-toggle{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:5px 0;border:0;background:none;color:#0076b5;font-size:12px;font-weight:700;cursor:pointer}
.solution-toggle>span{font-size:20px;line-height:1;transition:transform .3s ease}
.solution-toggle:focus-visible{outline:2px solid #008bd2;outline-offset:5px;border-radius:3px}
.solution-detail{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s cubic-bezier(.2,.65,.3,1),opacity .3s ease}
.solution-detail>div{min-height:0;overflow:hidden}
.solution-detail p{border-top:1px solid #cce3f1;padding-top:17px;margin-top:16px;line-height:1.8}
.solution-highlight-icon{transition:transform .35s ease,color .3s ease,background .3s ease}
.solution-highlight.is-expanded{border-color:#8bcbed;box-shadow:0 16px 34px #0b375114;background:linear-gradient(135deg,#e8f6ff,#fff)}
.solution-highlight.is-expanded .solution-detail{grid-template-rows:1fr;opacity:1}
.solution-highlight.is-expanded .solution-toggle>span{transform:rotate(45deg)}
.solution-highlight.is-expanded .solution-highlight-icon{transform:translateY(-3px) scale(1.06);background:#008bd2;color:#fff}
html[data-motion="paused"] .solution-highlight,html[data-motion="paused"] .solution-highlight *{transition:none!important}
@media(prefers-reduced-motion:reduce){.solution-highlight,.solution-highlight *{transition:none!important}.solution-highlight.is-expanded .solution-highlight-icon{transform:none}}
