:root {
  --solution-accent:#2c9f74;
  --solution-accent-dark:#177957;
  --solution-accent-rgb:44,159,116;
  --solution-deep:#061a3d;
}

.solution-page--pressure { --solution-accent:#2f83d4; --solution-accent-dark:#1c66ad; --solution-accent-rgb:47,131,212; }
.solution-page--telemetry { --solution-accent:#d18a32; --solution-accent-dark:#a56318; --solution-accent-rgb:209,138,50; }
.solution-page main h2 { margin:0; color:var(--ink); font-size:clamp(32px,3.4vw,46px); line-height:1.08; letter-spacing:-.035em; }
.solution-page .section-kicker { color:var(--solution-accent-dark); }

.solution-hero { position:relative; min-height:590px; overflow:hidden; display:flex; align-items:center; color:#fff; background:#06172f; }
.solution-hero-background { position:absolute; inset:0; transform:scale(1.015); filter:saturate(.95) contrast(1.06); }
.solution-page--tanks .solution-hero-background { background:url('assets/iot-tanks-v1.webp') 72% center/cover no-repeat; }
.solution-page--pressure .solution-hero-background { background:url('assets/iot-pressure-v1.webp') 72% center/cover no-repeat; }
.solution-page--telemetry .solution-hero-background { background:url('assets/iot-telemetry-v1.webp') 72% center/cover no-repeat; }
.solution-hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(2,15,36,.97) 0%,rgba(2,15,36,.91) 31%,rgba(3,20,44,.66) 53%,rgba(3,20,44,.24) 77%,rgba(3,20,44,.14) 100%),linear-gradient(180deg,rgba(2,14,34,.04),rgba(2,14,34,.28)); }
.solution-hero-inner { position:relative; z-index:2; min-height:590px; display:flex; align-items:center; }
.solution-hero-copy { width:min(715px,64%); padding:58px 0 76px; }
.solution-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:0 0 25px; color:#c8d7e9; font-size:12px; font-weight:700; }
.solution-breadcrumb a { color:#fff; text-decoration:none; }
.solution-breadcrumb a:hover { text-decoration:underline; }
.solution-breadcrumb span { color:rgba(255,255,255,.58); }
.solution-eyebrow { margin:0 0 16px; color:#fff; font-size:13px; font-weight:850; letter-spacing:.11em; }
.solution-eyebrow::before { content:""; display:inline-block; width:28px; height:3px; margin:0 10px 3px 0; background:var(--solution-accent); border-radius:99px; }
.solution-hero h1 { margin:0; max-width:710px; font-size:clamp(45px,4.35vw,63px); line-height:1.03; letter-spacing:-.044em; font-weight:800; }
.solution-hero h1 strong { color:#fff; box-shadow:inset 0 -.13em rgba(var(--solution-accent-rgb),.42); }
.solution-hero-copy>p:not(.solution-eyebrow):not(.solution-breadcrumb) { max-width:645px; margin:24px 0 0; color:rgba(255,255,255,.94); font-size:17px; line-height:1.6; }
.solution-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:31px; }
.solution-hero .btn-primary { color:#fff; background:var(--blue); border-color:var(--blue); }
.solution-hero .btn-secondary { color:var(--ink); background:#fff; border-color:#fff; }

.solution-summary { position:relative; z-index:3; margin-top:-1px; color:#fff; background:var(--solution-deep); border-top:1px solid rgba(255,255,255,.09); }
.solution-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.solution-summary article { min-height:118px; padding:23px 24px; border-right:1px solid rgba(255,255,255,.11); }
.solution-summary article:first-child { border-left:1px solid rgba(255,255,255,.11); }
.solution-summary span { display:block; margin-bottom:7px; color:var(--solution-accent); font-size:11px; font-weight:850; letter-spacing:.1em; }
.solution-summary strong { display:block; font-size:16px; line-height:1.35; }

.solution-intro { padding:88px 0 92px; background:#fff; }
.solution-intro-layout { display:grid; grid-template-columns:.88fr 1.12fr; gap:66px; align-items:center; }
.solution-intro-copy>p:not(.section-kicker) { margin:21px 0 0; color:var(--muted); font-size:16px; line-height:1.68; }
.solution-intro-list { margin:29px 0 0; padding:0; display:grid; gap:0; list-style:none; border-top:1px solid #dfe7f1; }
.solution-intro-list li { position:relative; padding:14px 0 14px 26px; color:#31415e; border-bottom:1px solid #dfe7f1; font-size:14px; font-weight:650; line-height:1.45; }
.solution-intro-list li::before { content:""; position:absolute; left:1px; top:20px; width:9px; height:9px; border:3px solid var(--solution-accent); border-radius:50%; }

.solution-monitor { overflow:hidden; color:#fff; background:#071a38; border:1px solid rgba(7,26,65,.18); border-radius:18px; box-shadow:0 28px 60px rgba(4,23,54,.19); }
.solution-monitor-topbar { height:52px; display:flex; align-items:center; gap:7px; padding:0 18px; color:#b8c8df; background:#04142d; border-bottom:1px solid rgba(255,255,255,.08); }
.solution-monitor-topbar i { width:8px; height:8px; border-radius:50%; background:#45607d; }
.solution-monitor-topbar strong { margin-left:9px; font-size:13px; }
.solution-monitor-body { padding:19px; }
.monitor-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.monitor-summary>div { padding:14px; background:#0c254a; border:1px solid rgba(255,255,255,.07); border-radius:10px; }
.monitor-summary small,.monitor-summary span { display:block; color:#aebfd5; font-size:10px; }
.monitor-summary strong { display:block; margin:5px 0 3px; color:#fff; font-size:23px; }
.monitor-summary .status-ok { color:#6bd6a9; }
.monitor-panel { margin-top:10px; padding:17px; background:#0a2244; border:1px solid rgba(255,255,255,.07); border-radius:10px; }
.monitor-panel-header { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:14px; }
.monitor-panel-header span { color:#cad7e8; font-size:12px; }
.monitor-panel-header strong { color:var(--solution-accent); font-size:18px; }
.monitor-chart { display:block; width:100%; height:auto; }
.monitor-chart .area { fill:rgba(var(--solution-accent-rgb),.14); }
.monitor-chart .line { fill:none; stroke:var(--solution-accent); stroke-width:4; stroke-linecap:round; }
.monitor-chart .grid { stroke:rgba(255,255,255,.09); stroke-width:1; }
.monitor-assets { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:10px; }
.monitor-assets>div { display:grid; grid-template-columns:10px 1fr; gap:8px; align-items:center; padding:11px; background:#0a2244; border:1px solid rgba(255,255,255,.07); border-radius:9px; }
.monitor-assets i { width:8px; height:8px; border-radius:50%; background:#43c58f; }
.monitor-assets .warning { background:#f3a63f; }
.monitor-assets strong { font-size:10px; }
.monitor-assets span { grid-column:2; color:#9fb2cb; font-size:9px; }

.solution-outcomes { padding:82px 0 88px; background:linear-gradient(180deg,#f3f7fb 0%,#fff 100%); }
.solution-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:58px; align-items:end; margin-bottom:34px; }
.solution-heading>p { margin:0; color:var(--muted); font-size:16px; line-height:1.64; }
.solution-outcome-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.solution-outcome-grid article { position:relative; min-height:245px; padding:29px 27px; overflow:hidden; background:#fff; border:1px solid #dde6f1; border-radius:15px; box-shadow:0 14px 34px rgba(4,23,54,.07); }
.solution-outcome-grid article::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--solution-accent); }
.solution-outcome-grid span { width:46px; height:46px; display:grid; place-items:center; color:var(--solution-accent-dark); background:rgba(var(--solution-accent-rgb),.12); border-radius:12px; font-size:12px; font-weight:850; }
.solution-outcome-grid h3 { margin:20px 0 10px; font-size:21px; line-height:1.2; }
.solution-outcome-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.62; }

.solution-capabilities { padding:86px 0 90px; color:#fff; background:radial-gradient(circle at 8% 18%,rgba(var(--solution-accent-rgb),.20),transparent 26%),linear-gradient(115deg,#031630,#061f46 58%,#092a54); }
.solution-capabilities .section-kicker { color:var(--solution-accent); }
.solution-capabilities h2 { color:#fff; }
.solution-capabilities-heading { max-width:780px; margin-bottom:36px; }
.solution-capabilities-heading>p:not(.section-kicker) { margin:18px 0 0; color:#d8e3f2; font-size:16px; line-height:1.64; }
.solution-capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid rgba(255,255,255,.14); border-radius:16px; overflow:hidden; }
.solution-capability-grid article { min-height:175px; padding:25px; background:rgba(255,255,255,.035); border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
.solution-capability-grid article:nth-child(3n) { border-right:0; }
.solution-capability-grid article:nth-last-child(-n+3) { border-bottom:0; }
.solution-capability-grid span { color:var(--solution-accent); font-size:11px; font-weight:850; letter-spacing:.1em; }
.solution-capability-grid h3 { margin:11px 0 8px; font-size:18px; }
.solution-capability-grid p { margin:0; color:#cdd9ea; font-size:14px; line-height:1.54; }

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

.solution-applications { padding:84px 0 90px; background:#fff; }
.solution-applications-layout { display:grid; grid-template-columns:1.03fr .97fr; gap:60px; align-items:center; }
.solution-applications-media { min-height:485px; overflow:hidden; border-radius:18px; box-shadow:0 24px 50px rgba(4,23,54,.15); }
.solution-applications-media img { width:100%; height:100%; min-height:485px; object-fit:cover; }
.solution-applications-copy>p:not(.section-kicker) { margin:21px 0 0; color:var(--muted); font-size:16px; line-height:1.67; }
.solution-application-list { margin-top:28px; display:grid; border-top:1px solid #dfe7f1; }
.solution-application-list>div { display:grid; grid-template-columns:175px 1fr; gap:19px; padding:16px 0; border-bottom:1px solid #dfe7f1; }
.solution-application-list strong { color:var(--ink); font-size:14px; }
.solution-application-list span { color:var(--muted); font-size:14px; line-height:1.5; }

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

@media (max-width:1080px) {
  .solution-hero-copy { width:min(690px,72%); }
  .solution-intro-layout,.solution-applications-layout,.solution-consult-layout { gap:42px; }
}
@media (max-width:900px) {
  .solution-hero,.solution-hero-inner { min-height:560px; }
  .solution-hero-copy { width:79%; padding:54px 0 66px; }
  .solution-summary-grid { grid-template-columns:repeat(2,1fr); }
  .solution-summary article:nth-child(odd) { border-left:1px solid rgba(255,255,255,.11); }
  .solution-summary article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.11); }
  .solution-intro-layout,.solution-applications-layout,.solution-consult-layout { grid-template-columns:1fr; }
  .solution-consult-copy { position:static; }
  .solution-monitor { max-width:720px; margin-inline:auto; }
  .solution-outcome-grid { grid-template-columns:1fr; max-width:720px; }
  .solution-outcome-grid article { min-height:0; }
  .solution-capability-grid { grid-template-columns:repeat(2,1fr); }
  .solution-capability-grid article,.solution-capability-grid article:nth-child(3n) { border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
  .solution-capability-grid article:nth-child(2n) { border-right:0; }
  .solution-capability-grid article:nth-last-child(-n+2) { border-bottom:0; }
  .solution-flow-steps { grid-template-columns:repeat(2,1fr); gap:32px 20px; }
  .solution-flow-steps::before { display:none; }
  .solution-applications-media,.solution-applications-media img { min-height:390px; }
}
@media (max-width:640px) {
  .solution-hero,.solution-hero-inner { min-height:620px; }
  .solution-hero-background { background-position:68% center!important; }
  .solution-hero::before { background:linear-gradient(90deg,rgba(2,15,36,.98) 0%,rgba(2,15,36,.94) 62%,rgba(2,15,36,.66) 100%),linear-gradient(180deg,rgba(2,14,34,.08),rgba(2,14,34,.32)); }
  .solution-hero-copy { width:100%; padding:43px 0 60px; }
  .solution-breadcrumb { margin-bottom:21px; }
  .solution-eyebrow { font-size:11px; }
  .solution-hero h1 { font-size:39px; }
  .solution-hero-copy>p:not(.solution-eyebrow):not(.solution-breadcrumb) { font-size:16px; }
  .solution-hero-actions { flex-direction:column; align-items:stretch; max-width:340px; }
  .solution-summary-grid { grid-template-columns:1fr; }
  .solution-summary article { min-height:0; border-left:1px solid rgba(255,255,255,.11); border-bottom:1px solid rgba(255,255,255,.11); }
  .solution-intro,.solution-outcomes,.solution-applications,.solution-consult { padding-top:59px; padding-bottom:63px; }
  .solution-heading { grid-template-columns:1fr; gap:16px; margin-bottom:28px; }
  .monitor-summary,.monitor-assets { grid-template-columns:1fr; }
  .solution-capabilities { padding:63px 0 67px; }
  .solution-capability-grid { grid-template-columns:1fr; }
  .solution-capability-grid article,.solution-capability-grid article:nth-child(2n),.solution-capability-grid article:nth-child(3n) { min-height:0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .solution-capability-grid article:last-child { border-bottom:0; }
  .solution-flow { padding:60px 0 64px; }
  .solution-flow-steps { grid-template-columns:1fr; }
  .solution-applications-media,.solution-applications-media img { min-height:300px; }
  .solution-application-list>div { grid-template-columns:1fr; gap:5px; }
  .solution-form { padding:22px 18px; }
  .solution-form-grid { grid-template-columns:1fr; }
}
