.iot-page { --iot-orange: #f2b73f; }
.iot-page * { box-sizing: border-box; min-width: 0; }
.iot-page .ms-hero { min-height: calc(100svh - var(--site-header-height)); }
.iot-page .iot-hero-title { font-size: clamp(44px,5.4vw,78px); line-height: 1.01; letter-spacing: -.06em; }
.iot-page .iot-hero-title em { color: transparent; font-style: normal; background: linear-gradient(100deg,var(--ms-cyan),var(--ms-blue),var(--ms-green)); background-clip: text; -webkit-background-clip: text; }
.iot-page .ms-hero-sub { max-width: 680px; }
.iot-stack { position: relative; min-height: 570px; display: grid; place-items: center; }
.iot-stack:before { content: ''; position: absolute; inset: 12%; border-radius: 50%; background: radial-gradient(circle,#20d6d226,transparent 67%); filter: blur(22px); }
.iot-device { position: relative; z-index: 3; width: 290px; aspect-ratio: .86 / 1; padding: 25px; border: 1px solid #96e9f466; border-radius: 34px; background: linear-gradient(145deg,#14283a,#07101c); box-shadow: 0 40px 90px #000a,0 0 55px #20d6d227; transform: rotate(-2deg); }
.iot-device-head { display: flex; justify-content: space-between; align-items: center; color: var(--ms-muted); font-size: 10px; }
.iot-device-head i { width: 8px; height: 8px; border-radius: 50%; background: var(--ms-green); box-shadow: 0 0 12px var(--ms-green); }
.iot-switch-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 25px; }
.iot-switch { aspect-ratio: 1; display: grid; place-items: center; border: 1px solid #ffffff12; border-radius: 19px; background: #ffffff05; color: var(--ms-text); font-size: 10px; }
.iot-switch b { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: #20d6d21a; color: var(--ms-cyan); font-size: 18px; }
.iot-switch:nth-child(2),.iot-switch:nth-child(5) { background: #20d6d210; border-color: #20d6d24a; }
.iot-fan { grid-column: 1/-1; min-height: 60px; display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border: 1px solid #5c91ff3b; border-radius: 17px; color: var(--ms-text); font-size: 10px; }
.iot-fan strong { color: var(--ms-blue); font-size: 14px; }
.iot-orbit { position: absolute; z-index: 2; width: 190px; padding: 17px; border: 1px solid var(--ms-line); border-radius: 18px; background: #0b1726eb; box-shadow: 0 20px 45px #0008; backdrop-filter: blur(12px); }
.iot-orbit strong { display: block; font-size: 12px; }
.iot-orbit small { display: block; margin-top: 5px; color: var(--ms-muted); font-size: 9px; line-height: 1.5; }
.iot-orbit span { display: grid; place-items: center; width: 35px; height: 35px; margin-bottom: 12px; border-radius: 11px; background: #20d6d214; color: var(--ms-cyan); font: 800 10px 'Space Grotesk'; }
.iot-orbit-1 { left: 0; top: 9%; }
.iot-orbit-2 { right: 0; top: 16%; }
.iot-orbit-3 { left: 0; bottom: 8%; }
.iot-orbit-4 { right: 0; bottom: 6%; }
.iot-layer-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 15px; }
.iot-layer { min-height: 225px; padding: 25px 20px; border: 1px solid var(--ms-line); border-radius: 19px; background: linear-gradient(145deg,#11223a,#091426); }
.iot-layer span { color: var(--ms-cyan); font: 800 28px 'Space Grotesk'; }
.iot-layer h3 { margin-top: 18px; font-size: 18px; }
.iot-layer p { margin-top: 11px; color: var(--ms-text); font-size: 12px; line-height: 1.7; }
.iot-state-demo { display: grid; grid-template-columns: .75fr 1.25fr; gap: 50px; align-items: center; padding: 38px; border: 1px solid var(--ms-line); border-radius: 26px; background: var(--ms-panel); }
.iot-state-panel { min-height: 320px; padding: 28px; border-radius: 22px; background: #050b14; display: grid; place-items: center; text-align: center; position: relative; }
.iot-state-light { width: 104px; height: 104px; display: grid; place-items: center; border-radius: 30px; background: #f2b73f12; border: 1px solid #f2b73f55; color: var(--iot-state,#f2b73f); font: 800 34px 'Space Grotesk'; box-shadow: 0 0 48px color-mix(in srgb,var(--iot-state,#f2b73f) 25%,transparent); }
.iot-state-demo[data-state=confirmed] { --iot-state: var(--ms-green); }
.iot-state-demo[data-state=offline] { --iot-state: #ff7887; }
.iot-state-demo[data-state=waiting] { --iot-state: var(--ms-gold); }
.iot-state-label { margin-top: 20px; color: var(--iot-state); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.iot-demo-copy h2 { font-size: clamp(34px,4vw,54px); }
.iot-demo-copy > p { margin-top: 18px; color: var(--ms-text); font-size: 15px; line-height: 1.8; }
.iot-demo-copy .ms-demo-tabs { margin-top: 26px; }
.iot-demo-copy [aria-live] { min-height: 52px; margin-top: 20px; color: var(--ms-white); font-size: 13px; line-height: 1.65; }
.iot-recovery-section { background: radial-gradient(circle at 10% 15%,#20d6d214,transparent 26%),linear-gradient(180deg,#0b1829,#08111f); }
.iot-recovery-layout { display: grid; grid-template-columns: minmax(330px,.82fr) minmax(0,1.18fr); gap: 26px; align-items: stretch; }
.iot-recovery-console { position: relative; isolation: isolate; min-height: 555px; padding: 42px; overflow: hidden; border: 1px solid #20d6d24a; border-radius: 30px; background: radial-gradient(circle at 50% 30%,#20d6d221,transparent 34%),linear-gradient(145deg,#10233a,#07111f 72%); box-shadow: 0 28px 70px #0209149c; }
.iot-recovery-console:before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(110deg,transparent 35%,#ffffff08 50%,transparent 65%); transform: translateX(-100%); transition: transform 650ms ease; }
.iot-recovery-console.is-changing:before { transform: translateX(100%); }
.iot-recovery-radar { position: relative; display: grid; place-items: center; width: 180px; aspect-ratio: 1; margin: 0 auto 34px; }
.iot-recovery-ring { position: absolute; inset: 0; border: 1px solid #20d6d260; border-radius: 50%; opacity: .18; animation: iot-radar-pulse 3.6s ease-out infinite; }
.iot-recovery-ring:nth-child(2) { inset: 22px; animation-delay: .6s; }
.iot-recovery-ring:nth-child(3) { inset: 44px; animation-delay: 1.2s; }
.iot-recovery-radar:after { content: ''; position: absolute; width: 82px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,#20d6d239,transparent 70%); filter: blur(3px); }
.iot-recovery-radar b { position: relative; z-index: 1; display: grid; place-items: center; width: 68px; aspect-ratio: 1; border: 1px solid #20d6d275; border-radius: 22px; color: var(--ms-cyan); background: #071321; box-shadow: 0 0 32px #20d6d226; font: 700 31px 'Space Grotesk',sans-serif; transition: color 220ms ease,border-color 220ms ease,transform 220ms ease; }
.iot-recovery-console[data-recovery-stage="not-found"] .iot-recovery-radar b,.iot-recovery-console[data-recovery-stage="wifi"] .iot-recovery-radar b { color: var(--ms-blue); border-color: #5c91ff82; box-shadow: 0 0 32px #5c91ff28; }
.iot-recovery-console[data-recovery-stage="waiting"] .iot-recovery-radar b { color: var(--ms-violet); border-color: #a67cff82; box-shadow: 0 0 32px #a67cff28; }
.iot-recovery-console[data-recovery-stage="offline"] .iot-recovery-radar b { color: #ff8f70; border-color: #ff8f7082; box-shadow: 0 0 32px #ff8f7028; }
.iot-recovery-console[data-recovery-stage="returned"] .iot-recovery-radar b { color: var(--ms-green); border-color: #48dda882; box-shadow: 0 0 32px #48dda828; }
.iot-console-label { color: var(--ms-cyan); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.iot-recovery-console h3 { margin-top: 12px; font-size: clamp(28px,3vw,38px); line-height: 1.08; }
.iot-recovery-console > p:not(.iot-console-label) { max-width: 520px; min-height: 58px; margin-top: 14px; color: var(--ms-text); font-size: 14px; line-height: 1.7; }
.iot-recovery-action { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 24px; padding: 16px 18px; border: 1px solid #ffffff17; border-radius: 15px; background: #ffffff08; }
.iot-recovery-action span { color: var(--ms-muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.iot-recovery-action strong { color: var(--ms-white); font-size: 13px; text-align: right; }
.iot-recovery-path { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 27px; }
.iot-recovery-path span { position: relative; display: grid; justify-items: center; gap: 8px; color: var(--ms-muted); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.iot-recovery-path span:not(:last-child):after { content: ''; position: absolute; top: 13px; left: calc(50% + 15px); width: calc(100% - 25px); height: 1px; background: linear-gradient(90deg,#20d6d28c,#20d6d217); }
.iot-recovery-path b { position: relative; z-index: 1; display: grid; place-items: center; width: 27px; aspect-ratio: 1; border: 1px solid #20d6d252; border-radius: 50%; color: var(--ms-cyan); background: #081523; font-size: 10px; }
.iot-recovery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.iot-recovery-item { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 14px; min-height: 168px; padding: 20px; overflow: hidden; border: 1px solid var(--ms-line); border-radius: 21px; color: inherit; background: linear-gradient(145deg,#102139,#091321); font: inherit; text-align: left; cursor: pointer; appearance: none; transition: transform 180ms ease,border-color 180ms ease,background 180ms ease,box-shadow 180ms ease; }
.iot-recovery-item:after { content: ''; position: absolute; right: -24px; bottom: -30px; width: 88px; aspect-ratio: 1; border-radius: 50%; background: #20d6d218; filter: blur(9px); opacity: 0; transition: opacity 180ms ease; }
.iot-recovery-item:hover,.iot-recovery-item:focus-visible { transform: translateY(-3px); border-color: #20d6d273; outline: none; }
.iot-recovery-item:focus-visible { box-shadow: 0 0 0 3px #20d6d22e; }
.iot-recovery-item.is-active { border-color: #20d6d28a; background: linear-gradient(145deg,#14304a,#0a1828); box-shadow: inset 0 0 0 1px #20d6d218,0 18px 35px #02091452; }
.iot-recovery-item.is-active:after { opacity: 1; }
.iot-recovery-icon { display: grid; place-items: center; width: 48px; aspect-ratio: 1; border: 1px solid #20d6d24d; border-radius: 14px; color: var(--ms-cyan); background: #20d6d20c; }
.iot-recovery-icon svg,.iot-capability-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.iot-recovery-item strong { display: block; color: var(--ms-white); font-size: 15px; line-height: 1.25; }
.iot-recovery-item small { display: block; margin-top: 7px; color: var(--ms-text); font-size: 11px; line-height: 1.55; }
.iot-recovery-item em { grid-column: 2; align-self: end; width: max-content; padding: 6px 9px; border-radius: 999px; color: var(--ms-cyan); background: #20d6d210; font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.iot-recovery-item:nth-child(2) .iot-recovery-icon,.iot-recovery-item:nth-child(5) .iot-recovery-icon { color: var(--ms-blue); border-color: #5c91ff55; background: #5c91ff10; }
.iot-recovery-item:nth-child(3) .iot-recovery-icon,.iot-recovery-item:nth-child(6) .iot-recovery-icon { color: var(--ms-green); border-color: #48dda855; background: #48dda810; }
.iot-recovery-item:nth-child(4) .iot-recovery-icon { color: var(--ms-violet); border-color: #a67cff55; background: #a67cff10; }
.iot-capability-section { background: radial-gradient(circle at 50% 48%,#1d77ff15,transparent 28%),#050b13; }
.iot-capability-map { display: grid; grid-template-columns: minmax(0,1fr) 250px minmax(0,1fr); gap: 24px; align-items: center; }
.iot-capability-column { display: grid; gap: 14px; }
.iot-capability-column article { position: relative; display: grid; grid-template-columns: 52px 1fr; gap: 15px; min-height: 128px; padding: 20px; border: 1px solid var(--ms-line); border-radius: 19px; background: linear-gradient(145deg,#0e1d30,#080f1a); transition: transform 180ms ease,border-color 180ms ease; }
.iot-capability-column:first-child article:after,.iot-capability-column:last-child article:before { content: ''; position: absolute; top: 50%; width: 25px; height: 1px; background: linear-gradient(90deg,#20d6d226,#20d6d28e); }
.iot-capability-column:first-child article:after { right: -25px; }
.iot-capability-column:last-child article:before { left: -25px; transform: rotate(180deg); }
.iot-capability-column article:hover { transform: translateY(-3px); border-color: #20d6d25c; }
.iot-capability-icon { display: grid; place-items: center; width: 52px; aspect-ratio: 1; border-radius: 15px; color: var(--ms-cyan); background: linear-gradient(145deg,#20d6d21c,#20d6d207); box-shadow: inset 0 0 0 1px #20d6d23d; }
.iot-capability-column article:nth-child(2) .iot-capability-icon,.iot-capability-column article:nth-child(4) .iot-capability-icon { color: var(--ms-blue); background: linear-gradient(145deg,#5c91ff1c,#5c91ff07); box-shadow: inset 0 0 0 1px #5c91ff3d; }
.iot-capability-column small { color: var(--ms-cyan); font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.iot-capability-column h3 { margin-top: 8px; font-size: 17px; }
.iot-capability-column p { margin-top: 6px; color: var(--ms-text); font-size: 11px; line-height: 1.55; }
.iot-capability-hub { position: relative; display: grid; place-items: center; min-height: 430px; }
.iot-hub-ring { position: absolute; width: 235px; aspect-ratio: 1; border: 1px solid #20d6d230; border-radius: 50%; box-shadow: 0 0 45px #20d6d20c,inset 0 0 45px #20d6d209; animation: iot-hub-breathe 5s ease-in-out infinite; }
.iot-hub-ring:nth-child(2) { width: 184px; border-color: #5c91ff38; animation-delay: -2.5s; }
.iot-hub-core { position: relative; z-index: 1; display: grid; place-items: center; width: 154px; aspect-ratio: 1; padding: 22px; border: 1px solid #20d6d267; border-radius: 44px; text-align: center; background: radial-gradient(circle at 50% 20%,#20d6d22b,transparent 55%),#091624; box-shadow: 0 24px 55px #000a,0 0 45px #20d6d214; }
.iot-hub-core svg { width: 45px; height: 45px; color: var(--ms-cyan); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.iot-hub-core strong { margin-top: 10px; font-size: 15px; line-height: 1.15; }
.iot-hub-core small { margin-top: 7px; color: var(--ms-muted); font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.iot-use-section { overflow: hidden; background: radial-gradient(circle at 50% 50%,#20d6d214,transparent 28%),linear-gradient(180deg,#091422,#0b1828); }
.iot-use-constellation { position: relative; height: 650px; max-width: 1080px; margin: 0 auto; }
.iot-use-connectors { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.iot-use-connectors path { fill: none; stroke: #20d6d252; stroke-width: 1.35; stroke-dasharray: 5 9; opacity: .58; }
.iot-use-constellation.is-active .iot-use-connectors path { animation: iot-path-reveal 700ms ease-out both; }
.iot-use-constellation.is-active .iot-use-connectors path:nth-child(2) { animation-delay: 90ms; }
.iot-use-constellation.is-active .iot-use-connectors path:nth-child(3) { animation-delay: 180ms; }
.iot-use-constellation.is-active .iot-use-connectors path:nth-child(4) { animation-delay: 270ms; }
.iot-use-constellation.is-active .iot-use-connectors path:nth-child(5) { animation-delay: 360ms; }
.iot-use-constellation.is-active .iot-use-connectors path:nth-child(6) { animation-delay: 450ms; }
.iot-use-core { position: absolute; z-index: 2; left: 50%; top: 50%; display: grid; justify-items: center; width: 220px; min-height: 220px; padding: 34px 26px; border: 1px solid #20d6d263; border-radius: 50%; background: radial-gradient(circle at 50% 25%,#20d6d226,transparent 52%),#071422; box-shadow: 0 0 0 14px #20d6d207,0 26px 60px #000a; transform: translate(-50%,-50%); text-align: center; }
.iot-use-core-icon { display: grid; place-items: center; width: 66px; aspect-ratio: 1; border-radius: 20px; color: var(--ms-cyan); background: #20d6d216; }
.iot-use-core-icon svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.iot-use-core strong { margin-top: 18px; font-size: 20px; }
.iot-use-core small { margin-top: 9px; color: var(--ms-muted); font-size: 8px; font-weight: 800; letter-spacing: .11em; line-height: 1.5; }
.iot-use-node { position: absolute; z-index: 1; display: grid; grid-template-columns: 56px 1fr; gap: 16px; width: 290px; min-height: 142px; padding: 22px; border: 1px solid var(--ms-line); border-radius: 21px; background: linear-gradient(145deg,#10233a,#08121f); box-shadow: 0 18px 42px #0208146b; transition: transform 180ms ease,border-color 180ms ease; }
.iot-use-node:hover { transform: translateY(-4px); border-color: #20d6d267; }
.iot-use-node-1 { left: 0; top: 18px; }
.iot-use-node-2 { right: 0; top: 18px; }
.iot-use-node-3 { left: 0; top: 254px; }
.iot-use-node-4 { right: 0; top: 254px; }
.iot-use-node-5 { left: 0; bottom: 18px; }
.iot-use-node-6 { right: 0; bottom: 18px; }
.iot-use-icon { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid #20d6d245; border-radius: 17px; color: var(--ms-cyan); background: #20d6d20d; }
.iot-use-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.iot-use-node:nth-of-type(2n) .iot-use-icon { color: var(--ms-blue); border-color: #5c91ff45; background: #5c91ff0d; }
.iot-use-node:nth-of-type(3n) .iot-use-icon { color: var(--ms-green); border-color: #48dda845; background: #48dda80d; }
.iot-use-node h3 { font-size: 17px; line-height: 1.25; }
.iot-use-node p { margin-top: 8px; color: var(--ms-text); font-size: 11px; line-height: 1.6; }
.iot-meispace { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; align-items: center; padding: 44px; border: 1px solid #20d6d23c; border-radius: 28px; background: radial-gradient(circle at 18% 50%,#20d6d21d,transparent 40%),linear-gradient(120deg,#0b1b2d,#091326); }
.iot-meispace-logo { width: 170px; max-height: 84px; margin-bottom: 28px; object-fit: contain; object-position: left; }
.iot-meispace h2 { font-size: clamp(34px,4vw,54px); }
.iot-meispace p { margin-top: 18px; color: var(--ms-text); font-size: 14px; line-height: 1.75; }
.iot-meispace-art { position: relative; min-height: 390px; }
.iot-meispace-art .iot-admin { position: absolute; width: 80%; right: 0; top: 0; border-radius: 16px; border: 1px solid var(--ms-line); box-shadow: 0 30px 70px #0008; }
.iot-meispace-art .iot-control { position: absolute; width: 65%; left: 0; bottom: 0; padding: 7px; border-radius: 19px; border: 1px solid #20d6d24a; background: #06101d; box-shadow: 0 24px 60px #000a; }
.iot-process-section { background: radial-gradient(circle at 76% 20%,#5c91ff10,transparent 28%),linear-gradient(180deg,#091523,#07101c); }
.iot-process-shell { position: relative; padding-top: 16px; }
.iot-process-progress { position: absolute; z-index: 0; top: 55px; left: 7.5%; right: 7.5%; height: 2px; overflow: hidden; background: #ffffff12; }
.iot-process-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--ms-cyan),var(--ms-blue),var(--ms-violet)); box-shadow: 0 0 14px #20d6d26b; transition: width 1.15s cubic-bezier(.2,.8,.2,1); }
.iot-process-shell.is-active .iot-process-progress span { width: 100%; }
.iot-process { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.iot-process article { min-width: 0; padding: 0 8px 24px; text-align: center; opacity: .55; transform: translateY(9px); transition: opacity 350ms ease,transform 350ms ease; }
.iot-process-shell.is-active article { opacity: 1; transform: translateY(0); }
.iot-process-shell.is-active article:nth-child(2) { transition-delay: 120ms; }
.iot-process-shell.is-active article:nth-child(3) { transition-delay: 240ms; }
.iot-process-shell.is-active article:nth-child(4) { transition-delay: 360ms; }
.iot-process-shell.is-active article:nth-child(5) { transition-delay: 480ms; }
.iot-process-shell.is-active article:nth-child(6) { transition-delay: 600ms; }
.iot-process-icon { position: relative; display: grid; place-items: center; width: 78px; aspect-ratio: 1; margin: 0 auto 24px; border: 1px solid #20d6d25a; border-radius: 24px; color: var(--ms-cyan); background: radial-gradient(circle at 50% 20%,#20d6d22b,transparent 60%),#091827; box-shadow: 0 0 0 8px #091523,0 16px 35px #01081179; transition: transform 180ms ease,border-color 180ms ease; }
.iot-process article:hover .iot-process-icon { transform: translateY(-4px); border-color: #20d6d296; }
.iot-process article:nth-child(2n) .iot-process-icon { color: var(--ms-blue); border-color: #5c91ff59; background: radial-gradient(circle at 50% 20%,#5c91ff2b,transparent 60%),#091827; }
.iot-process article:nth-child(3n) .iot-process-icon { color: var(--ms-violet); border-color: #a67cff59; background: radial-gradient(circle at 50% 20%,#a67cff2b,transparent 60%),#091827; }
.iot-process-icon svg { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.iot-process small { display: block; color: var(--ms-cyan); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.iot-process h3 { margin-top: 12px; font-size: 16px; line-height: 1.25; }
.iot-process p { margin-top: 9px; color: var(--ms-text); font-size: 10px; line-height: 1.65; }
.iot-faq { max-width: 900px; margin: 0 auto; border-top: 1px solid var(--ms-line); }
.iot-faq details { border-bottom: 1px solid var(--ms-line); }
.iot-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; cursor: pointer; font: 600 17px 'Space Grotesk'; }
.iot-faq summary::-webkit-details-marker { display: none; }
.iot-faq summary:after { content: '+'; color: var(--ms-cyan); font-size: 25px; font-weight: 400; transition: transform 180ms ease; }
.iot-faq details[open] summary:after { transform: rotate(45deg); }
.iot-faq p { max-width: 760px; padding: 0 40px 22px 0; color: var(--ms-text); font-size: 13px; line-height: 1.75; }
@keyframes iot-radar-pulse { 0% { opacity: .08; transform: scale(.82); } 48% { opacity: .38; } 100% { opacity: 0; transform: scale(1.12); } }
@keyframes iot-hub-breathe { 0%,100% { opacity: .42; transform: scale(.97); } 50% { opacity: .82; transform: scale(1.03); } }
@keyframes iot-path-reveal { from { opacity: 0; stroke-dashoffset: 65; } to { opacity: .58; stroke-dashoffset: 0; } }
@media(max-width:1100px){.iot-layer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.iot-stack{min-height:500px}.iot-device{width:250px}.iot-orbit{width:160px}.iot-recovery-layout{grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr)}.iot-recovery-grid{grid-template-columns:1fr}.iot-recovery-item{min-height:0}.iot-capability-map{grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);gap:18px}.iot-capability-hub{min-height:390px}.iot-use-constellation{height:610px}.iot-use-node{width:270px}.iot-process{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 16px}.iot-process-progress{display:none}.iot-process article{padding-bottom:6px}}
@media(max-width:900px){.iot-recovery-layout{grid-template-columns:1fr}.iot-recovery-console{min-height:510px}.iot-recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.iot-capability-map{grid-template-columns:1fr}.iot-capability-hub{order:-1;min-height:280px}.iot-capability-column{grid-template-columns:repeat(2,minmax(0,1fr))}.iot-capability-column:first-child article:after,.iot-capability-column:last-child article:before{display:none}.iot-use-constellation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:auto}.iot-use-connectors{display:none}.iot-use-core,.iot-use-node{position:static;width:auto;min-height:0;transform:none}.iot-use-core{grid-column:1/-1;width:230px;min-height:230px;margin:0 auto 18px;border-radius:50%}.iot-use-node:hover{transform:translateY(-3px)}}
@media(max-width:820px){.iot-page .ms-hero{min-height:auto}.iot-stack{max-width:650px;width:100%;margin:auto}.iot-state-demo,.iot-meispace{grid-template-columns:1fr}.iot-meispace-art{min-height:380px}.iot-layer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.iot-stack{min-height:440px}.iot-device{width:210px;padding:18px;border-radius:28px}.iot-switch-grid{gap:9px;margin-top:18px}.iot-switch{border-radius:14px}.iot-orbit{width:135px;padding:13px}.iot-orbit span{margin-bottom:8px}.iot-orbit-1{top:4%}.iot-orbit-2{top:14%}.iot-orbit-3{bottom:3%}.iot-orbit-4{bottom:8%}.iot-layer-grid,.iot-recovery-grid,.iot-capability-column,.iot-use-constellation,.iot-process{grid-template-columns:1fr}.iot-state-demo{padding:24px}.iot-state-panel{min-height:240px}.iot-recovery-console{min-height:0;padding:30px 22px}.iot-recovery-radar{width:145px;margin-bottom:25px}.iot-recovery-action{align-items:flex-start;flex-direction:column}.iot-recovery-action strong{text-align:left}.iot-recovery-item{grid-template-columns:44px 1fr;padding:18px}.iot-recovery-icon{width:44px}.iot-capability-hub{min-height:245px}.iot-hub-ring{width:210px}.iot-use-core{grid-column:auto;width:210px;min-height:210px}.iot-use-node{grid-template-columns:50px 1fr;padding:19px}.iot-use-icon{width:50px;height:50px}.iot-process article{display:grid;grid-template-columns:70px 1fr;grid-template-rows:auto auto auto;gap:5px 16px;padding:0;text-align:left}.iot-process-icon{grid-row:1/4;width:68px;margin:0}.iot-process small,.iot-process h3,.iot-process p{grid-column:2;margin-top:0}.iot-process h3{font-size:17px}.iot-meispace{padding:26px}.iot-meispace-art{min-height:260px}.iot-page .ms-title{font-size:44px}.iot-faq summary{font-size:15px}}
@media(min-width:821px) and (max-height:950px){.iot-page .ms-hero{min-height:auto;padding-block:20px 28px}.iot-page .ms-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr);gap:34px}.iot-page .ms-breadcrumb{margin-bottom:14px!important}.iot-page .ms-chip-row{margin-bottom:14px}.iot-page .iot-hero-title{font-size:clamp(48px,4.45vw,58px);line-height:.98}.iot-page .ms-hero-sub{margin-top:16px!important;font-size:18px}.iot-page .ms-hero-copy{margin-top:10px!important;font-size:12px;line-height:1.55}.iot-page .ms-actions{margin-top:16px}.iot-page .ms-button{min-height:44px;padding:10px 19px}.iot-page .ms-proof-row{margin-top:16px}.iot-stack{min-height:455px}.iot-device{width:235px;padding:20px}.iot-switch-grid{gap:10px;margin-top:18px}.iot-orbit{width:158px;padding:14px}.iot-orbit-1{top:9%}.iot-orbit-2{top:16%}.iot-orbit-3{bottom:6%}.iot-orbit-4{bottom:7%}}
@media(prefers-reduced-motion:reduce){.iot-recovery-ring,.iot-hub-ring{animation:none}.iot-recovery-item,.iot-capability-column article,.iot-use-node,.iot-process article,.iot-process-icon,.iot-process-progress span{transition:none}.iot-recovery-item:hover,.iot-capability-column article:hover,.iot-use-node:hover,.iot-process article:hover .iot-process-icon{transform:none}}
