:root{--ink:#173b36;--muted:#63736e;--teal:#087c70;--dark:#133d38;--line:#dce5e1;--pale:#f2f5f3;--header-height:72px;--subnav-height:0px;--stage-top:calc(var(--header-height) + var(--subnav-height) + 22px);--stage-height:min(72svh,760px,calc(100svh - var(--stage-top) - 28px))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--subnav-height) + 22px)}body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}button:focus-visible,a:focus-visible{outline:3px solid #d39a2f;outline-offset:5px}.brain-wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--teal);margin-bottom:22px}.brain-hero{background:#f7f9f7;padding:66px 0 0}.hero-grid{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);gap:44px;align-items:center;min-height:580px}.hero-copy{padding:15px 0 40px}.category{font-size:13px;color:var(--muted);max-width:360px;margin-bottom:25px}.hero-copy h1{font-size:clamp(34px,3.05vw,46px);line-height:1.13;font-weight:500;letter-spacing:-.052em}.hero-intro{font-size:16px;color:var(--muted);max-width:440px;margin-top:27px}.brain-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:29px;font-size:13px}.brain-actions>span{margin-left:-15px}.brain-button{padding:14px 23px;display:inline-flex;align-items:center;background:var(--teal);color:white;border-radius:3px;font-weight:600}.brain-button:hover{background:#076358}.brain-text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-composition{position:relative;aspect-ratio:1.25;min-width:0}.hero-composition:before{content:'';position:absolute;inset:15% 7% 10% 7%;background:#eaf0ec;border-radius:18px}.hero-composition .visual-state{position:static;opacity:1;visibility:visible;transform:none}.hero-composition .visual-frame{box-shadow:0 14px 40px #18382c13}.hero-main{position:absolute;width:84%;left:0;top:12%;z-index:1}.hero-assistant{position:absolute;width:29%;right:0;top:42%;z-index:3}.hero-report{position:absolute;width:24%;left:18%;bottom:4%;z-index:2}.hero-composition figcaption{padding:10px 11px;font-size:9px}.summary-strip{display:flex;justify-content:space-between;gap:20px;list-style:none;padding:30px 0;margin:0;font-size:12px;color:var(--muted)}.summary-strip li:before{content:'↗';color:var(--teal);margin-right:10px}.product-subnav{position:sticky;top:var(--header-height);z-index:35;background:#fff}.product-subnav .brain-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:var(--subnav-height);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.product-subnav a{font-size:12px;color:var(--muted);padding:16px 0}.product-subnav a[aria-current]{color:var(--teal);text-decoration:underline;text-underline-offset:7px}.brain-section{padding:108px 0 70px}.case-heading{margin-bottom:35px;max-width:1100px}.case-heading h2{font-size:clamp(35px,3.8vw,54px);line-height:1.13;font-weight:500;letter-spacing:-.045em}.case-intro{font-size:17px;line-height:1.65;color:var(--muted);max-width:720px;margin-top:24px}.case-story__copy{min-width:0}.case-story__visual{display:none;min-width:0}.story-step{min-width:0;margin-bottom:35px}.step-copy{width:100%;min-width:0}.story-trigger{width:100%;display:flex;gap:25px;text-align:left;padding:24px 18px 24px 0;background:transparent;border:0;color:var(--ink);border-top:1px solid var(--line)}.step-number{font-size:13px;line-height:1.6;letter-spacing:.04em;color:var(--teal);flex:none;padding-top:3px}.story-trigger strong{display:block;font-size:25px;line-height:1.2;font-weight:500;letter-spacing:-.025em}.step-description{display:block;font-size:15px;line-height:1.65;color:var(--muted);max-width:360px;margin-top:17px}.visual-state{width:100%;min-width:0}.visual-frame{width:100%;background:#fff;border:1px solid #d7e1dc;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #18382c0b;color:var(--ink)}.crop-window{display:block;position:relative;overflow:hidden;aspect-ratio:var(--crop-aspect,1.6);background:#f8faf9;cursor:default}.crop-window img{width:var(--crop-width,100%);height:var(--crop-height,100%);max-width:none;object-fit:var(--crop-fit,contain);object-position:var(--crop-position,50% 50%);transform:translate(var(--crop-x,0%),var(--crop-y,0%)) scale(var(--crop-scale,1));transform-origin:var(--crop-origin,center center)}.visual-frame figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 18px;font-size:11px;color:#667770;background:white}.visual--scene .crop-window{aspect-ratio:1.6}.tone-dark{background:var(--dark);color:#fff}.tone-dark .eyebrow,.tone-dark .step-number{color:#a8d9c5}.tone-dark .case-intro,.tone-dark .step-description{color:#d1e0da}.tone-dark .story-trigger{color:#fff;border-color:#56786d}.final-cta{background:#0b2f2a;color:white;padding:110px 0 115px}.final-cta h2{font-size:clamp(48px,6.4vw,86px);line-height:1.08;font-weight:500;letter-spacing:-.045em}.final-cta p{font-size:18px;color:#bed1c8;max-width:560px;margin-top:26px}.final-cta .brain-button{background:white;color:var(--dark)}.brain-skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.brain-skip:focus{top:10px}
/* Progressive enhancement moves the original figure nodes into one shared stage. */
@media(min-width:769px){.case-story.is-desktop{display:grid;grid-template-columns:minmax(280px,.38fr) minmax(0,.62fr);column-gap:72px;align-items:start}.is-desktop .case-story__copy{display:contents}.is-desktop .case-heading{grid-column:1/-1;grid-row:1}.is-desktop .story-steps{grid-column:1;grid-row:2;padding-bottom:calc(var(--stage-height) * .48)}.is-desktop .case-story__visual{display:block;grid-column:2;grid-row:2;position:sticky;top:var(--stage-top);height:var(--stage-height)}.is-desktop .visual-stage{position:relative;width:100%;height:100%}.is-desktop .story-step{min-height:48svh;margin:0;display:flex;align-items:center}.is-desktop .step-copy{opacity:.4;transition:opacity 400ms ease}.is-desktop .story-step.is-active .step-copy{opacity:1}.is-desktop .story-step.is-active .story-trigger{border-top-color:var(--teal)}.tone-dark .is-desktop .story-step.is-active .story-trigger{border-top-color:#a8d9c5}.is-desktop .visual-state{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transform:translateY(10px) scale(.99);pointer-events:none;transition:opacity 420ms ease,transform 420ms ease,visibility 0s linear 420ms}.is-desktop .visual-state.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity 420ms ease,transform 420ms ease,visibility 0s}.is-desktop .visual-frame{max-height:100%;display:flex;flex-direction:column}.is-desktop .crop-window{max-height:calc(var(--stage-height) - 46px);flex-shrink:1}.is-desktop .visual--scene .visual-frame{height:100%}.is-desktop .visual--scene .crop-window{flex:1;aspect-ratio:auto}.is-desktop .visual--scene img{height:100%}.is-desktop .visual-frame figcaption{flex:none}}
/* One persistent deployment diagram; the active step changes emphasis, not topology. */
.case-story--deployment .case-story__visual{display:block}.diagram-frame{display:flex;align-items:center;justify-content:center;min-height:520px;height:100%;padding:24px;background:#0c302b;border:1px solid #426359;border-radius:12px}.deployment-diagram{width:min(100%,490px);text-align:center}.flow-node{padding:18px 15px;border:1px solid #577c6e;border-radius:6px;opacity:.42;transition:opacity 400ms,border-color 400ms;background:#173f35}.flow-node strong{display:block;font-weight:500;font-size:20px;line-height:1.3}.diagram-label{display:block;font-size:9px;letter-spacing:.18em;color:#a3cbb8;margin-bottom:8px}.flow-node p{font-size:12px;color:#c0d8cd;margin-top:8px}.flow-brain{padding:23px 15px}.flow-brain strong{font-size:29px;letter-spacing:.08em}.flow-outputs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.flow-outputs .flow-node{padding:14px 8px}.flow-outputs strong{font-size:16px}.flow-line{height:35px;font-size:25px;color:#a8d9c5;line-height:35px;opacity:.3;transition:opacity 400ms}.deployment-diagram [data-highlight].is-active{opacity:1;border-color:#bbe6d0}.diagram-frame:not([data-enhanced]) .flow-node,.diagram-frame:not([data-enhanced]) .flow-line{opacity:1}
#image-dialog{width:96vw;max-width:1600px;max-height:94dvh;padding:16px;border:0;border-radius:10px}#image-dialog::backdrop{background:#072820df}#image-dialog form{display:flex;justify-content:flex-end;margin-bottom:12px}#image-dialog button{padding:10px 16px;border:0;background:var(--pale);color:var(--ink)}#image-dialog img{max-height:80dvh;width:100%;object-fit:contain}#load-status{position:fixed;bottom:15px;left:15px;right:15px;background:white;color:var(--ink);padding:15px;z-index:60;border:1px solid var(--line)}
@media(max-width:1150px){.brain-wrap{width:calc(100% - 64px)}.hero-grid{gap:25px;min-height:520px;grid-template-columns:.43fr .57fr}.hero-copy h1{font-size:35px}.hero-intro{font-size:15px}.case-story.is-desktop{column-gap:35px;grid-template-columns:minmax(270px,.38fr) minmax(0,.62fr)}.story-trigger{gap:18px}.story-trigger strong{font-size:23px}.step-description{font-size:14px}.brain-section{padding-top:90px}.diagram-frame{padding:20px}.flow-node{padding:14px 10px}.flow-node strong{font-size:18px}.flow-brain strong{font-size:25px}.flow-outputs strong{font-size:14px}}
@media(min-width:769px) and (max-width:1024px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{max-width:660px;padding-bottom:0}.hero-copy h1{font-size:48px}.hero-intro{max-width:560px}.hero-composition{width:90%;max-width:750px;margin-inline:auto;aspect-ratio:1.5}.is-desktop .story-step{min-height:44svh}.case-heading h2{font-size:39px}.case-story.is-desktop{column-gap:28px;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr)}}
@media(max-width:768px){:root{--header-height:72px}.brain-wrap{width:calc(100% - 40px)}.brain-hero{padding-top:38px}.hero-grid{display:flex;flex-direction:column;gap:15px;align-items:stretch;min-height:0}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(34px,6.2vw,46px)}.hero-intro{font-size:16px;max-width:590px}.category{font-size:12px}.hero-composition{width:100%;aspect-ratio:1.15;margin-top:8px;max-width:640px;align-self:center}.hero-assistant{width:29%;top:43%}.hero-report{width:26%;bottom:7%}.hero-composition figcaption{font-size:8px;padding:8px}.hero-main .visual-frame{border-radius:8px}.hero-composition:before{border-radius:10px}.summary-strip{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:22px 0 26px;font-size:11px}.summary-strip li:before{margin-right:6px}.product-subnav{position:static}.product-subnav .brain-wrap{width:100%;padding:0 20px;justify-content:flex-start;gap:28px;min-height:56px}.product-subnav a{font-size:11px}.brain-section{padding:72px 0 30px}.case-heading{margin-bottom:30px}.case-heading h2{font-size:clamp(32px,5.3vw,40px);line-height:1.16}.case-intro{font-size:16px;margin-top:22px}.story-step{margin-bottom:52px}.story-trigger{padding:22px 0;border-top:1px solid var(--line);gap:18px;cursor:default}.story-trigger:disabled{opacity:1}.story-trigger strong{font-size:22px}.step-description{font-size:14px;max-width:none;margin-top:12px}.step-copy{opacity:1}.visual-state{position:static;opacity:1;visibility:visible;transform:none}.visual-frame{border-radius:10px}.visual-frame figcaption{padding:12px;font-size:10px}.visual--scene .crop-window{aspect-ratio:1.25}.visual--report .crop-window{aspect-ratio:var(--crop-aspect,1.3)}.case-story--deployment{display:flex;flex-direction:column}.case-story--deployment .case-story__copy{display:contents}.case-story--deployment .case-heading{order:0}.case-story--deployment .case-story__visual{order:1;margin-bottom:30px;position:static}.case-story--deployment .story-steps{order:2}.diagram-frame{min-height:0;padding:22px 16px}.flow-node,.flow-line{opacity:1!important}.flow-node strong{font-size:17px}.flow-outputs strong{font-size:13px}.flow-node p{font-size:11px}.case-story--deployment .story-step{margin-bottom:8px}.final-cta{padding:80px 0}.final-cta h2{font-size:48px}.final-cta p{font-size:16px}.brain-actions{font-size:12px;gap:22px}.brain-button{padding:13px 18px}html{scroll-padding-top:calc(var(--header-height) + 20px)}}
@media(max-width:760px){:root{--header-height:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(min-width:769px){.is-desktop .diagram-frame{min-height:0;padding:clamp(12px,2svh,24px)}.is-desktop .deployment-diagram{height:100%;max-height:590px;display:grid;grid-template-rows:1fr 24px 1.18fr 24px .66fr 24px 1fr;align-content:center}.is-desktop .flow-node{display:flex;flex-direction:column;justify-content:center;padding:8px 12px;min-height:0}.is-desktop .flow-node strong{font-size:clamp(16px,2.4svh,20px)}.is-desktop .flow-brain strong{font-size:clamp(23px,3.5svh,29px)}.is-desktop .flow-outputs strong{font-size:15px}.is-desktop .flow-line{height:24px;line-height:24px;font-size:22px}.is-desktop .flow-node p{margin-top:5px}.is-desktop .diagram-label{margin-bottom:5px}}

.hero-category{text-transform:uppercase}

/* Quiet product introduction: headline, one explanation, real product imagery. */
.brain-hero{padding:76px 0 56px}
.hero-grid{display:flex;flex-direction:column;gap:40px;min-height:0}
.hero-copy{padding:0;text-align:center;width:100%;max-width:1100px}
.hero-copy h1{font-size:clamp(42px,4.5vw,68px);line-height:1.13;letter-spacing:-.035em}
.hero-intro{max-width:900px;margin:26px auto 0;font-size:20px;line-height:1.65}
.hero-composition{width:min(100%,1060px);aspect-ratio:1.65;align-self:center}
.hero-main{top:4%}.hero-assistant{top:32%}.hero-report{bottom:0}
@media(max-width:768px){.brain-hero{padding:52px 0 38px}.hero-grid{gap:28px}.hero-copy h1{font-size:clamp(34px,6.4vw,46px)}.hero-intro{font-size:17px;margin-top:22px}.hero-composition{aspect-ratio:1.35;margin-top:0}.hero-main{top:4%}.hero-assistant{top:32%}.hero-report{bottom:0}}

/* User-supplied architecture image with scroll-driven highlights. */
.deployment-image-frame{display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;min-height:0;height:100%}
.deployment-image{display:block;width:100%;border-radius:12px;overflow:hidden;background:white;cursor:default}
.deployment-image img{width:100%;height:auto;max-height:var(--stage-height);object-fit:contain}
@media(max-width:768px){.deployment-image-frame{height:auto;padding:0}.deployment-image img{max-height:none}}

.deployment-vector{position:relative;width:100%}.deployment-svg{display:block;width:100%;max-height:var(--stage-height);height:auto;border-radius:12px}.diagram-expand{position:absolute;right:12px;top:12px;background:#fff;color:#087c70;border-radius:4px;padding:2px 8px;font-size:20px}
/* Highlight and flow overlays only; the embedded source image is never altered. */
.deployment-overlay{opacity:0;transition:opacity 350ms ease}
.is-desktop .deployment-overlay.is-active{opacity:1}
.deployment-focus{fill:#078779;fill-opacity:.045;stroke:#078779;stroke-width:4}
.deployment-particles{fill:none;stroke:#fff;stroke-width:4;stroke-dasharray:1 24;stroke-linecap:round;filter:drop-shadow(0 0 2px #087c70)}
.is-desktop .deployment-overlay.is-active .deployment-particles{animation:deployment-flow 1.8s linear infinite}
@keyframes deployment-flow{to{stroke-dashoffset:-50}}
@media(max-width:768px){.deployment-svg{max-height:none}.deployment-overlay{display:none}}
@media(prefers-reduced-motion:reduce){.deployment-overlay{transition:none}.deployment-particles{display:none}}
.deployment-vector .diagram-expand{top:-34px;right:0;background:transparent;color:#b6d9cd;padding:0 4px}

/* Give the deployment illustration more room without changing the case stories. */
@media(min-width:1025px){.case-story--deployment.is-desktop{grid-template-columns:minmax(260px,.28fr) minmax(0,.72fr);column-gap:40px}}
@media(min-width:769px) and (max-width:1024px){.case-story--deployment.is-desktop{grid-template-columns:minmax(230px,.32fr) minmax(0,.68fr);column-gap:28px}}

/* Portrait alarm card: frame follows the image, avoiding side letterboxing. */
@media(min-width:769px){.is-desktop [data-asset="alarm"] .visual-frame{width:min(100%,calc((var(--stage-height) - 46px) * .837));margin-inline:auto}.is-desktop [data-asset="alarm"] .crop-window{flex-shrink:0}}

/* A quiet, keyboard-accessible control for looping product images. */
.motion-toggle{flex:none;width:28px;height:28px;padding:0;border:1px solid #d7e1dc;border-radius:50%;background:#fff;color:#087f73;font-size:12px;line-height:1;display:grid;place-items:center}
.motion-toggle[hidden]{display:none}
.motion-toggle:hover{background:#eef5f1}

@media(max-width:768px){.hero-intro br{display:none}.hero-intro{max-width:580px;text-wrap:pretty}.hero-copy h1{font-size:clamp(30px,5.8vw,44px);text-wrap:balance}}

.hero-intro{max-width:1030px;font-size:19px}
@media(max-width:768px){.hero-intro{font-size:17px;max-width:580px}}

/* Wide equipment scene with conceptual signal overlays; preserve the full image. */
.brain-hero{background:#fff}
.hero-scene{width:min(100%,1240px);align-self:center;margin:8px auto 0}
.hero-scene img{display:block;width:100%;height:auto;border-radius:8px}
@media(max-width:768px){.hero-scene{margin-top:0}.hero-scene img{border-radius:5px;aspect-ratio:1.3;object-fit:cover;object-position:62% 50%}}

/* Trim screenshot capture remnants around the alarm card, keeping its text intact. */
[data-asset="alarm"] .crop-window img{width:calc(100% + 10px);height:calc(100% + 5px);transform:translate(-5px,-2px);object-fit:fill}

.hero-story{max-width:760px;font-size:16px;line-height:1.7;color:var(--ink);margin:18px auto 0;text-align:left}.hero-story:last-of-type{font-weight:500}
@media(max-width:768px){.hero-story{font-size:15px;max-width:580px}}

.faq-list{max-width:820px}.faq-list details{border-top:1px solid var(--line);padding:18px 0}.faq-list summary{cursor:pointer;font-size:19px;font-weight:500;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{margin-top:12px;color:var(--muted);font-size:16px;line-height:1.65}

.provides{list-style:none;margin:26px auto 0;padding:0;max-width:760px;text-align:left;font-size:15px;line-height:1.55;color:var(--ink)}.provides li{padding:9px 0 9px 22px;border-top:1px solid var(--line);position:relative}.provides li:before{content:"";position:absolute;left:0;top:17px;width:9px;height:9px;border-radius:50%;background:var(--teal)}

.lang-switch{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}.lang-switch a{text-decoration:underline;text-underline-offset:4px}.lang-switch [aria-current]{color:var(--teal);font-weight:600}
