/* =========================================================
   ANDES ENERGY — Sistema de diseño (identidad oficial)
   Tipografías: Exo (títulos) · Hind Madurai (texto)
   Paleta: #084C6E · #1098dd · grises  ·  animación máxima/elegante
   ========================================================= */
:root{
  --primary:#084C6E;
  --primary-d:#063a53;
  --primary-l:#1098dd;
  --sky:#1098dd;
  --sky-d:#0d7fbd;
  --sky-tint:#e3f2fb;
  --primary-tint:#e6f2fa;
  --primary-tint2:#c9e6f7;

  --green:#1f9d57;
  --green-tint:#e4f5ec;
  --red:#d6524a;
  --red-tint:#fbeae9;

  --ink:#0b2c3e;
  --body:#4c5b64;
  --muted:#7e8d95;
  --line:#dce7ee;
  --bg:#ffffff;
  --bg-soft:#f4fafd;
  --bg-deep:#062a3a;

  --radius:16px;
  --radius-sm:10px;
  --radius-lg:24px;
  --shadow-sm:0 2px 10px rgba(8,42,61,.06);
  --shadow:0 14px 38px rgba(8,42,61,.11);
  --shadow-lg:0 26px 64px rgba(8,42,61,.17);

  --wrap:1180px;
  --f-display:'Exo','Segoe UI',system-ui,sans-serif;
  --f-body:'Hind Madurai','Segoe UI',system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);color:var(--body);background:var(--bg);line-height:1.68;font-size:17px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}

h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink);line-height:1.12;font-weight:700;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}
strong{color:var(--ink);font-weight:700}

/* ---------- Layout ---------- */
.wrap{width:min(var(--wrap),92%);margin-inline:auto}
.wrap-narrow{width:min(820px,92%);margin-inline:auto}
section{position:relative;padding:clamp(3.5rem,8vw,6rem) 0}
.section-soft{background:var(--bg-soft)}
.section-primary{background:var(--primary);color:#fff;overflow:hidden}
.section-primary h1,.section-primary h2,.section-primary h3{color:#fff}
.section-deep{background:var(--bg-deep);color:#DDEAF1}

/* fondos minimalistas: sin líneas ni montañas decorativas */
.section-soft > .wrap{position:relative;z-index:1}
.section-primary > .wrap{position:relative;z-index:1}

.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-display);font-weight:700;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sky);margin-bottom:1rem}
.section-primary .eyebrow,.section-deep .eyebrow{color:#7fccf2}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px}
.section-head{max-width:760px;margin-bottom:clamp(2rem,4vw,3rem)}
.section-head.center{margin-inline:auto;text-align:center}
.lead{font-size:1.15rem;color:var(--body)}

/* ---------- Barra de progreso de scroll ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--sky),var(--primary));z-index:200;transition:width .1s linear}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1rem;padding:.9rem 1.6rem;border-radius:50px;border:2px solid transparent;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,background .2s,color .2s;text-align:center;line-height:1.2;position:relative;overflow:hidden}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-d);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-amber{background:var(--sky);color:#fff}
.btn-amber:hover{background:var(--sky-d);color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(16,152,221,.4)}
.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--primary)}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-ghost-white{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.55)}
.btn-ghost-white:hover{background:#fff;color:var(--primary)}
.btn-lg{padding:1.05rem 2rem;font-size:1.08rem}
.btn-block{display:flex;width:100%}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s,box-shadow .3s,padding .3s;padding:.4rem 0}
.site-header.scrolled{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}
.nav{display:flex;align-items:center;gap:1.4rem;min-height:68px}
.nav-logo{margin-right:auto;display:flex;align-items:center}
.nav-logo img{height:56px;width:auto;transition:height .3s}
.site-header.scrolled .nav-logo img{height:50px}
.nav-menu{display:flex;gap:1.4rem;align-items:center}
.nav-land-mobile{display:none}
.nav-cta{white-space:nowrap}
.nav-link{font-family:var(--f-display);font-weight:500;font-size:.98rem;color:var(--ink);position:relative;padding:.3rem 0;white-space:nowrap;transition:color .2s}
.nav-link::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--sky);transition:width .25s}
.nav-link:hover{color:var(--primary)}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-link.active{color:var(--primary)}

.site-header:not(.scrolled) .nav-link{color:#fff}
.site-header:not(.scrolled) .nav-link:hover{color:#fff}
.site-header:not(.scrolled) .logo-dark{display:none}
.site-header.scrolled .logo-light{display:none}
.site-header:not(.scrolled) .lang-btn{color:#fff;border-color:rgba(255,255,255,.5)}

.lang{display:flex;gap:.15rem;align-items:center}
.lang-btn{font-family:var(--f-display);font-size:.8rem;font-weight:600;color:var(--muted);border:1px solid var(--line);background:transparent;padding:.25rem .5rem;border-radius:6px;cursor:pointer}
.lang-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}

.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.4rem;z-index:110}
.nav-toggle span{display:block;width:26px;height:2.6px;background:var(--ink);border-radius:3px;margin:5px 0;transition:.3s}
.site-header:not(.scrolled) .nav-toggle span{background:#fff}

body.solid-header .site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}
body.solid-header .site-header .nav-link{color:var(--ink)}
body.solid-header .site-header .nav-link:hover{color:var(--primary)}
body.solid-header .site-header .logo-light{display:none}
body.solid-header .site-header .logo-dark{display:inline}
body.solid-header .site-header .nav-toggle span{background:var(--ink)}
body.solid-header .site-header .lang-btn{color:var(--muted);border-color:var(--line)}
body.solid-header .site-header .lang-btn.active{color:#fff;background:var(--primary);border-color:var(--primary)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;padding-top:80px;overflow:hidden;background:var(--bg-deep)}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg img{position:absolute;inset:0;width:100%;height:108%;object-fit:cover;will-change:transform}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(6,42,61,.94) 0%,rgba(8,76,110,.8) 45%,rgba(8,76,110,.44) 100%)}
.hero-inner{max-width:720px;padding:2rem 0;position:relative;z-index:2}
.hero h1{color:#fff;margin-bottom:1.3rem}
.hero h1 em{font-style:normal;color:var(--sky);display:block}
.hero p{font-size:clamp(1.05rem,2vw,1.3rem);color:#E4EEF3;margin-bottom:2rem;max-width:600px}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem}
.hero-scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;opacity:.7;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.hero-scroll svg{width:22px;height:22px;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

.page-hero{position:relative;color:#fff;padding:calc(80px + 3.5rem) 0 clamp(3rem,7vw,5rem);overflow:hidden;background:var(--primary)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero.with-img .hero-bg::after{background:linear-gradient(100deg,rgba(6,42,61,.94),rgba(8,76,110,.72))}
.page-hero .eyebrow{color:#7fccf2}
.page-hero h1{color:#fff;max-width:900px}
.page-hero p{color:#DCEAF1;max-width:680px;font-size:1.15rem;margin-top:1rem}

/* ---------- Grids / cards ---------- */
.grid{display:grid;gap:clamp(1.2rem,2.5vw,1.8rem)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.split.wide-media{grid-template-columns:1fr 1.1fr}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--primary-tint2)}
.card .ic{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;background:var(--primary-tint);color:var(--primary);margin-bottom:1.1rem;transition:transform .25s}
.card:hover .ic{transform:scale(1.08) rotate(-3deg)}
.card .ic svg{width:26px;height:26px}
.card h3{margin-bottom:.5rem}
.card.amber .ic{background:var(--sky-tint);color:var(--sky-d)}
.card.green .ic{background:var(--green-tint);color:var(--green)}

.media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);position:relative}
.media img{width:100%;height:100%;object-fit:cover}
.school-photo{aspect-ratio:16/9}
.school-photo img{position:absolute;inset:0;object-fit:cover;object-position:center 30%}
.school-photo-nosotros img{object-position:center 45%}
.school-photo-perspectiva img{object-position:center 43%}
.ppa-hero-bg img{object-position:center 25%}
.media.round-lg{border-radius:20px}

/* ---------- Checklist apto ---------- */
.checklist{display:grid;gap:.9rem}
.checklist li{display:flex;gap:.85rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.15rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.checklist li:hover{transform:translateX(4px);box-shadow:var(--shadow)}
.checklist .chk{flex:none;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin-top:1px}
.checklist .chk svg{width:15px;height:15px}
.checklist b{color:var(--ink)}

/* ---------- Pain ---------- */
.pain-list{display:grid;gap:1rem;margin-top:1.4rem}
.pain-list li{display:flex;gap:1rem;align-items:flex-start}
.pain-list .x{flex:none;width:30px;height:30px;border-radius:9px;background:var(--red-tint);color:var(--red);display:grid;place-items:center}
.pain-list .x svg{width:17px;height:17px}

/* ---------- Beneficios ---------- */
.benefit{display:flex;gap:1.1rem;align-items:flex-start}
.benefit .ic{flex:none;width:48px;height:48px;border-radius:12px;background:var(--primary-tint);color:var(--primary);display:grid;place-items:center}
.benefit .ic svg{width:24px;height:24px}
.benefit h3{font-size:1.12rem;margin-bottom:.3rem}

/* ---------- Stats / contadores ---------- */
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;text-align:center}
.stat .num{font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,4vw,2.9rem);color:var(--sky);line-height:1}
.section-primary .stat .num,.section-deep .stat .num{color:#5cc0f0}
.stat .lbl{font-size:.95rem;margin-top:.5rem;color:inherit;opacity:.92}

/* ---------- Diferenciador ---------- */
.reason{border-left:3px solid var(--sky);padding:.2rem 0 .2rem 1.4rem;transition:border-color .2s,transform .2s}
.reason:hover{transform:translateX(4px)}
.reason h3{margin-bottom:.4rem}

/* ---------- Timeline ---------- */
.timeline{position:relative;display:grid;gap:1.5rem}
.timeline::before{content:"";position:absolute;left:27px;top:20px;bottom:20px;width:2px;background:var(--line)}
.timeline::after{content:"";position:absolute;left:27px;top:20px;width:2px;height:var(--tl,0%);background:linear-gradient(var(--sky),var(--primary));transition:height .4s ease}
.tl-item{position:relative;display:grid;grid-template-columns:56px 1fr;gap:1.3rem;align-items:start}
.tl-dot{width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--primary);color:var(--primary);display:grid;place-items:center;font-family:var(--f-display);font-weight:700;z-index:1;box-shadow:var(--shadow-sm)}
.tl-body{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.6rem;box-shadow:var(--shadow-sm)}
.tl-body .tag{display:inline-block;font-family:var(--f-display);font-size:.78rem;font-weight:700;color:var(--sky-d);background:var(--sky-tint);padding:.2rem .7rem;border-radius:20px;margin-left:.6rem}
.tl-body h3{display:inline}
/* Fechas largas de la evolución: suficiente ancho y centrado real. */
.timeline.evolution{gap:1.6rem}
.timeline.evolution::before,.timeline.evolution::after{left:42px}
.timeline.evolution .tl-item{grid-template-columns:86px minmax(0,1fr);gap:1.2rem}
.timeline.evolution .tl-dot{width:86px;height:86px;padding:9px;text-align:center;line-height:1.2;overflow-wrap:normal;word-break:normal;hyphens:none;font-variant-numeric:tabular-nums}
@media(max-width:560px){.timeline.evolution::before,.timeline.evolution::after{left:37px}.timeline.evolution .tl-item{grid-template-columns:76px minmax(0,1fr);gap:.8rem}.timeline.evolution .tl-dot{width:76px;height:76px;font-size:.68rem!important;padding:6px}.timeline.evolution .tl-body{padding:1rem}}

/* ---------- Condiciones ---------- */
.terms{display:grid;gap:.2rem}
.term-row{display:grid;grid-template-columns:210px 1fr;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--line)}
.term-row:last-child{border-bottom:none}
.term-row .k{font-family:var(--f-display);font-weight:600;color:var(--primary)}

/* ---------- Calculadora (oculta en esta versión) ---------- */
.calc{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.6rem,4vw,2.6rem);box-shadow:var(--shadow)}
.calc-top{display:grid;grid-template-columns:1fr;gap:1.4rem;margin-bottom:1.8rem}
.calc-slider label{font-family:var(--f-display);font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.7rem}
.calc-slider .val{color:var(--primary);font-size:1.6rem}
.calc-slider .val small{font-size:.9rem;color:var(--muted);font-weight:500}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--primary) var(--fill,40%),var(--primary-tint2) var(--fill,40%));outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:var(--sky);border:4px solid #fff;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .15s}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--sky);border:4px solid #fff;cursor:pointer}
.calc-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.6rem}
.phase{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:1.1rem;transition:transform .2s}
.phase:hover{transform:translateY(-3px)}
.phase .ph-name{font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--primary)}
.phase .ph-sub{font-size:.78rem;color:var(--muted);margin:.15rem 0 .6rem}
.phase .ph-val{font-family:var(--f-display);font-weight:700;font-size:1.25rem;color:var(--ink)}
.calc-total{background:var(--primary);color:#fff;border-radius:var(--radius);padding:1.4rem 1.8rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}
.calc-total .t-lbl{font-family:var(--f-display);font-weight:500;opacity:.9}
.calc-total .t-val{font-family:var(--f-display);font-weight:800;font-size:clamp(1.6rem,4vw,2.4rem);color:#5cc0f0}
.calc-note{font-size:.85rem;color:var(--muted);margin-top:1rem;line-height:1.5}

/* ---------- Compromiso ---------- */
.promise{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.promise:last-child{border-bottom:none}
.promise .n{flex:none;width:40px;height:40px;border-radius:50%;background:var(--sky);color:#fff;display:grid;place-items:center;font-family:var(--f-display);font-weight:700}
.promise h3{color:#fff;font-size:1.1rem;margin-bottom:.25rem}
.promise p{color:#CFE0EA;margin:0}

/* ---------- Línea eléctrica ---------- */
.line-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.line-card{border-radius:var(--radius);overflow:hidden;border:2px solid;background:#fff;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.line-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.line-card.ok{border-color:var(--green)}
.line-card.no{border-color:var(--red)}
.line-card .badge{padding:.7rem 1.2rem;font-family:var(--f-display);font-weight:700;color:#fff;display:flex;align-items:center;gap:.5rem}
.line-card.ok .badge{background:var(--green)}
.line-card.no .badge{background:var(--red)}
.line-card .imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line)}
.line-card .imgs img{width:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;background:#eaf4fa}
.line-card .desc{padding:1.1rem 1.3rem;font-size:.96rem}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:.7rem}
.faq-item{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;transition:box-shadow .2s}
.faq-item.open{box-shadow:var(--shadow-sm)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:1.15rem 1.4rem;font-family:var(--f-display);font-weight:600;color:var(--ink);font-size:1.03rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-q .plus{flex:none;width:24px;height:24px;position:relative;transition:transform .3s}
.faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--sky);border-radius:2px;top:50%;left:50%;transform:translate(-50%,-50%)}
.faq-q .plus::before{width:14px;height:2.4px}
.faq-q .plus::after{width:2.4px;height:14px;transition:transform .3s}
.faq-item.open .faq-q .plus::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a-inner{padding:0 1.4rem 1.3rem;color:var(--body)}

/* ---------- Formularios ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.6rem,4vw,2.6rem);box-shadow:var(--shadow)}
.field{margin-bottom:1.15rem}
.field label{display:block;font-family:var(--f-display);font-weight:600;font-size:.92rem;color:var(--ink);margin-bottom:.4rem}
.field label .opt{color:var(--muted);font-weight:400}
.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:10px;font-family:var(--f-body);font-size:1rem;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(16,152,221,.14)}
.field textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.form-note{font-size:.85rem;color:var(--muted);margin-top:.5rem}
.form-msg{display:none;padding:1rem 1.2rem;border-radius:10px;margin-bottom:1.2rem;font-weight:500}
.form-msg.ok{display:block;background:var(--green-tint);color:#0f5233;border:1px solid #bfe6cf}
.form-msg.err{display:block;background:var(--red-tint);color:#8a2020;border:1px solid #f0c4c4}

/* ---------- CTA banda ---------- */
.cta-band{position:relative;background:linear-gradient(120deg,var(--primary),var(--sky-d));color:#fff;border-radius:var(--radius-lg);padding:clamp(2.2rem,5vw,3.4rem);text-align:center;overflow:hidden}
.cta-band > *{position:relative;z-index:1}
.cta-band h2{color:#fff}
.cta-band p{color:#DCEAF1;max-width:620px;margin:1rem auto 1.8rem}

.work-cta{text-align:center}
.work-cta .btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem}

/* ---------- Clientes / testimonios ---------- */
.logos{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;align-items:center}
.logo-chip{height:96px;padding:1.2rem 1.4rem;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .25s,box-shadow .25s,filter .25s}
.logo-chip img{height:46px;width:auto;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.logo-chip:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.logo-chip:hover img{filter:grayscale(0);opacity:1}
.tstm{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.tstm:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.tstm p{font-size:1.02rem;color:var(--ink);font-style:italic}
.tstm .who{display:flex;align-items:center;gap:.8rem;margin-top:1rem}
.tstm .av{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-family:var(--f-display);font-weight:700}
.tstm .who b{display:block;color:var(--ink);font-size:.95rem}
.tstm .who span{font-size:.85rem;color:var(--muted)}

/* ---------- Valores ---------- */
.value{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.value:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.value .em{font-size:1.9rem}
.value h3{margin:.6rem 0 .4rem;font-size:1.15rem}

/* ---------- Footer ---------- */
.site-footer{background:var(--bg-deep);color:#AFC6D3;padding:clamp(3rem,6vw,4.5rem) 0 2rem;position:relative;overflow:hidden}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;position:relative;z-index:1}
.footer-grid-complete{grid-template-columns:1.15fr 1.05fr .9fr 1.05fr .95fr;gap:clamp(1.3rem,2.5vw,2.6rem)}
.footer-grid-complete h4{font-size:1rem;margin-bottom:1rem}
.footer-grid-complete .f-links{gap:.62rem}
.footer-grid-complete .f-links a{line-height:1.35}
.site-footer img.f-logo{height:58px;margin-bottom:1.1rem}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:1rem;font-family:var(--f-display)}
.site-footer a{color:#AFC6D3;transition:color .2s}
.site-footer a:hover{color:#fff}
.f-links{display:grid;gap:.6rem}
.f-contact{display:grid;gap:.55rem;font-size:.95rem}
.f-contact .row{display:flex;gap:.6rem;align-items:flex-start}
.f-contact svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--sky)}
.f-social{display:flex;gap:.8rem;margin-top:1rem}
.f-social a{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:background .2s,transform .2s}
.f-social a:hover{background:var(--sky);color:#fff;transform:translateY(-3px)}
.f-social svg{width:20px;height:20px}
.f-slogan{font-style:normal;color:#AFC6D3;max-width:300px;margin-top:.4rem}
.f-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.5rem;padding-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.85rem;color:#7C97A6;position:relative;z-index:1}
.f-bottom>span:last-child{padding-right:92px;max-width:100%;line-height:1.7}
.f-bottom>span:only-child{padding-right:0}
.footer-address{padding-top:.35rem;color:#b8ceda}
.founder-social{display:flex;gap:.55rem;margin:0 0 1rem}
.founder-social a{width:35px;height:35px;border-radius:9px;background:var(--primary);color:#fff;display:grid;place-items:center;transition:background .2s,transform .2s}
.founder-social a:hover{background:var(--sky);transform:translateY(-2px)}
.founder-social svg{width:17px;height:17px}
.article-body h2{margin:2.2rem 0 .65rem;font-size:clamp(1.45rem,3vw,2.1rem)}
.article-body p{line-height:1.8;margin:0 0 1.15rem}
.service-projects{min-width:0}
.service-projects>.media img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#edf3f5}
.service-projects-caption{display:grid;gap:.65rem;margin-top:.85rem}
.service-requirements figcaption{font-size:.9rem;line-height:1.5;margin-top:.8rem}
.service-requirements>.media img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 55%}
.impact-illustration{aspect-ratio:1.55;overflow:hidden;background:#f7fbff}
.impact-illustration img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.predio-gallery{max-width:900px;margin:2.2rem auto 0}
.predio-gallery-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}
.predio-gallery-header h3{font-size:1.25rem;margin:0}
.predio-gallery-controls{display:flex;align-items:center;gap:.8rem;white-space:nowrap}
.predio-gallery-controls button{border:1px solid var(--primary);border-radius:50%;background:#fff;color:var(--primary);width:40px;height:40px;cursor:pointer;font-size:1.25rem}
.predio-gallery-controls button:hover,.predio-gallery-controls button:focus-visible{background:var(--primary);color:#fff}
.predio-gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
.predio-gallery [hidden]{display:none!important}
.predio-gallery figure img{display:block;width:100%;height:clamp(220px,40vw,430px);object-fit:cover;object-position:center}
.predio-gallery figcaption{padding:.8rem 1rem;font-size:.95rem}
.predio-gallery .form-note{text-align:center;margin-top:.8rem}
.predio-gallery{margin-top:2rem}
.predio-gallery figure img{height:clamp(250px,44vw,500px)}
.predio-gallery{max-width:1100px}
.predio-gallery figure img{height:auto;aspect-ratio:16/9;object-fit:contain;background:#fff}
@media(max-width:600px){.predio-gallery figure img{height:auto}}
@media(max-width:600px){.predio-gallery-header{align-items:flex-start;flex-direction:column}.predio-gallery figure img{height:240px}}
@media(max-width:640px){.predio-gallery figure{aspect-ratio:1080/1050;position:relative}.predio-gallery picture{display:block;position:absolute;inset:0}.predio-gallery figure img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center bottom}}
.predio-gallery{position:relative}
.predio-gallery-pause{position:absolute;right:.8rem;top:.8rem;z-index:2;border:1px solid #fff;border-radius:50%;width:40px;height:40px;background:#0e344dce;color:#fff;cursor:pointer;font-size:1.15rem;line-height:1}
.predio-gallery-pause:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.service-client{display:flex;align-items:center;gap:.9rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm)}
.service-client img{width:82px;height:48px;object-fit:contain;flex:none}
.service-client p{margin:0;font-size:.86rem;line-height:1.32}
.service-client strong,.service-client span{display:block}
@media(max-width:560px){.service-client img{width:65px}}
@media(max-width:560px){.f-bottom{flex-direction:column}.f-bottom>span:last-child{padding-right:76px}}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:90;width:60px;height:60px;border-radius:50%;background:var(--sky);display:grid;place-items:center;box-shadow:0 8px 24px rgba(16,152,221,.45);transition:transform .2s;animation:wa-pulse 2.6s infinite}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:34px;height:34px;fill:#fff}
@keyframes wa-pulse{0%{box-shadow:0 8px 24px rgba(16,152,221,.45),0 0 0 0 rgba(16,152,221,.5)}70%{box-shadow:0 8px 24px rgba(16,152,221,.45),0 0 0 16px rgba(16,152,221,0)}100%{box-shadow:0 8px 24px rgba(16,152,221,.45),0 0 0 0 rgba(16,152,221,0)}}

/* ---------- placeholder de imagen ---------- */
.is-ph{position:relative}
.is-ph::after{content:"IMAGEN PENDIENTE";position:absolute;top:10px;left:10px;background:rgba(6,42,61,.7);color:#fff;font-family:var(--f-display);font-size:.62rem;font-weight:600;letter-spacing:.08em;padding:.2rem .5rem;border-radius:5px;pointer-events:none;z-index:2}

/* ---------- Animaciones (máxima, elegante) ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.left{transform:translateX(-40px)}
.reveal.right{transform:translateX(40px)}
.reveal.zoom{transform:scale(.94)}
.reveal.left.in,.reveal.right.in,.reveal.zoom.in{transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}
/* parallax elegante */
[data-parallax]{will-change:transform}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none}
  .hero-scroll svg,.wa-float,.section-primary::after,.hero-bg::before,.page-hero::after,.cta-band::after{animation:none}
  *{scroll-behavior:auto}
}

/* utilidades */
.text-center{text-align:center}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mb-0{margin-bottom:0}
.chip{display:inline-block;background:var(--primary-tint);color:var(--primary);font-family:var(--f-display);font-weight:600;font-size:.8rem;padding:.3rem .8rem;border-radius:20px}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:960px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:repeat(3,1fr);gap:1.8rem}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .calc-phases{grid-template-columns:repeat(2,1fr)}
  .logos{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  body{font-size:16px}
  .nav-logo img{height:46px}
  .nav-menu{position:fixed;inset:0 0 0 auto;width:min(320px,82%);background:#fff;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.4rem;padding:6rem 1.8rem 2rem;transform:translateX(100%);transition:transform .35s ease;box-shadow:var(--shadow-lg);z-index:105}
  .nav-menu.open{transform:none}
  .nav-menu .nav-link{color:var(--ink)!important;font-size:1.1rem;padding:.6rem 0;width:100%;border-bottom:1px solid var(--line)}
  .nav-toggle{display:block}
  .nav-cta{display:none}
  .lang{display:none}
  .nav-drawer-cta{display:flex!important}
  .split,.split.wide-media{grid-template-columns:1fr}
  .grid-2,.grid-3,.line-grid{grid-template-columns:1fr}
  .term-row{grid-template-columns:1fr;gap:.2rem}
  .form-row{grid-template-columns:1fr}
  .hero{min-height:88vh}
}
@media(max-width:560px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:1fr}
  .calc-phases{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .logos{grid-template-columns:repeat(2,1fr)}
  .hero-cta .btn,.work-cta .btns .btn{width:100%}
  .line-card .imgs{grid-template-columns:1fr}
}
.nav-drawer-cta{display:none}

/* V6 — CTA superior y placeholders */
.nav-cta{border-radius:10px;padding:.72rem 1rem;line-height:1.05;flex-direction:column;gap:.08rem}
.nav-cta span{display:block;font-size:.68rem;font-weight:500;opacity:.82;letter-spacing:.02em}
@media(max-width:820px){.nav-drawer-cta{margin-top:.8rem;background:var(--amber);border:0!important;border-radius:10px;padding:.85rem 1rem!important;text-align:center;color:var(--ink)!important}.nav-cta{display:none}}

/* =========================================================
   REDISEÑO CORPORATIVO 2026
   ========================================================= */
.home-redesign{background:#fff}
.home-redesign section{padding:clamp(4.8rem,9vw,8.5rem) 0}
.home-redesign .nav{max-width:1360px}
.home-redesign .nav-predio{padding:.48rem .8rem;border:1px solid rgba(255,255,255,.38);border-radius:999px}
.home-redesign .site-header.scrolled .nav-predio{border-color:var(--primary-tint2);background:var(--primary-tint)}
.home-light-hero .site-header:not(.scrolled){background:rgba(255,255,255,.82);backdrop-filter:blur(10px)}
.home-light-hero .site-header:not(.scrolled) .nav-link{color:var(--ink)}
.home-light-hero .site-header:not(.scrolled) .nav-link:hover{color:var(--primary)}
.home-light-hero .site-header:not(.scrolled) .logo-light{display:none}
.home-light-hero .site-header:not(.scrolled) .logo-dark{display:inline}
.home-light-hero .site-header:not(.scrolled) .nav-toggle span{background:var(--ink)}
.home-light-hero .nav-predio{border-color:rgba(8,76,110,.22);background:rgba(255,255,255,.45)}
.hero-corporate{min-height:100svh;padding:8rem 0 9.5rem}
.hero-corporate .hero-bg img{height:110%;object-position:center 54%}
.hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(238,248,252,.96) 0%,rgba(238,248,252,.88) 42%,rgba(238,248,252,.38) 68%,rgba(6,42,61,.12) 100%)}
.hero-corporate-inner{width:min(760px,92%);margin-left:max(4%,calc((100% - var(--wrap))/2));margin-right:auto;padding:0;max-width:780px}
.hero-kicker{display:inline-block;margin-bottom:1.25rem;color:var(--primary-l);font-family:var(--f-display);font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero-corporate h1{color:var(--ink);font-size:clamp(2.75rem,5.7vw,5.8rem);line-height:.98;letter-spacing:-.035em;margin-bottom:1.7rem}
.hero-corporate h1 em{color:var(--primary-l);opacity:1}
.hero-corporate p{max-width:720px;color:#294956;font-size:clamp(1.08rem,1.55vw,1.28rem);line-height:1.5}
.hero-corporate .hero-audiences{max-width:700px;font-size:1rem;color:#4c6671;margin-top:.3rem;margin-bottom:1.4rem}
.hero-process{max-width:660px;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:.75rem;margin:1.15rem 0 1.45rem;color:var(--primary);font-family:var(--f-display);font-size:.78rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase}
.hero-process i{height:1px;background:linear-gradient(90deg,var(--sky),rgba(8,76,110,.18));position:relative}
.hero-process i::after{content:"";position:absolute;right:-1px;top:50%;width:6px;height:6px;border-top:1px solid var(--primary);border-right:1px solid var(--primary);transform:translateY(-50%) rotate(45deg)}
.text-link{display:inline-flex;align-items:center;gap:.65rem;color:var(--primary);font-family:var(--f-display);font-weight:700;line-height:1.35}
.text-link span{transition:transform .25s}
.text-link:hover span{transform:translateX(5px)}
.text-link-light{color:var(--primary);border-bottom:1px solid rgba(8,76,110,.35);padding-bottom:.32rem}
.land-strip{position:absolute;z-index:4;left:50%;bottom:0;transform:translateX(-50%);width:min(var(--wrap),92%);min-height:84px;padding:1.15rem 1.6rem;display:grid;grid-template-columns:1fr 1.35fr auto;align-items:center;gap:1.4rem;background:rgba(255,255,255,.96);color:var(--ink);border-radius:18px 18px 0 0;box-shadow:0 -12px 45px rgba(6,42,61,.17);backdrop-filter:blur(12px)}
.land-strip span{font-size:.95rem;color:var(--body)}.land-strip strong{font-family:var(--f-display);font-size:1.08rem}.land-strip b{font-size:1.5rem;color:var(--sky)}
.proof-section{overflow:hidden}.proof-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(2rem,7vw,7rem);margin-bottom:3.5rem}.proof-heading h2{max-width:680px}.proof-heading>p{max-width:450px;font-size:1.08rem}
.stats-evidence{grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.4rem 0;margin-bottom:3.2rem;text-align:left}
.stats-evidence .stat{padding:0 1.2rem;border-right:1px solid var(--line)}.stats-evidence .stat:first-child{padding-left:0}.stats-evidence .stat:last-child{border-right:0}
.stats-evidence .num{font-size:clamp(2.8rem,5.5vw,5.2rem);color:var(--primary)}.stats-evidence .lbl{max-width:320px;line-height:1.38;color:var(--body);font-size:1rem}.stats-evidence .lbl strong,.stats-evidence .lbl span{display:block}.stats-evidence .lbl strong{margin-bottom:.42rem;font-family:var(--f-display);font-size:1.1rem}.client-label{margin-bottom:1rem;color:var(--muted);font-family:var(--f-display);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.logo-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.logo-track{display:flex;width:max-content;gap:1rem;animation:logo-drift 28s linear infinite}
.logo-track span{width:180px;height:86px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff}
.logo-track img{width:135px;height:54px;object-fit:contain;filter:grayscale(1);opacity:.62;transition:.25s}.logo-track span:hover img{filter:none;opacity:1}
@keyframes logo-drift{to{transform:translateX(-35%)}}
.business-section{background:#eef7fb}.business-section .section-head{max-width:850px}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfe1ea;border:1px solid #cfe1ea}
.business-card{position:relative;background:#fff;padding:clamp(1.7rem,3.2vw,3.2rem);min-height:490px;display:flex;flex-direction:column;overflow:hidden;transition:background .35s,color .35s}
.business-card::after{content:"";position:absolute;inset:auto -20% -45% 15%;height:55%;background:radial-gradient(circle,#dff2fb 0,transparent 70%);transition:.45s}
.business-card:hover{background:var(--primary);color:#dcecf3}.business-card:hover h3,.business-card:hover .text-link{color:#fff}.business-card:hover .business-number{color:rgba(255,255,255,.18)}.business-card:hover::after{transform:translateY(-30%)}
.business-number{font-family:var(--f-display);font-size:4.5rem;font-weight:800;line-height:1;color:#dcebf2;transition:.35s}.business-tag{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--sky-d);font-weight:700;margin:1.3rem 0}.business-card h3{font-size:clamp(1.45rem,2.2vw,2rem);margin-bottom:1.25rem}.business-card>p:not(.business-tag){max-width:34ch}.business-card .text-link{margin-top:auto;position:relative;z-index:1}
.journey-section .section-head{max-width:880px}.journey-card{min-height:610px}.journey-card .business-tag{min-height:2.2em}.journey-value{position:relative;z-index:1;margin-top:1.35rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.97rem}.journey-value strong{display:block;margin-bottom:.32rem;color:var(--primary);font-family:var(--f-display)}.journey-card:hover .journey-value{border-color:rgba(255,255,255,.25)}.journey-card:hover .journey-value strong{color:#fff}.journey-difference{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2rem;border-top:1px solid #cfe1ea;border-bottom:1px solid #cfe1ea}.journey-difference div{padding:1.5rem;border-right:1px solid #cfe1ea}.journey-difference div:last-child{border-right:0}.journey-difference strong,.journey-difference span{display:block}.journey-difference strong{font-family:var(--f-display);color:var(--primary);margin-bottom:.35rem}.journey-difference span{font-size:.95rem;color:var(--body);line-height:1.45}
.stakeholder-section{background:#fff}.stakeholder-intro{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:clamp(2rem,7vw,7rem);margin-bottom:clamp(2.5rem,6vw,5rem)}.stakeholder-intro .eyebrow{grid-column:1/-1;margin-bottom:-1rem}.stakeholder-intro h2{font-size:clamp(2.2rem,4.5vw,4.6rem);max-width:800px}.stakeholder-intro>p{max-width:480px;font-size:1.08rem}.stakeholder-routes{border-top:1px solid var(--line)}.stakeholder-route{display:grid;grid-template-columns:72px 1.05fr 1fr 44px;gap:clamp(1.2rem,3vw,3rem);align-items:center;padding:clamp(1.8rem,3.5vw,3rem) .25rem;border-bottom:1px solid var(--line);transition:background .3s,padding .3s}.stakeholder-route:hover{background:var(--bg-soft);padding-left:1.2rem;padding-right:1.2rem}.route-number{align-self:start;font-family:var(--f-display);font-size:2rem;font-weight:800;color:#c5dce7}.route-title small{display:block;margin-bottom:.55rem;color:var(--sky-d);font-family:var(--f-display);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.route-title h3{font-size:clamp(1.4rem,2.4vw,2.15rem)}.stakeholder-route>p{margin:0;max-width:520px}.route-arrow{font-size:1.8rem;color:var(--primary);transition:transform .25s}.stakeholder-route:hover .route-arrow{transform:translate(5px,-5px)}.method-promise{display:grid;grid-template-columns:.45fr 1.55fr auto;align-items:center;gap:clamp(1.3rem,4vw,4rem);margin-top:clamp(2.5rem,6vw,5rem);padding:clamp(1.8rem,4vw,3.2rem);background:var(--primary);color:#fff}.method-promise>span{color:#8dd6f7;font-family:var(--f-display);font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.method-promise h3{color:#fff;font-size:clamp(1.35rem,2.5vw,2.2rem)}.method-promise .text-link{white-space:nowrap;color:#fff}.method-promise .text-link b{color:inherit}
.purpose-section{overflow:hidden;background:#fff}.purpose-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,7vw,7rem);align-items:center}.purpose-copy h2{font-size:clamp(2.2rem,4.4vw,4.4rem);margin-bottom:1.4rem}.purpose-copy .lead{color:var(--primary);font-family:var(--f-display);font-weight:600}.purpose-statement{position:relative;margin:0;padding:clamp(2.2rem,5vw,4.5rem);background:var(--primary);color:#fff;border-radius:180px 24px 180px 24px;box-shadow:var(--shadow-lg)}.purpose-statement::before{content:"“";position:absolute;top:.35rem;left:1.6rem;font-family:Georgia,serif;font-size:8rem;line-height:1;color:rgba(255,255,255,.12)}.purpose-statement span{position:relative;display:block;margin-bottom:1rem;color:#8dd6f7;font-family:var(--f-display);font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.purpose-statement p{position:relative;color:#fff;font-family:var(--f-display);font-size:clamp(1.35rem,2.6vw,2.2rem);font-weight:600;line-height:1.3}.culture-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(3rem,7vw,6rem);background:var(--line);border:1px solid var(--line)}.culture-principles article{background:var(--bg-soft);padding:clamp(1.6rem,3vw,2.7rem)}.culture-principles article>span{font-family:var(--f-display);font-size:2.6rem;font-weight:800;color:#c9e4f1}.culture-principles h3{margin:.85rem 0 .6rem;font-size:1.3rem}.culture-principles p{font-size:.97rem}
.portfolio-showcase{padding:0!important}.portfolio-layout{width:100%;max-width:none;display:grid;grid-template-columns:minmax(330px,38%) 1fr;align-items:stretch}
.portfolio-copy{padding:clamp(3rem,7vw,7rem) clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center}.portfolio-copy h2{color:#fff;font-size:clamp(2rem,4vw,4rem);margin-bottom:1.5rem}.portfolio-copy p{color:#bcd0da}
.project-gallery{position:relative;min-height:680px;background:#021a25}.project-gallery figure{position:absolute;inset:0}.project-gallery figure[hidden]{display:none}.project-gallery img{width:100%;height:100%;object-fit:cover;animation:gallery-zoom 9s linear both}.project-gallery figure::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(2,26,37,.92))}
.project-gallery figcaption{position:absolute;z-index:2;left:clamp(1.5rem,5vw,4rem);right:clamp(1.5rem,5vw,4rem);bottom:clamp(2rem,6vw,5rem);color:#fff;display:grid;gap:.4rem}.project-gallery figcaption span{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:#8dd6f7;font-weight:700}.project-gallery figcaption strong{font-family:var(--f-display);font-size:clamp(1.3rem,2vw,2rem)}.project-gallery figcaption small{font-size:1rem;color:#d8e7ee}
.project-gallery-toggle{right:24px;bottom:24px;top:auto;left:auto}
@keyframes gallery-zoom{from{transform:scale(1)}to{transform:scale(1.035)}}
.land-opportunity{overflow:hidden}.land-opportunity-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(2rem,7vw,7rem)}.land-visual{border-radius:220px 24px 220px 24px;overflow:hidden;box-shadow:var(--shadow-lg)}.land-visual img{width:100%;height:560px;object-fit:cover}.land-copy h2{font-size:clamp(2rem,3.7vw,3.5rem);margin-bottom:1.4rem}.land-copy p{font-size:1.15rem;margin-bottom:1.8rem}
.vision-grid{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:clamp(1.2rem,4vw,4rem);align-items:stretch}.vision-intro{padding-right:2rem}.vision-intro h2{font-size:clamp(2rem,3.8vw,3.6rem);margin-bottom:1.3rem}.vision-stat{background:var(--primary);color:#fff;border-radius:50% 50% 18px 18px;min-height:330px;padding:2rem;display:flex;flex-direction:column;justify-content:center;text-align:center}.vision-stat strong{color:#fff;font-family:var(--f-display);font-size:clamp(3.8rem,7vw,7rem);line-height:1}.vision-stat p{line-height:1.35;max-width:180px;margin:1rem auto 0}
.insight-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:1.5rem}.insight-card{position:relative;min-height:520px;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden;border-radius:20px}.insight-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.insight-card::after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(transparent,rgba(3,30,43,.94))}.insight-card>*:not(img){position:relative;z-index:1}.insight-card>span{color:#8dd6f7;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.insight-card h3{color:#fff;font-size:clamp(1.5rem,2.6vw,2.5rem);margin:.7rem 0}.insight-card p{color:#dceaf0;max-width:630px}.insight-card b{font-family:var(--f-display)}.insight-card:hover img{transform:scale(1.045)}
.home-contact{padding:4rem 0!important}.home-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.home-contact h2{max-width:850px;font-size:clamp(1.8rem,3.4vw,3rem)}
.footer-grid-redesign{grid-template-columns:1.2fr 1fr .8fr 1fr}.f-social a{font-family:var(--f-display);font-weight:700;font-size:1.15rem}

@media(max-width:960px){
  .proof-heading,.stakeholder-intro{grid-template-columns:1fr}.stakeholder-intro .eyebrow{margin-bottom:-.3rem}.stakeholder-route{grid-template-columns:54px 1fr 36px}.stakeholder-route>p{grid-column:2/3}.route-arrow{grid-column:3;grid-row:1/3}.method-promise{grid-template-columns:1fr}.method-promise .text-link{white-space:normal}.stats-evidence{grid-template-columns:repeat(3,1fr);row-gap:2rem}.stats-evidence .stat{border:0;padding:0}.business-grid{grid-template-columns:1fr}.business-card,.journey-card{min-height:360px}.journey-card .business-tag{min-height:auto}.journey-difference{grid-template-columns:1fr}.journey-difference div{border-right:0;border-bottom:1px solid #cfe1ea}.journey-difference div:last-child{border-bottom:0}.purpose-grid{grid-template-columns:1fr}.purpose-statement{max-width:700px}.culture-principles{grid-template-columns:1fr}.portfolio-layout{grid-template-columns:1fr}.project-gallery{min-height:600px}.vision-grid{grid-template-columns:1fr 1fr}.vision-intro{grid-column:1/-1}.footer-grid-redesign{grid-template-columns:1fr 1fr}
}
@media(max-width:1100px){.footer-grid-complete{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid-complete .footer-brand{grid-column:1/-1}}
@media(max-width:700px){
  .home-redesign section{padding:4.3rem 0}.hero-corporate{padding:7.5rem 0 10rem;min-height:94svh}.hero-corporate .hero-bg img{object-position:58% 54%;opacity:.72}.hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(238,248,252,.97),rgba(238,248,252,.88))}.hero-corporate-inner{margin-inline:auto}.hero-corporate h1{font-size:clamp(2.45rem,12vw,4rem)}.hero-corporate .hero-audiences{font-size:.94rem}.hero-process{grid-template-columns:1fr;gap:.35rem;margin:.9rem 0 1.3rem}.hero-process i{display:none}.hero-process span{display:flex;align-items:center;gap:.6rem}.hero-process span:not(:last-child)::after{content:"↓";color:var(--sky);font-size:.9rem}.land-strip{grid-template-columns:1fr auto;gap:.25rem 1rem}.land-strip span{grid-column:1/-1}.land-strip strong{font-size:.95rem}.stakeholder-route{grid-template-columns:42px 1fr 28px;gap:1rem;padding:1.6rem 0}.stakeholder-route:hover{padding-left:.5rem;padding-right:.5rem}.route-number{font-size:1.45rem}.route-title h3{font-size:1.35rem}.stakeholder-route>p{font-size:.96rem}.method-promise{padding:1.7rem}.proof-heading{display:block}.proof-heading>p{margin-top:1rem}.stats-evidence{grid-template-columns:1fr}.stats-evidence .stat{padding:1.35rem 0;border-right:0;border-bottom:1px solid var(--line)}.stats-evidence .stat:last-child{border-bottom:0}.logo-track{animation-duration:20s}.portfolio-copy{padding:4rem 6%}.project-gallery{min-height:520px}.land-opportunity-grid{grid-template-columns:1fr}.land-visual{border-radius:18px}.land-visual img{height:390px}.vision-grid{grid-template-columns:1fr}.vision-intro{padding:0}.vision-stat{min-height:250px;border-radius:20px}.insight-grid{grid-template-columns:1fr}.insight-card{min-height:430px}.home-contact-inner{align-items:flex-start;flex-direction:column}.footer-grid-redesign{grid-template-columns:1fr}
}
@media(max-width:700px){.nav-land-desktop{display:none}.nav-land-mobile{display:inline}.footer-grid-complete{grid-template-columns:1fr}.footer-grid-complete .footer-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none}.project-gallery img{animation:none}}

/* =========================================================
   HOME V24 — narrativa editorial y hero con fotografía visible
   ========================================================= */
.hero-corporate{min-height:100svh;padding:8.5rem 0 9.5rem}
.hero-corporate .hero-bg img{height:108%;opacity:1;object-position:center 54%}
.hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,0) 0%,rgba(6,42,61,.06) 38%,rgba(6,42,61,.72) 58%,rgba(6,42,61,.96) 100%)}
.hero-corporate-inner{position:relative;z-index:2;width:min(640px,44%);margin-left:auto;margin-right:max(4%,calc((100% - var(--wrap))/2));padding:0;max-width:640px;opacity:1;visibility:visible}
.hero-corporate h1{color:#fff;font-size:clamp(2.8rem,5vw,5.3rem);margin-bottom:1.6rem}
.hero-corporate h1 em{color:#54c1f3}
.hero-corporate p{max-width:620px;color:#edf7fb;font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.55;margin-bottom:1.6rem}
.hero-corporate .text-link-light{color:#fff;border-color:rgba(255,255,255,.48)}

.project-reality{background:#fff;overflow:hidden}
.project-reality-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.project-reality-copy h2{font-size:clamp(2.35rem,4.8vw,4.8rem);margin-bottom:1.5rem}
.project-reality-copy p{max-width:600px;font-size:1.08rem}
.development-path{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.development-path>div{min-height:220px;padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s,color .3s,transform .3s}
.development-path>div:hover{background:var(--primary);color:#fff;transform:translateY(-4px)}
.development-path span{color:#a7cfdf;font-family:var(--f-display);font-size:2rem;font-weight:800;line-height:1}
.development-path strong{margin-top:auto;color:var(--primary);font-family:var(--f-display);font-size:1.35rem}
.development-path small{display:block;margin-top:.45rem;color:var(--body);font-size:.96rem;line-height:1.45}
.development-path>div:hover strong,.development-path>div:hover small{color:#fff}

.ecosystem-section{overflow:hidden}
.ecosystem-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,7vw,7rem);align-items:end;margin-bottom:clamp(3rem,6vw,5.5rem)}
.ecosystem-heading h2{max-width:920px;color:#fff;font-size:clamp(2.5rem,5vw,5.2rem)}
.ecosystem-heading p{max-width:420px;color:#c8dce5;font-size:1.12rem}
.ecosystem-carousel{position:relative;margin:0 0 clamp(2.5rem,5vw,4.2rem);overflow:hidden;border:1px solid rgba(141,214,247,.24);border-radius:22px;background:#0b3447;box-shadow:0 18px 46px rgba(0,0,0,.16)}
.ecosystem-carousel-viewport{aspect-ratio:16/9;max-height:clamp(280px,43vw,640px);overflow:hidden}
.ecosystem-carousel-track{display:flex;width:100%;height:100%;transition:transform .85s cubic-bezier(.22,.61,.36,1);will-change:transform}
.ecosystem-carousel-slide{position:relative;flex:0 0 100%;width:100%;height:100%;margin:0;overflow:hidden;background:#d9edf4}
.ecosystem-carousel-slide::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,rgba(6,42,61,0),rgba(6,42,61,.78));pointer-events:none}
.ecosystem-carousel-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ecosystem-carousel-slide-square img{object-position:center 58%}
.ecosystem-carousel-slide-portrait img{object-position:center 42%}
.ecosystem-carousel-caption{position:absolute;z-index:1;right:clamp(1.25rem,4vw,4rem);bottom:clamp(1.4rem,3.5vw,3rem);left:clamp(1.25rem,4vw,4rem);display:flex;flex-direction:column;gap:.22rem;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.3)}
.ecosystem-carousel-caption span{font-family:var(--f-display);font-size:var(--type-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a8e2fb}
.ecosystem-carousel-caption strong{font-family:var(--f-display);font-size:clamp(1.15rem,2vw,1.8rem);font-weight:700;line-height:1.15}
.ecosystem-carousel-progress{position:absolute;z-index:2;right:clamp(1rem,2vw,1.6rem);bottom:1rem;left:clamp(1rem,2vw,1.6rem);height:3px;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.35)}
.ecosystem-carousel-progress span{display:block;width:var(--carousel-step,33.333%);height:100%;border-radius:inherit;background:#72cdf5;transform-origin:left;animation:ecosystem-carousel-progress 3s linear infinite}
@keyframes ecosystem-carousel-progress{from{transform:translateX(0)}to{transform:translateX(var(--progress-end,200%))}}
.ecosystem-video-card{position:relative;aspect-ratio:16/9;margin:0 0 clamp(2.5rem,5vw,4.2rem);overflow:hidden;border:1px solid rgba(141,214,247,.24);border-radius:22px;background:#0b3447;box-shadow:0 18px 46px rgba(0,0,0,.16)}
.ecosystem-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ecosystem-heading{display:block}
.ecosystem-heading-copy{max-width:920px}
.ecosystem-heading .ecosystem-subtitle{max-width:520px;margin:.8rem 0 0;color:#c8dce5;font-size:1.12rem;line-height:1.45}
.ecosystem-elements{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.ecosystem-element{position:relative;min-height:290px;padding:2.2rem;border-right:1px solid rgba(255,255,255,.22);transition:background .3s,padding .3s}
.ecosystem-element:last-child{border-right:0}
.ecosystem-element:hover{background:rgba(255,255,255,.07);padding-top:1.85rem}
.ecosystem-element>span{color:#62c4ef;font-family:var(--f-display);font-weight:700}
.ecosystem-element h3{margin:4rem 0 .65rem;color:#fff;font-size:clamp(1.7rem,3vw,2.8rem)}
.ecosystem-element p{max-width:30ch;color:#d7e7ee;font-size:1.05rem}
.ecosystem-element b{position:absolute;right:2rem;top:2rem;color:#62c4ef;font-size:1.5rem}

.trusted-section{background:#fff;overflow:hidden}
.trusted-section h2{margin-bottom:2.3rem;font-size:clamp(2rem,4vw,3.8rem)}
.trusted-section .logo-track span{background:#fff}

/* Predios: conservar contraste para el texto y revelar vía/predio a la derecha. */
.terrenos-page .page-hero.with-img .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,.96) 0%,rgba(6,42,61,.84) 37%,rgba(6,42,61,.34) 63%,rgba(6,42,61,.06) 100%)}
.terrenos-page .page-hero.with-img .hero-bg img{object-position:center 55%}

.ppa-closing{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(4,31,44,.88),rgba(6,42,61,.68)),url('../assets/img/blog-proyectos-solares.jpg') center/cover no-repeat;color:#fff}
.ppa-closing-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,8vw,8rem);align-items:center;min-height:390px}
.ppa-closing h2{max-width:720px;color:#fff;font-size:clamp(2.4rem,4.8vw,4.7rem)}
.ppa-closing p{max-width:580px;color:#edf5f8;font-size:1.15rem;margin-bottom:1.6rem}

@media(max-width:960px){
  .hero-corporate-inner{width:min(600px,88%);margin-left:auto;margin-right:auto}
  .hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,.78),rgba(6,42,61,.9))}
  .project-reality-grid,.ecosystem-heading{grid-template-columns:1fr}
  .ppa-closing-grid{grid-template-columns:1fr;min-height:440px}
  .ecosystem-elements{grid-template-columns:1fr}
  .ecosystem-element{min-height:230px;border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}
  .ecosystem-element:last-child{border-bottom:0}
}
@media(max-width:700px){
  .hero-corporate{padding:7.5rem 0 10rem;min-height:94svh}
  .hero-corporate .hero-bg img{object-position:42% 54%;opacity:1}
  .hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,.76),rgba(6,42,61,.9))}
  .hero-corporate h1{font-size:clamp(2.45rem,12vw,4rem)}
  .development-path{grid-template-columns:1fr}
  .development-path>div{min-height:180px}
  .ecosystem-element h3{margin-top:3rem}
  .ecosystem-carousel{border-radius:16px;margin-bottom:2.6rem}
  .ecosystem-carousel-progress{bottom:.75rem}
  .ecosystem-video-card{aspect-ratio:4/5;border-radius:16px;margin-bottom:2.6rem}
  .terrenos-page .page-hero.with-img .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,.9),rgba(6,42,61,.58))}
}
@media(prefers-reduced-motion:reduce){
  .ecosystem-carousel-track{transition:none}
  .ecosystem-carousel-progress span{animation:none}
}

/* =========================================================
   V27 — fotografía limpia, acentos Andes y enlaces precisos
   ========================================================= */
/* Los anclajes del pie de página quedan visibles bajo la barra fija. */
section[id], .faq-item[id]{scroll-margin-top:96px}

/* El azul claro oficial (#1098dd) vuelve a ser el acento de las cifras. */
.stats-evidence .num,
.business-number,
.vision-stat strong,
.card .num[data-count],
.development-path span,
.route-number,
.culture-principles article>span{color:var(--sky)!important}

/* Hero: imagen sin velo azul general; la lectura se resuelve en una franja clara local. */
.hero-corporate .hero-bg::after{
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.04) 43%,rgba(255,255,255,.55) 67%,rgba(255,255,255,.9) 100%)
}
.hero-corporate-inner{
  background:linear-gradient(100deg,rgba(255,255,255,.3),rgba(255,255,255,.86));
  border:1px solid rgba(255,255,255,.42);
  border-radius:22px;
  padding:2rem 2.3rem;
  backdrop-filter:blur(3px);
  box-shadow:0 18px 50px rgba(8,42,61,.08)
}
.hero-corporate h1{color:var(--ink)}
.hero-corporate h1 em{color:var(--sky)}
.hero-corporate p{color:var(--ink)}
.hero-corporate .text-link-light{color:var(--primary);border-color:rgba(8,76,110,.3)}

/* Páginas internas: contraste localizado, conservando el color real de la foto. */
.page-hero.with-img .hero-bg::after{
  background:linear-gradient(90deg,rgba(6,42,61,.78) 0%,rgba(6,42,61,.5) 42%,rgba(6,42,61,.14) 76%,rgba(6,42,61,.03) 100%)
}
.terrenos-page .page-hero.with-img .hero-bg::after{
  background:linear-gradient(90deg,rgba(6,42,61,.78) 0%,rgba(6,42,61,.5) 40%,rgba(6,42,61,.12) 72%,rgba(6,42,61,0) 100%)
}

/* En el portafolio, la franja de lectura es clara y no tapa la imagen. */
.project-gallery figure::after{
  inset:34% 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,0) 28%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.88) 86%,rgba(255,255,255,.98) 100%)
}
.project-gallery figcaption{color:var(--ink);text-shadow:none}
.project-gallery figcaption span{color:var(--sky-d)}
.project-gallery figcaption strong{color:var(--ink)}
.project-gallery figcaption small{color:var(--body)}

/* Metas a 2030: cifras limpias, sin las cajas/arcos azul oscuro. */
.vision-stat{
  background:transparent;
  color:var(--ink);
  border:0;
  border-left:4px solid var(--sky);
  border-radius:0;
  min-height:auto;
  padding:1.25rem 0 1.25rem 1.6rem;
  justify-content:center;
  text-align:left
}
.vision-stat strong{color:var(--sky)}
.vision-stat p{max-width:230px;margin:1rem 0 0;color:var(--body);text-align:left}

/* El cierre de Energía para empresas mantiene la foto protagonista. */
.ppa-closing{background:linear-gradient(90deg,rgba(4,31,44,.72),rgba(6,42,61,.28)),url('../assets/img/blog-proyectos-solares.jpg') center/cover no-repeat}

@media(max-width:960px){
  .hero-corporate-inner{width:min(720px,92%);margin-inline:auto}
  .hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.86))}
}
@media(max-width:700px){
  .hero-corporate-inner{padding:1.45rem 1.25rem;border-radius:18px}
  .hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(255,255,255,.68),rgba(255,255,255,.9))}
  .vision-stat{border-left:0;border-top:4px solid var(--sky);padding:1.25rem 0;text-align:left}
}

/* =========================================================
   V28 — escala editorial y metas 2030 integradas
   ========================================================= */
/* El hero vuelve a ser fotografía + tipografía; no una tarjeta sobrepuesta. */
.hero-corporate-inner{
  width:min(620px,46%);
  max-width:620px;
  margin-left:auto;
  margin-right:max(4%,calc((100% - var(--wrap))/2));
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  backdrop-filter:none;
  box-shadow:none
}
.hero-corporate .hero-bg::after{
  background:linear-gradient(90deg,rgba(6,42,61,0) 0%,rgba(6,42,61,.03) 42%,rgba(6,42,61,.34) 70%,rgba(6,42,61,.58) 100%)
}
.hero-corporate h1{font-size:clamp(2.3rem,4.2vw,4.35rem);color:#fff;line-height:1.02}
.hero-corporate h1 em{color:#54c1f3}
.hero-corporate p{font-size:clamp(1rem,1.3vw,1.16rem);color:#edf7fb;max-width:570px}
.hero-corporate .text-link-light{color:#fff;border-color:rgba(255,255,255,.5)}

/* Títulos internos más sobrios y consistentes con la referencia. */
.page-hero h1{font-size:clamp(2rem,4.1vw,3.45rem);line-height:1.05;max-width:860px}
.page-hero p{font-size:clamp(1rem,1.2vw,1.12rem)}

/* Metas 2030: dos métricas animadas, sin barras verticales ni cajas pesadas. */
.vision-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.vision-intro{padding:0;max-width:560px}
.vision-intro .eyebrow{margin-bottom:.8rem}
.vision-intro h2{font-size:clamp(1.8rem,3.2vw,3.1rem);line-height:1.08;margin-bottom:1rem}
.vision-intro p{max-width:420px;font-size:1.04rem;color:var(--body)}
.vision-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);align-items:start}
.vision-stat{position:relative;background:transparent;color:var(--ink);border:0;border-radius:0;min-height:0;padding:1.15rem 0 1.35rem;text-align:left;align-items:flex-start}
.vision-stat strong{font-size:clamp(2.8rem,5vw,4.6rem);line-height:.95;color:var(--sky);transform:translateY(10px);opacity:0}
.vision-stat.in strong{animation:vision-number-in .75s cubic-bezier(.2,.8,.2,1) .12s forwards}
.vision-stat p{max-width:210px;margin:.75rem 0 0;color:var(--body);font-size:.98rem;line-height:1.4;text-align:left}
.vision-stat::after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--sky);transition:width 1.1s cubic-bezier(.2,.8,.2,1) .2s}
.vision-stat.in::after{width:100%}
@keyframes vision-number-in{to{opacity:1;transform:translateY(0)}}

@media(max-width:960px){
  .hero-corporate-inner{width:min(700px,88%);margin-inline:auto}
  .hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,.24),rgba(6,42,61,.62))}
}
@media(max-width:700px){
  .hero-corporate-inner{width:min(620px,88%);padding:0;background:transparent;border:0;box-shadow:none}
  .hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,.48),rgba(6,42,61,.76))}
  .hero-corporate h1{font-size:clamp(2.2rem,10vw,3.5rem)}
  .vision-grid{grid-template-columns:1fr;gap:2rem}
  .vision-metrics{grid-template-columns:1fr 1fr;gap:1.5rem}
  .vision-stat{border-top:0;padding:1rem 0 1.2rem}
}
@media(max-width:480px){.vision-metrics{grid-template-columns:1fr;gap:.8rem}}

/* NOSOTROS V26 — propósito, visión y cultura visibles desde el inicio */
.about-overview{overflow:hidden}
.about-overview-intro{max-width:900px;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.about-overview-intro h2{max-width:900px;font-size:clamp(2.4rem,5vw,5rem);line-height:1.02;margin:1rem 0 1.35rem}
.about-overview-intro p{max-width:760px;font-size:1.15rem;color:var(--body)}
.about-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.about-pillar{min-height:340px;padding:clamp(1.65rem,3vw,2.8rem);background:#fff;display:flex;flex-direction:column}
.about-pillar>span{color:var(--sky-d);font-family:var(--f-display);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.about-pillar h3{margin:2.5rem 0 .8rem;color:var(--primary);font-size:clamp(1.4rem,2.2vw,2.1rem);line-height:1.12}
.about-pillar p{margin-top:auto;max-width:34ch;font-size:1rem}
.about-method{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,7vw,7rem);align-items:start;margin-top:clamp(3rem,7vw,6rem);padding:clamp(2rem,4vw,3.4rem);background:var(--primary);color:#fff}
.about-method h3{margin-top:.65rem;color:#fff;font-size:clamp(1.7rem,3.2vw,3rem);line-height:1.08}
.about-method-label{color:#8dd6f7;font-family:var(--f-display);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.about-method ul{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:0;padding:0;list-style:none}
.about-method li{padding-left:1rem;border-left:1px solid rgba(255,255,255,.3)}
.about-method li strong,.about-method li span{display:block}
.about-method li strong{margin-bottom:.45rem;color:#fff;font-family:var(--f-display);font-size:1.05rem}
.about-method li span{color:#d7e8ef;font-size:.96rem;line-height:1.45}
@media(max-width:960px){
  .about-pillars{grid-template-columns:1fr}
  .about-pillar{min-height:260px}
  .about-method{grid-template-columns:1fr}
}
@media(max-width:700px){
  .about-overview-intro h2{font-size:clamp(2.25rem,11vw,4rem)}
  .about-method ul{grid-template-columns:1fr;gap:1.4rem}
}

/* =========================================================
   V29 — escala tipográfica única para home y páginas internas
   Exo: títulos, navegación y controles · Hind Madurai: lectura
   ========================================================= */
:root{
  --type-body:1rem;
  --type-small:.875rem;
  --type-eyebrow:.75rem;
  --type-lead:1.125rem;
  --type-h1:clamp(2.25rem,4vw,3.5rem);
  --type-h2:clamp(1.75rem,2.8vw,2.25rem);
  --type-h3:1.25rem;
  --type-stat:clamp(2.5rem,4vw,3.25rem);
}

body{font-size:var(--type-body);line-height:1.6}
h1,.hero-corporate h1,.page-hero h1{font-size:var(--type-h1)!important;line-height:1.08}
h2,.project-reality-copy h2,.ecosystem-heading h2,.ppa-closing h2,.about-overview-intro h2,.vision-intro h2{font-size:var(--type-h2)!important;line-height:1.12}
h3,.about-pillar h3,.about-method h3{font-size:var(--type-h3)!important;line-height:1.2}
h4{font-size:1rem!important;line-height:1.25}
p,li{font-size:var(--type-body)}
.lead,.hero p,.hero-corporate p,.page-hero p{font-size:var(--type-lead)!important;line-height:1.55}
.eyebrow,.about-method-label,.business-tag,.chip{font-size:var(--type-eyebrow)!important;line-height:1.25}
.nav-link,.btn{font-size:1rem!important}
.btn-lg{font-size:1rem!important}
.stats .num,.stats-evidence .num,.vision-stat strong,.card .num,.business-number,.development-path span,.route-number{font-size:var(--type-stat)!important;line-height:1}
.vision-stat p{font-size:var(--type-body)!important}
.stat .lbl,.stat .lbl span{font-size:var(--type-small)!important;line-height:1.45}
.about-pillar p,.about-method li span,.value p{font-size:var(--type-body)!important}
.tl-dot{font-size:var(--type-small)!important}
.project-reality-copy p,.ecosystem-element p,.development-path small,.portfolio-copy p{font-size:var(--type-body)!important}
/* Las cifras mantienen jerarquía sin volver a abrir una escala paralela. */
.project-reality-copy h2,.ecosystem-heading h2,.ppa-closing h2{max-width:38ch}
.ecosystem-element h3{font-size:var(--type-h2)!important}
.development-path strong{font-size:var(--type-h3)!important}
/* Una sola excepción editorial: citas o énfasis textuales pueden ir en cursiva. */
.quote,.article-quote{font-style:italic}
.founder-role{font-family:var(--f-display);font-weight:600;color:var(--primary);margin-bottom:.8rem}
.impact-stat{font-family:var(--f-display);font-weight:700;color:var(--sky)!important;font-size:var(--type-stat)!important;line-height:1.05}
.section-primary .impact-stat{color:#8dd6f7!important}
.section-primary .about-method{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.business-card h3,.route-title h3,.method-promise h3,.insight-card h3{font-size:var(--type-h3)!important}
.stakeholder-intro h2,.purpose-copy h2,.portfolio-copy h2,.land-copy h2,.trusted-section h2,.home-contact h2{font-size:var(--type-h2)!important;line-height:1.12}
.purpose-statement p{font-size:var(--type-lead)!important;line-height:1.55}
.project-gallery figcaption strong{font-size:var(--type-h3)!important;line-height:1.2}
.word-content{max-width:900px}
.word-content h2{margin:2.8rem 0 1.1rem;padding-top:.3rem}
.word-content h2:first-child{margin-top:0}
.word-content h3{margin:2rem 0 .55rem;color:var(--primary)}
.word-content h4{margin:1.5rem 0 .35rem;color:var(--primary);font-family:var(--f-display);font-weight:700}
.word-content p{max-width:790px}
.word-content .text-link{display:inline-flex;margin-top:.15rem}

/* HOME — ruta viva del proyecto. Los cuatro hitos permanecen visibles y
   el hito activo se expande automáticamente para mostrar la explicación. */
.project-route{background:#eef7fb;overflow:hidden}
.route-intro{display:grid;grid-template-columns:1fr;gap:clamp(2rem,7vw,7rem);align-items:start;margin-bottom:clamp(2.2rem,5vw,4rem)}
.route-intro-copy h2{max-width:850px;margin:0;color:var(--primary);font-size:var(--type-h2)!important;line-height:1.12}
.route-live{background:var(--primary);padding:clamp(1rem,2vw,1.35rem);border-radius:24px;box-shadow:0 20px 55px rgba(6,42,61,.15);overflow:hidden}
.route-live-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.1rem .3rem 1rem;color:#cfe5ed;font-family:var(--f-display);font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.route-live-status{color:#72cdf5;white-space:nowrap}
.route-stages{display:flex;gap:.55rem;min-height:480px;overflow:hidden}
.route-stage{position:relative;isolation:isolate;display:flex;flex:1 1 0;min-width:0;min-height:480px;overflow:hidden;border-radius:16px;background:#0b3447;outline:0;transition:flex .6s cubic-bezier(.22,.61,.36,1),transform .35s ease,box-shadow .35s ease}
.route-stage-image{position:absolute;z-index:-2;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.route-stage-image-portrait{object-position:center 58%}
.route-stage::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(3,29,42,.18) 0%,rgba(3,29,42,.42) 42%,rgba(3,29,42,.94) 100%);transition:background .4s ease}
.route-stage::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,rgba(16,152,221,.2),transparent 42%);opacity:.7}
.route-stage.is-active,.route-stage:hover,.route-stage:focus-visible{flex:2.25;transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.2)}
.route-stage.is-active::before,.route-stage:hover::before,.route-stage:focus-visible::before{background:linear-gradient(180deg,rgba(3,29,42,.08) 0%,rgba(3,29,42,.28) 38%,rgba(3,29,42,.96) 100%)}
.route-stage-content{position:absolute;inset:auto 1.15rem 1.25rem;z-index:1;color:#fff}
.route-stage-number{display:block;margin-bottom:.55rem;color:#8dd6f7;font-family:var(--f-display);font-size:1rem;font-weight:700;letter-spacing:.08em}
.route-stage h3{max-width:24ch;margin:0;color:#fff;font-family:var(--f-display);font-size:var(--type-h3)!important;line-height:1.18}
.route-stage p{max-width:70ch;max-height:0;margin:0;overflow:hidden;color:#edf7fb;font-size:var(--type-small)!important;line-height:1.52;opacity:0;transition:max-height .55s ease,opacity .35s ease,margin-top .35s ease}
.route-stage.is-active p,.route-stage:hover p,.route-stage:focus-visible p{max-height:330px;margin-top:.7rem;opacity:1}
.route-stage-progress{position:absolute;z-index:2;left:0;right:auto;bottom:0;width:0;height:4px;background:var(--sky);border-radius:0 4px 4px 0}
.route-stage.is-active .route-stage-progress{animation:route-progress 2.5s linear both}
@keyframes route-progress{from{width:0}to{width:100%}}
@media(max-width:960px){
  .route-intro{grid-template-columns:1fr;gap:2rem}
  .route-intro-copy h2{max-width:34ch}
  .route-stages{min-height:460px}
  .route-stage{min-height:460px}
}
@media(max-width:700px){
  .route-live{padding:.8rem;border-radius:18px}
  .route-live-head{padding:.1rem .2rem .8rem;font-size:.7rem}
  .route-stages{display:grid;grid-template-columns:1fr;gap:.45rem;min-height:0;overflow:visible}
  .route-stage,.route-stage.is-active{display:block;min-height:124px;height:auto;flex:none;transform:none;border-radius:12px}
  .route-stage.is-active{min-height:340px}
  .route-stage-content{inset:auto 1rem .95rem}
  .route-stage h3{font-size:1.12rem!important}
  .route-stage p{font-size:.875rem!important}
  .route-stage.is-active p,.route-stage:hover p,.route-stage:focus-visible p{max-height:250px}
  .route-stage:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .route-stage,.route-stage p{transition:none}
  .route-stage.is-active .route-stage-progress{animation:none}
}

/* HOME V36 — recorrido completo, más claro y con menos piezas aisladas. */
.home-redesign .hero-corporate{min-height:86svh;padding:7.8rem 0 8.5rem}
.home-redesign .hero-corporate .hero-bg img{object-position:center 54%;opacity:1}
.home-redesign .hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,0) 0%,rgba(6,42,61,.04) 40%,rgba(6,42,61,.72) 65%,rgba(6,42,61,.94) 100%)}
.home-redesign .hero-corporate-inner{width:min(620px,46%);margin-left:auto;margin-right:max(4%,calc((100% - var(--wrap))/2));padding:0;background:none;border:0;border-radius:0;backdrop-filter:none;box-shadow:none}
.hero-kicker{display:block;margin-bottom:1rem;color:#8dd6f7;font-family:var(--f-display);font-size:var(--type-eyebrow);font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.home-redesign .hero-corporate h1{max-width:12ch;color:#fff;font-size:var(--type-h1)!important;line-height:1.05;letter-spacing:-.02em;margin-bottom:1.2rem}
.home-redesign .hero-corporate h1 em{color:#54c1f3}
.home-redesign .hero-corporate p{max-width:560px;color:#edf7fb;font-size:var(--type-lead)!important;line-height:1.5;margin-bottom:1.35rem}
.hero-link{display:inline-flex;align-items:center;gap:.65rem;color:#fff;font-family:var(--f-display);font-size:var(--type-body);font-weight:700;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:.25rem;transition:gap .25s,color .25s,border-color .25s}
.hero-link:hover{gap:1rem;color:#8dd6f7;border-color:#8dd6f7}
.home-redesign .land-strip{width:min(var(--wrap),92%);min-height:76px;padding:1rem 1.45rem;grid-template-columns:1fr 1.2fr auto;gap:1rem;background:linear-gradient(110deg,#075f8d 0%,#0879b5 28%,#1ab5ed 52%,#0879b5 76%,#075f8d 100%);background-size:220% 100%;border:1px solid rgba(122,219,251,.42);border-radius:16px 16px 0 0;box-shadow:0 -10px 34px rgba(6,42,61,.22);animation:homeHeroGradient 6s ease-in-out infinite;will-change:background-position}
.home-redesign .land-strip span{font-size:var(--type-small);color:#eaf8fd}
.home-redesign .land-strip strong{font-size:var(--type-body);color:#fff;text-shadow:0 1px 8px rgba(4,44,65,.2)}
.home-redesign .land-strip b{font-size:1.35rem;color:#fff;transition:transform .2s}
.home-redesign .land-strip:hover b{transform:translateX(4px)}
.home-redesign .ecosystem-heading h2{max-width:22ch}
.home-redesign .ecosystem-heading p{font-size:var(--type-body);line-height:1.55}
.home-redesign .ecosystem-element{min-height:260px;padding:1.9rem}
.home-redesign .ecosystem-element h3{margin:3.7rem 0 .6rem}
.home-redesign .ecosystem-element p{font-size:var(--type-body)!important;line-height:1.5}
.home-redesign .portfolio-copy{padding:clamp(3.5rem,6vw,6rem) clamp(2rem,5vw,5rem)}
.home-redesign .portfolio-copy h2{max-width:12ch;margin:.45rem 0 1rem;font-size:var(--type-h2)!important;line-height:1.1}
.home-redesign .portfolio-copy p{font-size:var(--type-body)!important;line-height:1.55}
.home-redesign .proof-heading h2{max-width:24ch}
.home-redesign .proof-heading>p{font-size:var(--type-body);line-height:1.55}
.home-redesign .land-copy h2{max-width:18ch;font-size:var(--type-h2)!important;line-height:1.12}
.home-redesign .land-copy p{font-size:var(--type-body);line-height:1.55}
.home-redesign .land-visual{border-radius:34px 160px 34px 160px}
.home-redesign .land-visual img{object-position:center center}
.home-redesign .vision-grid{grid-template-columns:1.08fr .92fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.home-redesign .vision-intro h2{max-width:23ch}
.home-redesign .vision-intro p{max-width:610px;font-size:var(--type-body);line-height:1.55}
.home-redesign .vision-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.home-redesign .vision-stat{min-height:220px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--sky);border-radius:16px;padding:1.55rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;box-shadow:var(--shadow-sm)}
.home-redesign .vision-stat strong{color:var(--primary)!important;font-size:var(--type-stat)!important;line-height:1}
.home-redesign .vision-stat p{max-width:170px;margin:1rem 0 0;color:var(--body);font-size:var(--type-small)!important;line-height:1.45}
.home-redesign .trusted-section h2{max-width:20ch}
.home-redesign .home-contact{padding:clamp(4rem,7vw,6rem) 0!important}
.home-contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,7vw,7rem);align-items:center}
.home-contact-copy h2{max-width:12ch;margin-bottom:.8rem;color:#fff;font-size:var(--type-h2)!important;line-height:1.1}
.home-contact-copy p{max-width:430px;color:#dceaf1;font-size:var(--type-body)}
.home-contact-actions{display:grid;gap:.7rem}
.home-contact-actions a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.28);color:#fff;font-family:var(--f-display);font-size:var(--type-body);font-weight:600;transition:color .2s,padding .2s}
.home-contact-actions a:first-child{border-top:1px solid rgba(255,255,255,.28)}
.home-contact-actions a:hover{padding-left:.65rem;color:#8dd6f7}
.home-contact-actions b{color:#8dd6f7;font-size:1.25rem}
@media(max-width:960px){
  .home-redesign .hero-corporate-inner{width:min(620px,88%);margin-inline:auto}
  .home-redesign .hero-corporate .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,.55),rgba(6,42,61,.88))}
  .home-redesign .vision-grid{grid-template-columns:1fr}
  .home-redesign .vision-intro h2{max-width:30ch}
  .home-contact-layout{grid-template-columns:1fr;gap:2rem}
}
@media(max-width:700px){
  .home-redesign .hero-corporate{min-height:88svh;padding:7.2rem 0 9.5rem}
  .home-redesign .hero-corporate .hero-bg img{object-position:44% 54%}
  .home-redesign .hero-corporate h1{max-width:14ch}
  .home-redesign .land-strip{grid-template-columns:1fr auto;gap:.2rem 1rem;padding:.95rem 1.1rem}
  .home-redesign .land-strip span,.home-redesign .land-strip strong{grid-column:1/-1}
  .home-redesign .land-strip strong{font-size:.95rem}
  .home-redesign .land-visual{border-radius:18px}
  .home-redesign .vision-metrics{grid-template-columns:1fr}
  .home-redesign .vision-stat{min-height:170px}
}

/* NOSOTROS — contenido del documento presentado en una lectura visual más dinámica. */
.nosotros-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.nosotros-hero-copy{max-width:650px}
.nosotros-hero-copy p{max-width:650px}
.nosotros-hero-media{min-height:360px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:1.25rem}
.nosotros-hero-media img{width:100%;height:100%;object-fit:contain}
.word-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.word-image-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-sm)}
.word-image-card img{width:100%;height:320px;object-fit:contain}
.word-highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.5rem}
.word-highlight{background:#fff;padding:clamp(1.4rem,3vw,2.5rem)}
.word-highlight h3{margin:0;color:var(--primary)}
.vision-panel{margin-top:2.5rem;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;background:var(--primary);color:#fff;padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--radius)}
.vision-panel p{color:#dceaf1}
.vision-panel-lead{font-family:var(--f-display);font-size:var(--type-lead)!important;font-weight:600}
.vision-panel-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.vision-panel-stats>div{padding:1rem;border-left:3px solid var(--sky)}
.vision-panel-stats strong{display:block;font-family:var(--f-display);font-size:var(--type-stat);color:#8dd6f7;line-height:1}
.vision-panel-stats span{display:block;margin-top:.5rem;color:#dceaf1;font-size:var(--type-small)}
.process-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.process-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);transition:.25s}
.process-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.process-card:last-child{grid-column:1/-1}
.process-number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--sky-tint);color:var(--sky-d);font-family:var(--f-display);font-weight:700;margin-bottom:1rem}
.process-card h3{margin-bottom:.7rem;color:var(--primary)}
.process-card p:last-child{margin-bottom:0}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.audience-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.audience-card h3{color:var(--primary);margin-bottom:.7rem}
.audience-card .text-link{margin-top:auto;padding-top:1rem}
.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.reason-card{border-top:3px solid var(--sky);padding:1.25rem 1rem 0}
.reason-card h3{color:var(--primary);margin-bottom:.55rem}
.founder-section{background:#fff}
.values-title{margin:2.5rem 0 1rem!important}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.value-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow-sm)}
.value-card h4{margin:0 0 .6rem;color:var(--primary);font-family:var(--f-display);font-weight:700}
.value-card p{margin:0}
.impact-section{background:var(--primary);color:#fff}
.impact-section h2,.impact-section h3{color:#fff}
.impact-section p{color:#dceaf1}
.impact-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;margin-top:2rem}
.impact-photo{aspect-ratio:4/3}
.impact-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.impact-copy h3{margin-bottom:.75rem}
.impact-number{display:block;margin-top:1.3rem;font-family:var(--f-display);font-size:var(--type-stat);color:#8dd6f7;line-height:1.05}
.impact-closing{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2)}
.impact-closing h3{margin-bottom:.5rem}
@media(max-width:960px){
  .nosotros-hero-grid,.word-intro-grid,.vision-panel,.impact-feature{grid-template-columns:1fr}
  .nosotros-hero-media{max-width:680px}
  .audience-grid,.values-grid{grid-template-columns:repeat(2,1fr)}
  .reason-grid{grid-template-columns:repeat(2,1fr)}
  .impact-closing{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .word-highlight-grid,.process-grid{grid-template-columns:1fr}
  .process-card:last-child{grid-column:auto}
  .audience-grid,.reason-grid,.values-grid{grid-template-columns:1fr}
  .vision-panel-stats{grid-template-columns:1fr 1fr}
  .nosotros-hero-media{min-height:260px}
}

/* NOSOTROS V32 — narrativa corta, prueba visible y recorrido interactivo. */
.about-intro{overflow:hidden}
.about-intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,7vw,7rem);align-items:center}
.about-intro-grid-single{display:block}
.about-intro-copy{max-width:650px}
.about-intro-copy h2{max-width:680px;margin:.8rem 0 1.15rem}
.about-intro-copy p{max-width:620px}
.about-purpose{font-family:var(--f-display);font-size:var(--type-lead)!important;line-height:1.45;color:var(--primary);font-weight:600;margin-top:1.5rem;padding-left:1.1rem;border-left:3px solid var(--sky)}
.about-principles{margin-top:clamp(2rem,4vw,3.5rem);padding-top:clamp(1.5rem,3vw,2.4rem);border-top:1px solid var(--line)}
.about-principles h3{margin:0;color:var(--primary);font-size:var(--type-h3)!important}
.about-principles-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.35rem 0 1.6rem;padding:0;list-style:none}
.about-principles-list li{position:relative;padding:1.25rem 1.2rem 1.25rem 2.25rem;background:var(--bg-soft);border-top:2px solid var(--sky);font-size:var(--type-small);line-height:1.52}
.about-principles-list li::before{content:"";position:absolute;left:1.05rem;top:1.55rem;width:.52rem;height:.52rem;border-radius:50%;background:var(--sky);box-shadow:0 0 0 4px rgba(16,152,221,.12)}
.about-principles>p{max-width:760px;margin:0;padding:1.25rem 1.35rem;background:var(--sky-tint);border-left:3px solid var(--sky);font-size:var(--type-body);line-height:1.55}
.about-intro-media{aspect-ratio:1.05;max-height:470px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.about-intro-media img{width:100%;height:100%;object-fit:contain}
.about-proof{margin-top:clamp(2.5rem,5vw,4.5rem);display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.about-proof-group{background:#fff;padding:clamp(1.25rem,2.5vw,2rem)}
.about-proof-experience{background:var(--primary);color:#fff}
.about-proof-label{display:block;margin-bottom:1.2rem;font-family:var(--f-display);font-size:var(--type-eyebrow);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sky-d)}
.about-proof-experience .about-proof-label{color:#8dd6f7}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.proof-item{min-width:0}
.proof-item strong{display:block;font-family:var(--f-display);font-size:clamp(1.8rem,3.2vw,3rem);line-height:1;color:var(--sky);white-space:nowrap}
.proof-item span{display:block;margin-top:.6rem;font-size:var(--type-small);line-height:1.35;color:var(--body)}
.about-proof-experience .proof-item span{color:#dceaf1}
.founder-feature{background:#fff;padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(3.5rem,7vw,6rem)}
.founder-feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,7vw,7rem);align-items:center}
.founder-feature-media{aspect-ratio:4/5;max-height:560px}
.founder-feature-media img{object-position:center 28%}
.founder-feature-copy{max-width:640px}
.founder-feature-copy h2{margin:.75rem 0 1.25rem}
.founder-feature-copy h3{color:var(--primary);margin-bottom:.55rem}
.founder-feature-copy h3 span{font-family:var(--f-body);font-size:var(--type-body);font-weight:500;color:var(--body)}
.process-section{background:var(--bg)}
.process-section-head{max-width:680px;margin-bottom:2rem}
.process-section-head h2{margin:.75rem 0 .8rem}
.process-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-step{min-width:0;border-right:1px solid var(--line);padding:1rem 1.1rem 1.3rem;transition:background .25s,transform .25s}
.process-step:last-child{border-right:0}
.process-step[open]{background:var(--sky-tint)}
.process-step summary{display:flex;flex-direction:column;gap:.8rem;cursor:pointer;list-style:none;font-family:var(--f-display);font-weight:700;color:var(--primary)}
.process-step summary::-webkit-details-marker{display:none}
.process-step summary::after{content:'+';align-self:flex-end;margin-top:-2.1rem;color:var(--sky-d);font-size:1.2rem;font-weight:500}
.process-step[open] summary::after{content:'−'}
.process-step p{font-size:var(--type-small);line-height:1.45;margin:1rem 0 0;color:var(--body)}
.process-number{margin:0;width:34px;height:34px}
.culture-section{overflow:hidden}
.culture-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:start}
.culture-copy{max-width:620px}
.culture-copy h2{margin:.75rem 0 1rem}
.text-disclosure{margin-top:1.25rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.text-disclosure summary{padding:.9rem 0;cursor:pointer;font-family:var(--f-display);font-weight:600;color:var(--primary);list-style:none}
.text-disclosure summary::-webkit-details-marker{display:none}
.text-disclosure summary::after{content:'+';float:right;color:var(--sky-d);font-size:1.2rem}
.text-disclosure[open] summary::after{content:'−'}
.text-disclosure p{padding-bottom:.75rem}
.values-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow-sm)}
.values-panel h3{margin-bottom:1.1rem;color:var(--primary)}
.values-grid-compact{grid-template-columns:1fr 1fr;gap:.8rem}
.values-grid-compact .value-card{padding:1.1rem;background:var(--bg-soft);box-shadow:none}
.values-grid-compact .value-card h4{font-size:1rem!important;margin-bottom:.45rem}
.values-grid-compact .value-card p{font-size:var(--type-small)!important;line-height:1.4}
.impact-feature-condensed{margin-top:0}
.impact-feature-condensed .impact-copy{max-width:600px}
.impact-feature-condensed .impact-copy .eyebrow{color:#8dd6f7}
.about-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:clamp(2.5rem,5vw,4rem);padding-top:2rem;border-top:1px solid rgba(255,255,255,.2)}
.about-cta h3{margin-bottom:.35rem}
.about-cta p{margin:0}
.nosotros-hero.with-img .hero-bg::after{background:linear-gradient(90deg,rgba(6,42,61,.84) 0%,rgba(6,42,61,.58) 42%,rgba(6,42,61,.18) 100%)}
.nosotros-hero .nosotros-hero-grid{display:block;min-height:360px}
.nosotros-hero .nosotros-hero-copy{max-width:620px;padding-top:1rem}
.process-panels{display:flex;gap:2px;min-height:430px;overflow:hidden;background:var(--primary)}
.process-panel{position:relative;isolation:isolate;flex:1 1 0;min-width:0;overflow:hidden;background-image:var(--panel-image);background-position:center;background-size:cover;transition:flex .75s cubic-bezier(.2,.8,.2,1),filter .45s,transform .45s;cursor:default}
.process-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,42,61,.08) 20%,rgba(6,42,61,.9) 100%);z-index:-1;transition:background .45s}
.process-panel-shade{position:absolute;inset:0;background:rgba(8,76,110,.12);z-index:-1;transition:background .45s}
.process-panel-content{position:absolute;inset:auto 1.35rem 1.4rem;color:#fff;transform:translateY(2.8rem);transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.process-panel.is-active,.process-panel:hover,.process-panel:focus-within{flex:2.2 1 0}
.process-panel.is-active .process-panel-content,.process-panel:hover .process-panel-content,.process-panel:focus-within .process-panel-content{transform:none}
.process-panel:not(.is-active)::before{background:linear-gradient(180deg,rgba(6,42,61,.18) 15%,rgba(6,42,61,.78) 100%)}
.process-panel:not(.is-active) .process-panel-content p{opacity:0;transform:translateY(10px)}
.process-panel-content p{max-width:32ch;margin:.65rem 0 0;color:#eff8fc;font-size:var(--type-small);line-height:1.45;opacity:1;transform:none;transition:opacity .35s .15s,transform .35s .15s}
.process-panel-number{display:block;margin-bottom:.6rem;color:#8dd6f7;font-family:var(--f-display);font-size:var(--type-eyebrow);font-weight:700;letter-spacing:.12em}
.process-panel-content h3{margin:0;color:#fff;font-size:clamp(1.2rem,2vw,1.75rem)!important;line-height:1.1}
.process-panel:hover,.process-panel:focus-within{transform:translateY(-4px)}
.process-panel:focus-visible{outline:3px solid #8dd6f7;outline-offset:-3px}
@media(max-width:960px){
  .about-intro-grid,.founder-feature-grid,.culture-layout{grid-template-columns:1fr}
  .about-intro-media{max-width:560px}
  .founder-feature-media{max-width:520px}
  .process-strip{grid-template-columns:repeat(3,1fr)}
  .process-step:nth-child(3){border-right:0}
  .process-step:nth-child(-n+3){border-bottom:1px solid var(--line)}
}
@media(max-width:700px){
  .about-proof{grid-template-columns:1fr}
  .proof-grid{grid-template-columns:1fr 1fr}
  .proof-grid-experience{grid-template-columns:repeat(3,1fr)}
  .proof-grid-experience .proof-item strong{font-size:1.45rem}
  .process-strip{grid-template-columns:1fr}
  .process-step,.process-step:nth-child(3){border-right:0;border-bottom:1px solid var(--line)}
  .process-step:last-child{border-bottom:0}
  .values-grid-compact{grid-template-columns:1fr 1fr}
  .about-cta{align-items:flex-start;flex-direction:column}
  .about-cta .btn{width:100%}
  .process-panels{display:grid;grid-template-columns:1fr;min-height:0;gap:2px}
  .process-panel{min-height:170px;flex:none!important}
  .process-panel.is-active,.process-panel:hover,.process-panel:focus-within{min-height:260px}
  .process-panel-content{transform:none;inset:auto 1.1rem 1.1rem}
  .process-panel:not(.is-active) .process-panel-content p{display:none}
  .process-panel.is-active .process-panel-content p,.process-panel:hover .process-panel-content p,.process-panel:focus-within .process-panel-content p{display:block;opacity:1;transform:none}
}
@media(max-width:440px){
  .proof-grid-experience{grid-template-columns:1fr 1fr}
  .values-grid-compact{grid-template-columns:1fr}
}

/* =========================================================
   HOME — versión alineada con los comentarios del 22-09-2026
   ========================================================= */
.home-redesign .hero-kicker{display:none}
.home-redesign .hero-corporate-inner{width:min(650px,46%);max-width:650px}
.home-redesign .hero-corporate h1{max-width:16ch;font-size:clamp(2.3rem,4.2vw,4.35rem)!important;line-height:1.04}
.home-redesign .hero-corporate h1 em{display:block}
.home-redesign .hero-corporate .hero-lead{max-width:560px}

.home-redesign .ecosystem-heading{display:block}
.home-redesign .ecosystem-heading h2{max-width:30ch}
.home-redesign .ecosystem-heading p{display:block}
.home-redesign .ecosystem-element p{max-width:30ch}

.home-redesign .portfolio-carousel-wrap{width:min(1280px,100%);max-width:none}
.home-redesign .portfolio-carousel{min-height:620px;width:100%;border-radius:0;background:#eff8fb}
.home-redesign .portfolio-carousel figure::after{inset:38% 0 0;background:linear-gradient(180deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.25) 49%,rgba(255,255,255,.94) 87%,rgba(255,255,255,.99) 100%)}
.home-redesign .portfolio-carousel figcaption{left:clamp(1.5rem,7vw,7rem);right:clamp(1.5rem,7vw,7rem);bottom:clamp(2.2rem,6vw,5rem);gap:.45rem;max-width:760px}
.home-redesign .portfolio-carousel figcaption span{font-size:var(--type-eyebrow);color:var(--sky-d)}
.home-redesign .portfolio-carousel figcaption strong{font-size:clamp(1.35rem,2.7vw,2.35rem)!important;line-height:1.15;color:var(--primary)}
.home-redesign .portfolio-carousel figcaption small{font-size:var(--type-body);line-height:1.48;color:var(--body)}
.home-redesign .portfolio-carousel .project-gallery-toggle{right:clamp(1.5rem,4vw,4rem);bottom:clamp(1.4rem,3vw,2.4rem)}

.home-redesign .land-copy .eyebrow{display:none}
.home-redesign .land-copy h2{max-width:20ch}

.home-redesign .home-contact-layout{grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,6vw,6rem)}
.home-redesign .home-contact-copy h2{max-width:28ch;margin:0;color:#fff;font-size:var(--type-h2)!important;line-height:1.12}
.home-redesign .home-contact-button{white-space:nowrap}

@media(max-width:960px){
  .home-redesign .hero-corporate-inner{width:min(700px,88%);margin-inline:auto}
  .home-redesign .portfolio-carousel{min-height:560px}
  .home-redesign .home-contact-layout{grid-template-columns:1fr;align-items:flex-start}
  .home-redesign .home-contact-button{align-self:flex-start}
}
@media(max-width:700px){
  .home-redesign .hero-corporate-inner{width:min(620px,88%)}
  .home-redesign .hero-corporate h1{max-width:15ch;font-size:clamp(2.15rem,10vw,3.5rem)!important}
  .home-redesign .portfolio-carousel{min-height:510px}
  .home-redesign .portfolio-carousel figcaption{left:1.25rem;right:1.25rem;bottom:1.65rem}
  .home-redesign .portfolio-carousel figcaption strong{font-size:1.25rem!important}
  .home-redesign .portfolio-carousel figcaption small{font-size:.9rem}
  .home-redesign .home-contact-copy h2{max-width:25ch}
}

/* HOME — bloque visual de portafolio, plataforma e impacto */
.home-redesign .portfolio-showcase{padding:clamp(4.8rem,8vw,7.5rem) 0!important}
.portfolio-panels-wrap{width:min(1280px,92%);margin-inline:auto}
.portfolio-panels-heading{max-width:760px;margin-bottom:clamp(2rem,4vw,3.25rem)}
.portfolio-panels-heading h2{max-width:25ch;margin:0;color:#fff;font-size:var(--type-h2)!important;line-height:1.12}
.portfolio-panels{display:flex;gap:2px;min-height:500px;overflow:hidden;background:var(--primary)}
.portfolio-panel{position:relative;isolation:isolate;display:flex;flex:1 1 0;min-width:0;min-height:500px;overflow:hidden;background-image:var(--panel-image);background-position:center;background-size:cover;outline:0;transition:flex .75s cubic-bezier(.2,.8,.2,1),transform .4s ease,box-shadow .4s ease}
.portfolio-panel::before{content:"";position:absolute;z-index:-2;inset:0;background:var(--panel-image) center/cover no-repeat;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.portfolio-panel-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(3,29,42,.12) 10%,rgba(3,29,42,.42) 44%,rgba(3,29,42,.95) 100%);transition:background .45s ease}
.portfolio-panel.is-active,.portfolio-panel:hover,.portfolio-panel:focus-visible{flex:2.2 1 0;transform:translateY(-3px);box-shadow:0 18px 35px rgba(0,0,0,.22)}
.portfolio-panel.is-active::before,.portfolio-panel:hover::before,.portfolio-panel:focus-visible::before{transform:scale(1.045)}
.portfolio-panel.is-active .portfolio-panel-shade,.portfolio-panel:hover .portfolio-panel-shade,.portfolio-panel:focus-visible .portfolio-panel-shade{background:linear-gradient(180deg,rgba(3,29,42,.08) 5%,rgba(3,29,42,.3) 40%,rgba(3,29,42,.97) 100%)}
.portfolio-panel-content{position:absolute;inset:auto 1.35rem 1.5rem;color:#fff;transform:translateY(2.3rem);transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.portfolio-panel.is-active .portfolio-panel-content,.portfolio-panel:hover .portfolio-panel-content,.portfolio-panel:focus-visible .portfolio-panel-content{transform:none}
.portfolio-panel-number{display:block;margin-bottom:.65rem;color:#8dd6f7;font-family:var(--f-display);font-size:var(--type-eyebrow);font-weight:700;letter-spacing:.12em}
.portfolio-panel h3{margin:0;color:#fff;font-size:var(--type-h3)!important;line-height:1.15}
.portfolio-panel strong{display:block;margin-top:.7rem;color:#8dd6f7;font-family:var(--f-display);font-size:clamp(1.2rem,2.1vw,1.85rem);line-height:1.12}
.portfolio-panel p{max-width:30ch;margin:.75rem 0 0;color:#eff8fb;font-size:var(--type-small);line-height:1.45;opacity:0;transform:translateY(10px);transition:opacity .35s .1s,transform .35s .1s}
.portfolio-panel-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;color:#fff;font-family:var(--f-display);font-size:var(--type-small);font-weight:700;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:.2rem;opacity:0;transform:translateY(10px);transition:opacity .35s .15s,transform .35s .15s,color .2s,border-color .2s}
.portfolio-panel-link span{transition:transform .25s}
.portfolio-panel-link:hover{color:#8dd6f7;border-color:#8dd6f7}
.portfolio-panel-link:hover span{transform:translate(3px,-3px)}
.portfolio-panel.is-active p,.portfolio-panel:hover p,.portfolio-panel:focus-visible p,.portfolio-panel.is-active .portfolio-panel-link,.portfolio-panel:hover .portfolio-panel-link,.portfolio-panel:focus-visible .portfolio-panel-link{opacity:1;transform:none}
.portfolio-panel:focus-visible{outline:3px solid #8dd6f7;outline-offset:-3px}
@media(max-width:700px){
  .portfolio-panels-wrap{width:min(620px,92%)}
  .portfolio-panels-heading h2{max-width:28ch}
  .portfolio-panels{display:grid;grid-template-columns:1fr;min-height:0;gap:2px}
  .portfolio-panel,.portfolio-panel.is-active{min-height:170px;flex:none;transform:none}
  .portfolio-panel.is-active{min-height:300px}
  .portfolio-panel-content{inset:auto 1.15rem 1.2rem;transform:none}
  .portfolio-panel:not(.is-active) .portfolio-panel-content{transform:translateY(1.45rem)}
  .portfolio-panel:not(.is-active) p,.portfolio-panel:not(.is-active) .portfolio-panel-link{display:none}
  .portfolio-panel strong{font-size:1.25rem}
  .portfolio-panel.is-active p,.portfolio-panel.is-active .portfolio-panel-link{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .portfolio-panel,.portfolio-panel::before,.portfolio-panel-content,.portfolio-panel p,.portfolio-panel-link{transition:none}
}

/* HOME V40 — narrativa fotográfica para portafolio, activos e impacto */
.portfolio-story-section{background:var(--primary);padding:clamp(4.8rem,8vw,7.2rem) 0!important}
.portfolio-story{width:min(1280px,92%);margin-inline:auto}
.portfolio-story-media{position:relative;isolation:isolate;min-height:clamp(360px,43vw,620px);overflow:hidden;background:#0b3447;border-radius:24px;box-shadow:0 22px 55px rgba(0,0,0,.2)}
.portfolio-story-image{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s ease}
.portfolio-story-image.is-active{opacity:1;visibility:visible}
.portfolio-story-image img{width:100%;height:100%;object-fit:cover;object-position:center 50%;animation:portfolio-story-kenburns 7s ease both}
.portfolio-story-image:nth-of-type(2) img{object-position:center 42%}
.portfolio-story-image:nth-of-type(3) img{object-position:center 48%}
.portfolio-story-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(3,29,42,.03) 32%,rgba(3,29,42,.18) 57%,rgba(3,29,42,.88) 100%);pointer-events:none}
.portfolio-story-meta{position:absolute;z-index:2;inset:auto clamp(1.25rem,4vw,4rem) clamp(1.35rem,3.2vw,3rem);display:flex;align-items:end;justify-content:space-between;gap:1rem;color:#fff}
.portfolio-story-meta .eyebrow{margin:0;color:#8dd6f7}
.portfolio-story-counter{font-family:var(--f-display);font-size:.88rem;font-weight:700;letter-spacing:.1em;color:#fff}
.portfolio-story-progress{position:absolute;z-index:2;left:clamp(1.25rem,4vw,4rem);right:clamp(1.25rem,4vw,4rem);bottom:.75rem;height:2px;background:rgba(255,255,255,.28);transform-origin:left;transform:scaleX(.333);transition:transform .5s ease}
.portfolio-story-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1px;background:rgba(141,214,247,.3)}
.portfolio-story-card{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;min-height:190px;padding:clamp(1.25rem,2.5vw,2.25rem);border:0;border-radius:0;background:#0a3447;color:#dcecf3;text-align:left;cursor:pointer;transition:background .35s ease,color .35s ease,transform .35s ease}
.portfolio-story-card:hover,.portfolio-story-card:focus-visible{background:#124c66;color:#fff;transform:translateY(-4px)}
.portfolio-story-card.is-active{background:#fff;color:var(--ink)}
.portfolio-story-card.is-active .portfolio-story-number{color:var(--sky-d)}
.portfolio-story-card.is-active .portfolio-story-card-copy b{color:var(--sky-d)}
.portfolio-story-card:focus-visible{outline:3px solid #8dd6f7;outline-offset:-3px}
.portfolio-story-number{font-family:var(--f-display);font-size:.78rem;font-weight:700;letter-spacing:.1em;color:#8dd6f7;padding-top:.1rem}
.portfolio-story-card-copy{display:grid;gap:.48rem}
.portfolio-story-card-copy strong{font-family:var(--f-display);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.18;color:inherit}
.portfolio-story-card-copy b{font-family:var(--f-display);font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.08;color:#8dd6f7}
.portfolio-story-card-copy small{font-size:.94rem;line-height:1.42;color:inherit;opacity:.8}
.portfolio-story-arrow{align-self:end;font-size:1.35rem;color:inherit;transition:transform .25s ease}
.portfolio-story-card:hover .portfolio-story-arrow,.portfolio-story-card:focus-visible .portfolio-story-arrow{transform:translate(3px,-3px)}
@keyframes portfolio-story-kenburns{from{transform:scale(1)}to{transform:scale(1.045)}}
@media(max-width:760px){
  .portfolio-story-media{min-height:390px;border-radius:18px}
  .portfolio-story-cards{grid-template-columns:1fr}
  .portfolio-story-card{min-height:0;padding:1.2rem 1.25rem}
  .portfolio-story-card-copy b{font-size:1.35rem}
}
@media(prefers-reduced-motion:reduce){
  .portfolio-story-image,.portfolio-story-card,.portfolio-story-arrow,.portfolio-story-progress{transition:none}
  .portfolio-story-image img{animation:none}
}

/* HOME V42 — panel continuo de tres cortes, inspirado en SunColombia.
   La imagen común queda detrás de los tres paneles; al interactuar,
   únicamente el panel activo cambia a su segunda imagen y texto. */
.sun-panels-section{padding:clamp(4.8rem,8vw,7.5rem) 0 0!important;background:#eef7fb;overflow:hidden}
.sun-panels-heading{margin-bottom:clamp(2rem,4vw,3.5rem)}
.sun-panels-heading h2{max-width:760px;margin:0;color:var(--primary);font-size:var(--type-h2)!important;line-height:1.12}
.sun-panels-heading .eyebrow{margin-bottom:.8rem}
.sun-panels{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-height:clamp(510px,68vh,720px);background:#fff;gap:0}
.sun-panels-base{position:absolute;z-index:0;inset:0;overflow:hidden;background:#0b3447}
.sun-panels-base img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.sun-panel{position:relative;z-index:1;isolation:isolate;min-width:0;min-height:clamp(510px,68vh,720px);overflow:hidden;background:transparent;outline:0;cursor:pointer}
.sun-panel:not(:last-of-type){border-right:3px solid rgba(255,255,255,.92)}
.sun-panel-face{position:absolute;inset:0;display:flex;align-items:stretch;overflow:hidden;background:transparent;transition:opacity .7s cubic-bezier(.5,.12,.46,.88)}
.sun-panel-face>img{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.sun-panel-front{z-index:2;opacity:1}
.sun-panel-back{z-index:1;opacity:0;pointer-events:none}
.sun-panel.flipped .sun-panel-front{opacity:0;pointer-events:none}
.sun-panel.flipped .sun-panel-back{opacity:1;pointer-events:auto}
.sun-panel-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(3,16,24,.08) 8%,rgba(3,16,24,.04) 44%,rgba(0,0,0,.9) 100%)}
.sun-panel-copy{position:absolute;z-index:2;left:clamp(1.25rem,2.9vw,3.8rem);right:clamp(1.25rem,2.6vw,3.4rem);bottom:clamp(1.6rem,4.5vw,4rem);color:#fff}
.sun-panel-number{display:block;margin-bottom:.8rem;color:#8dd6f7;font-family:var(--f-display);font-size:.78rem;font-weight:700;letter-spacing:.12em}
.sun-panel h3{margin:0;color:#fff;font-size:clamp(1.1rem,1.7vw,1.55rem)!important;line-height:1.12;white-space:normal}
.sun-panel strong{display:block;margin-top:.7rem;color:#fff;font-family:var(--f-display);font-size:clamp(1.1rem,2vw,1.8rem);line-height:1.08}
.sun-panel p{max-width:29ch;margin:.8rem 0 0;color:#fff;font-size:var(--type-small);line-height:1.42;opacity:.9}
.sun-panel-prompt{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.05rem;color:#fff;font-family:var(--f-display);font-size:.86rem;font-weight:700;letter-spacing:.02em}
.sun-panel-prompt b{font-size:1.12rem;line-height:1;transition:transform .25s ease}
.sun-panel:hover .sun-panel-prompt b,.sun-panel:focus-visible .sun-panel-prompt b{transform:translate(3px,-3px)}
.sun-panel:focus-visible{outline:3px solid #8dd6f7;outline-offset:-6px}
@media(max-width:760px){
  .about-principles-list{grid-template-columns:1fr}
  .sun-panels{display:grid;grid-template-columns:1fr;min-height:0;gap:0}
  .sun-panel{min-height:310px}
  .sun-panel:not(:last-of-type){border-right:0;border-bottom:3px solid rgba(255,255,255,.92)}
  .sun-panel h3{font-size:1.35rem!important}
  .sun-panel-copy{bottom:1.7rem}
}
@media(prefers-reduced-motion:reduce){
  .sun-panel-face,.sun-panel-prompt b{transition:none}
}

/* HOME — captación breve para propietarios rurales. Este bloque sustituye
   únicamente la sección land-opportunity del home. */
.home-landowner{padding:clamp(4.5rem,8vw,7rem) 0;background:#f7fbfd;overflow:hidden}
.home-landowner-intro{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:clamp(2.5rem,7vw,7rem)}
.home-landowner-visual{position:relative;overflow:hidden;border-radius:34px 150px 34px 150px;box-shadow:var(--shadow-lg)}
.home-landowner-visual img{display:block;width:100%;height:clamp(360px,42vw,560px);object-fit:cover;object-position:center}
.home-landowner-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,42,61,0) 56%,rgba(5,42,61,.62) 100%);pointer-events:none}
.home-landowner-visual-tag{position:absolute;z-index:1;left:clamp(1.25rem,3vw,2.3rem);bottom:clamp(1.25rem,3vw,2.3rem);padding:.48rem .85rem;border:1px solid rgba(255,255,255,.38);border-radius:99px;background:rgba(5,42,61,.48);color:#fff;font-family:var(--f-display);font-size:.78rem;font-weight:700;letter-spacing:.03em}
.home-landowner-copy h2{max-width:14ch;margin-bottom:1.1rem;font-size:clamp(2rem,3.4vw,3.35rem)!important;line-height:1.08}
.home-landowner-copy p{max-width:54ch;font-size:var(--type-body);line-height:1.55}
.home-landowner-muted{margin-top:.8rem;color:var(--muted);font-size:var(--type-small)!important}
.home-landowner-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.7rem 0 1.2rem}
.home-landowner-facts div{padding:.9rem .8rem;border-top:2px solid var(--sky);background:#fff;box-shadow:var(--shadow-sm)}
.home-landowner-facts strong{display:block;color:var(--primary);font-family:var(--f-display);font-size:clamp(1.05rem,2vw,1.45rem);line-height:1.1}
.home-landowner-facts span{display:block;margin-top:.35rem;color:var(--muted);font-size:.76rem;line-height:1.25}
.home-landowner-more{display:inline-flex;align-items:center;gap:.55rem;color:var(--primary);font-family:var(--f-display);font-size:.88rem;font-weight:700;text-decoration:none}
.home-landowner-more span{transition:transform .2s ease}
.home-landowner-more:hover span{transform:translateX(4px)}
.home-landowner-details{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,6vw,6rem);margin-top:clamp(3.5rem,7vw,6rem);padding-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line)}
.home-landowner-details h3{max-width:26ch;margin:.1rem 0 1.4rem;font-size:clamp(1.45rem,2.4vw,2.1rem);line-height:1.15}
.home-landowner-checks{display:grid;gap:.7rem;list-style:none;padding:0;margin:0}
.home-landowner-checks li{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--body);font-size:.91rem;line-height:1.45;box-shadow:var(--shadow-sm)}
.home-landowner-checks li>span:first-child{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;margin-top:.05rem;border-radius:50%;background:var(--sky);color:#fff;font-family:var(--f-display);font-size:.8rem;font-weight:700}
.home-landowner-line-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem}
.home-line-guide{padding:1rem;border-radius:12px;font-size:.83rem;line-height:1.4}
.home-line-guide strong{display:block;margin-bottom:.35rem;font-family:var(--f-display);font-size:.83rem;letter-spacing:.02em}
.home-line-guide.is-good{border:1px solid rgba(24,156,102,.28);background:#f1fbf7;color:#205d4a}
.home-line-guide.is-good strong{color:#13845d}
.home-line-guide.is-no{border:1px solid rgba(210,94,75,.25);background:#fff7f5;color:#76504a}
.home-line-guide.is-no strong{color:#b34d3b}
.home-landowner-territories{padding:clamp(1.4rem,3vw,2.3rem);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}
.home-territories-layout{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:1.2rem;align-items:center}
.home-territory-map{display:grid;place-items:center;min-height:250px;padding:.55rem;border-radius:18px;background:radial-gradient(circle,#f7fcfe 0%,#e8f5fa 100%)}
.home-territory-map img{display:block;width:min(100%,145px);height:auto;filter:drop-shadow(0 8px 12px rgba(6,42,61,.12))}
.home-territory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem .8rem;list-style:none;padding:0;margin:0}
.home-territory-list li{position:relative;padding-left:.8rem;color:var(--body);font-size:.82rem;line-height:1.25}
.home-territory-list li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--sky)}
.home-territory-note{margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;line-height:1.45}
.home-landowner-capture{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(2rem,6vw,6rem);align-items:start;margin-top:clamp(3.5rem,7vw,6rem);padding:clamp(1.5rem,4vw,3.2rem);border-radius:24px;background:var(--primary);color:#fff;box-shadow:var(--shadow-lg)}
.home-landowner-capture .eyebrow{color:#8dd6f7}
.home-landowner-capture h3{max-width:14ch;margin:.15rem 0 1rem;color:#fff;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.1}
.home-landowner-capture-copy>p{color:rgba(255,255,255,.86);font-size:var(--type-body);line-height:1.5}
.home-landowner-capture-note{margin-top:1.3rem!important;color:rgba(255,255,255,.68)!important;font-size:.82rem!important}
.home-landowner-form{padding:clamp(1.1rem,3vw,1.8rem);border-radius:16px;background:#fff;color:var(--body)}
.home-landowner-form .form-msg{margin:0}
.home-landowner-form .btn{margin-top:.45rem}
.home-landowner-consent{display:flex;gap:.55rem;align-items:flex-start;line-height:1.4}
.home-landowner-consent input{flex:0 0 auto;margin-top:.25rem}
.home-landowner-consent a{color:var(--primary);font-weight:600}
@media(max-width:900px){
  .home-landowner-intro,.home-landowner-details,.home-landowner-capture{grid-template-columns:1fr;gap:2.5rem}
  .home-landowner-copy h2{max-width:18ch}
  .home-landowner-visual img{height:440px}
}
@media(max-width:600px){
  .home-landowner{padding:4rem 0}
  .home-landowner-visual{border-radius:22px 90px 22px 90px}
  .home-landowner-visual img{height:330px}
  .home-landowner-facts{gap:.5rem}
  .home-landowner-facts div{padding:.75rem .6rem}
  .home-landowner-facts strong{font-size:1rem}
  .home-landowner-facts span{font-size:.69rem}
  .home-landowner-line-guide,.home-territories-layout{grid-template-columns:1fr}
  .home-territory-map{min-height:220px}
  .home-territory-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.home-landowner-more span{transition:none}}

/* HOME — referencias visuales de línea y formulario de propietarios. */
.home-line-reference{display:grid;gap:.85rem;margin-top:2rem}
.home-line-reference-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:.75rem;align-items:center;padding:.7rem;border:1px solid;border-radius:16px;background:rgba(255,255,255,.08)}
.home-line-reference-card.is-good{border-color:rgba(141,214,247,.55)}
.home-line-reference-card.is-no{border-color:rgba(255,196,177,.55)}
.home-line-reference-images{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.home-line-reference-images img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px}
.home-line-reference-card strong{display:block;color:#fff;font-family:var(--f-display);font-size:.9rem}
.home-line-reference-card p{margin:.3rem 0 0;color:rgba(255,255,255,.78);font-size:.77rem;line-height:1.35}
.home-form-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid #e4eef3}
.home-form-kicker{display:block;color:var(--sky-d);font-family:var(--f-display);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.home-form-heading strong{display:block;margin-top:.25rem;color:var(--primary);font-family:var(--f-display);font-size:1.25rem;line-height:1.1}
.home-form-time{padding:.36rem .65rem;border-radius:99px;background:#eaf6fb;color:var(--sky-d);font-family:var(--f-display);font-size:.7rem;font-weight:700;white-space:nowrap}
.home-landowner-form{border:1px solid rgba(16,152,221,.18);border-radius:24px;box-shadow:0 18px 50px rgba(3,37,53,.2)}
.home-landowner-form .field{margin-bottom:.8rem}
.home-landowner-form .field label{font-size:.83rem;letter-spacing:.01em}
.home-landowner-form .field input,.home-landowner-form .field select{padding:.72rem .85rem;border-radius:12px;background:#fbfdfe}
.home-landowner-form .field input:focus,.home-landowner-form .field select:focus{background:#fff}
.home-landowner-form .btn{background:linear-gradient(135deg,var(--sky),#0a78b2);border-radius:999px;box-shadow:0 10px 22px rgba(16,152,221,.24);transition:transform .2s,box-shadow .2s}
.home-landowner-form .btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(16,152,221,.34)}
.home-territory-map{position:relative;display:grid;place-items:center;min-height:280px;padding:1rem;border-radius:22px;background:linear-gradient(145deg,#f7fcfe,#e5f4fa);border:1px solid #d8eaf2;overflow:hidden}
.home-territory-map::after{content:"";position:absolute;inset:12px;border:1px solid rgba(16,152,221,.15);border-radius:16px;pointer-events:none}
.home-territory-map img{position:relative;z-index:1;display:block;width:min(100%,190px);height:250px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(6,42,61,.15))}
.home-territory-map-badge{position:absolute;z-index:2;top:.8rem;left:.8rem;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--sky);color:#fff;font-family:var(--f-display);font-size:1.05rem;font-weight:800;box-shadow:0 6px 12px rgba(16,152,221,.25)}
.home-territory-map-caption{position:absolute;z-index:2;bottom:.8rem;left:50%;transform:translateX(-50%);padding:.28rem .6rem;border-radius:99px;background:rgba(255,255,255,.84);color:var(--primary);font-family:var(--f-display);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
@media(max-width:600px){
  .home-line-reference-card{grid-template-columns:92px minmax(0,1fr)}
  .home-form-heading{align-items:flex-start;flex-direction:column;gap:.55rem}
  .home-territory-map{min-height:250px}
  .home-territory-map img{height:220px}
}

/* Ajuste final: referencias de línea fuera de la tarjeta del formulario y mapa autónomo. */
.home-landowner-capture{display:block}
.home-landowner-capture-body{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(2rem,6vw,6rem);align-items:start;margin-top:1.8rem}
.home-landowner-capture>.home-line-reference{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding-bottom:1.2rem;border-bottom:1px solid rgba(141,214,247,.25)}
.home-landowner-capture>.home-line-reference .home-line-reference-card{grid-template-columns:200px minmax(0,1fr);min-height:140px;padding:1rem}
.home-landowner-capture>.home-line-reference .home-line-reference-images{gap:6px}
.home-landowner-capture>.home-line-reference .home-line-reference-images img{aspect-ratio:4/3}
.home-territory-map-art{position:relative;z-index:1;width:min(100%,190px);height:250px;display:grid;place-items:center}
.home-territory-map-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(6,42,61,.15))}
.home-territory-marker{position:absolute;z-index:2;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:var(--sky);box-shadow:0 4px 8px rgba(6,42,61,.25);transform:translate(-50%,-50%)}
.home-territory-marker::after{content:"";position:absolute;inset:-4px;border:1px solid rgba(16,152,221,.5);border-radius:50%;animation:homeTerritoryPulse 2.4s ease-out infinite}
.marker-risaralda{left:27.8%;top:46.7%}
.marker-quindio{left:29%;top:50.1%}
.marker-casanare{left:57.2%;top:45.1%}
@keyframes homeTerritoryPulse{0%{opacity:.9;transform:scale(.75)}70%,100%{opacity:0;transform:scale(1.8)}}
@media(max-width:900px){
  .home-landowner-capture-body{grid-template-columns:1fr}
  .home-landowner-capture>.home-line-reference{grid-template-columns:1fr}
}
@media(max-width:600px){
  .home-landowner-capture>.home-line-reference .home-line-reference-card{grid-template-columns:108px minmax(0,1fr);min-height:0;padding:.75rem}
  .home-territory-map-art{height:220px}
}
@media(prefers-reduced-motion:reduce){.home-territory-marker::after{animation:none}}

/* Distribución final del bloque: requisitos, líneas, territorios y formulario. */
.home-landowner-details{display:block}
.home-landowner-details>.home-line-reference{grid-template-columns:repeat(2,minmax(0,1fr));margin:2.5rem 0 0;padding:0}
.home-landowner-details>.home-line-reference .home-line-reference-card{grid-template-columns:190px minmax(0,1fr);min-height:150px;padding:1rem}
.home-landowner-details>.home-line-reference .home-line-reference-images{gap:6px}
.home-landowner-details>.home-line-reference .home-line-reference-images img{aspect-ratio:4/3}
.home-landowner-territories{margin-top:clamp(2.5rem,5vw,4rem)}
.home-territory-intro{max-width:72ch;margin:-.7rem 0 1.5rem;color:var(--muted);font-size:var(--type-body);line-height:1.5}
.home-territories-layout{grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem)}
.home-territory-map{min-height:380px;padding:1.2rem}
.home-territory-map-art{width:min(100%,270px);height:340px}
.home-territory-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 1rem}
.home-territory-list li{font-size:.9rem}
.home-territory-map-caption{display:none}
@media(max-width:900px){
  .home-landowner-details>.home-line-reference{grid-template-columns:1fr}
  .home-territories-layout{grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);gap:1.5rem}
}
@media(max-width:600px){
  .home-landowner-details>.home-line-reference .home-line-reference-card{grid-template-columns:118px minmax(0,1fr);min-height:0;padding:.75rem}
  .home-territories-layout{grid-template-columns:1fr}
  .home-territory-map{min-height:310px}
  .home-territory-map-art{height:280px}
  .home-territory-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* La guía de líneas replica la estructura visual de la landing de terrenos. */
.home-landowner-line-grid{margin:2.5rem 0 0}
.home-landowner-line-grid .line-card{height:100%}
.home-landowner-line-grid .line-card .badge{font-size:.88rem}
.home-landowner-line-grid .line-card .imgs{grid-template-columns:1fr}
.home-landowner-line-grid .line-card .imgs img{aspect-ratio:4/3}
.home-landowner-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
@media(max-width:900px){.home-landowner-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-landowner-checks{grid-template-columns:1fr}}

/* Formulario de propietarios a todo el ancho, con la pregunta como encabezado único. */
.home-landowner-capture-copy h3{max-width:none;margin:0 0 1.35rem;font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.15}
.home-landowner-capture>.home-landowner-form{width:100%}
.home-landowner-form .field textarea{min-height:105px}
.home-landowner-consent>span{display:block;min-width:0;flex:1}
.home-landowner-consent a{display:inline;color:var(--primary);font-weight:600}

/* El formulario del home comparte la misma experiencia que la landing de predios. */
.home-landing-form-section{margin-top:clamp(3.5rem,7vw,6rem);padding:0;background:transparent;color:var(--body);box-shadow:none;border-radius:0}
.home-landing-form-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.home-landing-form-copy .eyebrow{color:var(--sky-d)}
.home-landing-form-copy h3{max-width:15ch;margin:.15rem 0 1rem;color:var(--primary);font-size:var(--type-h2)!important;line-height:1.1}
.home-landing-form-copy>p{max-width:48ch;color:var(--body);font-size:var(--type-body);line-height:1.55}
.home-landing-checklist{margin-top:1.5rem}
.home-landing-contact-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.home-landing-contact-actions .btn{white-space:nowrap}
.home-landing-form-card{padding:clamp(1.25rem,3vw,2.2rem);border-radius:24px;border-color:rgba(16,152,221,.18);box-shadow:0 18px 50px rgba(3,37,53,.14)}
.home-landing-form-card .home-landowner-form{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.home-landing-form-card .home-landowner-form .field{margin-bottom:1.15rem}
.home-landing-form-card .home-landowner-form .field label{font-size:.92rem}
.home-landing-form-card .home-landowner-form .field input,.home-landing-form-card .home-landowner-form .field select,.home-landing-form-card .home-landowner-form .field textarea{padding:.85rem 1rem;border-radius:10px;background:#fff}
.home-landing-form-card .home-landowner-form .btn{margin-top:.45rem}
@keyframes homeHeroGradient{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@media(max-width:900px){.home-landing-form-grid{grid-template-columns:1fr;gap:2.5rem}.home-landing-form-copy h3{max-width:18ch}}
@media(max-width:600px){.home-landing-contact-actions{flex-direction:column;align-items:stretch}.home-landing-contact-actions .btn{width:100%;text-align:center}}

/* Territorios: presentación de ancho completo sin mapa. */
.home-landowner-territories{display:block;width:100%;color:inherit;text-decoration:none;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.home-landowner-territories:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(6,42,61,.12)}
.home-landowner-territories:focus-visible{outline:3px solid rgba(16,152,221,.55);outline-offset:4px}
.home-territories-layout{display:block}
.home-territory-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1.35rem}
.home-territory-list li{padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px;background:#f7fbfd;color:var(--primary);font-family:var(--f-display);font-size:.88rem;font-weight:700;line-height:1.2;text-align:center;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.home-territory-list li::before{display:none}
.home-territory-list li:hover{transform:translateY(-2px);background:#fff;box-shadow:var(--shadow-sm)}
.home-territory-cta{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-top:1.4rem;padding:1.1rem 1.25rem;border:1px solid rgba(16,152,221,.2);border-radius:16px;background:linear-gradient(105deg,#f4fbfe 0%,#e9f6fb 100%)}
.home-territory-cta p{max-width:62ch;margin:0;color:var(--primary);font-size:var(--type-body);line-height:1.4}
.home-territory-cta .btn{position:relative;isolation:isolate;overflow:hidden;flex:0 0 auto;border:0;background:linear-gradient(110deg,var(--sky) 0%,#77d4f5 42%,var(--sky) 72%,#0879b5 100%);background-size:220% 100%;box-shadow:0 10px 22px rgba(16,152,221,.3);animation:homeCtaGradient 6s ease-in-out infinite;transition:transform .2s ease,box-shadow .2s ease}
.home-territory-cta .btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(16,152,221,.38)}
@keyframes homeCtaGradient{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@media(max-width:900px){.home-territory-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.home-territory-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.home-territory-list li{padding:.7rem .55rem;font-size:.8rem}.home-territory-cta{align-items:stretch;flex-direction:column;padding:1rem}.home-territory-cta .btn{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.home-redesign .land-strip,.home-territory-cta .btn{animation:none}.home-landowner-territories{transition:none}}

/* =========================================================
   v57 — Home: estilos unificados, sección propietarios nueva
   y movimiento al hacer scroll
   ========================================================= */

/* ---------- 1. Títulos unificados ---------- */
.home-redesign main h2{font-size:var(--type-h2)!important;line-height:1.12}
.home-redesign .route-intro-copy h2,
.home-redesign .trusted-section h2,
.home-redesign .sun-panels-heading h2,
.home-redesign .lo-section h2{color:var(--primary)}
.home-redesign .ecosystem-element h3{font-size:clamp(1.45rem,2.2vw,1.9rem)!important;margin-top:2.6rem}

/* ---------- 2. Fondos alternados ---------- */
.home-redesign .project-route{background:#eef7fb}
.home-redesign .trusted-section{background:#fff}
.home-redesign .sun-panels-section{background:#eef7fb}
.home-redesign .home-landowner{background:#fff}

/* ---------- 3. Tarjetas "Lo que estamos construyendo a 2030" ---------- */
.sun-panel-flip{position:absolute;z-index:3;top:clamp(1rem,2vw,1.6rem);right:clamp(1rem,2vw,1.6rem);width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.75);display:grid;place-items:center;color:#fff;background:rgba(5,42,61,.25);backdrop-filter:blur(4px);transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s}
.sun-panel-flip::before,.sun-panel-flip::after{content:"";position:absolute;width:14px;height:2px;border-radius:2px;background:currentColor}
.sun-panel-flip::after{transform:rotate(90deg)}
.sun-panel.flipped .sun-panel-flip{transform:rotate(135deg);background:rgba(16,152,221,.55)}
/* El texto de cada cara se cruza sin encimarse */
.sun-panel-face .sun-panel-copy{transition:opacity .28s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.sun-panel-back .sun-panel-copy{opacity:0;transform:translateY(12px)}
.sun-panel.flipped .sun-panel-front .sun-panel-copy{opacity:0;transform:translateY(-8px);transition-delay:0s}
.sun-panel.flipped .sun-panel-back .sun-panel-copy{opacity:1;transform:none;transition-delay:.32s}
.sun-panel:not(.flipped) .sun-panel-front .sun-panel-copy{transition-delay:.32s}
.sun-panel p{max-width:34ch}

/* ---------- 4. Sección propietarios ---------- */
.lo-section{--lo-tierra:#e7eef2;position:relative}
.lo-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5.5rem);align-items:center}
.lo-photo{position:relative;aspect-ratio:1/1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--lo-tierra)}
.lo-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:0% 50%}
.lo-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,42,61,.18) 0%,rgba(5,42,61,0) 30%,rgba(5,42,61,0) 70%,rgba(5,42,61,.35) 100%);pointer-events:none}
.lo-pin{position:absolute;z-index:2;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:var(--sky);color:#fff;display:grid;place-items:center;font:700 14px var(--f-display);box-shadow:0 0 0 3px #fff,0 6px 14px rgba(8,42,61,.35);transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.lo-pin::before{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid #fff;animation:loPulso 2.4s ease-out infinite}
@keyframes loPulso{0%{transform:scale(1);opacity:.9}80%,100%{transform:scale(2.3);opacity:0}}
.lo-tag{position:absolute;z-index:2;max-width:min(58%,250px);padding:.55rem .8rem;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:var(--shadow);color:var(--ink);font-size:.86rem;line-height:1.3;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.lo-tag b{font-family:var(--f-display);color:var(--primary)}
.lo-tag-1{top:27%;left:9%}.lo-tag-2{top:56%;left:20%}.lo-tag-3{bottom:5%;left:21%}
.lo-photo.lo-pre .lo-pin{transform:scale(0)}
.lo-photo.lo-pre .lo-pin::before{animation:none}
.lo-photo.lo-pre .lo-tag{opacity:0;transform:translateY(8px)}

.lo-copy h2{max-width:20ch;margin-bottom:1rem}
.lo-copy>p{max-width:52ch;margin:0;font-size:var(--type-body);line-height:1.55}
.lo-copy>p+p{margin-top:.75rem}
.lo-copy strong{color:var(--ink)}
.lo-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.5rem 0}
.lo-facts div{padding:.9rem .85rem;border-top:2px solid var(--sky);background:#fff;box-shadow:var(--shadow-sm)}
.lo-facts strong{display:block;color:var(--primary);font:700 clamp(1.1rem,1.9vw,1.45rem)/1.1 var(--f-display);font-variant-numeric:tabular-nums}
.lo-facts small{display:block;margin-top:.3rem;color:var(--muted);font-size:.78rem;line-height:1.25}
.lo-free{display:flex;gap:.8rem;align-items:flex-start;padding:.95rem 1.05rem;border-radius:var(--radius);background:var(--primary-tint);color:var(--primary);font-size:.92rem;line-height:1.45;margin-bottom:1.1rem}
.lo-free svg{flex:0 0 22px;width:22px;height:22px;margin-top:.1rem}
.lo-free b{font-family:var(--f-display)}
.lo-free small{display:block;margin-top:.25rem;color:var(--body);font-size:.82rem}
.lo-links{display:grid;gap:.55rem}
.lo-more{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary);font:700 .9rem var(--f-display);text-decoration:none}
.lo-more.lo-ref{color:var(--sky);font-weight:600}
.lo-more span{transition:transform .2s}.lo-more:hover span{transform:translateX(4px)}

.lo-check{margin-top:clamp(3rem,7vw,5.5rem);padding:clamp(1.3rem,3.5vw,2.6rem);border-radius:var(--radius-lg);background:#f7fbfd;border:1px solid var(--line)}
.lo-check-head{margin-bottom:1.6rem}
.lo-check-head p{margin:.5rem 0 0;color:var(--muted);max-width:56ch}
.lo-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.lo-progress{margin-bottom:.9rem}
.lo-progress-label{display:flex;justify-content:space-between;font:600 .8rem var(--f-display);color:var(--muted);margin-bottom:.4rem}
.lo-progress-label b{color:var(--primary);font-variant-numeric:tabular-nums}
.lo-bar{height:8px;border-radius:99px;background:var(--lo-tierra);overflow:hidden}
.lo-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--sky),var(--primary));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.lo-qs{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.lo-q{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:.4rem .8rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;transition:border-color .3s}
.lo-q.done{border-color:#bfe0f2}
.lo-q-ico{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:#fff;transition:background .3s,border-color .3s}
.lo-q-ico svg{width:14px;height:14px;opacity:0;transform:scale(.4);transition:opacity .3s,transform .35s cubic-bezier(.3,1.6,.5,1)}
.lo-q.si .lo-q-ico{background:var(--primary);border-color:var(--primary)}
.lo-q.ns .lo-q-ico{background:var(--sky);border-color:var(--sky)}
.lo-q.no .lo-q-ico{background:#9aa9b1;border-color:#9aa9b1}
.lo-q.done .lo-q-ico svg{opacity:1;transform:scale(1)}
.lo-q-txt{font-size:.95rem;line-height:1.35;color:var(--ink);min-width:0}
.lo-q-txt small{display:block;color:var(--muted);font-size:.8rem;margin-top:.1rem}
.lo-help{background:none;border:0;padding:0;margin-top:.2rem;color:var(--sky);font:600 .82rem var(--f-display);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lo-seg{display:inline-flex;border:1px solid var(--line);border-radius:99px;padding:3px;background:var(--bg-soft);gap:2px}
.lo-seg button{border:0;background:transparent;border-radius:99px;padding:.32rem .78rem;font:600 .84rem var(--f-display);color:var(--body);cursor:pointer;transition:background .25s,color .25s}
.lo-seg button:hover{color:var(--primary)}
.lo-seg button[aria-pressed="true"]{background:var(--primary);color:#fff}
.lo-seg button[data-v="ns"][aria-pressed="true"]{background:var(--sky)}
.lo-seg button[data-v="no"][aria-pressed="true"]{background:#7e8d95}
.lo-q select{font:600 .9rem var(--f-display);color:var(--primary);border:1px solid var(--line);border-radius:99px;padding:.42rem 2rem .42rem .9rem;background:var(--bg-soft);max-width:100%}
.lo-q select.lo-flash{animation:loFlash 1.1s ease}
@keyframes loFlash{30%{box-shadow:0 0 0 4px rgba(16,152,221,.3)}}
.lo-lines{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:.5rem}
.lo-lines figure{margin:0;border-radius:12px;overflow:hidden;border:2px solid var(--primary);background:var(--bg-soft)}
.lo-lines figure.no{border-color:#b7c3ca}
.lo-lines img{display:block;width:100%;height:190px;object-fit:cover;object-position:50% 0%}
.lo-lines figure.no img{object-position:50% 50%}
.lo-lines figcaption{display:flex;gap:.45rem;align-items:flex-start;padding:.5rem .65rem;font-size:.8rem;line-height:1.3;color:var(--ink)}
.lo-lines figcaption b{font-family:var(--f-display)}
.lo-lines figcaption i{flex:0 0 18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--primary);font-style:normal;font-size:11px;margin-top:1px}
.lo-lines .no figcaption i{background:#9aa9b1}
.lo-lines p{grid-column:1/-1;margin:0;font-size:.82rem;color:var(--muted)}

.lo-result{margin-top:1rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem 1.2rem;align-items:center;padding:1.1rem 1.3rem;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(100deg,#eef8fe,#fff);transition:border-color .4s,box-shadow .4s}
.lo-result.good{border-color:var(--sky);box-shadow:0 0 0 4px rgba(16,152,221,.12)}
.lo-result.pop{animation:loPop .6s cubic-bezier(.3,1.5,.5,1)}
@keyframes loPop{40%{transform:scale(1.015)}}
.lo-r-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--sky);box-shadow:var(--shadow-sm)}
.lo-r-ico svg{width:24px;height:24px}
.lo-result h4{font-size:1.1rem;line-height:1.2;margin:0}
.lo-result p{margin:.2rem 0 0;font-size:.92rem;line-height:1.4}
.lo-swap{transition:opacity .22s}.lo-swap.out{opacity:0}
.lo-wa{grid-column:1/-1;position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:.6rem;justify-content:center;background:var(--sky);color:#fff!important;text-decoration:none;font:600 1rem var(--f-display);padding:.85rem 1.4rem;border-radius:50px;box-shadow:0 10px 24px rgba(16,152,221,.32);transition:transform .2s,box-shadow .2s,background .2s;text-align:center}
.lo-wa:hover{background:var(--sky-d);transform:translateY(-2px);box-shadow:0 14px 30px rgba(16,152,221,.4)}
.lo-wa svg{width:20px;height:20px;fill:currentColor;flex:none}
.lo-wa::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:loBrillo 6s ease-in-out infinite}
@keyframes loBrillo{0%,45%{left:130%}90%,100%{left:-60%}}
.lo-r-note{grid-column:1/-1;text-align:center;font-size:.8rem!important;color:var(--muted);margin:0!important}

.lo-map-col{position:sticky;top:100px}
.lo-map-title{display:block;text-align:center;font:700 1.05rem var(--f-display);color:var(--primary);margin-bottom:.6rem}
.lo-map-title span{color:var(--sky);font-variant-numeric:tabular-nums}
.lo-mapa-wrap{position:relative;max-width:350px;margin-inline:auto}
.lo-mapa-wrap::before{content:"";position:absolute;inset:8% 4%;background:radial-gradient(closest-side,rgba(16,152,221,.12),transparent 70%);opacity:0;transition:opacity 1.2s}
.lo-mapa-wrap.ready::before{opacity:1}
svg.lo-mapa{display:block;width:100%;height:auto;overflow:visible;position:relative}
.lo-outline{fill:none;stroke:var(--sky);stroke-width:1.6;stroke-linejoin:round}
.lo-dep{fill:var(--lo-tierra);stroke:#fff;stroke-width:1;stroke-linejoin:round;opacity:0;transition:opacity .8s,fill .5s}
.lo-mapa-wrap.ready .lo-dep{opacity:1}
.lo-dep.on{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:opacity .8s,fill .5s,transform .3s,filter .3s}
.lo-dep.on.lit{fill:var(--primary);animation:loEncender 1s ease-out}
.lo-dep.on.lit:hover,.lo-dep.on.hl{fill:#0f6a98;transform:translateY(-3px);filter:drop-shadow(0 6px 8px rgba(8,76,110,.35))}
.lo-dep.on.sel{fill:var(--sky);transform:translateY(-4px);filter:drop-shadow(0 8px 10px rgba(16,152,221,.45))}
@keyframes loEncender{0%{fill:var(--lo-tierra)}35%{fill:var(--sky);filter:drop-shadow(0 0 10px rgba(16,152,221,.9))}100%{fill:var(--primary)}}
.lo-tooltip{position:absolute;left:0;top:0;pointer-events:none;background:var(--primary);color:#fff;border-radius:10px;padding:6px 10px;font-size:13px;line-height:1.3;white-space:nowrap;transform:translate(-50%,calc(-100% - 10px));opacity:0;transition:opacity .2s}
.lo-tooltip.show{opacity:1}
.lo-tooltip b{font-family:var(--f-display)}
.lo-regs{display:grid;gap:.7rem;margin-top:.9rem}
.lo-regs h5{margin:0 0 .35rem;font:700 .7rem var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lo-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.lo-chip{border:1px solid var(--line);background:#fff;color:var(--primary);border-radius:99px;padding:.28rem .7rem;font:600 .78rem var(--f-display);cursor:pointer;transition:all .25s}
.lo-chip:hover,.lo-chip.hl{border-color:var(--sky);color:var(--sky);transform:translateY(-1px)}
.lo-chip[aria-pressed="true"]{background:var(--sky);border-color:var(--sky);color:#fff;box-shadow:0 6px 14px rgba(16,152,221,.28)}

@media (max-width:900px){
  .lo-intro,.lo-grid{grid-template-columns:minmax(0,1fr)}
  .lo-photo{max-width:560px;width:100%;margin-inline:auto}
  .lo-map-col{position:static;order:-1}
  .lo-mapa-wrap{max-width:290px}
}
@media (max-width:560px){
  .lo-tag{font-size:.74rem;padding:.4rem .55rem;max-width:62%}
  .lo-facts{gap:.45rem}.lo-facts div{padding:.7rem .55rem}
  .lo-q{grid-template-columns:26px minmax(0,1fr);padding:.75rem}
  .lo-q .lo-seg,.lo-q select{grid-column:2}
  .lo-lines img{height:150px}
}

/* ---------- 5. Movimiento al hacer scroll ---------- */
/* Fondo vivo: luces suaves que se desplazan en cada sección */
.mx-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.mx-bg i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;will-change:transform}
.mx-bg i:nth-child(1){width:46vw;height:46vw;max-width:680px;max-height:680px;left:-12%;top:-18%;background:radial-gradient(circle,rgba(16,152,221,.22),transparent 65%);animation:mxDrift1 22s ease-in-out infinite alternate}
.mx-bg i:nth-child(2){width:38vw;height:38vw;max-width:560px;max-height:560px;right:-10%;bottom:-20%;background:radial-gradient(circle,rgba(8,76,110,.16),transparent 65%);animation:mxDrift2 26s ease-in-out infinite alternate}
.mx-dark .mx-bg i:nth-child(1){background:radial-gradient(circle,rgba(84,193,243,.22),transparent 65%)}
.mx-dark .mx-bg i:nth-child(2){background:radial-gradient(circle,rgba(16,152,221,.18),transparent 65%)}
@keyframes mxDrift1{to{transform:translate3d(12vw,10vh,0) scale(1.15)}}
@keyframes mxDrift2{to{transform:translate3d(-10vw,-8vh,0) scale(1.1)}}
.mx-host{position:relative;overflow:clip}
.mx-host>.wrap,.mx-host>.sun-panels{position:relative;z-index:1}

/* Títulos que suben palabra por palabra */
.mx-words .mx-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.mx-words .mx-w>span{display:inline-block;transform:translateY(110%);transition:transform .95s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 45ms)}
.mx-words.mx-in .mx-w>span{transform:none}

/* Imágenes que se descubren con una cortina */
.mx-img{clip-path:inset(18% 6% 0 6% round 24px);transition:clip-path 1.3s cubic-bezier(.2,.8,.2,1)}
.mx-img img,.mx-img video{transform:scale(1.15);transition:transform 1.6s cubic-bezier(.2,.8,.2,1)}
.mx-img.mx-in{clip-path:inset(0 0 0 0 round 0px)}
.mx-img.mx-in img,.mx-img.mx-in video{transform:scale(1)}
.lo-photo.mx-img.mx-in{clip-path:inset(0 0 0 0 round var(--radius-lg))}
.route-live.mx-img.mx-in{clip-path:inset(0 0 0 0 round 16px)}

/* Tarjetas de 2030 que suben escalonadas */
.mx-rise{transform:translateY(80px);opacity:0;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .9s ease;transition-delay:calc(var(--i) * 140ms)}
.mx-rise.mx-in{transform:none;opacity:1}

/* Logos de clientes que entran en cascada */
.mx-pop{opacity:0;transform:translateY(24px) scale(.96);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 60ms)}
.mx-pop.mx-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .mx-bg i{animation:none}
  .mx-words .mx-w>span,.mx-img,.mx-img img,.mx-img video,.mx-rise,.mx-pop{transform:none!important;clip-path:none!important;opacity:1!important;transition:none!important}
  .lo-pin::before,.lo-wa::after{animation:none}
}

.lo-section [hidden]{display:none!important}

/* v57.1 — título de propietarios a lo ancho */
.lo-title{max-width:44ch;margin:0 0 clamp(2rem,4vw,3rem)}
@media (max-width:900px){.lo-title{max-width:none}}

/* v57.2 — autoevaluación en banda con foto y degradé (como el hero) */
.lo-band{position:relative;overflow:hidden;background:#f8fdff;padding-block:clamp(4rem,8vw,7rem)}
.lo-band-bg{position:absolute;inset:0;z-index:0}
.lo-band-bg img{width:100%;height:100%;object-fit:cover;object-position:70% 55%}
.lo-band-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8fdff 0%,rgba(248,253,255,.96) 38%,rgba(248,253,255,.55) 62%,rgba(248,253,255,.12) 85%,rgba(248,253,255,0) 100%)}
.lo-band>.wrap{position:relative;z-index:1}
.lo-band .lo-check{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.lo-band .lo-check h2{color:var(--primary)}
.lo-band .lo-q{box-shadow:0 4px 18px rgba(8,42,61,.05)}
.lo-band .lo-result{background:#fff;box-shadow:0 8px 28px rgba(8,42,61,.07)}
.lo-band .lo-map-col{text-align:center}
.lo-band .lo-regs{text-align:left}
.lo-band .lo-map-title{display:inline-block;padding:.4rem 1rem;border-radius:99px;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(5,42,61,.18)}
.lo-band .lo-regs h5{display:inline-block;padding:.15rem .5rem;border-radius:6px;background:rgba(5,42,61,.55);color:#fff}
.lo-band .lo-chip{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.95)}
.lo-band .lo-chip[aria-pressed="true"]{background:var(--sky);border-color:var(--sky);color:#fff}
.lo-band .lo-dep{fill:rgba(255,255,255,.82);stroke:rgba(8,76,110,.25)}
.lo-band .lo-dep.on{stroke:#fff}
.lo-band .lo-dep.on.lit{fill:var(--primary)}
.lo-band .lo-dep.on.lit:hover,.lo-band .lo-dep.on.hl{fill:#0f6a98}
.lo-band .lo-dep.on.sel{fill:var(--sky)}
.lo-band .lo-outline{stroke:#fff;stroke-width:2}
.lo-band .lo-mapa-wrap{filter:drop-shadow(0 14px 30px rgba(5,42,61,.35))}
.lo-band .lo-mapa-wrap::before{display:none}
.home-redesign .lo-section{padding-bottom:clamp(3.5rem,7vw,6rem)}
.lo-band{--lo-tierra:#e7eef2}
.lo-band [hidden]{display:none!important}
@media (max-width:900px){
  .lo-band-bg{bottom:auto;height:980px}
  .lo-band-bg img{object-position:62% 50%}
  .lo-band-bg::after{background:linear-gradient(180deg,rgba(248,253,255,.94) 0%,rgba(248,253,255,.88) 16%,rgba(248,253,255,.2) 26%,rgba(248,253,255,.15) 60%,rgba(248,253,255,.85) 85%,#f8fdff 100%)}
}

/* v57.3 — ejemplos de línea: foto apta nueva y no apta sin cortar el poste */
.lo-lines img{height:230px}
.lo-lines figure.ok img{object-position:58% 8%}
.lo-lines figure.no img{object-position:50% 4%}
@media (max-width:560px){.lo-lines img{height:170px}}

/* v57.4 — ejemplos de línea completos y nítidos */
.lo-ph{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#dfe9ef}
.lo-ph::before{content:"";position:absolute;inset:-20px;background:var(--bg) center/cover;filter:blur(16px) brightness(1.05);opacity:.75}
.lo-lines .lo-ph img{position:relative;width:100%;height:100%;object-fit:cover;object-position:center}
.lo-lines figure.no .lo-ph img{object-fit:contain}
/* Título del mapa sin caja */
.lo-band .lo-map-title{display:block;padding:0;border-radius:0;background:none;box-shadow:none;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2;color:var(--primary);text-shadow:0 0 18px rgba(255,255,255,.95),0 0 4px rgba(255,255,255,.9);margin-bottom:1rem}
.lo-band .lo-map-title span{color:var(--sky)}

/* v57.5 — transiciones suaves entre secciones claras */
.mx-bg{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%)}
.home-redesign .trusted-section{background:linear-gradient(180deg,#fff 0%,#fff 55%,#eef7fb 100%)}
.home-redesign .sun-panels-section{background:#eef7fb}
.home-redesign .home-landowner{background:linear-gradient(180deg,#eef7fb 0%,#fff 22%,#fff 100%)}

/* v57.6 — la foto de la autoevaluación se funde con la sección de arriba */
.lo-band{background:linear-gradient(180deg,#fff 0%,#f8fdff 30%)}
.lo-band-bg{-webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 10%,#000 26%);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 10%,#000 26%)}
.home-redesign .lo-section{background:linear-gradient(180deg,#eef7fb 0%,#fff 22%,#fff 75%,#f3f9fd 100%)}
@media (max-width:900px){.lo-band-bg{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%);mask-image:linear-gradient(180deg,transparent 0,#000 12%)}}

/* v57.7 — Territorio, Capital y Energía como tarjetas con la foto de cada página */
.home-redesign .ecosystem-elements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;border:0;margin-top:2.5rem}
.home-redesign .ecosystem-element{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:340px;padding:0;border:0!important;border-radius:20px;overflow:hidden;color:#fff;text-decoration:none;background:#0b3447}
.home-redesign .ecosystem-element .eco-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.home-redesign .ecosystem-element::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,42,58,.05) 20%,rgba(6,42,58,.88) 100%);transition:background .4s}
.home-redesign .ecosystem-element:hover .eco-bg{transform:scale(1.07)}
.home-redesign .ecosystem-element:hover::before{background:linear-gradient(180deg,rgba(8,76,110,.2) 0%,rgba(6,42,58,.92) 100%)}
.home-redesign .ecosystem-element .eco-in{padding:1.5rem;width:100%}
.home-redesign .ecosystem-element h3{margin:0 0 .4rem!important;color:#fff;font-size:clamp(1.45rem,2.2vw,1.75rem)!important}
.home-redesign .ecosystem-element p{margin:0;color:#dceaf1;max-width:30ch}
.eco-arrow{position:absolute;top:1.1rem;right:1.1rem;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.45);transition:transform .35s,background .35s}
.eco-arrow svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.2}
.ecosystem-element:hover .eco-arrow,.ecosystem-element:focus-visible .eco-arrow{transform:rotate(45deg);background:var(--sky)}
@media (max-width:820px){.home-redesign .ecosystem-elements{grid-template-columns:1fr}.home-redesign .ecosystem-element{min-height:240px}}

/* v57.8 — al pasar el mouse las tarjetas se aclaran en vez de oscurecerse */
.home-redesign .ecosystem-element .eco-bg{transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s ease}
.home-redesign .ecosystem-element::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(141,214,247,.28) 0%,rgba(84,193,243,.12) 45%,rgba(16,152,221,0) 100%);opacity:0;transition:opacity .45s ease}
.home-redesign .ecosystem-element:hover::before,.home-redesign .ecosystem-element:focus-visible::before,.home-redesign .ecosystem-element:active::before{background:linear-gradient(180deg,rgba(6,42,58,0) 30%,rgba(6,42,58,.7) 100%)}
.home-redesign .ecosystem-element:hover::after,.home-redesign .ecosystem-element:focus-visible::after,.home-redesign .ecosystem-element:active::after{opacity:1}
.home-redesign .ecosystem-element:hover .eco-bg,.home-redesign .ecosystem-element:focus-visible .eco-bg,.home-redesign .ecosystem-element:active .eco-bg{transform:scale(1.07);filter:brightness(1.12) saturate(1.08)}
.home-redesign .ecosystem-element:hover .eco-arrow,.home-redesign .ecosystem-element:focus-visible .eco-arrow,.home-redesign .ecosystem-element:active .eco-arrow{background:#fff;border-color:#fff}
.home-redesign .ecosystem-element:hover .eco-arrow svg,.home-redesign .ecosystem-element:focus-visible .eco-arrow svg,.home-redesign .ecosystem-element:active .eco-arrow svg{stroke:var(--sky)}

/* v57.9 — unión invisible entre propietarios y autoevaluación */
.home-redesign .lo-section{background:linear-gradient(180deg,#eef7fb 0%,#fff 22%,#fff 60%,#f8fdff 100%)}
.home-redesign .lo-section .mx-bg{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 55%,transparent 88%);mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 55%,transparent 88%)}
.lo-band{background:#f8fdff}
.lo-band::before{content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:clamp(140px,16vw,240px);background:linear-gradient(180deg,#f8fdff 0%,rgba(248,253,255,.85) 35%,rgba(248,253,255,0) 100%);pointer-events:none}
.lo-band-bg{-webkit-mask-image:none;mask-image:none}

/* v57.10 — sin cortes entre secciones claras: las luces de fondo no se desplazan
   y se desvanecen por completo antes de llegar al borde de cada sección */
.mx-bg{transform:none!important;-webkit-mask-image:linear-gradient(180deg,transparent 0,transparent 6%,#000 32%,#000 68%,transparent 94%,transparent 100%)!important;mask-image:linear-gradient(180deg,transparent 0,transparent 6%,#000 32%,#000 68%,transparent 94%,transparent 100%)!important}
.home-redesign .trusted-section{background:linear-gradient(180deg,#fff 0%,#fff 40%,#eef7fb 100%)}
.home-redesign .sun-panels-section{background:#eef7fb}
.home-redesign .lo-section{background:linear-gradient(180deg,#eef7fb 0%,#f7fbfd 18%,#fff 35%,#fff 60%,#f8fdff 100%)}
