/* Shared corporate-site layout. Loaded after the original component styles. */
.cooperation-section{background:var(--ice);border-block:1px solid var(--line)}
.cooperation-section .section-head{max-width:940px}
.cooperation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cooperation-grid .card{height:100%;background:#fff}
.cooperation-grid .card p{line-height:1.7}
.cooperation-section .actions{margin-top:28px}
.sector-explorer[data-state="otros"] .layer-other,.sector-explorer[data-state="cooperacion"] .layer-cooperation{opacity:1}
.sector-explorer:is([data-state="otros"],[data-state="cooperacion"]) :is(.svg-land,.svg-river){opacity:.12}
.sector-story .story-node>rect{fill:#193e50;stroke:#608b91;stroke-width:1}
.sector-story text{fill:#eaf5ef;font-size:12px;font-weight:750;text-anchor:middle}
.sector-story .story-small{fill:#a7d4cc;font-size:11px;font-weight:500}
.sector-story .story-icon{fill:none;stroke:#a7dcb7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sector-story .water-icon{stroke:#22b8cf;fill:#22b8cf22}
.sector-story .story-hub rect{fill:#215d59;stroke:#8bcf9e;stroke-width:2}
.sector-story .story-flow{fill:none;stroke:#22b8cf;stroke-width:2;stroke-dasharray:5 7}
.sector-story .story-feedback{fill:none;stroke:#8bcf9e;stroke-width:1.5;stroke-dasharray:5 7}
.sector-story .story-signal{fill:#f0c765;transform-box:fill-box;transform-origin:center}
.sector-story .story-node>.story-bar{fill:#8bcf9e;stroke:none;transform-box:fill-box;transform-origin:center bottom}
.sector-story .story-cycle{transform-box:fill-box;transform-origin:center}
.sector-explorer[data-state="otros"] .layer-other .story-flow,.sector-explorer[data-state="cooperacion"] .layer-cooperation :is(.story-flow,.story-feedback){animation:sectorStoryFlow 2s linear infinite}
.sector-explorer[data-state="otros"] .layer-other .story-cycle{animation:sectorStoryCycle 8s linear infinite}
.sector-explorer[data-state="otros"] .layer-other .story-signal,.sector-explorer[data-state="cooperacion"] .layer-cooperation .story-signal{animation:sectorStoryPulse 2.4s ease-in-out infinite}
.sector-explorer[data-state="cooperacion"] .layer-cooperation .story-bar{animation:sectorStoryMeasure 3s ease-in-out infinite alternate}
.sector-story .story-bar:nth-of-type(3){animation-delay:.3s!important}.sector-story .story-bar:nth-of-type(4){animation-delay:.6s!important}
@keyframes sectorStoryFlow{to{stroke-dashoffset:-24}}
@keyframes sectorStoryCycle{to{transform:rotate(360deg)}}
@keyframes sectorStoryPulse{50%{transform:scale(1.5);opacity:.55}}
@keyframes sectorStoryMeasure{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.sector-explorer .sector-story *{animation:none!important;transform:none!important}}
.floating-contact{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:100;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px)}
.floating-contact .whatsapp-float{position:static;flex-shrink:0;animation:none}
.floating-contact-label{display:flex;align-items:center;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:28px;background:#fff;color:var(--navy);font-size:14px;font-weight:800;box-shadow:0 4px 18px #0b1f3320}
.floating-contact-label:hover{background:var(--ice)}
.platform-float{position:fixed;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:101;display:flex;justify-content:center;align-items:center;min-height:44px;padding:6px 12px;border:1px solid var(--cyan);border-radius:12px;background:var(--cyan);color:var(--navy);box-shadow:0 3px 12px #0b1f3320;transition:box-shadow .2s ease}
.platform-float{flex-direction:column;gap:2px}
.platform-float-invite{display:block;font-size:9px;line-height:12px;color:var(--navy);white-space:nowrap}.platform-float strong{font-size:12px;line-height:1.3}.platform-float strong span{color:var(--navy);margin-left:4px}
.platform-float:hover{box-shadow:0 6px 24px #0b1f334d}.platform-float:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.has-floating-contact .analytics-consent{bottom:calc(100px + env(safe-area-inset-bottom));max-height:calc(100dvh - 120px - env(safe-area-inset-bottom))}
.has-floating-contact{padding-bottom:92px;scroll-padding-bottom:100px}
html:has(.floating-contact){scroll-padding-bottom:100px}
@media(max-width:900px){
 .cooperation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .floating-contact{right:0;bottom:0;left:0;max-width:none;justify-content:flex-end;padding:8px 12px calc(8px + env(safe-area-inset-bottom)) 136px;background:#fff;border-top:1px solid var(--line);gap:8px}
 .platform-float{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:112px;height:44px;min-height:44px;padding:6px;border-radius:10px;box-shadow:none}
 .platform-float strong{font-size:11px;white-space:nowrap}.platform-float strong span{margin-left:2px}
 .floating-contact .whatsapp-float{width:48px;height:48px}
 .floating-contact-label{font-size:12px;line-height:14px;height:52px;min-width:0;min-height:52px;padding:4px 8px;box-shadow:none;text-align:center;justify-content:center}
 .has-floating-contact{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .has-floating-contact .analytics-consent{bottom:calc(80px + env(safe-area-inset-bottom));max-height:calc(100vh - 100px - env(safe-area-inset-bottom));max-height:calc(100dvh - 100px - env(safe-area-inset-bottom))}
}
@media(max-width:540px){.cooperation-grid{grid-template-columns:1fr}.cooperation-section .actions .btn{width:100%}}
[hidden]{display:none!important}
html{scroll-padding-top:110px}
body{overflow-wrap:break-word}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input,select,textarea{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:rgba(24,113,83,.18)}
@media(pointer:coarse){button,.btn,.product-link,.carousel-dot,summary{min-height:44px}input,select,textarea{font-size:16px}}
main,section,article,aside,.container{min-width:0}
.climate-layout>*,.value-layout>*,.service-shell>*,.detail-grid>*,.ssp-layout>*{min-width:0}
img,svg{max-width:100%}
h1,h2,h3{text-wrap:balance}
p{ text-wrap:pretty }
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:200;padding:12px 18px;background:var(--navy);color:white;border-radius:8px}
.skip-link:focus{top:12px}
section{padding-block:76px}
.hero{padding:0}.hero-grid{min-height:0;padding-block:64px;gap:44px}
.hero h1{font-size:clamp(36px,4.4vw,62px);line-height:1.08}
.eyebrow{letter-spacing:.055em}.eyebrow i{flex-shrink:0}
.section-head{max-width:800px;margin-bottom:32px}
.section-head p{max-width:72ch}
.solution-card{min-height:0;gap:0}.solutions-grid{gap:24px;align-items:stretch}
.solution-card h3{font-size:clamp(23px,2.4vw,29px);line-height:1.2}
.solution-card p{font-size:15px;line-height:1.7}
.solution-link{display:inline-flex;align-items:center;min-height:44px}
.solution-card:after{pointer-events:none}
.solution-card .solution-micro{flex-shrink:0}
.solutions-grid .featured-solution{column-gap:32px}
.featured-solution>.modeling-scope{align-self:start}.modeling-scope p{font-size:14px;line-height:1.65}
.purpose-shell{gap:40px}.purpose{padding-block:76px}
.service-integration{padding-block:24px}.integration-section{padding-block:16px 48px}
section.container:has(>.scope-note){padding-block:24px 0}section.container>.scope-note{margin:0}
.geo-section{padding-block:32px 48px}.geo-section .section-head{margin-bottom:24px}
.demo-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:10px}
.demo-tabs button{min-height:46px;padding:10px 22px;border:1px solid transparent;border-radius:9px;font:inherit;font-weight:700;color:var(--muted);background:transparent;cursor:pointer}
.demo-tabs button[aria-selected=true]{color:#fff;background:var(--navy)}
.geo-section .geo-viewer,.geo-section .territory-dashboard{margin-bottom:0}
.geo-section .geo-map{height:390px}.geo-toolbar strong,.dashboard-heading strong{font-size:16px}
.geo-toolbar>span,.geo-status,.dashboard-heading small,.dashboard-heading label,.coverage-legend,.dashboard-chart h4,.dashboard-metrics span,.territory-dashboard .dashboard-footnote{font-size:13px}
.dashboard-heading{padding:20px}.dashboard-heading select{font-size:16px;min-height:44px}
.dashboard-metrics{padding:20px;gap:16px}.dashboard-metrics>div{padding:16px}.dashboard-metrics strong{font-size:28px}
.dashboard-charts{padding:0 20px 24px;gap:32px}.dashboard-bars{height:170px}.dashboard-bars b,.dashboard-bars span{font-size:12px}
.geo-layers label{min-height:44px;font-size:13px}.geo-layers legend{font-size:12px}.geo-zoom button{width:44px;height:44px}
.geo-layers input{width:16px;height:16px}.geo-status{line-height:1.6}
.nav{gap:18px}.navlinks{gap:16px;font-size:13px}.navlinks>a{min-height:44px;display:inline-flex;align-items:center}
.logo-img{width:230px;height:auto}.language-switcher a{min-height:40px}
.carousel-dots{flex-wrap:wrap;gap:4px}
.carousel-dots button,.carousel-dots button[aria-current="true"]{display:grid;place-items:center;width:44px;height:44px;background:transparent}
.carousel-dots button::after{content:"";width:8px;height:8px;border-radius:8px;background:#71899b}
.carousel-dots button[aria-current="true"]::after{width:26px;background:var(--green-deep)}
.menu-toggle{display:none}.upcoming-link-mobile{display:none!important}
.foot{gap:24px}footer{margin-top:40px}
.breadcrumb{flex-wrap:wrap}.cta-box p,.contact-note a{overflow-wrap:anywhere}
@media(max-width:1180px){
 .nav{position:relative;min-height:76px;flex-wrap:nowrap;gap:10px}
 .logo-img{width:200px;max-width:100%}.nav>a{min-width:0;margin-right:auto}
 .language-switcher-mobile{display:inline-flex;flex-shrink:0}
 .menu-toggle{display:block;flex-shrink:0;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font:inherit;font-size:14px;font-weight:700}
 .navlinks{display:flex;flex-wrap:wrap}
 .has-nav-menu .navlinks{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 90px);overflow:auto;padding:14px;background:#fff;box-shadow:0 16px 25px #0b1f331a;border:1px solid var(--line);border-radius:0 0 14px 14px}
 .has-nav-menu.menu-open .navlinks{display:grid;grid-template-columns:1fr 1fr;gap:6px}
 .navlinks>a{padding:10px 12px;min-height:48px;border-radius:8px}.navlinks .language-switcher{display:none}
 header:not(.has-nav-menu) .nav{flex-wrap:wrap}header:not(.has-nav-menu) .navlinks{order:3;width:100%}
 .purpose-shell{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:800px){
 section,.purpose{padding-block:56px}.container{width:calc(100% - 36px)}
 .hero{padding:0}.hero-grid{padding-block:40px;gap:32px}.hero h1{font-size:clamp(34px,6vw,46px)}
 .hero-grid,.service-shell,.detail-grid,.purpose-shell,.value-layout,.climate-layout,.ssp-layout{grid-template-columns:1fr}
 .purpose-shell{display:block}.purpose-principles{margin-top:32px}
 .solutions .solutions-grid{grid-template-columns:1fr}.solutions-grid .featured-solution{display:block}
 .featured-solution>.model-card-visual{min-height:135px;margin:0 0 24px}.modeling-scope{margin-top:24px}
 .solution-card:hover{transform:none}.solution-card{padding:24px}
 .hero .visual{min-height:0}.terrain-card{max-width:440px}
 .page-hero{padding-block:36px 44px}.page-hero h1{font-size:clamp(32px,6vw,46px);line-height:1.12}
 .section-head h2{font-size:clamp(29px,5vw,38px);line-height:1.15}
 .geo-section{padding-block:24px 40px}.geo-section .geo-map{height:340px}
 .service-integration{grid-template-columns:1fr;gap:16px}.integration-section{padding-block:0 32px}
 .service-integration .solution-micro{margin:0}.cta-box{gap:24px}
 .model-process-track{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.model-process-track article{min-width:0;min-height:0}
}
@media(max-width:540px){
 .container{width:calc(100% - 32px)}.nav{min-height:72px;gap:8px}.logo-img{width:150px}
 .language-switcher-mobile{padding:2px}.language-switcher a{min-width:35px;min-height:40px;padding:0 5px;font-size:11px}.language-switcher a img{display:none}
 .menu-toggle{font-size:13px;padding:8px 10px}.has-nav-menu.menu-open .navlinks{grid-template-columns:1fr}
 .hero h1{font-size:34px;line-height:1.12;letter-spacing:-.035em}.hero p{font-size:16px}
 .eyebrow{font-size:10px;letter-spacing:.04em;padding:8px 10px;border-radius:14px}
 .hero-mini{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}
 .section-head{margin-bottom:24px}.section-head p,.solution-card p,.domain-body p{font-size:15px}
 .solution-card,.portfolio-card,.case-body{padding:20px}.solution-card h3{font-size:25px}
 .modeling-scope{grid-template-columns:1fr;gap:18px}.modeling-scope h4{font-size:15px}
 .purpose-statement span{font-size:26px}.purpose-transition{gap:16px}
 .geo-section .geo-map{height:auto;display:flex;flex-direction:column}.geo-map>svg{height:250px;order:2}
 .geo-layers{position:static;order:1;display:flex;flex-wrap:wrap;gap:0 10px;border:0;border-radius:0;box-shadow:none;padding:8px 12px;margin:0;border-bottom:1px solid var(--line)}
 .geo-layers legend{float:left;line-height:44px;padding-right:6px}.geo-layers label{font-size:12px;gap:5px}.geo-north{top:auto;bottom:205px}
 .dashboard-heading{padding:16px;align-items:flex-start}.dashboard-heading label{width:100%}.dashboard-heading select{width:100%}
 .dashboard-metrics{gap:8px;padding:16px}.dashboard-metrics>div{padding:10px 8px}.dashboard-metrics span{font-size:11px;min-height:38px}.dashboard-metrics strong{font-size:20px;white-space:normal}
 .dashboard-charts{grid-template-columns:1fr;padding:0 16px 20px;gap:24px}.dashboard-chart h4{min-height:0}.coverage-legend{font-size:13px}.dashboard-bars{height:145px}
 .geo-toolbar{padding:14px}.geo-toolbar>span{font-size:12px}.geo-status{font-size:12px}
 .whatsapp-float{width:46px;height:46px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));box-shadow:0 4px 14px #0b1f3326}
 footer{padding-bottom:84px}.foot>div{overflow-wrap:anywhere}
 .btn{padding:12px 18px;line-height:1.4;text-align:center}.related-card{min-height:80px}
 .sector-related a{min-height:44px;display:flex;align-items:center}
 .leadership-image{max-width:100%;width:100%;object-fit:contain}
 .purpose-path{gap:4px}.purpose-path span{font-size:8px;letter-spacing:0;min-width:0}
 .ssp-table{table-layout:fixed}.ssp-table th,.ssp-table td{overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Comfortable touch targets on phones, including landscape layouts. */
@media(max-width:1180px){
 .menu-toggle,.language-switcher a{min-height:48px}
 .language-switcher a{min-width:44px}
 .geo-zoom button{width:48px;height:48px}
 .geo-layers label,.demo-tabs button,.dashboard-heading select{min-height:48px}
 .has-nav-menu .navlinks{max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overscroll-behavior:contain}
 .sector-selector{scroll-padding-inline:12px;scrollbar-width:thin}
}
@media(max-width:380px){
 .nav{gap:6px}.logo-img{width:128px}.menu-toggle{padding-inline:8px}
}
@media(hover:none){
 .solution-card:hover,.primary:hover,.sector-selector button:hover{transform:none}
}
