/* The portal's opening identity, with ECOSISTEMAS alone. */
.site-entry{display:none}
.entry-opening .site-entry{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:radial-gradient(850px 600px at -10% 2%,rgba(127,41,68,.065),transparent 72%),radial-gradient(880px 700px at 110% 16%,rgba(33,90,153,.09),transparent 74%),radial-gradient(950px 820px at 52% 78%,rgba(125,101,155,.028),transparent 76%),linear-gradient(145deg,#e9ebf1,#e2e7ef 52%,#dce3ed);color:#172033;animation:entry-exit .8s ease 6s forwards}
.entry-frame{width:max-content;max-width:calc(100vw - 40px);text-align:center;position:relative}
.entry-mask{overflow:hidden;padding:14px 18px;margin:-14px -18px}
.entry-lockup{display:flex;align-items:center;justify-content:center;gap:22px;animation:entry-lockup 2.4s cubic-bezier(.16,.8,.25,1) .18s both}
.entry-lockup img{width:84px;height:84px;flex-shrink:0;filter:drop-shadow(0 8px 16px #73809630)}
.entry-lockup strong{font-size:clamp(27px,4.5vw,46px);font-weight:600;letter-spacing:.045em;line-height:1.15;white-space:nowrap}
.entry-group{font-size:.7em;font-weight:450;letter-spacing:0}
.entry-caption{margin:22px 0 0;font-size:clamp(16px,2vw,20px);font-weight:500;color:#344862;letter-spacing:.015em;line-height:1.5;animation:entry-caption 1.1s cubic-bezier(.16,.8,.25,1) .9s both}
.entry-skip{position:absolute;bottom:calc(25px + env(safe-area-inset-bottom,0px));right:25px;min-height:44px;padding:10px 17px;border-radius:999px;border:1px solid #a9b8ca;background:#ffffff70;color:#344862;font-size:12px;display:flex;align-items:center;gap:14px;transition:background-color .25s,color .25s}
.entry-skip:hover{background:#fff;color:#172033}.entry-skip:focus-visible{outline-color:#7f2944}
@keyframes entry-lockup{from{transform:translateX(105%)}to{transform:translateX(0)}}
@keyframes entry-caption{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
@keyframes entry-exit{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(max-width:600px){.entry-lockup{gap:14px}.entry-lockup img{width:56px;height:56px}.entry-lockup strong{font-size:clamp(20px,5.9vw,32px);letter-spacing:.025em}.entry-caption{margin-top:19px;font-size:16px}.entry-skip{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.entry-opening .site-entry{display:none!important}}
@media print{.site-entry{display:none!important}}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.metric>strong>.metric-number{font-size:inherit;letter-spacing:inherit;font-variant-numeric:tabular-nums;min-width:calc(var(--digits)*1ch)}

/* A continuous letterhead: the official Group artwork sits on its white plane. */
html{scroll-padding-top:220px}
.header-space{height:202px}
.site-header,html[data-theme=dark] .site-header{background:var(--surface);border-color:#ffffff30;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 22px 48px -30px #17233280}
.header-inner{position:relative;z-index:1;isolation:isolate;display:grid;grid-template-columns:250px minmax(0,1fr) 44px;grid-template-rows:auto auto;gap:0 84px;padding:13px 25px 9px;min-height:112px;background:radial-gradient(ellipse at 80% 0%,#35445555,transparent 65%),linear-gradient(115deg,#20242c,#111b25);border-radius:26px 26px 0 0}
.header-inner:before,.header-inner:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:26px 0 0 0}
.header-inner:before{background:linear-gradient(130deg,#7f2944,#c92b44);clip-path:polygon(0 0,344px 0,294px 100%,0 100%)}
.header-inner:after{background:#fff;clip-path:polygon(0 0,322px 0,272px 100%,0 100%)}
/* Transparent smoke moves behind the charcoal plane, clear of every control. */
.header-smoke{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:inherit;clip-path:polygon(344px 0,100% 0,100% 100%,294px 100%);transition:clip-path .46s var(--ease)}
.header-smoke:before,.header-smoke:after{content:'';position:absolute;inset:-60% -15%;background:url('/assets/header-smoke.webp') center/100% 100% no-repeat;opacity:.12;animation:header-smoke-flow 6s ease-in-out infinite}
.header-smoke:after{opacity:.06;animation:header-smoke-return 8s ease-in-out infinite}
@keyframes header-smoke-flow{0%,100%{transform:translate3d(-4%,2%,0) scale(1.02)}50%{transform:translate3d(4%,-3%,0) scale(1.06)}}
@keyframes header-smoke-return{0%,100%{transform:translate3d(4%,-2%,0) scale(-1.06,1.04)}50%{transform:translate3d(-4%,3%,0) scale(-1.02,1.08)}}
.entry-opening .header-smoke:before,.entry-opening .header-smoke:after{animation-play-state:paused}
@media(min-width:851px) and (max-width:1200px){.header-smoke{clip-path:polygon(300px 0,100% 0,100% 100%,266px 100%)}}
@media(max-width:850px){.header-smoke{clip-path:polygon(224px 0,100% 0,100% 100%,191px 100%)}}
@media(max-width:600px){.header-smoke{clip-path:polygon(216px 0,100% 0,100% 100%,191px 100%)}}
@media(max-width:360px){.header-smoke{clip-path:polygon(200px 0,100% 0,100% 100%,178px 100%)}}
.header-compact .header-smoke{clip-path:polygon(216px 0,100% 0,100% 100%,196px 100%)}
@media(max-width:850px){.header-compact .header-smoke{clip-path:polygon(199px 0,100% 0,100% 100%,181px 100%)}}
@media(max-width:600px){.header-compact .header-smoke{clip-path:polygon(135px 0,100% 0,100% 100%,117px 100%)}}
@media(prefers-reduced-motion:reduce){.header-smoke,.header-smoke:before,.header-smoke:after{animation:none!important;transition:none!important}}
@media print{.header-smoke{display:none}}
.brand{grid-column:1;grid-row:1/3;align-self:center;justify-self:start;display:block;margin:0;padding:0;background:transparent;box-shadow:none;border:0;border-radius:0}
.brand-art{display:block;overflow:hidden;width:243px;height:91px}
.brand .brand-art img{width:243px;height:auto;max-width:none;object-fit:initial}
.header-identity{grid-column:2;grid-row:1;align-self:center;color:#fff;padding:0 0 3px;line-height:1.4}
.header-identity>span{display:block;font-size:8px;letter-spacing:.2em;color:#d8b1bd;font-weight:800;margin-bottom:3px}
.header-identity strong{display:block;font-size:20px;font-weight:650;letter-spacing:-.025em}
.header-identity small{display:block;font-size:9px;color:#c4d0dc;margin-top:3px;letter-spacing:.025em}
.header-identity i{font-style:normal;color:#ed9bad;padding:0 6px}
.site-header .site-nav{grid-column:2;grid-row:2;margin:0;gap:26px;justify-self:start;color:#f2f4f7;font-size:11px}
.site-header .nav-services>summary{color:#f2f4f7}
.site-header .site-nav>a,.site-header .nav-services>summary{padding:8px 0;min-height:36px}
.site-header .site-nav>a:not(.btn):after{background:#e29bb6;bottom:3px}
.header-tools{grid-column:3;grid-row:1/3;margin:0;align-self:center}
.site-header .header-tools .icon-button,html[data-theme=dark] .site-header .header-tools .icon-button{width:44px;height:44px;background:#ffffff0c;color:#f5f7fa;border-color:#ffffff35;box-shadow:inset 0 1px 0 #ffffff12}
.site-header .nav-popover{top:40px;z-index:2}
.header-utilities{padding:9px 23px;gap:18px;min-height:66px;background:linear-gradient(145deg,#fff,#f2f5f9)}
.header-contact{display:flex;align-items:center;gap:17px;margin-right:auto;min-width:0}
.site-header .header-contact .header-email{display:flex;min-height:44px;font-size:10px;white-space:nowrap}
.social-links{display:flex;align-items:center;gap:7px;margin:0}
.social-links .social-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:44px;padding:8px 11px;border-radius:14px;background:#ffffff12;border:1px solid #ffffff20;transition:transform .25s var(--ease),background-color .25s var(--ease);font-size:12px;font-weight:700}
.social-link svg{display:block;width:20px;height:23px;flex-shrink:0;fill:currentColor}
.site-header .social-link{padding:8px;background:#fff;border-color:#dee4ec}
.site-header .social-link span{display:none}
.site-header .social-instagram{color:#b72f59}
.site-header .social-linkedin{color:#0a66c2}
.social-link:hover{background:#ffffff23}@media(hover:hover) and (pointer:fine){.social-link:hover{transform:translateY(-2px)}}
.site-header .social-link:hover{background:#f5eaf0}
.site-header .header-emergency{font-size:11px;white-space:nowrap;gap:7px}
.site-header .header-auto{display:flex;min-height:46px;padding:11px 15px;font-size:11px;gap:8px;color:#752840;background:linear-gradient(135deg,#fff,#f3e8ee);border:1px solid #bb879b;box-shadow:inset 0 1px 0 #fff,0 4px 11px -8px #7f294466;white-space:nowrap}
.site-header .header-auto .icon{width:18px;height:18px}
.site-header .header-auto .icon:last-child{width:14px;height:14px}
.site-header .header-portal{font-size:11px;min-height:46px;gap:8px;white-space:nowrap}
html[data-theme=dark] .site-header .header-auto{color:#f5d9e5;background:linear-gradient(135deg,#4a3042,#342837);border-color:#a46e85;box-shadow:inset 0 1px 0 #ffffff15,0 4px 11px -8px #0008}
html[data-theme=dark] .site-header .social-link{background:#2a3443;border-color:#ffffff28}
html[data-theme=dark] .site-header .social-instagram{color:#ffaac9}
html[data-theme=dark] .site-header .social-linkedin{color:#90ccff}
.footer-brand .social-links{flex-wrap:wrap;margin-top:20px}
.footer-brand .social-link{color:#f5d0df}
.footer-brand .social-linkedin{color:#a1d2ff}

/* The original red-smoke photograph, with a calm, legible foreground. */
.emergency-panel,html[data-theme=dark] .emergency-panel{position:relative;isolation:isolate;display:flex;align-items:center;min-height:395px;padding:48px 55px;overflow:hidden;border:1px solid #ffffff30;border-radius:32px;background:#43181e url('/assets/emergency/detector-smoke-red.jpg') center center/cover no-repeat;box-shadow:0 24px 44px -30px #6e233e80}
.emergency-panel:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#131d2bf2 0%,#251b2cdb 38%,#351a2c65 72%,#2b18271c);pointer-events:none}
.emergency-smoke{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:inherit}
.emergency-smoke:before,.emergency-smoke:after{content:'';position:absolute;inset:-25% -15%;background:url('/assets/header-smoke.webp') center/100% 100% no-repeat;opacity:.12;animation:header-smoke-flow 6s ease-in-out infinite}
.emergency-smoke:after{opacity:.06;animation:header-smoke-return 8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.emergency-smoke:before,.emergency-smoke:after{animation:none!important}}
@media print{.emergency-smoke{display:none}}
.emergency-copy{flex:0 1 570px;min-width:0}
.emergency-copy .eyebrow,html[data-theme=dark] .emergency-copy .eyebrow{font-size:9px;color:#ffd0df;letter-spacing:.14em;margin-bottom:18px}
.emergency-copy h2,html[data-theme=dark] .emergency-copy h2{font-size:clamp(30px,3.3vw,43px);line-height:1.13;color:#fff;max-width:550px}
.emergency-copy p,html[data-theme=dark] .emergency-copy p{font-size:14px;line-height:1.85;color:#f3e7ed;max-width:465px;margin:20px 0 23px}
.emergency-copy .btn.urgent{min-height:62px;gap:14px;background:#87253e linear-gradient(145deg,#ad3153,#87253e);border-color:#df809a;box-shadow:inset 0 1px 0 #ffffff30,0 10px 20px -14px #0008;padding:13px 20px;border-radius:19px;font-size:13px}
.emergency-copy .btn span{text-align:left;display:block}
.emergency-copy .btn small{display:block;font-size:10px;letter-spacing:.03em;font-weight:500;margin-top:3px}
.emergency-copy .btn>.icon:last-child{margin-left:9px;width:18px}

@media(max-width:1200px) and (min-width:851px){
 .header-inner{grid-template-columns:223px minmax(0,1fr) 44px;gap:0 58px}
 .header-inner:before{clip-path:polygon(0 0,300px 0,266px 100%,0 100%)}
 .header-inner:after{clip-path:polygon(0 0,282px 0,248px 100%,0 100%)}
 .brand-art{width:219px;height:82px}.brand .brand-art img{width:219px}
 .site-header .site-nav{gap:21px;font-size:10px}
 .header-utilities{gap:15px}.site-header .header-contact .header-email{display:none}
 .header-identity strong{font-size:18px}
}
@media(max-width:850px){
 html{scroll-padding-top:211px}.header-space{height:189px}
 .header-inner{grid-template-columns:minmax(0,1fr) 96px;grid-template-rows:auto;gap:0 14px;padding:8px 14px;min-height:74px;border-radius:22px 22px 0 0}
 .header-inner:before{clip-path:polygon(0 0,224px 0,191px 100%,0 100%)}
 .header-inner:after{clip-path:polygon(0 0,207px 0,174px 100%,0 100%)}
 .brand{grid-column:1;grid-row:1}.brand-art{width:169px;height:63px}.brand .brand-art img{width:169px}
 .header-identity{display:none}.header-tools{grid-column:2;grid-row:1;justify-content:flex-end}
 .site-header .site-nav{display:none;position:absolute;grid-column:auto;grid-row:auto;top:calc(100% + 111px);left:0;right:0;max-height:calc(100dvh - 211px);padding:14px 21px;gap:0;color:#172033;margin:0;justify-self:stretch;font-size:14px}
 .site-header .site-nav.is-open{display:flex}
 .site-header .nav-services>summary{color:#172033}
 .site-header .site-nav>a,.site-header .nav-services>summary{padding:11px 0;min-height:44px}
 .site-header .nav-popover{position:static}
 html[data-theme=dark] .site-header .site-nav,html[data-theme=dark] .site-header .nav-services>summary{color:#edf1f6}
 .header-utilities{grid-template-columns:1fr 1fr;grid-template-rows:36px 46px;gap:5px 9px;padding:5px 12px 10px;min-height:0}
 .header-contact{display:flex;gap:0;grid-row:1;grid-column:1;margin:0}
 .site-header .header-contact .header-email{display:none}
 .header-contact .social-links{gap:5px}
 .site-header .social-link{width:44px;height:36px;min-height:36px;min-width:44px;border:0;background:transparent;padding:7px 11px;border-radius:11px}
 .site-header .social-link svg{width:20px;height:22px}
 .site-header .header-emergency{grid-row:1;grid-column:2;background:transparent;border:0;min-height:36px;padding:0;justify-content:center;font-size:10px;gap:6px}
 .site-header .header-auto{grid-row:2;grid-column:1;padding:10px 8px;font-size:10px;min-height:46px;border-radius:14px;gap:6px}
 .site-header .header-auto .icon:last-child{display:none}
 .site-header .header-portal{grid-row:2;grid-column:2;padding:10px 8px;font-size:10px;min-height:46px;border-radius:14px;gap:6px}
 html[data-theme=dark] .site-header .social-link,html[data-theme=dark] .site-header .header-emergency{background:transparent;border:0}
 .emergency-panel,html[data-theme=dark] .emergency-panel{padding:35px;min-height:390px}
 .emergency-copy{flex-basis:470px;min-width:0}
 .emergency-panel:before{background:linear-gradient(90deg,#131d2bef,#251b2cce 55%,#351a2c55)}
}
@media(max-width:600px){
 .header-inner:before{clip-path:polygon(0 0,216px 0,191px 100%,0 100%)}
 .header-inner:after{clip-path:polygon(0 0,199px 0,174px 100%,0 100%)}
 .brand-art{width:155px;height:58px}.brand .brand-art img{width:155px}
 .emergency-panel,html[data-theme=dark] .emergency-panel{padding:34px 25px;min-height:445px;border-radius:28px;background-position:63% center}
 .emergency-panel:before{background:linear-gradient(110deg,#161d2bed,#251b2cc4 65%,#351a2c70)}
 .emergency-copy{flex-basis:100%}.emergency-copy .eyebrow{font-size:8px;line-height:1.8;letter-spacing:.1em;margin-bottom:19px;max-width:220px}
 .emergency-copy h2,html[data-theme=dark] .emergency-copy h2{font-size:33px;max-width:330px}
 .emergency-copy p,html[data-theme=dark] .emergency-copy p{font-size:13px;margin-top:19px;max-width:300px}
 .emergency-copy .btn.urgent{width:auto;min-height:62px;font-size:12px;padding:13px 17px;gap:11px}
}
@media(max-width:360px){
 .header-inner{padding-left:10px;padding-right:10px;gap:0 8px}.brand-art{width:143px;height:54px}.brand .brand-art img{width:143px}
 .header-inner:before{clip-path:polygon(0 0,200px 0,178px 100%,0 100%)}.header-inner:after{clip-path:polygon(0 0,184px 0,162px 100%,0 100%)}
 .header-utilities{padding-left:9px;padding-right:9px;gap:5px 7px}.site-header .header-emergency{font-size:9px}
 .site-header .header-auto,.site-header .header-portal{font-size:9px;gap:5px}.site-header .header-auto .icon,.site-header .header-portal .icon{width:15px;height:15px}
 .emergency-panel,html[data-theme=dark] .emergency-panel{padding:30px 21px}.emergency-copy h2,html[data-theme=dark] .emergency-copy h2{font-size:30px}
}
@media(hover:none),(prefers-reduced-motion:reduce){.social-link:hover{transform:none}}
/* A smaller fixed bar while reading, without moving the page beneath it. */
.site-header{transition:top .46s var(--ease),border-radius .46s var(--ease),box-shadow .46s var(--ease)}
.header-inner{grid-template-rows:61px 36px;transition:grid-template-columns .46s var(--ease),grid-template-rows .46s var(--ease),column-gap .46s var(--ease),padding .46s var(--ease),min-height .46s var(--ease),border-radius .46s var(--ease)}
.header-inner:before,.header-inner:after{transition:clip-path .46s var(--ease),border-radius .46s var(--ease)}
.brand-art,.brand .brand-art img{transition:width .46s var(--ease),height .46s var(--ease)}
.header-identity{overflow:hidden;opacity:1;transition:opacity .28s var(--ease)}
.header-utilities{height:66px;overflow:hidden;transition:height .46s var(--ease),min-height .46s var(--ease),padding .46s var(--ease),opacity .28s var(--ease),border-width .46s var(--ease),visibility .46s}
.header-quick{display:none;align-items:center;gap:6px}
.quick-link{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff35;border-radius:15px;color:#f2f5f9;background:#ffffff0b;transition:background-color .2s,transform .25s var(--ease)}
.quick-link .icon{width:19px;height:19px}
.quick-link:hover{background:#ffffff1e}@media(hover:hover) and (pointer:fine){.quick-link:hover{transform:translateY(-2px)}}
.quick-portal{background:linear-gradient(145deg,#963657,#7f2944);border-color:#c47f99}
.quick-phone{color:#ffc6d6}
html.header-compact{scroll-padding-top:105px}
.header-compact .site-header{top:10px;border-radius:25px;box-shadow:0 15px 36px -25px #17233299}
.header-compact .header-inner{grid-template-columns:146px minmax(0,1fr) 196px;grid-template-rows:0px 54px;gap:0 44px;padding:7px 25px;min-height:68px;border-radius:24px}
.header-compact .header-inner:before{clip-path:polygon(0 0,216px 0,196px 100%,0 100%);border-radius:24px 0 0 24px}
.header-compact .header-inner:after{clip-path:polygon(0 0,198px 0,176px 100%,0 100%);border-radius:24px 0 0 24px}
.header-compact .brand-art{width:146px;height:54px}.header-compact .brand .brand-art img{width:146px}
.header-compact .header-identity{opacity:0;pointer-events:none}
.header-compact .site-header .site-nav{align-self:center}
.header-compact .header-quick{display:flex;animation:compact-links .36s var(--ease)}
.header-compact .header-utilities{height:0;min-height:0;padding-top:0;padding-bottom:0;border-top-width:0;opacity:0;visibility:hidden;pointer-events:none}
@keyframes compact-links{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:851px) and (max-width:1200px){.header-inner{grid-template-rows:58px 36px}}
@media(max-width:1100px){
 .header-compact .header-inner{grid-template-columns:146px minmax(0,1fr) 248px;gap:0 25px}
 .header-compact .header-tools{grid-column:3}
 .header-compact .site-header .menu-button{display:grid}
 .header-compact .site-header .site-nav{display:none;position:absolute;grid-column:auto;grid-row:auto;top:calc(100% + 8px);left:0;right:0;margin:0;padding:14px 21px;gap:0;max-height:calc(100dvh - 100px);overflow:auto;flex-direction:column;align-items:stretch;justify-self:stretch;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:23px;font-size:14px;box-shadow:0 20px 40px -20px #193a6c66}
 .header-compact .site-header .site-nav.is-open{display:flex}
 .header-compact .site-header .site-nav>a,.header-compact .site-header .nav-services>summary{padding:11px 0;min-height:44px}
 .header-compact .site-header .nav-services>summary{color:var(--ink);justify-content:space-between}
 .header-compact .site-header .nav-popover{position:static;width:100%;padding:0 10px 10px;background:var(--blue-soft);border:0;border-radius:17px;box-shadow:none}
 .header-compact .site-header .site-nav .nav-auto{display:flex;gap:7px;border-top:1px solid var(--line);margin-top:7px}
}
@media(max-width:850px){
 .header-inner{grid-template-rows:auto}.header-utilities{height:103px}
 .header-compact .header-inner{grid-template-columns:minmax(0,1fr) 248px;grid-template-rows:54px;gap:0 15px;padding:7px 14px}
 .header-compact .header-tools{grid-column:2;grid-row:1}
 .header-compact .brand{grid-row:1}
 .header-compact .header-inner:before{clip-path:polygon(0 0,199px 0,181px 100%,0 100%)}
 .header-compact .header-inner:after{clip-path:polygon(0 0,182px 0,163px 100%,0 100%)}
}
@media(max-width:600px){
 .header-compact .header-inner{grid-template-columns:minmax(0,1fr) 178px;grid-template-rows:40px;gap:0 8px;padding:10px;min-height:60px}
 .header-compact .brand-art{width:90px;height:34px}.header-compact .brand .brand-art img{width:90px}
 .header-compact .header-tools{gap:6px}
 .header-compact .site-header .header-tools .icon-button{width:40px;height:40px}
 .header-compact .quick-link{width:40px;height:40px;border-radius:14px}
 .header-compact .quick-auto{display:none}
 .header-compact .header-inner:before{clip-path:polygon(0 0,135px 0,117px 100%,0 100%)}
 .header-compact .header-inner:after{clip-path:polygon(0 0,120px 0,103px 100%,0 100%)}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-header *,.header-inner:before,.header-inner:after{transition:none!important;animation:none!important}}
@media print{.emergency-panel,html[data-theme=dark] .emergency-panel{background:#fff;color:#172033;min-height:0;padding:25px}.emergency-panel:before{display:none}.emergency-copy h2,.emergency-copy p,.emergency-copy .eyebrow,html[data-theme=dark] .emergency-copy h2,html[data-theme=dark] .emergency-copy p,html[data-theme=dark] .emergency-copy .eyebrow{color:#172033}}
.hero-gallery-stage{position:relative;height:505px;border-radius:38px;overflow:hidden;box-shadow:0 28px 65px -35px #19324e99}
.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .9s ease-in-out}
.hero-slide.is-active{opacity:1;pointer-events:auto}
.hero-original .hero-gallery-stage .hero-photo{width:100%;height:100%;border-radius:inherit;box-shadow:none}
.hero-gallery-stage .hero-team-photo{object-position:50% 25%}
.hero-gallery-stage .photo-shade{inset:0;border-radius:inherit;background:linear-gradient(180deg,transparent 48%,#111c2aab)}
.hero-original .hero-gallery-stage .photo-label{left:24px;right:22px;bottom:62px;font-size:10px}
.hero-gallery-controls{position:absolute;top:16px;right:16px;display:flex;align-items:center;padding:2px;border-radius:25px;background:#17212bcc;border:1px solid #ffffff4d;color:#fff}
.hero-gallery-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;color:inherit;border-radius:50%;line-height:1;font-size:19px;touch-action:manipulation}
.hero-gallery-controls button:focus-visible{outline-color:#fff;outline-offset:0}
.hero-gallery-dot span{display:block;width:8px;height:8px;border-radius:50%;background:#ffffff73;transition:background .25s,transform .25s}
.hero-gallery-dot[aria-pressed=true] span{background:#fff;transform:scale(1.3)}
.hero-gallery-controls button:disabled{opacity:.35;cursor:default}
.about-photo.about-alarm-photo{height:auto;aspect-ratio:654/500;align-self:center}
.about-alarm-photo>img{object-position:50% 50%}
.about-alarm-photo:hover>img{transform:none}
@media(max-width:1100px){.hero-gallery-stage{height:490px}}
@media(max-width:850px){.hero-gallery-stage{height:430px;border-radius:29px}.hero-original .hero-gallery-stage .photo-label{left:21px;bottom:58px}.hero-gallery-controls{top:12px;right:12px}}
@media(max-width:600px){.hero-gallery-stage{height:340px}.hero-original .hero-gallery-stage .photo-label{left:22px;bottom:64px}.hero-original .hero-gallery-stage .photo-label span{font-size:20px}.hero-gallery-controls{top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-gallery-dot span{transition:none}}
@media print{.hero-gallery-controls{display:none}.hero-slide:not(.is-active){display:none}}
.training-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.training-copy h2{font-size:clamp(34px,3.5vw,48px)}
.training-copy>p,.monitoring-copy>p{font-size:15px;line-height:1.9;color:var(--muted);margin:24px 0}
.training-topics{list-style:none;padding:0;margin:26px 0 32px;display:grid;gap:14px}
.training-topics li{display:flex;align-items:center;gap:11px;font-size:13px;margin:0}
.training-topics .icon{width:18px;height:18px;color:var(--wine)}
.training-copy .btn{font-size:13px}
.training-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.training-photo{margin:0;padding:7px;border-radius:28px;overflow:hidden;min-width:0;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.training-photo:nth-child(2){margin-top:30px}
.training-photo>a{position:relative;display:block;border-radius:22px;overflow:hidden}
.training-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 55%;transition:transform .6s var(--ease)}
.training-photo:nth-child(2) img{object-position:50% 25%}
.training-enlarge{position:absolute;right:12px;top:12px;width:34px;height:34px;display:grid;place-items:center;color:#fff;background:#17212bb8;border:1px solid #ffffff4d;border-radius:50%}
.training-enlarge .icon{width:15px;height:15px}
.training-photo figcaption{padding:16px 12px 13px;font-size:12px;line-height:1.5;font-weight:700}
@media(hover:hover) and (pointer:fine){.training-photo:hover{transform:translateY(-4px);box-shadow:0 22px 42px -24px #26385166}.training-photo:hover img{transform:scale(1.015)}}
.monitoring-section{padding-top:30px}
.monitoring-layout{display:grid;grid-template-columns:1.14fr 1fr;gap:60px;align-items:center}
.monitoring-copy h2{font-size:clamp(30px,3vw,40px);line-height:1.18}
.monitor-service-tags{display:flex;gap:10px;flex-wrap:wrap}
.monitor-service-tags span{padding:7px 14px;border:1px solid #a53f673d;border-radius:12px;color:var(--wine);font-size:11px;font-weight:750;background:#a53f6709}
.monitor-service-tags span+span{color:#2877a3;border-color:#559bc54d;background:#559bc50c}
html[data-theme=dark] .monitor-service-tags span+span{color:#9bd7fc}
.monitoring-copy .monitor-consult{font-size:13px;margin-bottom:8px}
.monitor-preview{--map-road:#8e9db0;--map-river:#7ba8c1;--map-label:#5e718a;--map-point-border:#fff;position:relative;margin:0;overflow:hidden;padding:22px 24px 21px;border-radius:30px;background:radial-gradient(ellipse at 50% 40%,#ffffffb0,transparent 66%),var(--card)}
html[data-theme=dark] .monitor-preview{--map-road:#8c9fb7;--map-river:#6895b2;--map-label:#b9c8d9;--map-point-border:#21303f;background:radial-gradient(ellipse at 50% 40%,#48617a13,transparent 66%),var(--card)}
.monitor-map-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 6px}
.monitor-map-header strong{font-size:16px;letter-spacing:-.025em;display:block}
.monitor-map-header span:not(.monitor-pause span){font-size:10px;color:var(--muted)}
.monitor-pause{width:44px;height:44px;font-size:19px}
.monitor-map-art{display:block;width:100%;height:auto;margin:6px 0 4px}
.monitor-halo{transform-box:fill-box;transform-origin:center;animation:monitor-halo-pulse 3s ease-out infinite;animation-delay:var(--delay,0s)}
@keyframes monitor-halo-pulse{0%{transform:scale(.75);opacity:.24}80%,100%{transform:scale(2.15);opacity:0}}
.monitor-preview[data-paused=true] .monitor-halo{animation-play-state:paused}
.monitor-legend{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin:0;padding:13px 0 15px;border-top:1px solid var(--line)}
.monitor-legend li{display:flex;align-items:center;gap:8px;font-size:11px;margin:0}
.monitor-legend i{display:block;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 3px #ffffff80}
.status-normal{background:#30d158}.status-attention{background:#ff9f0a}.status-alarm{background:#ff3b30}
.monitor-preview figcaption{text-align:center;font-size:10px;line-height:1.7;color:var(--muted)}
@media(max-width:1100px){.training-layout,.monitoring-layout{gap:36px}.training-gallery{gap:14px}.training-copy>p,.monitoring-copy>p{font-size:14px}.monitor-preview{padding:18px}.training-photo figcaption{padding:13px 9px;font-size:11px}}
@media(max-width:850px){.training-layout,.monitoring-layout{grid-template-columns:1fr;gap:30px}.training-copy>p,.monitoring-copy>p{max-width:650px}.training-gallery{max-width:660px;width:100%;margin:auto;gap:22px}.training-photo img{aspect-ratio:4/5}.monitoring-copy{grid-row:1}.monitor-preview{width:100%;max-width:680px;justify-self:center}.monitoring-copy h2{max-width:640px;font-size:36px}.monitoring-section{padding-top:20px}}
@media(max-width:600px){.training-copy h2{font-size:36px}.training-copy>p,.monitoring-copy>p{font-size:14px;margin:21px 0}.training-topics{margin:24px 0 27px;gap:13px}.training-topics li{font-size:12px}.training-gallery{gap:12px}.training-photo{padding:5px;border-radius:22px}.training-photo>a{border-radius:17px}.training-photo:nth-child(2){margin-top:22px}.training-photo figcaption{padding:12px 7px 10px;font-size:10px}.training-enlarge{right:9px;top:9px;width:30px;height:30px}.monitoring-copy h2{font-size:31px;line-height:1.2}.monitor-preview{padding:16px 13px;border-radius:26px}.monitor-map-header{padding:0 5px 2px}.monitor-map-header strong{font-size:15px}.monitor-legend{gap:17px;padding:13px 0}.monitor-legend li{font-size:10px;gap:7px}.monitor-preview figcaption{font-size:9px}.monitoring-copy .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){.monitor-halo{animation:none;opacity:.14}.training-photo,.training-photo img{transition:none}.training-photo:hover,.training-photo:hover img{transform:none}}
@media print{.monitor-halo{animation:none}.monitor-pause,.training-enlarge{display:none}.training-layout,.monitoring-layout{break-inside:avoid}}
.project-grid.project-carousel{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9cabbf65 transparent;padding:5px 2px 18px;scroll-padding-inline:2px}
.project-carousel .project-card{flex:0 0 280px;min-width:0;scroll-snap-align:start}
.project-carousel .project-photo{aspect-ratio:1.2;border-radius:24px}
.project-carousel .project-info h3{font-size:18px}.project-carousel .project-info p{font-size:11px}.project-carousel .project-info small{font-size:9px}
.project-carousel:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:24px}
.work-scroll-controls{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:12px}
.work-scroll-controls>span{font-size:11px;color:var(--muted)}.work-scroll-controls>div{display:flex;gap:9px}
.work-scroll-controls .icon-button{width:44px;height:44px}.work-previous .icon{transform:rotate(180deg)}
.work-scroll-controls button[aria-disabled=true]{opacity:.4;cursor:default}
.process-pause{width:44px;height:44px;margin-top:23px;font-size:19px}
.process[data-process-flow] .step-number{animation:process-stage 12s var(--ease) infinite both;animation-delay:calc(var(--step)*3s)}
.process[data-process-flow] .process-step h3{animation:process-stage-title 12s var(--ease) infinite both;animation-delay:calc(var(--step)*3s)}
@keyframes process-stage{0%,25%,100%{background:var(--surface);color:var(--wine);box-shadow:0 0 0 0 #7f294400;transform:scale(1)}5%,20%{background:var(--wine);color:var(--surface);box-shadow:0 0 0 7px #7f29441c;transform:scale(1.04)}}
@keyframes process-stage-title{0%,25%,100%{color:var(--ink)}5%,20%{color:var(--wine)}}
.process[data-paused=true] .step-number,.process[data-paused=true] .process-step h3{animation-play-state:paused}
.about-next{margin-top:30px}
.own-brand-grid{width:min(100%,1000px);margin-inline:auto;gap:18px}
.own-brand{min-height:195px;padding:19px 22px 22px;border-radius:25px}
.own-brand-art{height:105px;margin-bottom:12px}
.own-brand-art img{max-width:180px;max-height:95px}
.own-brand-city .own-brand-art img{max-height:105px;max-width:140px}
.own-brand>strong{font-size:12px}.own-brand>span{font-size:10px}.own-brand>.icon{right:20px;bottom:27px;width:15px}
@media(max-width:1100px){.own-brand{min-height:190px;padding:18px}.own-brand-art img{max-width:170px}.own-brand-city .own-brand-art img{max-width:133px}}
@media(max-width:850px){.project-carousel .project-card{flex-basis:260px}.own-brand{min-height:185px}.own-brand-art{height:96px}.own-brand-art img{max-width:155px;max-height:90px}.own-brand-city .own-brand-art img{max-height:96px;max-width:122px}.own-brand>strong{font-size:11px}.own-brand>span{font-size:9px}}
@media(max-width:600px){.project-carousel .project-card{flex-basis:245px}.project-carousel .project-photo{border-radius:23px}.work-scroll-controls>span{font-size:10px}.own-brand-grid{max-width:380px;gap:14px}.own-brand{min-height:185px;padding:18px 22px}.own-brand-art{height:96px;margin-bottom:10px}.own-brand-art img{max-width:180px;max-height:91px}.own-brand-city .own-brand-art img{max-height:96px;max-width:130px}.own-brand>strong{font-size:12px}.own-brand>span{font-size:10px}.own-brand>.icon{right:22px;bottom:26px}}
@media(prefers-reduced-motion:reduce){.process[data-process-flow] .step-number,.process[data-process-flow] .process-step h3{animation:none}.project-grid.project-carousel{scroll-behavior:auto}}
@media print{.work-scroll-controls,.process-pause{display:none}.project-grid.project-carousel{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}.process[data-process-flow] .step-number,.process[data-process-flow] .process-step h3{animation:none}}
.hero .btn.urgent{background-image:linear-gradient(110deg,#7f2944,#ac3655,#7f2944);background-size:200% 100%;animation:urgent-beacon 2.8s ease-in-out infinite}
@keyframes urgent-beacon{0%,100%{background-position:0% 50%;box-shadow:inset 0 1px 0 #ffffff4d,0 6px 18px -9px #7f294459,0 0 0 0 #a42f4c00}50%{background-position:100% 50%;box-shadow:inset 0 1px 0 #ffffff66,0 9px 25px -8px #a42f4c85,0 0 0 5px #a42f4c16}}
@media(prefers-reduced-motion:reduce){.hero .btn.urgent{animation:none}}
@media print{.hero .btn.urgent{animation:none}}
/* Real footage forms the smoke; the still texture is only a quiet fallback. */
.header-smoke,.emergency-smoke{mix-blend-mode:screen}
.header-smoke:before,.emergency-smoke:before{inset:-12% 0;animation:none;transform:none;opacity:.07;transition:opacity .4s}
.header-smoke:after,.emergency-smoke:after{display:none}
.smoke-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%;opacity:0;transition:opacity .25s linear;pointer-events:none}
.header-smoke.is-playing:before,.emergency-smoke.is-playing:before{opacity:0}
.is-playing>.smoke-video{opacity:calc(var(--smoke-level,.2)*var(--smoke-fade,1))}
@media(prefers-reduced-motion:reduce){.smoke-video{display:none}.header-smoke:before,.emergency-smoke:before{opacity:.07;transition:none}}
@media print{.smoke-video{display:none}}
/* Service presentation: real app capture and equipment examples. */
.monitoring-heading{max-width:740px;margin-bottom:30px}
.monitoring-heading h2{font-size:clamp(34px,4vw,48px);line-height:1.12}
.monitoring-heading>p{max-width:660px;font-size:15px;color:var(--muted);margin:20px 0 0;line-height:1.85}
.monitor-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}
.monitor-service{padding:24px 25px;border:1px solid var(--line);border-radius:24px;background:var(--card);position:relative;overflow:hidden}
.monitor-service:before{content:'';position:absolute;left:24px;right:24px;top:0;height:2px;background:#a53f67}
.monitor-service-extinction:before{background:#6ab4dc}.monitor-service-ups:before{background:#9b88ba}
.monitor-service-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:#a53f6710;color:var(--wine);margin-bottom:17px}
.monitor-service-extinction .monitor-service-icon{background:#5ca8d312;color:var(--blue)}.monitor-service-ups .monitor-service-icon{background:#9b88ba14;color:#8d74ad}
.monitor-service h3{font-size:19px;letter-spacing:-.025em}.monitor-service p{font-size:12px;line-height:1.85;color:var(--muted);margin:12px 0 0}
.monitoring-layout{grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.monitor-platform-column{display:grid;gap:24px;min-width:0}.monitor-platform{margin:0;border-radius:28px;padding:16px;overflow:hidden}
.monitor-platform-heading{display:flex;align-items:center;gap:10px;padding:3px 2px 16px}.monitor-platform-heading>div{min-width:0}.monitor-platform-heading strong{display:block;font-size:13px}.monitor-platform-heading div span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.monitor-24{margin-left:auto;color:var(--wine);font-size:12px;font-weight:800;border:1px solid var(--line);padding:7px 10px;border-radius:12px}
.monitor-platform-image{display:block;position:relative;border:1px solid #ffffff19;border-radius:18px;overflow:hidden;background:#151822}
.monitor-platform-image>img{width:100%;height:auto;display:block}
.monitor-platform figcaption{font-size:10px;line-height:1.7;color:var(--muted);padding:13px 5px 1px}
.monitor-contact{border-radius:27px;padding:30px}.monitor-contact .eyebrow{font-size:9px;margin-bottom:15px}.monitor-contact h3{font-size:28px;letter-spacing:-.035em}.monitor-contact p{font-size:13px;line-height:1.85;color:var(--muted);margin:17px 0 23px}.monitor-contact .actions{gap:10px;align-items:stretch}.monitor-contact .btn{font-size:11px;padding:12px 15px;min-height:46px;gap:8px}
.monitor-map-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 15px;margin:0 0 15px}.monitor-map-legend span{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.monitor-map-legend span:before{content:'';width:7px;height:7px;border-radius:50%;background:#30d158}.monitor-map-legend [data-state=offline]:before{background:#8493a4}.monitor-map-legend [data-state=attention]:before{background:#ff9f0a}.monitor-map-legend [data-state=alarm]:before{background:#ff3b30}
.monitor-reset{min-height:44px;margin:auto;background:transparent;border:0;font-family:inherit;font-size:11px}.monitor-preview figcaption{margin-top:9px}
.training-promise{font-weight:750;color:var(--ink)!important;font-size:20px!important;letter-spacing:-.02em;margin:20px 0 0!important}.training-promise+p{margin-top:13px}.training-topics{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px}.training-topics li{font-size:12px}.training-topics .icon{flex-shrink:0}
.training-resource{display:flex;align-items:center;gap:25px;border-radius:26px;padding:23px 26px;margin-top:30px}.training-brochure-preview{flex:0 0 88px;display:block;border-radius:9px;overflow:hidden;box-shadow:0 6px 18px #17233220}.training-brochure-preview img{display:block;width:100%;height:auto}.training-resource-copy{flex:1;min-width:0}.training-resource .eyebrow{font-size:8px;margin-bottom:9px}.training-resource h3{font-size:21px;letter-spacing:-.025em;line-height:1.3}.training-resource p{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0 8px;max-width:630px}.training-resource .text-link{min-height:44px;font-size:12px;gap:9px;flex-wrap:wrap}.training-resource .text-link small{font-size:9px;font-weight:500;color:var(--muted)}.training-resource>.btn{font-size:11px;white-space:nowrap;gap:8px;padding:12px 16px;min-height:46px}
@media(max-width:1000px){.monitor-service{padding:22px 20px}.monitor-service h3{font-size:17px}.monitoring-layout{gap:22px}.monitor-contact{padding:25px}.monitor-contact .actions{flex-direction:column}.monitor-contact .btn{justify-content:center}.training-resource{flex-wrap:wrap;gap:18px}.training-resource>.btn{margin-left:106px}}
@media(max-width:850px){.monitoring-layout{grid-template-columns:1fr;gap:26px}.monitor-preview{max-width:none}.monitor-platform-column{grid-template-columns:1fr 1fr;align-items:start}.monitor-contact .actions{flex-direction:column}.monitoring-heading>p{font-size:14px}.monitor-service-grid{gap:12px}.monitor-service{padding:21px 18px}.monitor-service p{font-size:11px}.monitor-platform-heading div span{max-width:170px}.monitor-24{display:none}}
@media(max-width:600px){.monitoring-heading{margin-bottom:24px}.monitoring-heading h2{font-size:35px}.monitoring-heading>p{font-size:14px;line-height:1.8}.monitor-service-grid{grid-template-columns:1fr;gap:12px;margin-bottom:25px}.monitor-service{padding:22px 20px 22px 75px;border-radius:22px}.monitor-service-icon{position:absolute;left:20px;top:23px;width:36px;height:36px}.monitor-service h3{font-size:18px}.monitor-service p{font-size:12px;margin-top:9px}.monitor-platform-column{grid-template-columns:1fr;gap:20px}.monitor-platform{padding:12px;border-radius:25px}.monitor-platform-heading{padding:3px 3px 13px}.monitor-platform-heading div span{max-width:none;font-size:9px}.monitor-24{display:block}.monitor-contact{padding:26px 22px}.monitor-contact h3{font-size:27px}.monitor-contact .actions{flex-direction:row;flex-wrap:wrap}.monitor-contact .btn{flex:1 1 100%;font-size:12px}.training-promise{font-size:19px!important}.training-topics{gap:14px 10px}.training-topics li{font-size:11px;gap:8px;align-items:flex-start}.training-topics .icon{width:16px;height:16px}.training-resource{padding:20px;gap:15px;align-items:flex-start}.training-brochure-preview{flex-basis:66px}.training-resource-copy{flex-basis:calc(100% - 81px)}.training-resource h3{font-size:18px}.training-resource p{font-size:11px}.training-resource .text-link{font-size:11px;gap:7px}.training-resource>.btn{margin:0;flex:1;justify-content:center;white-space:normal;font-size:12px}}
@media print{.monitor-service-grid,.monitoring-layout{display:block}.monitor-service,.monitor-platform-column>*,.training-resource{margin-bottom:20px}.monitor-24{display:none}}
/* Field work, the client platform and integrated services. */
.monitoring-intro{display:grid;grid-template-columns:1.25fr .65fr;align-items:center;gap:60px;margin-bottom:30px}.monitoring-intro .monitoring-heading{margin:0}.monitor-field-photo{margin:0;max-width:330px;width:100%;justify-self:end;padding:7px;border-radius:27px;overflow:hidden}.monitor-field-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 47%;border-radius:21px}.monitor-field-photo figcaption{font-size:10px;line-height:1.6;color:var(--muted);padding:12px 12px 9px}
.app-showcase{padding-top:35px}.app-showcase-intro{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:42px;margin-bottom:32px}.app-showcase-copy h2{font-size:clamp(32px,3.6vw,44px);line-height:1.14}.app-showcase-copy>p{font-size:14px;line-height:1.9;color:var(--muted);margin:22px 0}.app-showcase-copy>.text-link{font-size:12px;min-height:44px}.app-field-visual{margin:0;padding:7px;border-radius:28px;overflow:hidden}.app-field-visual>img{width:100%;height:auto;aspect-ratio:1.5;display:block;border-radius:22px;object-fit:cover}.app-field-visual figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px;font-size:11px;font-weight:650;padding:13px 13px 8px}.app-field-visual figcaption small{color:var(--muted);font-size:9px;font-weight:500}
.app-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 34px}.app-benefit{position:relative;padding:23px 22px 25px;border:1px solid var(--line);border-radius:24px;background:var(--card);overflow:hidden}.app-benefit>span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:16px;border-radius:13px;background:#a53f6710;color:var(--wine)}.app-benefit h3{font-size:18px;line-height:1.35;letter-spacing:-.025em}.app-benefit p{font-size:11px;line-height:1.9;color:var(--muted);margin:13px 0 0}.app-sample-heading h3{font-size:25px;letter-spacing:-.03em}.app-sample-heading>p{color:var(--muted);font-size:12px;margin:10px 0 19px}.app-sample-gallery{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#9cabbf65 transparent;padding:2px 1px 15px}.app-sample-gallery:focus-visible{outline:2px solid var(--wine);outline-offset:5px;border-radius:20px}.app-sample{flex:0 0 calc((100% - 36px)/3);min-width:0;margin:0;padding:7px;border-radius:23px;overflow:hidden;scroll-snap-align:start}.app-sample>div{height:230px;overflow:hidden;background:#f4f5f8;border-radius:17px;display:grid;place-items:center}.app-sample img{width:100%;height:100%;object-fit:contain;display:block}.app-sample figcaption{padding:13px 12px 9px;font-size:12px;font-weight:750}.app-sample figcaption small{display:block;font-size:9px;color:var(--muted);font-weight:500;margin-top:5px}.app-help-links{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:5px 0 32px}.app-help-links .text-link{font-size:11px;min-height:44px}.app-help-links>span{font-size:10px;color:var(--muted)}
.app-innovation,html[data-theme=dark] .app-innovation{position:relative;overflow:hidden;padding:43px 47px;border:1px solid #b76b8580;border-radius:30px;background:#66243d linear-gradient(120deg,#762942,#3d293c);color:#fff;box-shadow:0 21px 40px -30px #71253d99}.app-innovation:before{content:'';position:absolute;inset:-25% -10%;pointer-events:none;background:radial-gradient(ellipse at 90% 70%,#e194b422,transparent 55%)}.app-innovation .eyebrow,html[data-theme=dark] .app-innovation .eyebrow{color:#f5c9d9;font-size:9px;margin-bottom:17px}.app-innovation h3{max-width:820px;font-size:clamp(26px,3vw,36px);line-height:1.23;letter-spacing:-.035em;color:#fff}.app-innovation p{font-size:13px;line-height:1.9;max-width:640px;color:#f4dce5;margin:19px 0 25px}.app-innovation .actions{gap:12px;position:relative}.app-innovation .btn{font-size:12px;min-height:48px;padding:12px 18px}.app-innovation .btn.primary{background:#fff;color:#752840;border-color:#fff;box-shadow:0 8px 21px -15px #0008}.app-innovation .app-client-entry{background:#ffffff0c;color:#fff;border-color:#f2bcd280;box-shadow:none}.app-innovation .btn:focus-visible{outline-color:#fff}
.integral-section{padding:5px 0 45px}.integral-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;padding:35px 39px;border-radius:28px;border-top:2px solid #9d4364}.integral-panel .eyebrow{font-size:9px;margin-bottom:17px}.integral-panel h2{font-size:31px;line-height:1.2}.integral-panel p{font-size:13px;line-height:1.85;color:var(--muted);max-width:500px;margin:19px 0 0}.integral-panel ul{list-style:none;padding:0;margin:0 0 13px;display:grid;gap:11px}.integral-panel li{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.6}.integral-panel li .icon{width:16px;height:16px;flex-shrink:0;color:var(--wine)}.integral-panel .text-link{font-size:11px;min-height:44px}
.service-story-smoke,.service-story-electrical{border-top-color:#9d4364}
@media(max-width:1100px){.monitoring-intro{gap:35px;grid-template-columns:1.1fr .7fr}.app-showcase-intro{gap:28px}.app-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-benefit p{font-size:12px}.app-sample>div{height:190px}.integral-panel{gap:30px;padding:30px}.integral-panel h2{font-size:29px}}
@media(max-width:850px){.monitoring-intro{gap:27px;grid-template-columns:1.15fr .75fr}.monitoring-intro .monitoring-heading h2{font-size:35px}.monitor-field-photo{max-width:280px}.monitor-field-photo figcaption{font-size:9px}.app-showcase-intro{grid-template-columns:1fr;gap:26px}.app-showcase-copy{max-width:650px}.app-field-visual{max-width:680px;width:100%;justify-self:center}.app-sample{flex-basis:calc((100% - 18px)/2.15)}.app-sample>div{height:205px}.app-innovation{padding:35px}.integral-panel{gap:25px}.integral-panel h2{font-size:27px}.integral-panel li{font-size:11px}}
@media(max-width:600px){.monitoring-intro{grid-template-columns:1fr;gap:25px;margin-bottom:25px}.monitoring-intro .monitoring-heading h2{font-size:35px}.monitor-field-photo{justify-self:center;max-width:none;display:grid;grid-template-columns:130px 1fr;align-items:center;padding:6px;border-radius:23px}.monitor-field-photo img{aspect-ratio:4/5;border-radius:17px}.monitor-field-photo figcaption{padding:16px;font-size:12px;line-height:1.8}.app-showcase{padding-top:25px}.app-showcase-copy h2{font-size:35px}.app-showcase-copy>p{font-size:14px}.app-field-visual{padding:6px;border-radius:24px}.app-field-visual>img{border-radius:18px}.app-field-visual figcaption{font-size:10px;padding:12px 9px 8px}.app-benefit-grid{gap:12px}.app-benefit{padding:19px 16px;border-radius:22px}.app-benefit>span{width:33px;height:33px;margin-bottom:14px;border-radius:11px}.app-benefit h3{font-size:16px}.app-benefit p{font-size:11px;line-height:1.85}.app-sample-heading h3{font-size:23px}.app-sample{flex-basis:260px;border-radius:21px}.app-sample>div{height:205px;border-radius:15px}.app-help-links{margin-bottom:25px}.app-help-links>span{font-size:9px}.app-innovation,html[data-theme=dark] .app-innovation{padding:29px 23px;border-radius:26px}.app-innovation h3{font-size:28px}.app-innovation p{font-size:12px}.app-innovation .actions{flex-direction:column;align-items:stretch}.app-innovation .btn{font-size:12px}.integral-section{padding:0 0 30px}.integral-panel{grid-template-columns:1fr;gap:22px;padding:27px 22px;border-radius:25px}.integral-panel h2{font-size:28px}.integral-panel p{font-size:12px;margin-top:16px}.integral-panel li{font-size:12px}.integral-panel ul{gap:12px}}
@media(max-width:360px){.app-benefit-grid{grid-template-columns:1fr}.monitor-field-photo{grid-template-columns:110px 1fr}}
@media print{.app-sample-gallery{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}.app-sample{min-width:0}.app-innovation,html[data-theme=dark] .app-innovation{color:#172033;background:#fff;border-color:#888}.app-innovation h3,.app-innovation p,.app-innovation .eyebrow{color:#172033}.app-innovation:before{display:none}.monitoring-intro,.app-showcase-intro,.integral-panel{break-inside:avoid}}
/* Brand identity follows mouse, keyboard and touch selection. */
.nav-popover .nav-ecosistemas{--nav-brand-bg:#f5e6ed;--nav-brand-ink:#7f2944;--nav-brand-line:#9c3d5e}
.nav-popover .nav-hidromec{--nav-brand-bg:#e3f3fd;--nav-brand-ink:#246c97;--nav-brand-line:#6ab8e4}
.nav-popover .nav-ecosmartcity{--nav-brand-bg:#e4f4ed;--nav-brand-ink:#236951;--nav-brand-line:#4ca783}
html[data-theme=dark] .nav-popover .nav-ecosistemas{--nav-brand-bg:#452a3b;--nav-brand-ink:#f5bed3;--nav-brand-line:#c26d91}
html[data-theme=dark] .nav-popover .nav-hidromec{--nav-brand-bg:#203e53;--nav-brand-ink:#a7ddfc;--nav-brand-line:#6ab8e4}
html[data-theme=dark] .nav-popover .nav-ecosmartcity{--nav-brand-bg:#1e4036;--nav-brand-ink:#a5e4c8;--nav-brand-line:#64bf99}
.nav-popover .nav-brand{transition:background-color .2s,color .2s,box-shadow .2s}
.nav-popover .nav-brand:hover,.nav-popover .nav-brand:focus-visible,.nav-popover .nav-brand:active{color:var(--nav-brand-ink);background:var(--nav-brand-bg);box-shadow:inset 3px 0 var(--nav-brand-line);outline-color:var(--nav-brand-line)}
@media(prefers-reduced-motion:reduce){.nav-popover .nav-brand{transition:none}}
/* Distinct destinations: aqua for work, blue for the private client portal. */
a.btn[href="/trabajos/"]{background:#e2f3f3 linear-gradient(145deg,#effbfa,#d9eef0);color:#18566a;border-color:#73a8b2;box-shadow:inset 0 1px 0 #ffffffc9,0 8px 19px -13px #286a7c59}
html[data-theme=dark] a.btn[href="/trabajos/"]{background:#285767 linear-gradient(145deg,#346d7a,#244d61);color:#e2f9f7;border-color:#7eb4bf;box-shadow:inset 0 1px 0 #ffffff20,0 8px 19px -13px #0008}
a.btn[href^="https://app-eco-sistemas-group.web.app/clientes.html"],.quick-portal{background:#244b68 linear-gradient(145deg,#326c8e,#24465f);color:#fff;border-color:#6c94ad;box-shadow:inset 0 1px 0 #ffffff30,0 8px 19px -13px #214d7370}
html[data-theme=dark] a.btn[href^="https://app-eco-sistemas-group.web.app/clientes.html"],html[data-theme=dark] .quick-portal{background:#2c5571 linear-gradient(145deg,#3c7695,#2b506d);color:#fff;border-color:#87abc0}
