.visual-opening{padding-bottom:18px;background:linear-gradient(180deg,#f4fbfd,#fff)}
.visual-panel{margin:18px 0 42px;padding:28px;border:1px solid #cfe3ec;border-radius:22px;background:linear-gradient(145deg,#fff,#eef8fb);box-shadow:0 16px 40px #0a4b7012;overflow:hidden}
.visual-panel figcaption{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.visual-panel figcaption b{font-size:1.35rem;color:#083b66}.visual-panel figcaption span{color:#4e6674;text-align:right}
.stack-diagram,.flow-diagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:12px}.stack-diagram>div,.flow-diagram>div{display:flex;flex-direction:column;min-height:125px;padding:18px;border-radius:16px;background:#fff;border:1px solid #cfe3ec}.stack-diagram>div:nth-of-type(4),.flow-diagram>div:nth-of-type(4){background:#083b66;color:#fff}.stack-diagram>b,.flow-diagram>b{display:grid;place-items:center;color:#00a6c8;font-size:1.7rem}.stack-diagram i,.flow-diagram i{font-style:normal;font-weight:800;color:#00a6c8}.stack-diagram strong,.flow-diagram strong{font-size:1.05rem;margin:.45rem 0}.stack-diagram small,.flow-diagram small{line-height:1.5}.feedback{text-align:center;margin-top:16px;padding:10px;border-radius:999px;background:#dff4f8;color:#075078;font-weight:800}
.bar-chart{display:grid;gap:13px}.bar-chart>div{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px}.bar-chart span{font-weight:800}.bar-chart i{display:block;width:var(--v);min-width:150px;padding:10px 14px;border-radius:0 999px 999px 0;background:linear-gradient(90deg,#075ea8,#00a6c8);color:#fff;font-style:normal;font-size:.9rem}.chart-note{font-size:.82rem;color:#607581;margin:16px 0 0}
.loop-diagram{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}.loop-diagram:before{content:"";position:absolute;left:8%;right:8%;top:31px;border-top:3px dashed #74cddd}.loop-diagram>div{position:relative;display:flex;flex-direction:column;text-align:center;align-items:center;padding:0 12px;z-index:1}.loop-diagram i{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:#075ea8;color:#fff;font-style:normal;font-weight:900;font-size:1.35rem;border:7px solid #e9f8fb}.loop-diagram strong{margin:12px 0 5px}.loop-diagram small{color:#526a77}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.timeline>div{position:relative;padding:20px 16px 16px;border-top:5px solid #00a6c8;background:#fff}.timeline>div:not(:last-child):after{content:"→";position:absolute;right:-12px;top:34px;color:#075ea8;font-size:1.4rem;z-index:2}.timeline b,.timeline span{display:block}.timeline b{color:#075ea8;margin-bottom:8px}.timeline span{font-size:.9rem;line-height:1.5}
@media(max-width:900px){.stack-diagram,.flow-diagram{grid-template-columns:1fr}.stack-diagram>b,.flow-diagram>b{transform:rotate(90deg);height:18px}.loop-diagram,.timeline{grid-template-columns:1fr 1fr}.loop-diagram:before{display:none}.timeline>div:not(:last-child):after{display:none}}
@media(max-width:600px){.loop-diagram,.timeline{grid-template-columns:1fr}.visual-panel{padding:20px;margin-bottom:26px}.visual-panel figcaption{display:block}.visual-panel figcaption span{display:block;text-align:left;margin-top:5px}.bar-chart>div{grid-template-columns:55px 1fr}.bar-chart i{min-width:110px;font-size:.76rem}}

/* Home: illustrated IoT stack, hero and eight strengths */
.hero-impact{position:relative;min-height:680px;display:grid;align-items:center;background:#061b31}
.hero-impact:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#04172df5 0%,#04172ddd 38%,#04172d78 58%,#04172d18 100%);pointer-events:none}
.hero-impact .hero-grid{display:block;position:relative;z-index:2}.hero-impact .hero-copy{position:relative;z-index:2;width:min(620px,52%)}.hero-impact h1{font-size:clamp(2.5rem,5.2vw,4.9rem)}
.hero-art{position:absolute;inset:0;z-index:0;overflow:hidden;background:#061b31}.hero-art img{display:block;width:100%;height:100%;object-fit:cover}.hero-art span{position:absolute;right:18px;bottom:15px;padding:7px 12px;border-radius:999px;background:#031a2dcc;color:#aef3ff;font-size:.7rem;font-weight:850;letter-spacing:.1em}
.stack-diagram>div{position:relative;overflow:hidden;padding-top:52px}.stack-diagram>div:nth-of-type(4){background:linear-gradient(145deg,#243c7c,#0a5f9f)}.stack-diagram>div:nth-of-type(1){background:linear-gradient(145deg,#e9f9ec,#fff);border-color:#b9dfc1}.stack-diagram>div:nth-of-type(2){background:linear-gradient(145deg,#fff6dc,#fff);border-color:#efd98b}.stack-diagram>div:nth-of-type(3){background:linear-gradient(145deg,#e2f5ff,#fff);border-color:#b8dff0}
.stack-picto{position:absolute;right:13px;top:10px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#ffffffcc;color:#075ea8;font-size:1.6rem;box-shadow:0 6px 18px #075ea822}.stack-field .stack-picto{color:#25804b}.stack-device .stack-picto{color:#9a6b00}.stack-ai .stack-picto{color:#fff;background:#ffffff24}
.feedback-note{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px auto 0;padding:12px 20px;width:max-content;max-width:100%;border:1px dashed #75bfd0;border-radius:16px;background:#eff9fb;color:#075078;cursor:default;user-select:text}.feedback-note>span{font-size:1.65rem}.feedback-note b,.feedback-note small{display:block}.feedback-note small{font-weight:600;color:#59737f}
.strength-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.strength-card{padding:24px;border:1px solid #cfe3ec;border-radius:18px;background:#fff;box-shadow:0 12px 30px #075ea80b}.strength-card h3{margin:12px 0 7px;color:#083b66}.strength-card p{font-size:.92rem;line-height:1.8;margin:0}.strength-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#e3f7fa,#fff);border:1px solid #bfe5ec;position:relative}.strength-icon:after{font-size:2rem;color:#075ea8;font-weight:900}.strength-battery:after{content:"▰"}.strength-radio:after{content:"◔"}.strength-chip:after{content:"▣"}.strength-sensor:after{content:"⌁"}.strength-cloud:after{content:"☁"}.strength-ai:after{content:"✦"}.strength-field:after{content:"△"}.strength-cycle:after{content:"↺"}
@media(max-width:1000px){.hero-impact .hero-copy{width:min(620px,68%)}.strength-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hero-impact{min-height:720px;align-items:end;padding-bottom:54px}.hero-impact:after{background:linear-gradient(180deg,#04172d44 0%,#04172dce 44%,#04172df8 68%)}.hero-impact .hero-copy{width:100%}.hero-art img{object-position:64% center}.hero-art span{display:none}.strength-grid{grid-template-columns:1fr}.feedback-note{align-items:flex-start;width:100%}.stack-diagram>div{min-height:116px}.hero-impact .button{width:100%;text-align:center}.hero-impact .button.secondary{width:100%}}

/* Support page: illustrated service menu and standard process */
.section-heading{max-width:780px;margin-bottom:32px}.section-heading h2{margin:.2rem 0 .45rem}.section-heading p{margin:0;color:#526a77}
.support-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.support-menu-card{display:grid;grid-template-columns:180px 1fr;min-height:300px;overflow:hidden;border:1px solid #cfe3ec;border-radius:20px;background:#fff;box-shadow:0 12px 34px #0a4b700d}.support-copy{padding:26px 26px 24px 0}.support-copy h3{margin:.25rem 0 .55rem;color:#083b66;font-size:1.3rem}.support-copy p{margin:.8rem 0 0}.support-no,.process-num{font-size:.76rem;letter-spacing:.1em;color:#075ea8;font-weight:900}.support-tags{display:flex;flex-wrap:wrap;gap:6px}.support-tags span{padding:3px 9px;border-radius:999px;background:#e4f6fa;color:#075078;font-size:.76rem;font-weight:750}
.support-art{position:relative;min-height:100%;margin-right:22px;background:linear-gradient(150deg,#e5f7fb,#f8fcfd);overflow:hidden}.support-art:after{content:"";position:absolute;width:120px;height:120px;border:1px dashed #70cada;border-radius:50%;left:24px;top:78px}.support-art span{position:absolute;z-index:1}.art-bulb{left:58px;top:92px;width:62px;height:62px;display:grid;place-items:center;border-radius:50% 50% 42% 42%;background:#ffd86a;color:#735500;font-size:1.8rem;font-weight:900}.art-bulb:after{content:"";position:absolute;bottom:-17px;width:30px;height:14px;border-top:7px double #075ea8}.art-chip{right:15px;top:36px;padding:9px;border:3px solid #075ea8;background:#fff;color:#075ea8;font-weight:900}.art-orbit{left:23px;top:48px;width:132px;height:90px;border:2px solid #00a6c8;border-radius:50%;transform:rotate(-18deg)}
.art-board{left:35px;top:86px;width:105px;height:76px;border:5px solid #075ea8;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 12px #e7f7fa}.art-board:before,.art-board:after{content:"";position:absolute;inset:18px;border:3px dotted #00a6c8}.art-signal{right:7px;top:46px;color:#00a6c8;font-weight:900;transform:rotate(-45deg)}.art-check{left:66px;top:108px;color:#075ea8;font-size:2rem;font-weight:900}
.art-battery{left:30px;top:89px;width:105px;height:58px;border:5px solid #075ea8;border-radius:7px}.art-battery:before{content:"";position:absolute;left:6px;top:7px;width:58%;bottom:7px;background:#51cf88}.art-battery:after{content:"";position:absolute;right:-13px;top:15px;width:9px;height:22px;background:#075ea8;border-radius:0 4px 4px 0}.art-wave{left:20px;right:20px;top:173px;height:28px;background:linear-gradient(135deg,transparent 45%,#00a6c8 46% 54%,transparent 55%) 0 0/24px 24px}.art-magnify{right:20px;top:38px;width:52px;height:52px;border:5px solid #00a6c8;border-radius:50%}.art-magnify:after{content:"";position:absolute;width:30px;height:5px;background:#00a6c8;right:-23px;bottom:-12px;transform:rotate(45deg)}
.art-gear{left:26px;top:58px;color:#075ea8;font-size:4.8rem}.art-box{left:69px;top:139px;width:78px;height:58px;background:#c8edf3;border:4px solid #075ea8;transform:skewY(-7deg)}.art-list{right:12px;top:40px;padding:8px 7px;background:#fff;border:3px solid #00a6c8;color:#075078;font-size:.72rem;font-weight:900}
.art-cloud-shape{left:28px;top:70px;width:122px;height:72px;display:grid;place-items:center;border-radius:50px;background:#075ea8;color:#fff;font-weight:900}.art-cloud-shape:before,.art-cloud-shape:after{content:"";position:absolute;border-radius:50%;background:#075ea8}.art-cloud-shape:before{width:58px;height:58px;left:20px;top:-24px}.art-cloud-shape:after{width:48px;height:48px;right:17px;top:-16px}.art-chart{left:51px;top:91px;width:70px;height:35px;border-left:3px solid #fff;border-bottom:3px solid #fff;z-index:2}.art-chart:after{content:"";position:absolute;inset:5px 4px;background:linear-gradient(135deg,transparent 40%,#6fe7ff 41% 49%,transparent 50% 60%,#6fe7ff 61% 69%,transparent 70%)}.art-node{bottom:39px;width:18px;height:18px;border-radius:50%;background:#00a6c8}.art-node.n1{left:36px}.art-node.n2{right:34px}
.art-shield{left:42px;top:59px;width:96px;height:112px;display:grid;place-items:center;background:#075ea8;color:#fff;font-size:2rem;font-weight:900;clip-path:polygon(50% 0,100% 18%,91% 72%,50% 100%,9% 72%,0 18%)}.art-wrench{right:10px;top:42px;color:#00a6c8;font-size:3rem;font-weight:900}.art-loop{left:61px;top:91px;color:#fff;font-size:2.8rem}
.support-process{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:stretch}.support-process>article{position:relative;padding:20px;border:1px solid #cfe3ec;border-radius:18px;background:#fff}.support-process>b{display:grid;place-items:center;color:#00a6c8;font-size:1.8rem}.support-process h3{margin:.3rem 0}.support-process p{font-size:.9rem;line-height:1.65}.support-process small{display:block;padding-top:10px;border-top:1px solid #d8e7ed;color:#526a77;font-weight:700}.process-art{position:relative;height:112px;margin:-4px -4px 16px;border-radius:13px;background:linear-gradient(135deg,#e2f5f9,#f8fcfd);overflow:hidden}.process-art span{position:absolute}.process-person{left:39px;top:22px;width:38px;height:38px;border-radius:50%;background:#075ea8;box-shadow:0 42px 0 12px #075ea8}.process-talk{right:28px;top:20px;width:54px;height:40px;display:grid;place-items:center;border-radius:18px;background:#fff;border:3px solid #00a6c8;color:#075ea8;font-weight:900}.process-branches{left:31px;top:22px;color:#075ea8;font-size:3.7rem;font-weight:900}.process-ai{right:24px;top:38px;padding:10px;border:3px solid #00a6c8;background:#fff;color:#075ea8;font-weight:900}.process-device{left:28px;top:28px;width:86px;height:62px;border:5px solid #075ea8;border-radius:8px;background:#fff;box-shadow:inset 0 0 0 11px #d9f2f6}.process-meter{right:22px;top:43px;width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#51cf88;color:#064a2b;font-weight:900}.process-factory{left:25px;top:29px;color:#075ea8;font-size:4rem}.process-cycle{right:20px;top:37px;color:#00a6c8;font-size:3.4rem}.process-feedback{display:flex;justify-content:center;align-items:center;gap:16px;margin:24px auto 0;padding:10px 22px;width:max-content;max-width:100%;border-radius:999px;background:#dff4f8;color:#075078;font-weight:900}.process-feedback b{font-size:1.5rem}
@media(max-width:1000px){.support-menu-card{grid-template-columns:150px 1fr}.support-process{grid-template-columns:1fr 1fr}.support-process>b{display:none}}
@media(max-width:760px){.support-menu-grid{grid-template-columns:1fr}.support-menu-card{grid-template-columns:140px 1fr}.support-process{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.support-menu-card{grid-template-columns:1fr}.support-art{height:190px;margin:0}.support-copy{padding:22px}.support-art:after{left:calc(50% - 60px);top:38px}.art-bulb{left:calc(50% - 31px);top:52px}.art-chip{right:24px}.art-board{left:calc(50% - 52px);top:58px}.art-battery{left:calc(50% - 53px);top:58px}.art-gear{left:calc(50% - 62px);top:28px}.art-box{left:calc(50% - 20px);top:109px}.art-cloud-shape{left:calc(50% - 61px);top:46px}.art-shield{left:calc(50% - 48px);top:34px}.support-process{grid-template-columns:1fr}.process-art{height:104px}.process-feedback{font-size:.82rem;gap:9px}}
