/* ANDESSA: estilos de la página principal. */
:root{
  --verde:#0B4A3B;--verde-hondo:#06271F;--hielo:#CFE6C4;
  --naranja:#F28C28;--naranja-claro:#FFA94D;--fondo:#F6F8F3;--blanco:#FFFFFF;
  --tinta:#1D2B26;--texto2:#3D5A50;--borde:#DDE6D6;--ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--tinta);background:var(--blanco);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:'Sora',sans-serif;line-height:1.15;margin:0;letter-spacing:-0.01em}
p{margin:0}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px;border-radius:4px}
.saltar{position:absolute;left:-9999px}
.saltar:focus{left:16px;top:16px;background:var(--blanco);padding:10px 14px;z-index:10}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;position:relative}

/* Marca */
.marca{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.simbolo{display:block;height:auto;flex-shrink:0}
.marca .simbolo{width:46px}
.marca .nombre{font-family:'Sora',sans-serif;font-size:24px;letter-spacing:3px;line-height:1;white-space:nowrap;color:var(--verde)}
.marca .nombre span{font-weight:400}
.marca .nombre b{font-weight:800;color:var(--naranja)}
.oscuro .montana{fill:#fff}
.oscuro .marca .nombre{color:var(--blanco)}

/* Botones */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:999px;font-weight:700;font-size:17px;text-decoration:none;transition:transform .25s var(--ease),color .3s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover::before{transform:scaleX(1)}
.btn-naranja{background:var(--naranja);color:var(--verde-hondo)}
.btn-naranja::before{background:var(--naranja-claro)}
.btn-contorno{border:2px solid currentColor}
.btn-contorno::before{background:var(--blanco)}
.portada .btn-contorno{color:var(--blanco)}
.portada .btn-contorno:hover{color:var(--verde)}
.btn-sm{padding:12px 20px;font-size:15px}
.boton-cabecera{gap:0;white-space:nowrap}
.boton-cabecera .solo-escritorio{margin-left:.3em}

/* Cabecera */
.cabecera{position:sticky;top:0;z-index:5;background:var(--blanco);border-bottom:1px solid var(--borde);transition:box-shadow .3s}
.cabecera.compacta{box-shadow:0 8px 24px -18px rgba(6,39,31,.5)}
.barra{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;transition:min-height .3s var(--ease)}
.cabecera.compacta .barra{min-height:64px}
.menu{display:flex;gap:28px;font-weight:600;font-size:15px}
.menu a{text-decoration:none;color:var(--texto2);position:relative;padding:4px 0}
.menu a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--naranja);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.menu a:hover{color:var(--verde)}
.menu a:hover::after{transform:scaleX(1)}

/* Líneas de fondo: aparecen y se mueven levemente */
.lineas{object-fit:cover;position:absolute;inset:-8%;width:116%;height:116%;pointer-events:none;opacity:0;animation:aparecer 2.2s ease-out .2s forwards,deriva 26s ease-in-out infinite alternate}
@keyframes aparecer{to{opacity:1}}
@keyframes deriva{
  0%{transform:translate(0,0) rotate(0deg) scale(1)}
  50%{transform:translate(-18px,10px) rotate(.8deg) scale(1.02)}
  100%{transform:translate(12px,-8px) rotate(-.6deg) scale(1.01)}
}

/* Portada */
.portada{position:relative;background:var(--verde);color:var(--blanco);overflow:hidden;padding:128px 0 132px}
.portada-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.portada-texto{max-width:820px}
.portada-lado{position:relative;justify-self:end;width:100%;max-width:440px}
.tablero{background:var(--blanco);color:var(--tinta);border-radius:24px;padding:28px 28px 24px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);animation:fotoEntra 1s var(--ease) .5s both}
.tablero-cab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}
.tablero-cab span{font-family:'Sora',sans-serif;font-weight:700;font-size:20px;color:var(--verde-hondo)}
.tablero-cab small{font-size:13px;color:var(--texto2)}
.barra-c{padding:10px 0}
.fila{display:flex;justify-content:space-between;font-size:15px;font-weight:500;margin-bottom:8px}
.fila b{font-family:'Sora',sans-serif;font-variant-numeric:tabular-nums;color:var(--verde-hondo)}
.riel{height:10px;border-radius:99px;background:#EDF1EA;overflow:hidden}
.riel i{display:block;height:100%;width:var(--p);background:var(--c);border-radius:inherit;transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease)}
.tablero.lleno .riel i{transform:none}
.barra-c:nth-child(3) i{transition-delay:.12s}.barra-c:nth-child(4) i{transition-delay:.24s}.barra-c:nth-child(5) i{transition-delay:.36s}
.alerta{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 16px;border-radius:14px;background:#FFF4E6;opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease) 1.6s,transform .6s var(--ease) 1.6s}
.tablero.lleno .alerta{opacity:1;transform:none}
.alerta strong{display:block;font-family:'Sora',sans-serif;font-size:15px;color:var(--verde-hondo)}
.alerta small{color:var(--texto2);font-size:13px}
.pulso{position:relative;width:12px;height:12px;border-radius:50%;background:var(--naranja);flex-shrink:0}
.pulso::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--naranja);animation:onda 1.8s ease-out infinite}
@keyframes onda{from{transform:scale(1);opacity:.6}to{transform:scale(2.8);opacity:0}}
@keyframes fotoEntra{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
.portada h1{font-size:clamp(40px,5.4vw,68px);font-weight:700}
.palabra{display:inline-block;opacity:0;transform:translateY(.4em);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.palabra.visible{opacity:1;transform:none}
.resalta{position:relative;color:var(--naranja);white-space:nowrap}
.claro{color:#B8E07A}
.subraya{position:absolute;left:0;bottom:-.12em;width:100%;height:.32em;overflow:visible}
.subraya path{fill:none;stroke:var(--naranja);stroke-width:6;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320;animation:trazo 1s var(--ease) 1.5s forwards}
@keyframes trazo{to{stroke-dashoffset:0}}
.portada .lead{margin-top:26px;font-size:20px;color:var(--hielo);max-width:34em}
.acciones{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px}
.entrada{animation:subir .9s var(--ease) both}
@keyframes subir{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Revelado */
.revelar{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--demora,0s)}
.revelar.visible{opacity:1;transform:none}

/* Secciones */
.seccion{padding:104px 0}
.seccion h2{font-size:clamp(30px,3.6vw,44px);font-weight:700;color:var(--verde-hondo)}
.encabezado{max-width:40em;margin-bottom:48px}
.encabezado p{margin-top:16px;color:var(--texto2);font-size:18px}
.gris{background:var(--fondo)}

/* Servicios con botones */
.pestanas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}
.pestana{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;border:2px solid var(--verde);font-family:'Sora',sans-serif;font-weight:600;font-size:17px;color:var(--verde);transition:color .35s,transform .25s var(--ease)}
.pestana::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--verde);border-radius:inherit;transform:translateY(101%);transition:transform .45s var(--ease)}
.pestana:hover{transform:translateY(-2px)}
.pestana:hover::before{transform:translateY(70%)}
.pestana[aria-selected="true"]{color:var(--blanco)}
.pestana[aria-selected="true"]::before{transform:none}
.punto{width:10px;height:10px;border-radius:50%;background:var(--naranja);transition:transform .35s var(--ease)}
.pestana[aria-selected="true"] .punto{transform:scale(1.4)}
.panel-serv{background:var(--fondo);border:1px solid var(--borde);border-radius:24px;padding:44px 48px;min-height:300px}
.texto-frente.activa{display:grid!important;grid-template-columns:.9fr 1.1fr;grid-template-rows:auto 1fr;gap:24px 64px;align-items:start}
.texto-frente ul{margin:0!important}
.texto-frente li:first-child{border-top:0}
.texto-frente h3,.texto-frente>p{grid-column:1}
.texto-frente>p{margin-top:0!important;align-self:start}
.texto-frente ul{grid-column:2;grid-row:1 / span 2}
.foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--verde);border-radius:20px}
.foto img,.foto .sin-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0 100% 0 0);transform:scale(1.08);transition:clip-path .8s var(--ease),transform 1.2s var(--ease)}
.foto .activa{clip-path:inset(0 0 0 0);transform:none}
.sin-foto{display:flex;align-items:center;justify-content:center;background:var(--fondo)}
.sin-foto .simbolo{width:30%;opacity:.5}
.texto-frente{display:none}
.texto-frente.activa{animation:entrarTexto .6s var(--ease) both}
@keyframes entrarTexto{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.texto-frente h3{font-size:clamp(28px,3vw,36px);color:var(--verde-hondo)}
.texto-frente p{margin-top:16px;color:var(--texto2);font-size:18px}
.texto-frente ul{margin:24px 0 0;padding:0;list-style:none}
.texto-frente li{padding:12px 0 12px 28px;border-top:1px solid var(--borde);position:relative;opacity:0;animation:entrarTexto .5s var(--ease) both}
.texto-frente li:nth-child(1){animation-delay:.15s}.texto-frente li:nth-child(2){animation-delay:.25s}.texto-frente li:nth-child(3){animation-delay:.35s}.texto-frente li:nth-child(4){animation-delay:.45s}
.texto-frente li::before{content:"";position:absolute;left:0;top:21px;width:10px;height:10px;border-radius:2px;background:var(--naranja)}

/* Franja AEGIS (recuperada de la versión anterior) */
.mapa{background-image:url(/sitio/img/fondo-mapa.svg);background-size:cover;background-position:center}
.franja-aegis{background-color:#054537;color:#FFFFFF}
.franja-aegis .wrap{padding-top:80px;padding-bottom:80px;display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.franja-aegis .texto{flex:1 1 560px;min-width:0;display:flex;flex-direction:column;gap:12px}
.franja-aegis h2{font-size:36px;line-height:1.15;letter-spacing:-.8px;color:#FFFFFF}
.franja-aegis p{font-size:18px;line-height:1.6;color:#e2e8f0}
.franja-aegis a{color:#0b1a04;background:#99c015;text-decoration:none;border-radius:12px;padding:16px 24px;font-weight:700;font-size:16px}

/* Cifra */
.cifra{padding:96px 0}
.cifra-grid{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center}
.cifra-numero{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(88px,12vw,150px);line-height:.9;color:var(--verde);font-variant-numeric:tabular-nums}
.cifra-numero b{color:var(--naranja);font-weight:800}
.cifra p{font-size:24px;line-height:1.4;max-width:22em}
.cifra small{display:block;margin-top:18px;color:var(--texto2);font-size:15px}

/* Nosotros y contacto */
.dos{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.nos-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.nos-foto{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/5;max-width:460px}
.nos-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.nos-foto:hover img{transform:scale(1.04)}
.nosotros{position:relative;overflow:hidden;background:var(--verde);color:var(--blanco)}
.nosotros h2{color:var(--blanco)!important}
.nos-grid p{color:var(--hielo);font-size:19px}
.nos-grid p+p{margin-top:18px}
.dos p{color:var(--texto2);font-size:18px}
.dos p+p{margin-top:18px}
.contacto-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:end}
.contacto p{margin-top:18px;color:var(--texto2);font-size:18px;max-width:32em}
.datos{border-top:2px solid var(--verde)}
.datos div{padding:18px 0;border-bottom:1px solid var(--borde);color:var(--texto2)}
.datos strong{display:block;font-family:'Sora',sans-serif;color:var(--verde-hondo);font-size:17px;margin-bottom:4px}

/* Pie */
.pie{background:var(--verde-hondo);color:var(--hielo);padding:56px 0 40px;font-size:15px}
.pie-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}
.pie .marca .nombre{font-size:20px}
.pie .marca .simbolo{width:38px}
.pie .menu a{color:var(--hielo)}
.pie-linea{margin-top:36px;padding-top:24px;border-top:1px solid rgba(207,230,196,.2);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px}

@media (max-width:980px){
  .portada-grid,.nos-grid,.dos,.contacto-grid,.cifra-grid,.escenario{grid-template-columns:1fr;gap:40px}
}
@media (max-width:760px){
  .menu{display:none}
  .solo-escritorio{display:none}
  .seccion{padding:72px 0}
  .portada{padding:72px 0 84px}
  .marca .nombre{font-size:20px}
  .panel-serv{padding:28px 24px}
  .texto-frente.activa{grid-template-columns:1fr}
  .texto-frente ul{grid-column:1;grid-row:auto}
  .portada-lado{max-width:none;justify-self:stretch}
  .marca .simbolo{width:38px}
  .pestana{padding:12px 18px;font-size:15px}
  .franja-aegis .wrap{padding-top:64px;padding-bottom:64px}
  .franja-aegis h2{font-size:30px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .revelar,.palabra,.texto-frente li,.lineas{opacity:1;transform:none}
}

/* Retrasos del revelado (sin estilos en línea) */
.d1{--demora:.1s}
.d15{--demora:.15s}
