/* Public-site content and responsive layout. Scoped away from account dashboards. */
body.public-page{background:#fbfaee;color:#243a2a}
body.public-page .zen-wrap{width:min(1280px,calc(100% - 64px));max-width:1280px;margin-inline:auto}
body.public-page .site-main :where(section,article,aside,figure,div){min-width:0}
body.public-page .site-main img{max-width:100%}
body.public-page .site-main :where(p,dd,h1,h2,h3,a){overflow-wrap:break-word}
body.public-page .z6-hero{min-height:0}
body.public-page .z6-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,4vw,56px);padding-block:clamp(38px,5vh,66px)}
body.public-page .z6-hero h1{font:800 clamp(42px,4.5vw,68px)/1.06 var(--f-head);letter-spacing:-.045em;max-width:none}
body.public-page .z6-hero h1>span,body.public-page .z6-hero h1>em{display:block}
body.public-page .z6-eyebrow{margin-bottom:20px;font-size:11px}
body.public-page .z6-hero-lead{font-size:17px;line-height:1.6;margin:22px 0;max-width:38ch}
body.public-page .z6-hero-tags{margin-top:24px;gap:16px}
body.public-page .z6-hero-stage{padding:26px 8px;max-width:100%;isolation:isolate}
body.public-page .z6-hero-art{z-index:1;transform:none}
body.public-page .z6-hero-art img{max-height:390px;width:100%;object-fit:contain}
body.public-page .z6-float{z-index:4;font-size:11px;padding:10px 13px;animation:none}
body.public-page .z6-float-top{right:0;top:0}
body.public-page .z6-float-bottom{left:0;bottom:0}
body.public-page .cx-section{padding:64px 0}
body.public-page .cx-intro{gap:30px;margin-bottom:28px;align-items:center}
body.public-page .cx-intro h2{font-size:clamp(30px,3.3vw,46px);line-height:1.12;letter-spacing:-.035em}
body.public-page .cx-intro>p{font-size:15px;line-height:1.6;max-width:34ch}
body.public-page .cx-label{margin-bottom:12px}
body.public-page .cx-demo{padding:42px 0}
body.public-page .cx-demo .cx-intro{margin-bottom:22px}
body.public-page .cx-demo .cx-intro h2{font-size:clamp(30px,3vw,40px)}
body.public-page .cx-demo-frame{padding:10px;border-radius:18px}
body.public-page .cx-demo-panel{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);min-height:430px}
body.public-page .cx-demo-story{padding:24px}
body.public-page .cx-demo-story h3{font-size:27px;margin:10px 0}
body.public-page .cx-demo-story>p{font-size:14px;line-height:1.5;margin-bottom:13px}
body.public-page .cx-demo-story dl{margin-bottom:13px}
body.public-page .cx-demo-story dl div{padding:6px 0}
body.public-page .cx-demo .cx-sample-control{margin-bottom:13px}
body.public-page .cx-demo .cx-visual{min-height:430px}
body.public-page .cx-demo-tabs{margin-bottom:10px}
body.public-page .cx-demo-tab{padding:11px 12px}
body.public-page .cx-demo-toolbar{padding-bottom:10px}
body.public-page .cx-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
body.public-page .cx-tech-grid details{padding:0;min-height:0;border-radius:12px;overflow:hidden;transform:none}
body.public-page .cx-tech-grid summary{padding:22px;min-height:0;align-items:center;gap:12px;font-size:18px;line-height:1.4}
body.public-page .cx-tech-grid summary:after{display:grid;place-items:center;flex:none;width:30px;height:30px;line-height:1;border-radius:50%;background:#e4ebd8;color:#354a2f}
body.public-page .cx-tech-grid details[open] summary:after{background:#f5f5d5;color:#243a2a}
body.public-page .cx-tech-grid details p{margin:0;padding:0 22px 16px}
body.public-page .cx-tech-grid details a{display:inline-block;margin:0 22px 22px}
body.public-page .cx-inner-hero{padding:50px 0}
body.public-page .cx-inner-hero h1{font-size:clamp(36px,4.2vw,56px)}
body.public-page .cx-inner-grid{gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.public-page .cx-inner-hero img{max-height:320px}
body.public-page .cx-industry-grid{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
body.public-page .cx-industry-grid>a{min-height:0;display:flex;flex-direction:column;background:#fff;color:#243a2a;border:1px solid #d5dfcc;border-radius:16px;box-shadow:none}
body.public-page .cx-industry-grid>a:before{display:none}
body.public-page .cx-industry-grid img{position:static;height:auto;aspect-ratio:16/10;object-fit:cover}
body.public-page .cx-industry-grid span{position:static;padding:22px;color:#243a2a;flex:1}
body.public-page .cx-industry-grid small{color:#597044;margin-bottom:8px;letter-spacing:.1em}
body.public-page .cx-industry-grid strong{font-size:25px}
body.public-page .cx-industry-grid em{color:#4c6250;font-size:14px;line-height:1.5}
body.public-page .cx-industry-grid>a:hover img{transform:none}
/* New editorial service, platform and detail-page layouts. */
.public-page .zr-kicker{font:800 11px/1.5 var(--f-body);letter-spacing:.15em;color:#597044;margin:0 0 15px;text-transform:uppercase}
.public-page .zr-lead{font:500 18px/1.65 var(--f-body);max-width:62ch;margin:22px 0 0;color:#4c6250}
.public-page .zr-section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px}
.public-page .zr-section-heading h2{font:800 clamp(30px,3.2vw,44px)/1.12 var(--f-head);letter-spacing:-.035em;margin:0;color:#243a2a}
.public-page .zr-section-heading>p{font:500 15px/1.6 var(--f-body);max-width:35ch;color:#4c6250;margin:0}
.public-page .zr-text-link{display:inline-block;color:#354a2f;font:700 14px/1.5 var(--f-body);text-decoration:none;padding:10px 0;border-bottom:1px solid #8da77a}
.public-page .zr-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.public-page .zr-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;border:1px solid #354a2f;border-radius:9px;background:#354a2f;color:#fbfaee;font:700 14px/1.5 var(--f-body);text-decoration:none;flex-shrink:0}
.public-page .zr-button:hover{background:#243a2a;color:#fff}
.public-page .zr-home-services{padding:64px 0;background:#fbfaee}
.public-page .zr-service-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.public-page .zr-service-feature{display:flex;flex-direction:column;border:1px solid #d7dfcc;border-radius:16px;overflow:hidden;background:#fff;color:#243a2a;text-decoration:none;transition:box-shadow .25s,transform .25s}
.public-page .zr-service-feature:hover{transform:translateY(-4px);box-shadow:0 18px 32px -22px #243a2a80}
.public-page .zr-feature-image{position:relative;overflow:hidden;aspect-ratio:16/10;background:#e4eadc}
.public-page .zr-feature-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.public-page .zr-service-feature:hover img{transform:scale(1.035)}
.public-page .zr-feature-copy{display:flex;flex-direction:column;flex:1;padding:24px}
.public-page .zr-feature-copy h3{font:800 25px/1.17 var(--f-head);letter-spacing:-.025em;margin:0 0 12px;color:#243a2a}
.public-page .zr-feature-copy p{font:500 15px/1.6 var(--f-body);color:#4c6250;margin:0 0 24px}
.public-page .zr-feature-copy b{display:flex;justify-content:space-between;gap:15px;margin-top:auto;font:700 13px/1.5 var(--f-body);color:#354a2f}
.public-page .zr-more-services{display:flex;flex-wrap:wrap;gap:12px 26px;border-top:1px solid #d5dfcc;margin-top:28px;padding-top:22px}
.public-page .zr-more-services a{font:700 13px/1.5 var(--f-body);color:#354a2f;text-decoration:none}
.public-page .zr-more-services a:hover{text-decoration:underline;text-underline-offset:4px}
.public-page .zr-index-hero,.public-page .zr-detail-hero{padding:48px 0;background:#edf1e4;border-bottom:1px solid #d5dfcc}
.public-page .zr-index-hero h1,.public-page .zr-detail-heading h1,.public-page .zr-platform-hero h1{font:800 clamp(36px,4.2vw,58px)/1.08 var(--f-head);color:#243a2a;letter-spacing:-.04em;max-width:22ch;margin:0}
.public-page .zr-index-hero .zr-text-link{margin-top:22px}
.public-page .zr-directory{padding:56px 0 72px;background:#fbfaee;scroll-margin-top:95px}
.public-page .zr-service-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #bbcbb1}
.public-page .zr-service-entry{display:flex;align-items:start;gap:20px;padding:32px 28px 32px 0;text-decoration:none;color:#243a2a;border-bottom:1px solid #bbcbb1;transition:background .25s}
.public-page .zr-service-entry:nth-child(even){border-left:1px solid #bbcbb1;padding-left:28px}
.public-page .zr-service-entry:hover{background:#eef2e5}
.public-page .zr-entry-number{font:600 13px/1.5 var(--f-body);color:#61784e;flex:none;padding-top:4px}
.public-page .zr-service-entry h3{font:800 25px/1.2 var(--f-head);color:#243a2a;margin:0 0 12px;letter-spacing:-.02em}
.public-page .zr-service-entry p{font:500 15px/1.6 var(--f-body);color:#4c6250;margin:0}
.public-page .zr-entry-arrow{font-size:24px;color:#61784e;margin-left:auto;flex:none}
.public-page .zr-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:22px 0 0}
.public-page .zr-tags li{font:600 11px/1.5 var(--f-body);padding:6px 9px;background:#e1e9d5;border:1px solid #c8d4bc;border-radius:5px;color:#354a2f}
.public-page .zr-project-note{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:36px;margin-top:46px;background:#e8eedc;border-radius:16px;border:1px solid #c8d4bc}
.public-page .zr-project-note h2{font:800 30px/1.16 var(--f-head);letter-spacing:-.03em;color:#243a2a;margin:0 0 12px}
.public-page .zr-project-note p:not(.zr-kicker){font:500 15px/1.6 var(--f-body);max-width:64ch;margin:0;color:#4c6250}
.public-page .zr-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;color:#526a44;font:500 12px/1.6 var(--f-body);margin-bottom:30px}
.public-page .zr-breadcrumb a{color:#354a2f;text-decoration:none}
.public-page .zr-breadcrumb a:hover{text-decoration:underline}
.public-page .zr-detail-heading{max-width:900px}
.public-page .zr-detail-heading.zr-has-image{max-width:none;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:48px;align-items:center}
.public-page .zr-detail-heading figure,.public-page .zr-platform-hero figure{margin:0;min-width:0}
.public-page .zr-detail-heading img{display:block;width:100%;aspect-ratio:4/3;max-height:340px;object-fit:cover;border-radius:16px}
.public-page .zr-detail-body{padding:54px 0 64px;background:#fbfaee}
.public-page .zr-detail-columns{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:48px;align-items:start}
.public-page .zr-chapters article{display:flex;gap:22px;border-bottom:1px solid #ccd8c0;padding:28px 0}
.public-page .zr-chapters article:first-child{padding-top:5px}
.public-page .zr-chapter-number{font:700 12px/1.6 var(--f-body);color:#60794c;padding-top:6px;flex:none}
.public-page .zr-chapters h2{font:800 27px/1.2 var(--f-head);letter-spacing:-.025em;color:#243a2a;margin:0 0 14px}
.public-page .zr-chapters p{font:500 16px/1.75 var(--f-body);color:#4c6250;margin:0}
.public-page .zr-example{background:#243e2d;color:#fff;border-radius:16px;padding:30px}
.public-page .zr-example .zr-kicker{color:#c6d4ad}
.public-page .zr-example h2{font:800 28px/1.2 var(--f-head);color:#fbfaee;letter-spacing:-.025em;margin:0 0 24px}
.public-page .zr-example dl{margin:0}
.public-page .zr-example dl>div{border-top:1px solid #73876b;padding:16px 0}
.public-page .zr-example dt{font:700 12px/1.5 var(--f-body);color:#d8c897;margin:0 0 5px}
.public-page .zr-example dd{font:500 15px/1.6 var(--f-body);color:#f4f6e9;margin:0}
.public-page .zr-example-note{border-top:1px solid #73876b;margin:0;padding-top:18px;font:500 13px/1.6 var(--f-body);color:#dce5d0}
.public-page .zr-detail-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:34px}
.public-page .zr-detail-bottom>a:not(.zr-button){font:700 14px/1.5 var(--f-body);color:#354a2f;text-decoration:none}
.public-page .zr-platform-hero{background:radial-gradient(ellipse at 100% 0,#496040,#192f22 70%);padding:52px 0}
.public-page .zr-platform-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:46px;align-items:center}
.public-page .zr-platform-hero .zr-kicker{color:#c6d4ad}
.public-page .zr-platform-hero h1{color:#f5f5d5}
.public-page .zr-platform-hero .zr-lead{color:#dce5d0;font-size:17px}
.public-page .zr-platform-hero .zr-button{background:#f5f5d5;color:#243a2a;margin-top:26px}
.public-page .zr-platform-hero img{width:100%;display:block;border:6px solid #ffffff18;border-radius:16px}
.public-page .zr-platform-hero figcaption{font:500 11px/1.5 var(--f-body);color:#c6d4ad;margin-top:10px;text-align:right}
.public-page .zr-platform-flow{padding:52px 0;background:#eaf0df}
.public-page .zr-platform-flow ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;border-top:1px solid #aebf9e}
.public-page .zr-platform-flow li{padding:24px 22px 0 0}
.public-page .zr-platform-flow li+li{padding-left:22px;border-left:1px solid #b7c5a9}
.public-page .zr-platform-flow li>span{font:800 10px/1.5 var(--f-body);letter-spacing:.1em;color:#597044}
.public-page .zr-platform-flow h3{font:800 23px/1.2 var(--f-head);color:#243a2a;margin:13px 0}
.public-page .zr-platform-flow p{font:500 14px/1.6 var(--f-body);color:#4c6250;margin:0}
.public-page .zr-platform-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.public-page .zr-platform-directory>a{display:flex;align-items:start;gap:18px;padding:28px;background:#fff;border:1px solid #d5dfcc;border-radius:12px;text-decoration:none;transition:background .2s,border-color .2s}
.public-page .zr-platform-directory>a:hover{background:#edf1e4;border-color:#8da77a}
.public-page .zr-platform-directory>a>span{font:700 12px/1.6 var(--f-body);color:#61784e;padding-top:4px}
.public-page .zr-platform-directory h3{font:800 24px/1.2 var(--f-head);color:#243a2a;margin:0 0 12px}
.public-page .zr-platform-directory p{font:500 14px/1.65 var(--f-body);color:#4c6250;margin:0}
.public-page .zr-platform-directory b{margin-left:auto;flex:none;font-size:22px;color:#597044}
@media(min-width:961px) and (max-height:750px){body.public-page .z6-hero-grid{padding-block:32px}body.public-page .z6-hero-art img{max-height:310px}body.public-page .z6-hero h1{font-size:clamp(42px,4.3vw,62px)}}
@media(max-width:1100px){
 body.public-page .site-nav-inner{gap:16px}body.public-page .site-links{gap:12px}body.public-page .site-links a{font-size:13px}body.public-page .site-actions{gap:10px;margin-left:0}
 .public-page .zr-detail-heading.zr-has-image,.public-page .zr-detail-columns,.public-page .zr-platform-hero-grid{gap:30px}
 .public-page .zr-feature-copy{padding:20px}.public-page .zr-feature-copy h3{font-size:23px}
}
@media(max-width:960px){
 body.public-page .z6-hero-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:38px}
 body.public-page .z6-hero-copy{max-width:680px}body.public-page .z6-hero h1{font-size:clamp(40px,6.5vw,60px)}
 body.public-page .z6-hero-stage{width:100%;max-width:680px;margin-inline:auto}body.public-page .z6-hero-art img{max-height:360px}
 .public-page .zr-detail-heading.zr-has-image{grid-template-columns:1fr 0.8fr}
 .public-page .zr-detail-heading h1{font-size:40px}.public-page .zr-lead{font-size:16px}
 .public-page .zr-detail-columns{grid-template-columns:1fr 0.85fr;gap:28px}.public-page .zr-example{padding:24px}
 .public-page .zr-service-entry{gap:12px;padding-right:18px}.public-page .zr-service-entry:nth-child(even){padding-left:18px}
 body.public-page .cx-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
 body.public-page .zen-wrap{width:calc(100% - 36px)}
 body.public-page .cx-demo-panel{grid-template-columns:minmax(0,1fr)}body.public-page .cx-demo-story{padding:22px}
 body.public-page .cx-demo-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}body.public-page .cx-demo-tab{padding:10px 6px}
 body.public-page .cx-tech-grid{grid-template-columns:1fr}body.public-page .cx-tech-grid summary{font-size:17px;padding:18px}
 body.public-page .cx-inner-grid{grid-template-columns:1fr}body.public-page .cx-intro{display:block}
 body.public-page .cx-intro>p{margin-top:15px;max-width:52ch}
 .public-page .zr-section-heading{align-items:start;flex-direction:column;gap:16px}
 .public-page .zr-section-heading>p{max-width:52ch}.public-page .zr-section-heading .zr-text-link{padding-top:0}
 .public-page .zr-service-showcase{grid-template-columns:1fr}
 .public-page .zr-service-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}
 .public-page .zr-feature-image{aspect-ratio:auto;min-height:230px}.public-page .zr-feature-image img{position:absolute;inset:0}
 .public-page .zr-service-directory,.public-page .zr-platform-directory{grid-template-columns:1fr}
 .public-page .zr-service-entry,.public-page .zr-service-entry:nth-child(even){border-left:0;padding:25px 0}
 .public-page .zr-project-note{flex-direction:column;align-items:start;padding:28px}
 .public-page .zr-detail-heading.zr-has-image,.public-page .zr-detail-columns,.public-page .zr-platform-hero-grid{grid-template-columns:1fr}
 .public-page .zr-detail-heading img{max-height:320px;aspect-ratio:16/9}
 .public-page .zr-detail-heading h1{font-size:clamp(34px,6vw,46px)}
 .public-page .zr-platform-flow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}
 .public-page .zr-platform-flow li:nth-child(3){border-left:0;padding-left:0}
 .public-page .zr-detail-bottom{align-items:start;flex-direction:column}
}
@media(max-width:480px){
 body.public-page .zen-wrap{width:calc(100% - 28px)}body.public-page .z6-hero h1{font-size:clamp(36px,9.5vw,45px)}
 body.public-page .z6-hero-grid{padding-block:32px}body.public-page .z6-eyebrow{font-size:10px}body.public-page .z6-hero-lead{font-size:16px}
 body.public-page .z6-float{font-size:10px;padding:8px 10px}body.public-page .cx-section{padding:44px 0}
 body.public-page .cx-demo{padding:32px 0}body.public-page .cx-demo .cx-visual{min-height:350px}
 body.public-page .cx-demo-story{padding:18px}body.public-page .cx-demo-story h3{font-size:25px}
 body.public-page .cx-industry-grid{grid-template-columns:1fr}
 .public-page .zr-home-services,.public-page .zr-directory,.public-page .zr-detail-body{padding:42px 0}
 .public-page .zr-index-hero,.public-page .zr-detail-hero,.public-page .zr-platform-hero{padding:34px 0}
 .public-page .zr-service-feature{display:flex}.public-page .zr-feature-image{aspect-ratio:16/10;min-height:0}
 .public-page .zr-feature-copy{padding:22px}.public-page .zr-feature-copy h3{font-size:25px}
 .public-page .zr-service-entry h3{font-size:23px}.public-page .zr-entry-arrow{font-size:20px}
 .public-page .zr-chapters article{gap:14px}.public-page .zr-chapters h2{font-size:25px}.public-page .zr-chapters p{font-size:15px}
 .public-page .zr-platform-directory>a{padding:22px;gap:12px}.public-page .zr-platform-directory h3{font-size:22px}
 .public-page .zr-platform-flow h3{font-size:21px}.public-page .zr-platform-flow li{padding-right:14px}.public-page .zr-platform-flow li+li{padding-left:14px}
 .public-page .zr-platform-flow li:nth-child(3){padding-left:0}.public-page .zr-platform-flow p{font-size:13px}
 .public-page .zr-project-note{padding:24px}.public-page .zr-project-note h2{font-size:27px}
}
@media(prefers-reduced-motion:reduce){.public-page .zr-service-feature,.public-page .zr-feature-image img{transition:none;transform:none}}

/* Switch navigation before desktop links can crowd the logo or account actions. */
@media(max-width:1100px){
 body.public-page .site-nav-inner{width:calc(100% - 36px)}
 body.public-page .site-links{display:none;position:absolute;top:100%;left:0;right:0;z-index:110;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:14px 20px 20px;background:#fbfaee;border-bottom:1px solid #c8d4bc;max-height:calc(100svh - 78px);overflow-y:auto;box-shadow:0 16px 25px #16221a1f}
 body.public-page .site-links.open{display:flex}
 body.public-page .site-links a{padding:12px 10px;font-size:14px}
 body.public-page .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:39px;height:39px;background:#eaf0e0;border-radius:9px}
 body.public-page .site-actions{margin-left:auto}
 body.public-page .site-links .nav-explore{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between;align-items:center;padding:0 10px}
 body.public-page .site-links .nav-explore>a{flex:1}
 body.public-page .nav-explore .nav-panel{position:static;width:100%;box-shadow:none;grid-template-columns:1fr 1fr;margin-bottom:8px;padding:15px}
 body.public-page .nav-explore .nav-panel:before{display:none}
 body.public-page .site-links .nav-mobile-signin{display:block;border-top:1px solid #d6ddc6;margin-top:8px}
}
@media(max-width:540px){body.public-page .nav-explore .nav-panel{grid-template-columns:1fr}body.public-page .site-nav-inner{gap:10px;width:calc(100% - 24px)}body.public-page .zlogo-word{font-size:20px}body.public-page .zlogo-mark{width:30px;height:30px}}

/* Preserve the full IoT scene and its monitoring panel in both card and detail views. */
body.public-page img[src*="zenaiot-iot-building-cutaway"],body.public-page img[src*="zenaiot-iot-manufacturing-cutaway"]{object-fit:contain;background:#fcf9f0}

/* Demo scenes: raster IoT illustrations with live sample readouts outside the image. */
body.public-page .cx-demo .cx-visual-illustrated{display:flex;flex-direction:column;justify-content:space-between;background:#fcf9f0;min-height:0;padding:16px;gap:12px}
body.public-page .cx-visual-illustrated .cx-scene-heading{position:static;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.public-page .cx-visual-illustrated .cx-scene-heading b,body.public-page .cx-visual-illustrated .cx-scene-heading span{font-size:9px;padding:8px 10px;box-shadow:none;border:1px solid #d6e0ce}
body.public-page .cx-demo-illustration{margin:0;width:100%;flex:1;display:flex;align-items:center;justify-content:center}
body.public-page .cx-demo-illustration img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;aspect-ratio:3/2;border-radius:10px;background:#fcf9f0}
body.public-page .cx-demo-reading-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;border:1px solid #d6e0ce;border-radius:12px;background:#f5f7eb}
body.public-page .cx-visual-illustrated .cx-floating-metric{position:static;width:auto;border:0;padding:0;background:transparent;box-shadow:none;animation:none}
body.public-page .cx-visual-illustrated .cx-floating-metric strong{font-size:32px;margin:5px 0}
body.public-page .cx-visual-illustrated .cx-scene-event{position:static;max-width:none;padding:12px;box-shadow:none;font-size:11px;line-height:1.5}
@media(max-width:540px){body.public-page .cx-demo .cx-visual-illustrated{padding:12px;gap:10px}body.public-page .cx-demo-reading-row{gap:10px;padding:12px}body.public-page .cx-visual-illustrated .cx-floating-metric strong{font-size:28px}body.public-page .cx-visual-illustrated .cx-floating-metric small{font-size:9px}body.public-page .cx-visual-illustrated .cx-scene-event{padding:10px;font-size:10px}}

/* Consistent raster 3D scenes with control-driven layers. */
body.public-page .dx-demo .cx-demo-panel{grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr)}
body.public-page .dx-demo .cx-demo-story{padding:24px}
body.public-page .dx-demo .cx-demo-story h3{font-size:28px}
body.public-page .dx-demo .cx-demo-story>p{font-size:14px;line-height:1.6}
body.public-page .dx-demo .cx-demo-story>a{margin-top:auto}
body.public-page .dx-controls{display:flex;flex-direction:column;gap:13px;width:100%;padding:15px!important}
body.public-page .dx-controls label{display:flex;justify-content:space-between;gap:10px;font:700 13px/1.5 var(--f-body)}
body.public-page .dx-controls input[type="range"]{width:100%;margin:0;height:25px;accent-color:#5c724a;cursor:pointer}
body.public-page .dx-controls small{margin:0;line-height:1.5}
body.public-page .dx-toggle{padding:11px 13px;border:1px solid #aabd99;border-radius:8px;background:#e5ecd9;color:#30462d;font:700 13px/1.5 var(--f-body);cursor:pointer;text-align:left;transition:background .2s}
body.public-page .dx-toggle:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#77856d;margin-right:8px}
body.public-page .dx-toggle[aria-pressed="true"]{background:#294632;border-color:#294632;color:#fff}
body.public-page .dx-toggle[aria-pressed="true"]:before{background:#b7e391;box-shadow:0 0 6px #b7e39190}
body.public-page .dx-control-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.public-page .dx-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}
body.public-page .dx-demo .cx-demo-toolbar{flex-wrap:wrap}
body.public-page .dx-visual{display:flex;flex-direction:column;gap:14px;padding:16px;background:#fcf9f0;justify-content:start!important}
body.public-page .dx-visual .cx-scene-heading{position:static;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
body.public-page .dx-visual .cx-scene-heading [data-dx-connection]{padding:0;border:0;background:transparent;box-shadow:none;font:inherit}
body.public-page .dx-scene{position:relative;isolation:isolate;width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:10px;margin:auto 0;flex:none;background:#fcf9f0}
body.public-page .dx-scene>img{display:block;width:100%;height:100%;object-fit:contain;max-height:none;position:absolute;inset:0}
body.public-page .dx-scene .dx-lights-on{opacity:0;transition:opacity .35s}
body.public-page .dx-lights-enabled .dx-lights-on{opacity:1}
body.public-page .dx-scene-badge{position:absolute;z-index:6;border-radius:6px;padding:6px 9px;font:800 10px/1.3 var(--f-body);background:#fbfaeef2;color:#30462d;border:1px solid #b9caae;box-shadow:0 3px 10px #253f2620}
body.public-page .dx-light-badge{left:3%;bottom:4%}
body.public-page .dx-irrigation-badge{left:3%;top:4%}
body.public-page .dx-motor-badge{left:3%;bottom:4%}
body.public-page .dx-valve-badge{right:3%;top:39%}
body.public-page .dx-telemetry{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:15px 17px;background:#f2f5e6;border:1px solid #d6e0ce;border-radius:10px}
body.public-page .dx-visual .cx-floating-metric{position:static;width:auto;padding:0;box-shadow:none;border:0;background:none;animation:none}
body.public-page .dx-visual .cx-floating-metric strong{font-size:30px;margin:5px 0}
body.public-page .dx-secondary{border-left:1px solid #c4d3b9;padding-left:17px;display:flex;flex-direction:column;justify-content:center;gap:5px}
body.public-page .dx-secondary small{text-transform:uppercase;font:800 10px/1.4 var(--f-body);letter-spacing:.08em;color:#62765b}
body.public-page .dx-secondary strong{font:800 25px/1.2 var(--f-head);color:#243d2b}
body.public-page .dx-secondary>span{font:600 11px/1.4 var(--f-body);color:#53654a}
body.public-page .dx-visual .cx-scene-event{position:static;max-width:none;box-shadow:none;font-size:12px;line-height:1.5;padding:12px 15px;margin:0}
/* Drip emitters begin and stop with the irrigation control. */
body.public-page .dx-irrigation-drops{position:absolute;inset:0;pointer-events:none;opacity:0}
body.public-page .dx-agriculture.dx-active .dx-irrigation-drops{opacity:1}
body.public-page .dx-irrigation-drops i{position:absolute;left:var(--x);top:var(--y);width:1.2%;height:2.3%;border-radius:30% 60% 65% 65%;background:#77e4f7;border:1px solid #e4fcff;box-shadow:0 0 7px #40c1eb;animation:dx-drip .9s var(--delay) infinite;animation-play-state:paused}
body.public-page .dx-agriculture.dx-active .dx-irrigation-drops i{animation-play-state:running}
@keyframes dx-drip{0%{transform:translateY(-4px);opacity:0}35%{opacity:1}100%{transform:translateY(10px);opacity:0}}
/* Rotating light on the rendered motor grille; sensor highlights excessive vibration. */
body.public-page .dx-motor-rotation{position:absolute;left:37.8%;top:54.5%;width:12%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 0deg,#98d4ac55 0deg 12deg,transparent 12deg 60deg);mix-blend-mode:screen;opacity:0;animation:cx-spin 1.4s linear infinite;animation-play-state:paused;pointer-events:none}
body.public-page .dx-manufacturing.dx-active .dx-motor-rotation{opacity:.85;animation-play-state:running}
body.public-page .dx-vibration-hotspot{position:absolute;left:59%;top:57%;width:4%;aspect-ratio:1;border-radius:50%;border:2px solid #f7bb64;box-shadow:0 0 14px 5px #ffbe6270;opacity:0;animation:cx-ping 1.5s infinite}
body.public-page .dx-manufacturing.dx-active.cx-condition-alert .dx-vibration-hotspot{opacity:1}
/* Water fill follows the transparent tank face in the generated scene. */
body.public-page .dx-water-window{position:absolute;left:5.4%;top:16.1%;width:26.8%;height:51.5%;overflow:hidden;border-radius:3px;mix-blend-mode:multiply;pointer-events:none}
body.public-page .dx-water-side{position:absolute;left:32.2%;top:17%;width:4.5%;height:50.5%;overflow:hidden;clip-path:polygon(0 0,100% 6%,100% 94%,0 100%);mix-blend-mode:multiply;pointer-events:none}
body.public-page .dx-water-fill{position:absolute;inset:auto 0 0;height:var(--dx-fill,65%);background:linear-gradient(90deg,#56cce4a6,#31a8cf91 65%,#258bae9c);box-shadow:inset 0 3px 0 #1299c0;transition:height .35s linear}
body.public-page .dx-tank-level{position:absolute;left:12%;top:59%;z-index:4;background:#fbfaeeeb;border:1px solid #a4b798;border-radius:5px;padding:4px 8px;font:800 14px/1.3 var(--f-head);color:#294632}
body.public-page .dx-pipe-flow{position:absolute;top:62.7%;height:1.5%;border-radius:4px;background:repeating-linear-gradient(90deg,#58dff4 0 6px,transparent 6px 16px);opacity:0;animation:dx-pipe 1s linear infinite;animation-play-state:paused}
body.public-page .dx-pipe-one{left:37%;width:18.5%}
body.public-page .dx-pipe-two{left:69.5%;width:23%}
body.public-page .dx-outlet-water{position:absolute;left:93.7%;top:79.2%;height:9%;width:2%;border-radius:0 0 40% 40%;background:repeating-linear-gradient(0deg,#4ec6e3b0 0 4px,#c0f5ffbd 4px 8px);opacity:0;animation:dx-outlet .45s linear infinite;animation-play-state:paused}
body.public-page .dx-water.dx-active .dx-pipe-flow,body.public-page .dx-water.dx-active .dx-outlet-water{opacity:1;animation-play-state:running}
body.public-page .dx-pump-indicator{position:absolute;left:59.5%;top:62%;width:1.7%;aspect-ratio:1;border-radius:50%;background:#7d8b77;border:1px solid #d7e2cc}
body.public-page .dx-water.dx-active .dx-pump-indicator{background:#78df9d;box-shadow:0 0 10px 4px #63de9980}
body.public-page .dx-water.dx-refilling .dx-water-window{outline:2px solid #54c0d1;outline-offset:-2px}
@keyframes dx-pipe{to{background-position:32px 0}}
@keyframes dx-outlet{to{background-position:0 16px}}
body.public-page .cx-animation-paused .dx-scene *,body.public-page .cx-animation-paused .dx-scene *:before{animation-play-state:paused!important}
@media(max-width:780px){body.public-page .dx-demo .cx-demo-panel{grid-template-columns:1fr}body.public-page .dx-demo .cx-demo-story{padding:22px}body.public-page .dx-scene{max-width:720px;margin:0 auto}}
@media(max-width:480px){body.public-page .dx-demo .cx-demo-story{padding:18px}body.public-page .dx-demo .cx-demo-story h3{font-size:25px}body.public-page .dx-telemetry{gap:10px;padding:12px}body.public-page .dx-secondary{padding-left:10px}body.public-page .dx-secondary strong{font-size:22px}body.public-page .dx-scene-badge{font-size:8px;padding:4px 6px}body.public-page .dx-tank-level{font-size:11px;padding:3px 5px}body.public-page .dx-control-pair{grid-template-columns:1fr}body.public-page .dx-toolbar-actions{width:100%}body.public-page .dx-toolbar-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){body.public-page .dx-scene *,body.public-page .dx-scene *:before{animation:none!important;transition:none!important}}

body.public-page img[src*="/demo-"]{object-fit:contain;background:#fcf9f0}

body.public-page .dx-agriculture:not(.dx-sim-running) .dx-irrigation-drops i,body.public-page .dx-water:not(.dx-sim-running) .dx-pipe-flow,body.public-page .dx-water:not(.dx-sim-running) .dx-outlet-water{animation-play-state:paused}
