:root {
  --iot-green: #36a977;
  --iot-green-dark: #23875d;
  --iot-cyan: #3ab7c8;
}
.iot-page main h2 { margin: 0; color: var(--ink); font-size: clamp(32px,3.4vw,46px); line-height:1.08; letter-spacing:-.035em; }

.iot-hero { position:relative; min-height:620px; overflow:hidden; display:flex; align-items:center; color:#fff; background:#06172f; }
.iot-hero-background { position:absolute; inset:0; background:url('assets/iot-hero-v1.webp') 66% center/cover no-repeat; transform:scale(1.01); filter:saturate(1.04) contrast(1.05); }
.iot-hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(2,15,36,.95) 0%,rgba(2,15,36,.88) 25%,rgba(3,20,44,.62) 48%,rgba(3,20,44,.24) 72%,rgba(3,20,44,.10) 100%),linear-gradient(180deg,rgba(2,14,34,.04),rgba(2,14,34,.24)); }
.iot-hero-inner { position:relative; z-index:2; min-height:620px; display:flex; align-items:center; }
.iot-hero-copy { width:min(690px,62%); padding:80px 0 88px; }
.iot-eyebrow { margin:0 0 18px; color:#8ee2c0; font-size:14px; font-weight:800; letter-spacing:.055em; }
.iot-eyebrow span { padding-inline:4px; }
.iot-hero h1 { margin:0; max-width:690px; font-size:clamp(46px,4.4vw,64px); line-height:1.03; letter-spacing:-.044em; font-weight:800; }
.iot-hero h1 strong { color:#67d2a8; }
.iot-hero-copy>p:not(.iot-eyebrow) { max-width:635px; margin:24px 0 0; color:rgba(255,255,255,.94); font-size:17px; line-height:1.58; }
.iot-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:31px; }
.iot-hero .btn-primary { color:#fff; background:var(--blue); border-color:var(--blue); }
.iot-hero .btn-secondary { color:var(--ink); background:#fff; border-color:#fff; }

.iot-overview { padding:84px 0 90px; background:#fff; }
.iot-overview-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
.iot-overview-copy>p:not(.section-kicker) { margin:21px 0 0; color:var(--muted); font-size:16px; line-height:1.67; }
.iot-capabilities { margin-top:30px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid #dde6f1; border-radius:15px; overflow:hidden; }
.iot-capabilities article { display:flex; gap:14px; padding:19px; background:#fbfcfe; }
.iot-capabilities article:nth-child(odd) { border-right:1px solid #dde6f1; }
.iot-capabilities article:nth-child(-n+2) { border-bottom:1px solid #dde6f1; }
.iot-capabilities article>span { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; color:#fff; background:var(--iot-green); border-radius:50%; font-size:11px; font-weight:800; }
.iot-capabilities h3 { margin:0 0 5px; font-size:16px; }
.iot-capabilities p { margin:0; color:var(--muted); font-size:13px; line-height:1.48; }
.iot-dashboard { overflow:hidden; background:#071a38; border:1px solid rgba(7,26,65,.16); border-radius:18px; box-shadow:0 28px 60px rgba(4,23,54,.19); }
.iot-dashboard-topbar { height:50px; display:flex; align-items:center; gap:7px; padding:0 17px; color:#b8c8df; background:#04142d; border-bottom:1px solid rgba(255,255,255,.08); }
.iot-dashboard-topbar span { width:8px; height:8px; border-radius:50%; background:#45607d; }
.iot-dashboard-topbar strong { margin-left:9px; font-size:13px; }
.iot-dashboard-body { padding:18px; }
.iot-dashboard-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.iot-dashboard-summary>div { padding:14px; background:#0c254a; border:1px solid rgba(255,255,255,.07); border-radius:10px; }
.iot-dashboard-summary small,.iot-dashboard-summary span { display:block; color:#aebfd5; font-size:10px; }
.iot-dashboard-summary strong { display:block; margin:5px 0 3px; color:#fff; font-size:24px; }
.iot-dashboard-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:10px; margin-top:10px; }
.iot-chart-card,.iot-status-card,.iot-assets-card { background:#0a2244; border:1px solid rgba(255,255,255,.07); border-radius:10px; }
.iot-chart-card { grid-row:span 2; padding:15px; }
.iot-chart-header { display:flex; justify-content:space-between; color:#cbd8e9; font-size:12px; }
.iot-chart-header strong { color:#69d6a9; font-size:18px; }
.iot-chart-card svg { width:100%; margin-top:16px; }
.chart-area { fill:rgba(54,169,119,.16); stroke:none; }
.chart-line { fill:none; stroke:#55ca9a; stroke-width:4; }
.iot-status-card { display:flex; align-items:center; gap:12px; padding:12px; color:#fff; }
.iot-status-ring { width:64px; height:64px; display:grid; place-items:center; align-content:center; border:5px solid #36a977; border-radius:50%; }
.iot-status-ring span { font-size:17px; font-weight:800; }
.iot-status-ring small { color:#aebfd5; font-size:9px; }
.iot-status-card>div:last-child { display:grid; gap:4px; }
.iot-status-card>div:last-child span { color:#aebfd5; font-size:10px; }
.iot-assets-card { padding:10px 12px; }
.iot-assets-card>div { display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:7px; padding:8px 0; color:#fff; border-bottom:1px solid rgba(255,255,255,.07); }
.iot-assets-card>div:last-child { border-bottom:0; }
.iot-assets-card strong { font-size:11px; }
.iot-assets-card small { color:#9fb2cb; font-size:9px; }
.dot { width:7px; height:7px; border-radius:50%; }.dot.ok{background:#43c58f}.dot.warning{background:#f3a63f}

.iot-solutions { padding:82px 0 88px; background:linear-gradient(180deg,#f3f7fb 0%,#fff 100%); }
.iot-section-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:54px; align-items:end; margin-bottom:34px; }
.iot-section-heading>p { margin:0; color:var(--muted); font-size:16px; line-height:1.62; }
.iot-solution-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.iot-solution-card { --card-accent:var(--iot-green); --card-accent-dark:var(--iot-green-dark); display:block; overflow:hidden; color:inherit; text-decoration:none; background:#fff; border:1px solid #dde6f1; border-radius:16px; box-shadow:0 17px 38px rgba(4,23,54,.10); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.iot-solution-card--tanks { --card-accent:#2c9f74; --card-accent-dark:#177957; }
.iot-solution-card--pressure { --card-accent:#2678c9; --card-accent-dark:#165d9f; }
.iot-solution-card--telemetry { --card-accent:#c47a25; --card-accent-dark:#9d5b13; }
.iot-solution-card:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--card-accent) 48%,#dde6f1); box-shadow:0 23px 46px rgba(4,23,54,.15); }
.iot-solution-card:focus-visible { outline:3px solid color-mix(in srgb,var(--card-accent) 42%,transparent); outline-offset:4px; }
.iot-solution-media { position:relative; height:250px; overflow:hidden; background:#0a1c3a; }
.iot-solution-media img { width:100%; height:100%; object-fit:cover; }
.iot-solution-media::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(180deg,transparent,rgba(3,16,38,.42)); }
.iot-solution-media--pressure img { filter:saturate(.8) contrast(1.05); }
.iot-solution-body { position:relative; padding:24px 23px 25px; border-top:4px solid var(--card-accent); }
.iot-solution-tag { margin:0 0 9px; color:var(--card-accent-dark); font-size:12px; font-weight:800; letter-spacing:.13em; }
.iot-solution-body h3 { margin:0 0 11px; font-size:23px; line-height:1.2; letter-spacing:-.025em; }
.iot-solution-body>p:not(.iot-solution-tag) { min-height:96px; margin:0; color:var(--muted); font-size:15px; line-height:1.56; }
.iot-solution-body ul { margin:19px 0 0; padding:17px 0 0; list-style:none; display:grid; gap:9px; border-top:1px solid #e2e9f2; }
.iot-solution-body li { position:relative; padding-left:18px; color:#31415e; font-size:14px; }
.iot-solution-body li::before { content:""; position:absolute; left:1px; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--card-accent); }
.iot-solution-cta { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:21px; padding-top:17px; color:var(--card-accent-dark); border-top:1px solid #e2e9f2; font-size:14px; font-weight:800; }
.iot-solution-cta span { font-size:19px; line-height:1; transition:transform .22s ease; }
.iot-solution-card:hover .iot-solution-cta span { transform:translateX(4px); }

.iot-platform { padding:84px 0; color:#fff; background:radial-gradient(circle at 8% 18%,rgba(54,169,119,.20),transparent 26%),linear-gradient(115deg,#031630,#061f46 58%,#092a54); }
.iot-platform-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:68px; }
.iot-platform .section-kicker { color:#75ddba; }
.iot-platform h2 { color:#fff; }
.iot-platform-copy>p:not(.section-kicker) { margin:21px 0 0; color:#d8e3f2; font-size:16px; line-height:1.66; }
.iot-text-link { display:inline-flex; gap:10px; margin-top:28px; color:#fff; font-weight:750; }.iot-text-link span{color:#75ddba}
.iot-platform-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid rgba(255,255,255,.14); border-radius:16px; overflow:hidden; }
.iot-platform-grid article { min-height:155px; padding:24px; background:rgba(255,255,255,.035); }
.iot-platform-grid article:nth-child(odd){border-right:1px solid rgba(255,255,255,.12)}
.iot-platform-grid article:not(:nth-last-child(-n+2)){border-bottom:1px solid rgba(255,255,255,.12)}
.iot-platform-grid span { color:#79dfbc; font-size:11px; font-weight:800; letter-spacing:.1em; }
.iot-platform-grid h3 { margin:10px 0 7px; font-size:18px; }
.iot-platform-grid p { margin:0; color:#cdd9ea; font-size:14px; line-height:1.52; }

.iot-workflow { padding:78px 0 82px; background:#f5f8fc; }
.iot-workflow-heading { max-width:760px; margin-bottom:34px; }.iot-workflow-heading>p:not(.section-kicker){margin:18px 0 0;color:var(--muted);font-size:16px;line-height:1.62}
.iot-workflow-steps { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.iot-workflow-steps::before { content:""; position:absolute; left:6%; right:6%; top:31px; height:1px; background:#c9d7e8; }
.iot-workflow-steps article { position:relative; z-index:1; }
.iot-workflow-steps span { width:62px; height:62px; display:grid; place-items:center; color:#fff; background:var(--iot-green); border:8px solid #f5f8fc; border-radius:50%; box-sizing:content-box; font-size:12px; font-weight:800; }
.iot-workflow-steps h3 { margin:14px 0 7px; font-size:18px; }.iot-workflow-steps p{margin:0;color:var(--muted);font-size:14px;line-height:1.54}

.iot-integration { padding:82px 0 88px; background:#fff; }
.iot-integration-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:58px; align-items:center; }
.iot-integration-media { overflow:hidden; min-height:480px; border-radius:18px; box-shadow:0 24px 50px rgba(4,23,54,.15); }
.iot-integration-media img { width:100%; height:100%; min-height:480px; object-fit:cover; }
.iot-integration-copy>p:not(.section-kicker) { margin:21px 0 0; color:var(--muted); font-size:16px; line-height:1.67; }
.iot-integration-points { margin-top:28px; display:grid; gap:0; border-top:1px solid #dfe7f1; }
.iot-integration-points>div { display:grid; grid-template-columns:180px 1fr; gap:18px; padding:16px 0; border-bottom:1px solid #dfe7f1; }
.iot-integration-points strong { color:var(--ink); font-size:14px; }.iot-integration-points span{color:var(--muted);font-size:14px;line-height:1.5}

.iot-configurator { padding:84px 0 90px; background:#f6f9fc; }
.iot-configurator-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:68px; align-items:start; }
.iot-configurator-copy { position:sticky; top:118px; }
.iot-configurator-copy>p:not(.section-kicker) { margin:20px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }
.iot-form-progress { margin-top:30px; display:grid; gap:10px; }.iot-form-progress span{padding:11px 14px;color:#6a7790;background:#eef3f8;border-radius:8px;font-size:13px;font-weight:750}.iot-form-progress .active{color:var(--iot-green-dark);background:#e6f6ef}
.iot-form { padding:30px; background:#fff; border:1px solid #dce5f0; border-radius:17px; box-shadow:0 18px 42px rgba(3,24,57,.08); }
.iot-form fieldset { margin:0 0 24px; padding:0 0 24px; border:0; border-bottom:1px solid #dfe7f2; }.iot-form legend{margin-bottom:16px;font-size:17px;font-weight:800}
.iot-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.iot-form label { display:grid; gap:7px; color:#2d3c58; font-size:13px; font-weight:700; }
.iot-form input,.iot-form select,.iot-form textarea { width:100%; color:var(--ink); background:#fff; border:1px solid #ccd8e8; border-radius:8px; outline:none; }
.iot-form input,.iot-form select { height:47px; padding:0 13px; }.iot-form textarea{padding:12px 13px;resize:vertical}
.iot-form input:focus,.iot-form select:focus,.iot-form textarea:focus{border-color:var(--iot-green);box-shadow:0 0 0 3px rgba(54,169,119,.12)}
.iot-form-grid--contact{margin-bottom:15px}.iot-form-submit{margin-top:19px}.iot-final-cta{margin-top:0}

@media (max-width:1080px){
  .iot-hero-copy{width:min(680px,72%)}
  .iot-overview-layout,.iot-platform-layout,.iot-configurator-layout{gap:42px}
  .iot-solution-body>p:not(.iot-solution-tag){min-height:118px}
}
@media (max-width:900px){
  .iot-hero,.iot-hero-inner{min-height:570px}.iot-hero-background{background-position:68% center}.iot-hero-copy{width:78%;padding:68px 0 72px}
  .iot-overview-layout,.iot-platform-layout,.iot-integration-layout,.iot-configurator-layout{grid-template-columns:1fr}.iot-configurator-copy{position:static}
  .iot-dashboard{max-width:720px;margin-inline:auto}
  .iot-solution-grid{grid-template-columns:1fr;max-width:680px;margin-inline:auto}.iot-solution-card{display:grid;grid-template-columns:.88fr 1.12fr}.iot-solution-media{height:100%;min-height:360px}.iot-solution-body>p:not(.iot-solution-tag){min-height:0}
  .iot-workflow-steps{grid-template-columns:repeat(2,1fr);gap:32px 20px}.iot-workflow-steps::before{display:none}
  .iot-integration-media,.iot-integration-media img{min-height:380px}
}
@media (max-width:640px){
  .iot-hero,.iot-hero-inner{min-height:620px}.iot-hero-background{background-position:70% center}.iot-hero::before{background:linear-gradient(90deg,rgba(2,15,36,.97) 0%,rgba(2,15,36,.91) 62%,rgba(2,15,36,.58) 100%),linear-gradient(180deg,rgba(2,14,34,.08),rgba(2,14,34,.30))}.iot-hero-copy{width:100%;padding:58px 0 64px}.iot-eyebrow{font-size:11px}.iot-hero h1{font-size:40px}.iot-hero-copy>p:not(.iot-eyebrow){font-size:16px}.iot-hero-actions{flex-direction:column;align-items:stretch;max-width:340px}
  .iot-overview,.iot-solutions,.iot-workflow,.iot-integration,.iot-configurator{padding-top:58px;padding-bottom:62px}
  .iot-capabilities{grid-template-columns:1fr}.iot-capabilities article:nth-child(odd){border-right:0}.iot-capabilities article:not(:last-child){border-bottom:1px solid #dde6f1}
  .iot-dashboard-summary{grid-template-columns:1fr}.iot-dashboard-grid{grid-template-columns:1fr}.iot-chart-card{grid-row:auto}.iot-dashboard{border-radius:12px}
  .iot-section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:27px}
  .iot-solution-card{display:block}.iot-solution-media{min-height:0;height:290px}
  .iot-platform{padding:62px 0}.iot-platform-grid{grid-template-columns:1fr}.iot-platform-grid article:nth-child(odd){border-right:0}.iot-platform-grid article:not(:last-child){border-bottom:1px solid rgba(255,255,255,.12)}
  .iot-workflow-steps{grid-template-columns:1fr}.iot-integration-media,.iot-integration-media img{min-height:300px}.iot-integration-points>div{grid-template-columns:1fr;gap:5px}
  .iot-form{padding:22px 18px}.iot-form-grid{grid-template-columns:1fr}
}
