/* Diseño de referencia LCS (LCS_Pagina_Web_Interactiva.html, oct. 2026): sistema visual del sitio. Lo edita solo el agente A; las plantillas ajustan en su lcs-<plantilla>.css. */

:root{--navy:#062b40;--deep:#002637;--ink:#0a3249;--text:#456074;--teal:#00a6a8;--blue:#056ce4;--green:#28be70;--light:#f3f9fb;--line:#dcebf0;--shadow:0 12px 40px rgba(4,42,60,.10);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 Inter,'Aptos','Segoe UI',Arial,sans-serif;background:white}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.container{width:min(1404px,calc(100% - 56px));max-width:none;padding-inline:12px;margin-inline:auto}.ico{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}.eyebrow{display:block;font-size:11px;font-weight:850;color:#007c87;letter-spacing:.27em;text-transform:uppercase}.section-title{font-size:clamp(30px,3.8vw,54px);line-height:1.13;letter-spacing:-.04em;margin:14px 0 17px;font-weight:850;color:var(--navy)}.section-lead{max-width:680px;color:#587387;font-size:17px;line-height:1.78}.gradient-text{background:linear-gradient(105deg,#55d968 0%,#04af9c 48%,#0069ed 100%);background-clip:text;-webkit-background-clip:text;color:transparent}.button{border:0;display:inline-flex;align-items:center;gap:13px;justify-content:center;padding:14px 23px;min-height:48px;border-radius:50px;font-weight:800;letter-spacing:.025em;font-size:12px;white-space:normal;transition:.22s ease;background:linear-gradient(105deg,#008466,#0461bf);color:#fff;box-shadow:0 8px 18px rgba(3,88,134,.13)}.button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(3,88,134,.21)}.button .ico{width:16px;height:16px;stroke-width:2}.button-outline{background:#fff;color:var(--ink);border:1.6px solid #00a7a9;box-shadow:none}.button-white{background:#fff;color:#092f44;box-shadow:none}.button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #056ce4;outline-offset:4px}
.site-header{height:80px;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(15,84,105,.06)}.header-inner{width:min(1490px,calc(100% - 54px));margin:auto;height:100%;display:flex;align-items:center;gap:27px}.brand{display:flex;align-items:center;gap:24px;flex-shrink:0}.brand-icon{font-size:40px;line-height:1;font-weight:1000;letter-spacing:-.14em;color:var(--navy)}.brand-icon .L{color:#00374a}.brand-icon .C{color:#21bf78}.brand-icon .S{color:#0666e3}.brand-mark{width:24px;height:24px;border-radius:100% 0 100% 0;background:linear-gradient(135deg,#068d92,#26cc73);transform:rotate(-22deg);margin-right:10px;display:inline-block}.brand-name{display:block;font-size:9px;font-weight:900;text-align:center;letter-spacing:.035em;color:#092e43;margin-top:-2px}.brand-tag{border-left:1px solid #d5e6eb;padding-left:20px;color:#3a576d;line-height:1.23;font-size:11px;font-weight:700;letter-spacing:.03em}.desktop-nav{display:flex;gap:27px;align-items:center;justify-content:center;flex:1}.desktop-nav a{font-size:11px;font-weight:900;white-space:nowrap;position:relative;letter-spacing:.035em}.desktop-nav a:hover,.desktop-nav a.is-current{color:#007c87}.desktop-nav a.is-current:after{content:'';position:absolute;left:0;right:0;height:2px;bottom:-9px;background:#029fa6}.header-right{display:flex;align-items:center;gap:19px}.lang{display:flex;align-items:center;gap:7px;color:#3d596b;font-size:12px;font-weight:800}.lang svg{width:19px;height:19px}.header-cta{padding:12px 21px;font-size:11px}.menu-toggle{display:none;background:#eaf6f8;border:0;border-radius:11px;padding:10px;color:#0a4b64}.menu-toggle .ico{width:24px;height:24px}.mobile-nav{display:none}
.hero{min-height:502px;position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0%,#fff 29%,#ecf7fa 62%,#d9e9f0 100%)}.hero:before{content:'';position:absolute;inset:0 0 0 26%;background-image:url('/assets/img/lcs/hero.webp');background-position:center right;background-size:cover;opacity:.99}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 17%,rgba(255,255,255,.98) 28%,rgba(255,255,255,.84) 38%,rgba(255,255,255,.28) 64%,transparent 86%);pointer-events:none}.hero-content{position:relative;z-index:2;padding-top:59px;padding-bottom:92px}.hero-top{color:#4f7489;letter-spacing:.37em;font-size:10px;font-weight:850;margin-bottom:17px}.hero h1{font-size:clamp(41px,4.3vw,66px);line-height:1.04;font-weight:1000;letter-spacing:-.06em;max-width:820px;margin:0 0 19px;color:var(--deep)}.hero p{max-width:495px;font-size:18px;color:#49677b;line-height:1.48;margin:0 0 22px}.hero-buttons{display:flex;gap:13px;flex-wrap:wrap}.hero-tags{position:absolute;right:29px;top:32px;display:grid;gap:10px;z-index:2}.hero-tag{background:rgba(1,43,62,.70);color:#f0ffff;backdrop-filter:blur(6px);border:1px solid rgba(29,232,218,.31);border-radius:11px;padding:10px 15px;font-weight:800;font-size:10px;letter-spacing:.035em;display:flex;gap:11px;align-items:center}.hero-tag .ico{color:#37dcb9;width:21px;height:21px}.hero-caption{position:absolute;right:25px;bottom:34px;color:white;font-size:9px;opacity:.8;z-index:2;text-shadow:0 2px 7px #002c3d}.pillars{position:relative;z-index:5;margin-top:-48px}.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.pillar{display:flex;align-items:center;gap:15px;min-height:119px;padding:21px;background:rgba(255,255,255,.97);border:1px solid #edf1f3;border-radius:16px;box-shadow:var(--shadow);transition:.2s ease}.pillar:hover{transform:translateY(-4px);border-color:#8cdae2}.pillar-icon{width:67px;height:67px;background:linear-gradient(130deg,#e0f7ef,#e5f5ff);display:grid;place-items:center;border-radius:50%;color:#009b95;flex:none}.pillar-icon .ico{width:35px;height:35px}.pillar h3{margin:0 0 4px;font-size:15px;font-weight:950;line-height:1.18}.pillar p{margin:0;color:#5a7182;font-size:12px;line-height:1.32}.pillar .arrow-sm{color:#23768a;font-size:23px;align-self:center}
.ecosystem{background:linear-gradient(114deg,#002c41 0%,#004153 44%,#002938 100%);color:#fff;padding:56px 0 48px;position:relative;overflow:hidden;margin-top:11px}.ecosystem:before{content:'';position:absolute;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(0,186,183,.14),transparent 63%);right:15%;top:-260px}.ecosystem-grid{position:relative;display:grid;grid-template-columns:320px 1fr;align-items:center;gap:40px}.ecosystem h2{font-size:41px;line-height:1.14;margin:0 0 14px;letter-spacing:-.045em;font-weight:920}.ecosystem h2 span{color:#00c2ea}.ecosystem p{color:#c6e2e9;line-height:1.62;margin:0 0 21px;font-size:14px}.ecosystem-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.flowstep{min-width:0;position:relative;border-left:1px solid rgba(118,197,211,.2);padding-left:16px}.flowstep:not(:last-child):after{content:'→';color:#3ef9e9;position:absolute;right:-17px;top:44px;font-size:25px;text-shadow:0 0 9px #16bfb7}.flow-media{height:115px;border:1px solid #00b9d7;border-radius:12px;position:relative;overflow:hidden;background:#002437}.flow-media img{height:100%;width:100%;object-fit:cover;object-position:center}.flow-ic{position:absolute;left:11px;top:9px;border-radius:50%;padding:8px;background:rgba(0,34,50,.85);display:grid;place-items:center;color:#3be9db}.flow-ic .ico{width:22px;height:22px}.flowstep h3{font-size:14px;margin:11px 0 3px;font-weight:900;color:#fff}.flowstep p{font-size:12px;line-height:1.35;margin:0;color:#a9d5dd}.about-glance{padding:78px 0 68px}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.about-visual{position:relative;min-height:350px;border-radius:24px;background:linear-gradient(150deg,#d6eef0,#e9f4f8);overflow:hidden}.about-visual img{width:100%;height:350px;object-fit:cover}.about-badge{position:absolute;left:19px;bottom:18px;max-width:280px;background:rgba(255,255,255,.95);border-radius:13px;padding:15px;color:#03475b;box-shadow:var(--shadow);font-weight:800;font-size:14px}.about-grid p{color:#5a7485}.about-triad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.about-triad div{border:1px solid #dce9ef;border-radius:13px;background:#f7fbfd;padding:15px}.about-triad b{display:block;font-size:13px}.about-triad span{font-size:11px;color:#5a7485}.founder-strip{background:#f4f9fb;border-block:1px solid #e6eff2;padding:23px 0}.founder-strip-inner{display:grid;grid-template-columns:1fr 2fr;gap:45px;align-items:center}.founder-strip strong{color:#00798c}.founder-strip p{margin:0;color:#496a79;font-size:13px}
.section{padding:94px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:33px}.technologies{background:#f5fafc}.tech-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.tech-card{background:#fff;border:1px solid #e1edf1;border-radius:18px;padding:13px 13px 23px;box-shadow:0 9px 22px rgba(15,52,71,.05);transition:transform .2s,border .2s;min-width:0}.tech-card:hover{transform:translateY(-6px);border-color:#42b6b8}.tech-card-image{height:151px;background:#eaf3f7;border-radius:12px;overflow:hidden}.tech-card-image img{width:100%;height:100%;object-fit:cover}.tech-meta{display:flex;justify-content:space-between;gap:5px;align-items:center;margin-top:13px}.tech-icon{display:grid;place-items:center;background:#e9f7f4;color:#039c9e;border-radius:50%;width:40px;height:40px}.tech-icon .ico{width:23px;height:23px}.tech-status{color:#0d7f78;font-size:9px;line-height:1.2;text-align:right;max-width:125px;font-weight:850}.tech-card h3{margin:10px 0 5px;font-size:16px;font-weight:950}.tech-card strong{display:block;font-size:12px;line-height:1.3;margin-bottom:8px}.tech-card p{font-size:12px;color:#5d788b;min-height:89px;margin:0}.text-link{display:inline-block;color:#007c87;font-size:10px;font-weight:900;margin-top:19px;letter-spacing:.04em}.text-link b{font-size:17px}.technology-details{display:grid;gap:23px;margin-top:45px}.tech-detail{display:grid;grid-template-columns:40% 1fr;gap:38px;align-items:center;background:#fff;border:1px solid #e2eff1;border-radius:21px;overflow:hidden;scroll-margin-top:100px}.tech-detail:nth-child(even){grid-template-columns:1fr 40%}.tech-detail:nth-child(even) .detail-image{order:2}.detail-image{height:100%;min-height:360px;position:relative;background:#ddebf1}.detail-image img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover}.detail-pill{position:absolute;bottom:18px;left:18px;right:18px;background:rgba(255,255,255,.94);color:#047a85;border-radius:10px;padding:10px 14px;font-size:11px;text-align:center;font-weight:800}.detail-copy{padding:28px 37px 30px 0}.tech-detail:nth-child(even) .detail-copy{padding:28px 0 30px 37px}.detail-copy h3{font-size:31px;margin:12px 0 8px;line-height:1.1;letter-spacing:-.03em}.detail-copy h4{margin:0 0 12px;color:#007f86;font-size:15px}.detail-copy p{color:#587486;font-size:14px;line-height:1.7}.detail-app{background:#f0f8fa;border-left:3px solid #14ada7;border-radius:8px;padding:12px 15px;margin:16px 0}.detail-app b{font-size:12px;display:block}.detail-app span{font-size:13px;color:#5a7485}
.services-layout{display:grid;grid-template-columns:.66fr 1fr;gap:75px;align-items:start}.services-side{position:sticky;top:113px}.services-side-visual{border-radius:19px;overflow:hidden;margin-top:25px;height:225px;background:#eff8fb}.services-side-visual img{width:100%;height:100%;object-fit:cover}.services-accordion{display:grid;gap:10px}.service-item{border:1px solid #dcebee;border-radius:15px;overflow:hidden;background:#fff}.service-item[open]{border-color:#8fdad4;box-shadow:0 7px 22px rgba(0,94,120,.07)}.service-item summary{display:flex;gap:16px;align-items:center;min-height:85px;padding:17px 21px;cursor:pointer;list-style:none}.service-item summary::-webkit-details-marker{display:none}.service-n{color:#007f86;font-weight:900;font-size:13px}.service-symbol{width:44px;height:44px;background:#eaf8f6;border-radius:50%;display:grid;place-items:center;color:#009c9c}.service-symbol .ico{width:25px;height:25px}.service-header{flex:1}.service-header b{display:block;font-size:15px;line-height:1.25}.service-header small{font-size:12px;color:#5f7a8a;display:block;margin-top:4px}.service-plus{font-size:25px;color:#009cab}.service-item[open] .service-plus{transform:rotate(45deg)}.service-expand{padding:0 25px 25px 95px}.service-expand p{color:#567184;font-size:14px;margin:0 0 12px}.service-expand a,.project-body a{display:inline-flex;gap:9px;align-items:center;color:#007c87;font-weight:900;font-size:11px}.service-expand a .ico,.project-body a .ico{width:15px;height:15px}
.proof{padding:74px 0;background:#fff}.proof-grid{display:grid;grid-template-columns:1.12fr repeat(3,1fr) 1.15fr;gap:16px;align-items:stretch}.proof-intro{padding:13px 16px 7px 0}.proof-intro h2{font-size:30px;line-height:1.1;margin:9px 0}.proof-intro p{font-size:13px;color:#5f788a;line-height:1.6}.proof-card{background:#f9fcfd;border:1px solid #ebf1f5;border-radius:14px;overflow:hidden}.proof-photo{height:153px;position:relative}.proof-photo img{width:100%;height:100%;object-fit:cover}.proof-photo span{position:absolute;bottom:-17px;left:16px;width:39px;height:39px;display:grid;place-items:center;background:#13b76e;color:#fff;border:3px solid white;border-radius:50%}.proof-body{padding:27px 14px 15px}.proof-card h3{font-size:13px;line-height:1.25;margin:0 0 6px}.proof-card p{font-size:12px;color:#5d7787;margin:0;line-height:1.35}.proof-nature{border-radius:15px;overflow:hidden;position:relative;min-height:250px;background:#006a58}.proof-nature img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.proof-nature span{position:absolute;left:12px;right:12px;bottom:24px;text-align:center;color:white;font-size:13px;letter-spacing:.18em;font-weight:900;text-shadow:0 2px 6px #003533}
.projects{background:#f5fafc}.projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-card{background:#fff;border:1px solid #e1eef2;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.project-img{height:174px;overflow:hidden;background:#e4f0f4}.project-img img{height:100%;width:100%;object-fit:cover}.project-body{padding:20px 19px 24px;display:flex;flex-direction:column;flex:1}.project-kicker{color:#007f86;font-size:10px;font-weight:900;letter-spacing:.13em}.project-body h3{font-size:18px;line-height:1.2;margin:9px 0 12px}.status-chip{display:inline-block;align-self:start;padding:5px 9px;background:#e8f7f3;border-radius:4px;color:#0a6f69;font-size:10px;font-weight:850}.project-body p{font-size:13px;color:#5a7485;flex:1;line-height:1.65}.project-body a{margin-top:17px}
.sustainability{background:linear-gradient(120deg,#002f41,#00515a);color:white;overflow:hidden}.sustain-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.sustainability .eyebrow{color:#50eac0}.sustainability .section-title{color:#fff}.sustainability .section-lead{color:#b9dfe1}.sustain-items{display:grid;grid-template-columns:repeat(2,1fr);gap:21px;margin-top:35px}.sustain-item{display:flex;align-items:start;gap:12px}.sustain-item>.ico{color:#6ae4bd;background:rgba(255,255,255,.08);box-sizing:content-box;padding:10px;border-radius:12px}.sustain-item h3{font-size:13px;margin:0 0 5px}.sustain-item p{font-size:12px;line-height:1.47;color:#c5e5e6;margin:0}.sustain-img{min-height:470px;border-radius:22px;overflow:hidden;position:relative}.sustain-img img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.sustain-img:after{content:none}
.partners{padding:80px 0}.partners-bar{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.partners-panel{padding:36px 38px;border:1px solid #dcebef;border-radius:20px;background:linear-gradient(120deg,#f4fbfd,#edfaf3)}.partners-panel h3{font-size:21px;margin:0 0 13px}.partners-panel p{color:#547485;font-size:14px}.partners-tags{display:flex;flex-wrap:wrap;gap:9px}.partners-tags span{font-size:11px;color:#0a7a80;background:white;border:1px solid #d5eaec;padding:8px 12px;border-radius:20px;font-weight:750}
.contact{padding:89px 0;background:#f4f9fb}.contact-grid{display:grid;grid-template-columns:.85fr 1fr;gap:75px}.contact-copy p{color:#587387;font-size:16px}.contact-note{padding:17px;background:#fff;border-left:3px solid #21b88f;border-radius:8px;margin-top:34px;font-size:13px;color:#587a84}.contact-form{background:#fff;border:1px solid #dcebed;border-radius:20px;padding:30px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.wide{grid-column:1/-1}.field label{font-size:12px;font-weight:900}.field input,.field select,.field textarea{border:1px solid #cddfe7;background:#fafdfe;border-radius:8px;padding:13px;color:#173d54;min-height:48px;width:100%}.field textarea{resize:vertical;min-height:110px}.contact-form button{margin-top:21px}.demo-warning{margin-top:16px;color:#5f727c;font-size:12px}.form-message{display:none;color:#08536e;background:#e2f7f2;padding:13px 17px;border:1px solid #96d4c7;border-radius:10px;margin-top:16px;font-size:13px}.form-message.show{display:block}
.footer{background:#002d40;color:#b6d3de;padding:54px 0 18px}.footer-main{display:grid;grid-template-columns:1.4fr repeat(2,.7fr) 1fr;gap:45px;padding-bottom:38px}.footer .brand-name,.footer .brand-icon .L{color:white}.footer .brand-tag{color:#c2d9e4;border-color:#35596a}.footer-about p{max-width:330px;font-size:13px;color:#b7d4db}.footer h3{margin:0 0 17px;font-size:13px;color:white}.footer a{display:block;font-size:13px;margin:8px 0;color:#b5d4db}.footer a:hover{color:white}.footer p{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #1a5466;padding-top:17px;color:#a7c9d1;font-size:11px}.notice{padding:10px 0;font-size:11px;color:#5a7485;background:#f2f7f9;text-align:center}.anchor{scroll-margin-top:100px}
@media(max-width:1300px){.desktop-nav{gap:16px}.brand{gap:14px}.brand-tag{font-size:9px;padding-left:12px}.header-cta{padding:11px 14px}.container{width:min(1204px,calc(100% - 28px))}.hero-tags{display:none}.pillar{gap:11px;padding:14px}.pillar-icon{width:49px;height:49px}.pillar-icon .ico{width:29px;height:29px}.pillar h3{font-size:13px}.tech-grid{grid-template-columns:repeat(3,1fr)}.proof-grid{grid-template-columns:repeat(3,1fr)}.proof-intro{grid-column:1/-1}.proof-nature{grid-column:3}.projects-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.site-header{height:72px}.desktop-nav,.lang,.header-cta{display:none}.header-inner{justify-content:space-between}.menu-toggle{display:grid;place-items:center}.mobile-nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;box-shadow:0 18px 20px rgba(8,50,71,.12);padding:14px 22px 20px;z-index:110}.mobile-nav.open{display:grid}.mobile-nav a{padding:10px;border-bottom:1px solid #edf3f5;font-size:13px;font-weight:800}.hero h1{font-size:clamp(38px,6vw,61px)}.hero-content{padding-top:66px;padding-bottom:110px}.pillars-grid{grid-template-columns:repeat(2,1fr)}.ecosystem-grid,.about-grid,.services-layout,.sustain-grid,.partners-bar,.contact-grid{grid-template-columns:1fr;gap:30px}.ecosystem-flow{grid-template-columns:repeat(4,1fr)}.services-side{position:static}.footer-main{grid-template-columns:1fr 1fr;gap:20px}.section{padding:70px 0}}
@media(max-width:700px){.container{width:calc(100% - 8px)}.header-inner{width:calc(100% - 24px)}.brand-icon{font-size:34px}.brand-tag{display:none}.hero{min-height:670px;background:#eaf4f7}.hero:before{inset:295px 0 0;background-position:center;background-size:cover}.hero:after{background:linear-gradient(180deg,#fff 0%,#fff 33%,rgba(255,255,255,.72) 50%,rgba(255,255,255,.06) 73%)}.hero-content{padding-top:42px;padding-bottom:0}.hero-top{font-size:9px;letter-spacing:.22em}.hero h1{font-size:clamp(35px,9vw,51px);max-width:580px}.hero p{font-size:15px;max-width:450px}.hero-buttons{gap:10px}.button{font-size:11px;padding:12px 17px;min-height:46px}.pillars{margin-top:0;padding-top:17px;background:#eff7fa}.pillars-grid{grid-template-columns:1fr;gap:10px}.pillar{min-height:90px;padding:13px}.pillar p{font-size:12px}.ecosystem{margin-top:0;padding:50px 0}.ecosystem h2{font-size:34px}.ecosystem-flow{grid-template-columns:repeat(2,1fr);gap:23px}.flowstep:not(:last-child):after{display:none}.flowstep{border:0;padding-left:0}.flow-media{height:135px}.about-glance{padding:65px 0}.about-grid{gap:25px}.about-triad{grid-template-columns:1fr}.founder-strip-inner{grid-template-columns:1fr;gap:9px}.section-title{font-size:34px}.section-heading{display:block}.section-lead{font-size:15px}.tech-grid{grid-template-columns:1fr}.tech-card-image{height:190px}.tech-card p{min-height:auto}.tech-detail,.tech-detail:nth-child(even){grid-template-columns:1fr;gap:0}.detail-image{min-height:255px}.tech-detail:nth-child(even) .detail-image{order:0}.detail-copy,.tech-detail:nth-child(even) .detail-copy{padding:23px !important}.detail-copy h3{font-size:27px}.proof-grid{grid-template-columns:1fr 1fr}.proof-intro{grid-column:1/-1}.proof-nature{grid-column:1/-1;min-height:270px}.projects-grid{grid-template-columns:1fr}.sustain-items{grid-template-columns:1fr}.sustain-img{min-height:330px}.form-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.contact-form{padding:20px}}
@media(max-width:420px){.hero{min-height:705px}.hero:before{top:350px}.hero h1{font-size:35px}.proof-grid{grid-template-columns:1fr}.proof-nature{grid-column:1}.flow-media{height:103px}.hero-buttons .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* ==========================================================================
   CAPA GLOBAL DEL SITIO (agente A) — integra la maqueta con el CMS.
   Lo anterior es la copia de la referencia con estos ajustes:
   · Tipografía: Inter local (variable 100–900, assets/fonts) primero; Aptos/Segoe UI de respaldo.
   · .container: Bootstrap también lo usa. Se fija el ancho de la referencia + 12 px de relleno
     por lado (el gutter de Bootstrap), así el contenido mide lo mismo que en la maqueta
     (min(1380px, 100% − 80px); 1180/−52 bajo 1300 px; 100% − 32 px = 16 px por lado bajo 700 px)
     y .row / .col-* siguen alineando sin desbordar.
   · Contraste AA (texto pequeño ≥ 4,5:1), oscurecido apenas respecto de la maqueta:
     .eyebrow #008d9a→#007c87 (4,96) · enlace actual del menú #008ca3→#007c87 · botón degradado
     #00a47a→#008466 (blanco encima 4,67; el extremo #0461bf no cambia) · foco #25bcd1→#056ce4
     sobre claro (4,9; #25bcd1 se mantiene sobre oscuro) · .hero-top #5b8095→#4f7489 ·
     .text-link #028999→#007c87 · .tech-status #13867f→#0d7f78 · .project-kicker/.service-n/
     .detail-copy h4 →#007f86 · .status-chip →#0a6f69 · grises #668092/#6b8492/#76909c/#66808e/
     #617d8d/#6d8897/#717f87/#5d7888 → #5a7485–#5f7a8a · .founder-strip strong →#00798c.
     --text #456074 sí alcanza (6,6:1 sobre blanco) y no se toca.
     Excepción de la maqueta: el degradado de .gradient-text empieza en #55d968 (bajo 3:1 sobre
     blanco); se usa solo en titulares grandes, como pide el diseño.
   ========================================================================== */

/* ---------- Tokens: los antiguos --lcs-* toman la paleta de la referencia ---------- */
:root {
  --lcs-azul-noche: var(--navy);
  --lcs-azul-noche-2: #0b3c55;
  --lcs-grafito: var(--ink);
  --lcs-gris-industrial: var(--text);
  --lcs-gris-claro-oscuro: #b6d3de;
  --lcs-azul-corporativo: #007c87;
  --lcs-azul-corporativo-hover: #005f69;
  --lcs-turquesa: var(--teal);
  --lcs-turquesa-claro: #00a7a9;
  --lcs-turquesa-luz: #50eac0;
  --lcs-azul-tecnologico: var(--blue);
  --lcs-azul-electrico: var(--blue);
  --lcs-azul-energetico: var(--green);
  --lcs-azul-energetico-hover: #3fcf84;
  --lcs-azul-energetico-texto: #0a7a52;
  --lcs-verde-sustentable: #50eac0;
  --lcs-verde-texto: #0a7a52;
  --lcs-verde-suave: #e8f7f3;
  --lcs-exito: #0a7a52;
  --lcs-gris-hielo: var(--light);
  --lcs-borde: var(--line);
  --lcs-borde-control: #8aa6b5;
  --lcs-gradiente: linear-gradient(105deg, #008466, #0461bf);
  --lcs-gradiente-linea: linear-gradient(90deg, #55d968 0%, #04af9c 48%, #0069ed 100%);
  --lcs-gradiente-titulo: linear-gradient(105deg, #55d968 0%, #04af9c 48%, #0069ed 100%);
  --lcs-gradiente-texto: var(--lcs-gradiente-titulo);
  --lcs-radio: 12px;
  --lcs-radio-lg: var(--radius);
  --lcs-sombra-sm: 0 9px 22px rgba(15, 52, 71, .05);
  --lcs-sombra: var(--shadow);
  --lcs-sombra-lg: 0 18px 44px rgba(4, 42, 60, .16);
  --lcs-fuente-titulos: Inter, 'Aptos', 'Segoe UI', Arial, sans-serif;
  --lcs-fuente-texto: Inter, 'Aptos', 'Segoe UI', Arial, sans-serif;
  --lcs-fs-base: 1rem;
  --lcs-fs-lead: clamp(1.0625rem, 1rem + .2vw, 1.125rem);
  --lcs-fs-h1: clamp(2.375rem, 1.6rem + 2.6vw, 3.875rem);
  --lcs-fs-h2: clamp(1.875rem, 1.2rem + 2.2vw, 3rem);
  --lcs-fs-h3: clamp(1.125rem, 1.05rem + .3vw, 1.3125rem);
  --lcs-lh-texto: 1.6;
  --lcs-lh-titulo: 1.13;
  --lcs-esp-seccion: clamp(4.375rem, 3rem + 3vw, 5.875rem);
  --lcs-header-alto: 80px;
  --lcs-btn-radio: 50px;
  --lcs-revision-color: #b42318;
}
@media (max-width: 1000px) { :root { --lcs-header-alto: 72px; } }

/* Contexto de color (lo leen los componentes de lcs.css) */
.lcs-body, .lcs-ctx-claro, .lcs-section, .lcs-hero, .lcs-migas, .lcs-cta-banner--claro {
  --lcs-c-texto: var(--ink);
  --lcs-c-titulo: var(--navy);
  --lcs-c-suave: var(--text);
  --lcs-c-enlace: #007c87;
  --lcs-c-enlace-hover: #005f69;
  --lcs-c-acento-texto: #007c87;
  --lcs-c-check: #0a7a52;
  --lcs-c-borde: var(--line);
  --lcs-c-foco: #056ce4;
}
.lcs-ctx-oscuro, .lcs-section--oscura, .lcs-footer, .footer, .lcs-cta-banner:not(.lcs-cta-banner--claro),
.lcs-card--aplicacion, .lcs-aviso-cookies, .ecosystem, .sustainability {
  --lcs-c-texto: #d6e9ef;
  --lcs-c-titulo: #fff;
  --lcs-c-suave: #b6d3de;
  --lcs-c-enlace: #50eac0;
  --lcs-c-enlace-hover: #fff;
  --lcs-c-acento-texto: #50eac0;
  --lcs-c-check: #50eac0;
  --lcs-c-borde: rgba(255, 255, 255, .16);
  --lcs-c-foco: #25bcd1;
  --lcs-revision-color: #ffa39e;
}
:is(.lcs-ctx-oscuro, .lcs-section--oscura, .footer, .lcs-aviso-cookies, .ecosystem, .sustainability) :is(a, button, summary, input, textarea, select):focus-visible { outline-color: #25bcd1; }

/* ---------- Base ---------- */
.lcs-body { font-family: var(--lcs-fuente-texto); font-size: 16px; line-height: 1.6; color: var(--ink); background: #fff; }
:where(.lcs-body) :is(h1, h2, h3, h4, h5, h6) { font-family: inherit; font-weight: 850; letter-spacing: -.02em; }
:where(.lcs-body) :is(h1, h2) { letter-spacing: -.035em; }
/* Enlaces dentro de texto corrido (la referencia hereda el color en los componentes): subrayados y en turquesa AA */
:where(.lcs-body main) :where(p, li, dd, td, address, figcaption, small, blockquote) a:not([class]) {
  color: var(--lcs-c-enlace);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
:where(.lcs-body main) :where(p, li, dd, td, address, figcaption, small, blockquote) a:not([class]):hover { color: var(--lcs-c-enlace-hover); }
.lcs-body :focus-visible { outline: 3px solid var(--lcs-c-foco); outline-offset: 3px; }
.lcs-pendiente, .lcs-revision { -webkit-text-fill-color: currentColor; }

/* Utilidades */
.gradient-text, .lcs-degradado, .lcs-home-degradado {
  background: linear-gradient(105deg, #55d968 0%, #04af9c 48%, #0069ed 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media (forced-colors: active) {
  .gradient-text, .lcs-degradado, .lcs-home-degradado { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; }
}
.section-title { text-transform: uppercase; text-wrap: balance; word-spacing: .06em; }
/* Inter es más compacta que Segoe UI Black: se abre apenas el interletrado negativo de los titulares grandes */
.hero h1 { letter-spacing: -.045em; word-spacing: .08em; }
.no-caps, .section-title.no-caps { text-transform: none; }

/* ---------- Botones: .button / .button-outline / .button-white y los .lcs-btn existentes ---------- */
.button { text-transform: uppercase; text-decoration: none; cursor: pointer; }
.button, .button:hover { color: #fff; }
.button-outline, .button-outline:hover { color: var(--ink); }
.button-white, .button-white:hover { color: #092f44; }
.button-outline:hover { border-color: #007c87; background: #f3fbfb; }
.button .bi { font-size: 15px; line-height: 1; }
.button:disabled, .button[aria-disabled="true"] { opacity: .55; transform: none; cursor: not-allowed; }
:is(.lcs-ctx-oscuro, .lcs-section--oscura, .footer, .ecosystem, .sustainability) .button-outline { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .7); }

.lcs-btn {
  gap: 13px;
  min-height: 48px;
  padding: 14px 23px;
  border-width: 1.6px;
  border-radius: 50px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .025em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: .22s ease;
}
.lcs-btn .ico { width: 16px; height: 16px; stroke-width: 2; }
.lcs-btn--primario, .lcs-btn--acento, .lcs-btn--primario:hover, .lcs-btn--acento:hover {
  --_bg: linear-gradient(105deg, #008466, #0461bf);
  --_bd: transparent;
  --_fg: #fff;
  box-shadow: 0 8px 18px rgba(3, 88, 134, .13);
}
.lcs-btn--primario:hover, .lcs-btn--acento:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(3, 88, 134, .21); }
.lcs-btn--secundario, .lcs-hero .lcs-btn--secundario, .lcs-header .lcs-btn--secundario { --_bg: #fff; --_bd: #00a7a9; --_fg: var(--ink); box-shadow: none; }
.lcs-btn--secundario:hover, .lcs-hero .lcs-btn--secundario:hover { --_bg: #f3fbfb; --_bd: #007c87; --_fg: var(--ink); }
:is(.lcs-ctx-oscuro, .lcs-section--oscura, .lcs-cta-banner:not(.lcs-cta-banner--claro), .lcs-footer, .footer, .lcs-aviso-cookies, .ecosystem, .sustainability) .lcs-btn--secundario,
:is(.lcs-ctx-oscuro, .lcs-section--oscura, .lcs-cta-banner:not(.lcs-cta-banner--claro), .lcs-footer, .footer, .lcs-aviso-cookies, .ecosystem, .sustainability) .lcs-btn--secundario:hover { --_bg: transparent; --_bd: rgba(255, 255, 255, .7); --_fg: #fff; }
.lcs-btn--claro, .lcs-btn--claro:hover { --_bg: #fff; --_bd: #fff; --_fg: #092f44; box-shadow: none; }
.lcs-btn--link { min-height: 0; padding: 2px 0; font-size: 11px; font-weight: 900; letter-spacing: .04em; --_fg: var(--lcs-c-enlace); }
.lcs-btn--sm { min-height: 44px; padding: 11px 18px; font-size: 11px; }
.lcs-acciones, .hero-buttons { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }

/* Antetítulo y títulos de sección de lcs.css con el aspecto de .eyebrow / .section-title */
.lcs-eyebrow {
  display: block;
  margin: 0 0 14px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .27em;
  text-transform: uppercase;
  color: var(--lcs-c-acento-texto);
}
.lcs-eyebrow::before { display: none; }
.lcs-titulo-seccion { max-width: 760px; margin-bottom: 33px; }
.lcs-body .lcs-titulo-seccion__titulo { font-size: clamp(30px, 3.4vw, 48px); line-height: 1.13; letter-spacing: -.04em; font-weight: 850; color: var(--lcs-c-titulo); text-transform: uppercase; }
.lcs-titulo-seccion__intro { color: #587387; font-size: 17px; line-height: 1.78; }
.lcs-section--alt { --lcs-c-fondo: #f5fafc; }
.lcs-section--oscura { background: linear-gradient(114deg, #002c41 0%, #004153 44%, #002938 100%); }
.lcs-card { border-color: #e1edf1; border-radius: var(--radius); }

/* ---------- Cabecera (.site-header) ---------- */
.site-header { z-index: 1035; transition: box-shadow .2s ease; }
.site-header.is-scrolled { box-shadow: 0 8px 24px -16px rgba(4, 42, 60, .35); }
.site-header.is-menu-open, .site-header:has(.desktop-nav__item.is-open) { z-index: 1070; } /* el menú abierto queda sobre el aviso de cookies */
.header-inner { position: relative; }
.brand { min-width: 0; color: inherit; text-decoration: none; }
.brand-logo { display: block; width: auto; height: 46px; max-width: none; }
.brand-tag { white-space: nowrap; }
.desktop-nav { min-width: 0; }
.desktop-nav__lista { display: flex; align-items: center; justify-content: center; gap: inherit; margin: 0; padding: 0; list-style: none; }
.desktop-nav__lista > li { position: relative; display: flex; align-items: center; }
.desktop-nav__link { text-transform: uppercase; padding: 6px 0; }
.desktop-nav__item { gap: 3px; }
.desktop-nav__toggle {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-right: -6px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #3d596b;
}
.desktop-nav__toggle .ico { width: 14px; height: 14px; stroke-width: 2.2; transition: transform .2s ease; }
.desktop-nav__toggle:hover { color: #007c87; background: #eaf6f8; }
.desktop-nav__item.is-open .desktop-nav__toggle .ico { transform: rotate(180deg); }
.desktop-nav__toggle:focus-visible { outline: 3px solid #056ce4; outline-offset: 2px; }
.desktop-nav__panel {
  position: absolute;
  top: calc(100% + 14px);
  left: -18px;
  z-index: 120;
  display: none;
  min-width: 290px;
  padding: 10px;
  border: 1px solid #e1edf1;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
}
.desktop-nav__panel::before { content: ''; position: absolute; left: 0; right: 0; top: -16px; height: 16px; } /* puente para el puntero */
.desktop-nav__item.is-open .desktop-nav__panel { display: block; }
.nav-sub { margin: 0; padding: 0; list-style: none; }
.desktop-nav .nav-sub a {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  white-space: normal;
  color: var(--ink);
}
.desktop-nav .nav-sub a:hover, .desktop-nav .nav-sub a[aria-current="page"] { background: #f3f9fb; color: #007c87; }
.nav-sub__todo { margin-top: 4px; padding-top: 4px; border-top: 1px solid #edf3f5; }
.desktop-nav .nav-sub__todo a { font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; color: #007c87; }
ul.lang { margin: 0; padding: 0; list-style: none; }
.lang a { color: inherit; padding: 4px 2px; }
.lang a[aria-current="true"] { color: #007c87; box-shadow: inset 0 -2px 0 #029fa6; }
.header-cta { text-transform: uppercase; white-space: nowrap; }
.menu-toggle { width: 44px; height: 44px; }
.menu-toggle:focus-visible { outline: 3px solid #056ce4; outline-offset: 2px; }
@media (max-width: 1300px) and (min-width: 1001px) {
  .brand-logo { height: 40px; }
  .header-inner { gap: 18px; }
}
@media (max-width: 1100px) and (min-width: 1001px) {
  .brand-tag { display: none; }
}
@media (max-width: 1000px) {
  .mobile-nav { max-height: calc(100vh - 72px); max-height: calc(100dvh - 72px); overflow-y: auto; overscroll-behavior: contain; }
  .mobile-nav.open { display: flex; flex-direction: column; }
  .mobile-nav a { display: flex; align-items: center; min-height: 44px; color: var(--ink); }
  .mobile-nav__link { text-transform: uppercase; }
  .mobile-nav__link.is-current { color: #007c87; box-shadow: inset 3px 0 0 #029fa6; }
  .mobile-nav__fila { display: flex; align-items: center; border-bottom: 1px solid #edf3f5; }
  .mobile-nav__fila .mobile-nav__link { flex: 1; border-bottom: 0; }
  .mobile-nav__toggle { display: grid; place-items: center; flex: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: #eaf6f8; color: #0a4b64; }
  .mobile-nav__toggle .ico { width: 18px; height: 18px; stroke-width: 2.2; transition: transform .2s ease; }
  .mobile-nav__grupo.is-open .mobile-nav__toggle .ico { transform: rotate(180deg); }
  .mobile-nav__sub { display: none; padding: 4px 0 8px 14px; border-bottom: 1px solid #edf3f5; }
  .mobile-nav__grupo.is-open .mobile-nav__sub { display: block; }
  .mobile-nav .mobile-nav__sub a { border-bottom: 0; padding: 8px 10px; font-size: 13px; font-weight: 650; color: #3a576d; }
  .mobile-nav .mobile-nav__sub a[aria-current="page"] { color: #007c87; }
  .mobile-nav .mobile-nav__sub .nav-sub__todo { border-top: 0; margin: 0; padding: 0; }
  .mobile-nav .mobile-nav__sub .nav-sub__todo a { font-weight: 900; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: #007c87; }
  .mobile-nav .mobile-nav__cta { justify-content: center; margin-top: 16px; padding: 14px 23px; border: 0; font-size: 12px; color: #fff; }
  .mobile-nav__lang { display: flex; gap: 18px; margin-top: 12px; }
  .mobile-nav__lang a { border-bottom: 0; padding: 0 4px; }
}
@media (max-width: 700px) {
  .brand-logo { height: 38px; }
  .header-inner { gap: 12px; }
}

/* ---------- Migas (franja de base.php y dentro del hero) ---------- */
.lcs-migas { background: #fff; padding-block: 14px; border-bottom: 1px solid #edf3f5; }
.lcs-breadcrumb { gap: 4px 9px; font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.lcs-breadcrumb__item { color: var(--text); }
.lcs-breadcrumb__item + .lcs-breadcrumb__item::before { color: #8aa3b1; }
.lcs-body .lcs-breadcrumb__item a { color: var(--text); text-decoration: none; }
.lcs-body .lcs-breadcrumb__item a:hover { color: #007c87; text-decoration: underline; }
.lcs-breadcrumb__item [aria-current="page"] { color: var(--navy); font-weight: 800; }

/* ---------- Hero de páginas internas (parciales/ficha-hero.php), en el lenguaje del hero claro ---------- */
.page-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, #fff 0%, #fff 29%, #ecf7fa 62%, #d9e9f0 100%);
  border-bottom: 1px solid rgba(15, 84, 105, .06);
}
.page-hero__media { position: absolute; inset: 0 0 0 40%; z-index: 0; background: #d9e9f0; }
.page-hero__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center right; }
.page-hero__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .92) 16%, rgba(255, 255, 255, .55) 42%, rgba(255, 255, 255, .1) 78%, transparent 100%);
}
.page-hero__contenido { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-start; min-height: 380px; padding-top: 34px; padding-bottom: 84px; }
.page-hero--media .page-hero__contenido { min-height: 470px; }
.page-hero .lcs-breadcrumb-nav { margin-bottom: 64px; }
.page-hero__eyebrow { margin: 0; }
.page-hero__titulo {
  max-width: 820px;
  margin: 14px 0 18px;
  font-size: clamp(38px, 4vw, 62px);
  line-height: 1.04;
  font-weight: 900;
  letter-spacing: -.045em;
  word-spacing: .08em;
  text-transform: uppercase;
  text-wrap: balance;
  color: var(--deep);
  overflow-wrap: anywhere;
  hyphens: auto;
}
.page-hero--media .page-hero__titulo { max-width: 700px; }
.page-hero__texto { max-width: 560px; margin: 0 0 24px; font-size: 18px; line-height: 1.5; color: #49677b; }
.page-hero__badge { margin: 0 0 24px; }
.page-hero__acciones { margin-top: 4px; }
.page-hero .lcs-breadcrumb-nav + .page-hero__titulo { margin-top: 0; }
@media (max-width: 1000px) {
  .page-hero__media { inset: 0 0 0 30%; }
  .page-hero__media::after { background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .94) 30%, rgba(255, 255, 255, .7) 60%, rgba(255, 255, 255, .35) 100%); }
  .page-hero__contenido, .page-hero--media .page-hero__contenido { min-height: 340px; padding-bottom: 64px; }
}
@media (max-width: 700px) {
  .page-hero--media { display: flex; flex-direction: column; }
  .page-hero--media .page-hero__media { position: relative; inset: auto; order: 2; height: 230px; }
  .page-hero--media .page-hero__media::after { background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, .5) 30%, rgba(255, 255, 255, 0) 70%); }
  .page-hero__contenido, .page-hero--media .page-hero__contenido { min-height: 0; padding-top: 22px; padding-bottom: 44px; }
  .page-hero--media .page-hero__contenido { padding-bottom: 16px; }
  .page-hero .lcs-breadcrumb-nav { margin-bottom: 36px; }
  .page-hero__titulo { font-size: clamp(32px, 9vw, 46px); }
  .page-hero__texto { font-size: 16px; }
}
@media (max-width: 420px) { .page-hero__acciones .button { width: 100%; } }

/* .lcs-hero (parciales/ficha.php y restos del tema anterior): versión clara de la referencia */
.lcs-body .lcs-hero { background: linear-gradient(90deg, #fff 0%, #fff 29%, #ecf7fa 62%, #d9e9f0 100%); color: var(--ink); }
.lcs-body .lcs-hero::after { display: none; }
.lcs-body .lcs-hero__media::after { background: linear-gradient(90deg, rgba(255, 255, 255, .97) 0%, rgba(255, 255, 255, .9) 40%, rgba(255, 255, 255, .45) 70%, rgba(255, 255, 255, .1) 100%); }
.lcs-body .lcs-hero--corto { padding-block: 48px 64px; }
.lcs-body .lcs-hero__titulo { font-weight: 900; letter-spacing: -.05em; color: var(--deep); text-transform: uppercase; }
.lcs-body .lcs-hero__titulo :is(em, .lcs-degradado) { font-style: normal; }
.lcs-body .lcs-hero__titulo em { background: var(--lcs-gradiente-titulo); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.lcs-body .lcs-hero__texto { color: #49677b; }

/* ---------- Franja CTA final (parciales/cta.php), como la sección .contact ---------- */
.cta-final--claro { background: #fff; }
.cta-band { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px 75px; align-items: end; }
.cta-band__titulo { max-width: 900px; margin-bottom: 14px; }
.cta-band__texto { margin: 0; }
.cta-band__acciones { padding-bottom: 6px; }
.cta-band--tarjeta { padding: 36px 38px; border: 1px solid #dcebef; border-radius: 20px; background: linear-gradient(120deg, #f4fbfd, #edfaf3); }
@media (max-width: 1000px) {
  .cta-band { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 700px) {
  .cta-final { padding: 64px 0; }
  .cta-band--tarjeta { padding: 24px 20px; }
  .cta-band__acciones .button { width: 100%; }
}

/* ---------- Pie (.footer) ---------- */
.footer { position: relative; }
.footer-titulo { margin: 0 0 17px; font-size: 13px; font-weight: 850; letter-spacing: .02em; color: #fff; }
.footer .footer-brand { display: inline-block; margin: 0 0 16px; }
.footer-brand img { display: block; width: auto; height: 48px; }
.footer-about p:first-of-type { margin-top: 0; }
.footer-contacto a:not(.button) { overflow-wrap: anywhere; }
.footer-contacto p { margin: 8px 0; color: #b5d4db; }
.footer .button { display: inline-flex; margin: 18px 0 0; color: #fff; font-size: 12px; }
.footer-redes { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.footer .footer-redes a { display: grid; place-items: center; width: 40px; height: 40px; margin: 0; border: 1px solid #35596a; border-radius: 50%; font-size: 16px; color: #d6e9ef; }
.footer .footer-redes a:hover { border-color: #50eac0; color: #fff; }
.footer-bottom span:first-child { max-width: 760px; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0; list-style: none; flex: none; }
.footer-legal li { display: flex; align-items: center; }
.footer-legal button { line-height: inherit; }
.footer .footer-legal a, .footer-legal button { display: inline; margin: 0; padding: 0; border: 0; background: none; font: inherit; font-size: 11px; color: #a7c9d1; cursor: pointer; }
.footer .footer-legal a:hover, .footer-legal button:hover { color: #fff; text-decoration: underline; }
.footer :is(a, button):focus-visible { outline: 3px solid #25bcd1; outline-offset: 3px; }
@media (max-width: 700px) {
  .footer-legal { margin-top: 12px; }
  .footer-bottom span:first-child { display: block; margin-top: 0; }
}
@media (max-width: 1000px), (pointer: coarse) {
  .footer a:not(.button) { min-height: 32px; display: flex; align-items: center; margin: 4px 0; }
  .footer .footer-redes a { min-height: 44px; width: 44px; height: 44px; display: grid; }
  .footer .footer-legal a, .footer-legal button { display: inline-flex; align-items: center; min-height: 44px; }
}

/* ---------- Aviso de cookies con la paleta de la referencia ---------- */
.lcs-aviso-cookies { background: #002d40; border-color: #00a7a9; box-shadow: 0 12px 32px -10px rgba(0, 20, 30, .6); }
.lcs-body .lcs-aviso-cookies__titulo { font-weight: 850; }
.lcs-aviso-cookies__acciones .lcs-btn { min-height: 44px; padding: 10px 18px; font-size: 11px; }

/* Movimiento reducido: la referencia anula transiciones */
@media (prefers-reduced-motion: reduce) {
  .button:hover, .lcs-btn:hover, .pillar:hover, .tech-card:hover { transform: none; }
}
