/* ══════════════ TOKENS ══════════════ */
:root{
  --verde:#0d4238;
  --verde-osc:#082e27;
  --verde-prof:#06231d;
  --verde-medio:#14574a;
  --oro:#e1c655;
  --blanco:#ffffff;
  --nieve:#f2f4f1;
  --tinta:#182924;
  --tinta-suave:#57675f;

  --display:'Libre Caslon Display','Times New Roman',serif;
  --texto:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  --marco:clamp(20px,5vw,72px);
  --ancho:1280px;
  --curva:cubic-bezier(.22,1,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--texto);font-weight:300;
  color:var(--tinta);background:var(--blanco);
  line-height:1.68;overflow-x:hidden;
  font-size:clamp(15.5px,1.05vw,17px);
}
body.bloqueado{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--oro);color:var(--verde-prof)}
:focus-visible{outline:2px solid var(--oro);outline-offset:4px}

.envoltura{max-width:var(--ancho);margin:0 auto;padding:0 var(--marco)}
.oculto-svg{position:absolute;width:0;height:0;overflow:hidden}

/* Texto disponible para buscadores y lectores de pantalla */
.solo-lectura{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.salto{
  position:absolute;left:-9999px;top:12px;z-index:9999;background:var(--oro);color:var(--verde-prof);
  padding:12px 22px;font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
}
.salto:focus{left:12px}

h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.14;letter-spacing:-.005em}
.titulo{font-size:clamp(2.05rem,4.2vw,3.5rem)}
.plomo{font-size:clamp(1.05rem,1.35vw,1.22rem);line-height:1.78;max-width:60ch}
p{max-width:66ch}

/* ══════════════ MARCA ══════════════ */
.trazo{fill:none;stroke:var(--oro);stroke-width:16;stroke-linecap:butt;stroke-linejoin:miter}
.trazo-fino{stroke-width:9}
.ola{fill:var(--oro)}

/* ══════════════ PANTALLA DE CARGA ══════════════ */
.carga{
  position:fixed;inset:0;z-index:9999;background:var(--verde);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  transition:opacity .8s ease,visibility .8s ease;
}
.carga.fuera{opacity:0;visibility:hidden}
.carga svg{width:min(215px,44vw);height:auto;overflow:visible}
.carga .trazo{stroke-dasharray:var(--l);stroke-dashoffset:var(--l);animation:dibujar 1.2s var(--curva) forwards}
.carga .d2{animation-delay:.3s}
.carga .d3{animation-delay:.55s}
.carga .d4{animation-delay:.75s}
.carga .ola{opacity:0;animation:olear 1s ease 1.2s forwards}
@keyframes dibujar{to{stroke-dashoffset:0}}
@keyframes olear{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
.carga .rotulo-carga{
  font-family:var(--display);font-size:.95rem;letter-spacing:.42em;
  color:rgba(255,255,255,.55);opacity:0;padding-left:.42em;
  animation:asomar .9s ease 1.65s forwards;
}
@keyframes asomar{to{opacity:1}}

/* ══════════════ ENCABEZADO ══════════════ */
.encabezado{
  position:fixed;inset:0 0 auto 0;z-index:100;padding:20px 0;
  transition:background .5s ease,padding .5s ease,box-shadow .5s ease;
}
.encabezado.solido{
  background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
  padding:12px 0;box-shadow:0 1px 0 rgba(13,66,56,.14);
}
.barra{display:flex;align-items:center;justify-content:space-between;gap:24px}

.marca{display:flex;align-items:center;gap:13px}
.marca .isotipo{width:46px;height:auto;flex:none}
.marca .nombre{
  font-family:var(--display);font-size:1.05rem;letter-spacing:.24em;
  color:var(--blanco);transition:color .5s ease;padding-top:2px;
}
.encabezado.solido .marca .nombre{color:var(--verde)}

.menu{display:flex;gap:clamp(16px,2.4vw,38px);align-items:center}
.menu a{
  font-size:.83rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.92);position:relative;padding:7px 0;transition:color .35s ease;
}
.encabezado.solido .menu a{color:var(--tinta)}
.menu a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--oro);transition:width .45s var(--curva)}
.menu a:hover::after,.menu a[aria-current]::after{width:100%}
.menu a:hover{color:var(--oro)}
.encabezado.solido .menu a:hover{color:var(--verde)}

.hamburguesa{display:none;background:none;border:0;cursor:pointer;padding:9px;width:42px;z-index:110}
.hamburguesa span{display:block;height:2px;background:var(--blanco);margin:5px 0;transition:.4s var(--curva)}
.encabezado.solido .hamburguesa span{background:var(--verde)}
.hamburguesa[aria-expanded="true"] span{background:var(--blanco)}
.hamburguesa[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburguesa[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburguesa[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ══════════════ HERO ══════════════ */
.hero{
  min-height:100svh;position:relative;background:var(--verde);
  display:flex;align-items:center;justify-content:center;text-align:center;
  overflow:hidden;padding:130px var(--marco) 100px;
}
.hero-fondo{position:absolute;inset:0;overflow:hidden}
.hero-fondo img{width:100%;height:100%;object-fit:cover;opacity:.35}
.hero-fondo::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(6,35,29,.55) 0%,rgba(13,66,56,.72) 45%,rgba(6,35,29,.92) 100%),
    radial-gradient(120% 80% at 50% 8%,rgba(255,255,255,.07),transparent 60%);
}
.hero-marca{position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);width:min(64vw,740px);opacity:.1;z-index:1}
.hero-contenido{position:relative;z-index:3;max-width:1020px}
.hero h1{color:var(--blanco);font-size:clamp(2.1rem,6.2vw,5.2rem);line-height:1.07}
.hero h1 .linea{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .linea i{display:block;font-style:normal;transform:translateY(108%)}
.listo .hero h1 .linea i{animation:subir 1.15s var(--curva) forwards}
.listo .hero h1 .linea:nth-child(1) i{animation-delay:.25s}
.listo .hero h1 .linea:nth-child(2) i{animation-delay:.42s;color:var(--oro)}
@keyframes subir{to{transform:translateY(0)}}

.hero h1 .h1-sub{
  display:block;font-family:var(--texto);font-weight:300;
  font-size:clamp(1rem,1.35vw,1.18rem);letter-spacing:.01em;line-height:1.6;
  color:rgba(255,255,255,.85);max-width:44ch;margin:0 auto;opacity:0;
}
.listo .hero h1 .h1-sub{animation:asomar 1.2s ease 1s forwards}

.hero-pie{margin-top:20px;opacity:0}
.listo .hero-pie{animation:asomar 1.2s ease 1.25s forwards}
.hero-pie p{color:rgba(255,255,255,.62);font-size:.95rem;max-width:56ch;margin:0 auto}
.regla-oro{display:block;width:56px;height:1px;background:var(--oro);margin:30px auto 26px;transform:scaleX(0)}
.listo .regla-oro{animation:crecer 1s ease .9s forwards}
@keyframes crecer{to{transform:scaleX(1)}}

.bajar{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0}
.listo .bajar{animation:asomar 1.2s ease 1.5s forwards}
.bajar span{font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.bajar .hilo{width:1px;height:48px;background:rgba(255,255,255,.22);position:relative;overflow:hidden}
.bajar .hilo::after{content:"";position:absolute;inset:0;background:var(--oro);animation:deslizar 2.4s var(--curva) infinite}
@keyframes deslizar{0%{transform:translateY(-100%)}55%{transform:translateY(0)}100%{transform:translateY(100%)}}

/* ══════════════ SECCIONES ══════════════ */
.seccion{padding:clamp(80px,10.5vw,144px) 0;position:relative}
.claro{background:var(--blanco)}
.hueso{background:var(--nieve)}
.oscuro{background:var(--verde);color:var(--blanco);overflow:hidden}
.oscuro p{color:rgba(255,255,255,.78)}
.oscuro h2,.oscuro h3{color:var(--blanco)}
.oscuro .rotulo{color:var(--oro)}

.rotulo{
  font-size:.74rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  color:var(--verde);display:flex;align-items:center;gap:12px;margin-bottom:24px;
}
.rotulo::before{content:"";width:26px;height:1px;background:var(--oro);flex:none}

.marco{position:relative;overflow:hidden;background:linear-gradient(140deg,var(--verde-osc) 0%,var(--verde) 55%,var(--verde-medio) 100%)}
.marco::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(225,198,85,.05) 0 2px,transparent 2px 22px);pointer-events:none}
.marco img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;transition:transform 1.4s var(--curva)}
.marco:hover img{transform:scale(1.04)}

/* ══════════════ MANIFIESTO ══════════════ */
.manifiesto{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(38px,7vw,96px);align-items:start}
.manifiesto h2{margin-bottom:26px}
.manifiesto .apoyo{padding-top:clamp(0px,4vw,64px)}
.manifiesto .apoyo p + p{margin-top:20px}
.manifiesto p{color:var(--tinta-suave)}

.enlace{
  display:inline-flex;align-items:center;gap:12px;margin-top:32px;
  font-size:.83rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;
  color:var(--verde);padding-bottom:7px;border-bottom:1px solid rgba(13,66,56,.25);
  transition:border-color .4s ease,gap .4s ease,color .4s ease;
}
.enlace:hover{border-color:var(--oro);gap:20px}
.enlace svg{width:17px;height:11px;flex:none;fill:none;stroke:var(--oro);stroke-width:1.6}
.oscuro .enlace{color:var(--blanco);border-color:rgba(255,255,255,.3)}
.oscuro .enlace:hover{border-color:var(--oro);color:var(--oro)}

.cifras{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(52px,7vw,84px);border-top:1px solid rgba(13,66,56,.15)}
.cifra{padding:32px 26px 0 0;border-right:1px solid rgba(13,66,56,.12)}
.cifra:last-child{border-right:0}
.cifra .valor{font-family:var(--display);font-size:clamp(2.3rem,4.2vw,3.5rem);color:var(--verde);line-height:1;display:flex;align-items:baseline}
.cifra .valor sup{font-size:.4em;color:var(--oro);position:relative;top:-.9em}
.cifra .chico{font-size:clamp(1.4rem,2.5vw,2.1rem);padding-top:.35em;line-height:1.2;display:block}
.cifra .leyenda{margin-top:12px;font-size:.87rem;color:var(--tinta-suave);max-width:25ch}

/* ══════════════ BANDA ══════════════ */
.banda{position:relative;height:clamp(320px,52vh,540px);overflow:hidden}
.banda .marco{position:absolute;inset:0}
.banda .marco img{opacity:.55}
.banda::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,35,29,.9) 0%,rgba(13,66,56,.55) 60%,rgba(6,35,29,.3) 100%);z-index:2}
.banda .texto{position:absolute;z-index:3;left:0;bottom:0;width:100%;padding:clamp(30px,5vw,64px) 0}
.banda blockquote{font-family:var(--display);color:var(--blanco);font-size:clamp(1.35rem,3vw,2.4rem);line-height:1.25;max-width:20ch}
.banda cite{display:block;margin-top:18px;font-family:var(--texto);font-style:normal;font-size:.76rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--oro)}

/* ══════════════ HUB ══════════════ */
.declaracion{max-width:920px;position:relative;z-index:2}
.declaracion h2{font-size:clamp(1.85rem,4.3vw,3.5rem);margin-bottom:32px}
.declaracion h2 em{font-style:normal;color:var(--oro)}
.declaracion .plomo{color:rgba(255,255,255,.82)}
.hub-nota{margin-top:clamp(46px,6vw,72px);padding-top:30px;border-top:1px solid rgba(225,198,85,.28);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:34px}
.hub-nota h3{font-size:1.08rem;color:var(--oro);margin-bottom:10px}
.hub-nota p{font-size:.94rem;color:rgba(255,255,255,.7);max-width:32ch}
.filigrana{position:absolute;right:-7%;top:50%;width:min(48%,540px);opacity:.06;pointer-events:none;will-change:transform;z-index:1}

/* ══════════════ GRUPO SÓLIDO ══════════════ */
.solido-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,2vw,26px);margin-top:clamp(44px,6vw,68px);align-items:end}
.solido-grid .a{grid-column:1 / span 7;aspect-ratio:4/3}
.solido-grid .b{grid-column:8 / span 5;aspect-ratio:3/4}
.solido-grid .c{grid-column:1 / span 5;aspect-ratio:16/10}
.solido-grid .nota{grid-column:7 / span 6;align-self:center;padding-bottom:10px}
.solido-grid .nota p{color:var(--tinta-suave)}

/* ══════════════ CAPACIDADES ══════════════ */
.capacidades{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);margin-top:clamp(44px,6vw,66px);align-items:start}
.cap-indice{list-style:none}
.cap-item{border-bottom:1px solid rgba(225,198,85,.18)}
.cap-item:first-child{border-top:1px solid rgba(225,198,85,.18)}
.cap-titulo{margin:0;font-size:1rem;font-weight:400}
.cap-boton{
  display:flex;align-items:baseline;gap:16px;width:100%;
  background:none;border:0;cursor:pointer;text-align:left;
  padding:clamp(17px,2.3vw,25px) 6px;color:inherit;font-family:inherit;
  transition:padding-left .55s var(--curva),background .45s ease;
}
.cap-boton::before{
  content:attr(data-n);font-family:var(--display);font-size:.85rem;
  color:var(--oro);opacity:.5;flex:none;width:22px;transition:opacity .4s ease;
}
.cap-boton .nombre{font-family:var(--display);font-size:clamp(1.2rem,2.1vw,1.7rem);line-height:1.2;color:rgba(255,255,255,.6);transition:color .45s ease}
.cap-item .detalle{
  font-size:.89rem;color:rgba(255,255,255,0);max-width:42ch;padding-left:44px;
  max-height:0;overflow:hidden;margin:0;
  transition:max-height .55s var(--curva),color .45s ease,margin .5s var(--curva);
}
.cap-item.activo .cap-boton{padding-left:18px;background:rgba(255,255,255,.045)}
.cap-item.activo .nombre{color:var(--blanco)}
.cap-item.activo .cap-boton::before{opacity:1}
.cap-item.activo .detalle{max-height:140px;margin:0 0 20px;color:rgba(255,255,255,.64)}

.cap-visor{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--verde-osc);border:1px solid rgba(225,198,85,.16)}
.cap-lamina{position:absolute;inset:0;opacity:0;transform:scale(1.05);transition:opacity .8s ease,transform 1.3s var(--curva)}
.cap-lamina.activo{opacity:1;transform:scale(1)}
.cap-lamina img{width:100%;height:100%;object-fit:cover}
.cap-lamina::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,35,29,.1),rgba(6,35,29,.5))}
.cap-movil{display:none}

/* ══════════════ PRINCIPIOS ══════════════ */
.principios{display:grid;grid-template-columns:1fr 1fr;gap:clamp(38px,6vw,84px);margin-top:clamp(38px,5vw,60px)}
.principio{border-top:2px solid var(--oro);padding-top:26px}
.principio h3{font-size:clamp(1.3rem,2vw,1.7rem);color:var(--verde);margin-bottom:16px}
.principio p{color:var(--tinta-suave)}

/* ══════════════ DESTINOS ══════════════ */
.destinos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,258px),1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(42px,5.5vw,64px)}
.destino{position:relative;display:block;aspect-ratio:3/4;overflow:hidden}
.destino .marco{position:absolute;inset:0}
.destino .marco img{opacity:.85}
.destino::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(6,35,29,.92) 100%);z-index:2}
.pie-destino{position:absolute;z-index:3;left:0;bottom:0;padding:24px}
.pie-destino .lugar{font-family:var(--display);font-size:clamp(1.15rem,1.9vw,1.5rem);color:var(--blanco);display:block}
.pie-destino .tipo{font-size:.73rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--oro);margin-top:7px;display:block}

/* ══════════════ CIERRE ══════════════ */
.cierre{text-align:center;position:relative;z-index:2}
.cierre .rotulo{justify-content:center}
.cierre h2{font-size:clamp(1.8rem,3.9vw,3rem);margin-bottom:20px}
.cierre p{margin:0 auto}
.boton{
  display:inline-block;margin-top:36px;padding:17px 46px;border:1px solid var(--oro);
  color:var(--oro);font-size:.81rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;
  position:relative;overflow:hidden;transition:color .45s ease;
}
.boton span{position:relative;z-index:2}
.boton::before{content:"";position:absolute;inset:0;background:var(--oro);transform:translateY(101%);transition:transform .5s var(--curva)}
.boton:hover{color:var(--verde-prof)}
.boton:hover::before{transform:translateY(0)}

.ola-divisoria{position:absolute;top:0;left:0;width:100%;line-height:0;opacity:.3;z-index:1}
.ola-divisoria svg{width:100%;height:clamp(26px,3.6vw,48px);display:block}
.ola-divisoria path{fill:var(--oro)}

/* ══════════════ PIE ══════════════ */
.pie{background:var(--verde-prof);color:rgba(255,255,255,.6);padding:56px 0 32px;font-size:.88rem}
.pie-grid{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:center}
.pie .marca .nombre{color:var(--blanco)}
.pie-menu{display:flex;flex-wrap:wrap;gap:26px}
.pie-menu a{font-weight:400;transition:color .3s ease}
.pie-menu a:hover{color:var(--oro)}
.pie-legal{margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:.79rem;color:rgba(255,255,255,.42)}

/* ══════════════ REVELADO ══════════════ */
.rev{opacity:0;transform:translateY(20px);transition:opacity 1s var(--curva),transform 1s var(--curva);transition-delay:var(--d,0ms)}
.rev.visible{opacity:1;transform:none}

/* ══════════════ RESPONSIVO ══════════════ */
@media (max-width:1024px){
  .capacidades{grid-template-columns:1fr}
  .cap-visor{display:none}
  .cap-boton{cursor:default}
  .cap-item .detalle{max-height:140px;margin:0 0 16px;color:rgba(255,255,255,.64)}
  .cap-boton .nombre{color:var(--blanco)}
  .cap-boton::before{opacity:1}
  .cap-movil{display:block;margin:0 6px 20px 44px;aspect-ratio:16/9}
  .solido-grid .a{grid-column:1 / span 12;aspect-ratio:16/9}
  .solido-grid .b{grid-column:1 / span 6;aspect-ratio:1/1}
  .solido-grid .c{grid-column:7 / span 6;aspect-ratio:1/1}
  .solido-grid .nota{grid-column:1 / span 12;padding-top:10px}
}
@media (max-width:860px){
  .manifiesto,.principios{grid-template-columns:1fr;gap:34px}
  .manifiesto .apoyo{padding-top:0}
  .cifras{grid-template-columns:1fr}
  .cifra{border-right:0;border-bottom:1px solid rgba(13,66,56,.12);padding:26px 0}
  .cifra:last-child{border-bottom:0}
  .filigrana{width:72%;right:-26%;opacity:.045}
  .banda blockquote{max-width:24ch}
}
@media (max-width:760px){
  .hamburguesa{display:block}
  .menu{
    position:fixed;inset:0;background:var(--verde);flex-direction:column;
    justify-content:center;align-items:center;gap:28px;
    transform:translateY(-100%);transition:transform .6s var(--curva);
  }
  .menu.abierto{transform:translateY(0)}
  .menu a,.encabezado.solido .menu a{font-size:1.15rem;font-weight:400;color:var(--blanco);letter-spacing:.2em}
  .marca .isotipo{width:38px}
  .marca .nombre{font-size:.92rem;letter-spacing:.18em}
  .destinos{grid-template-columns:1fr 1fr;gap:12px}
  .destino{aspect-ratio:4/5}
  .pie-destino{padding:16px}
  .cap-movil{margin-left:0}
  .cap-item .detalle{padding-left:0}
}
@media (max-width:520px){
  .destinos{grid-template-columns:1fr}
  .destino{aspect-ratio:16/11}
  .solido-grid .b,.solido-grid .c{grid-column:1 / span 12;aspect-ratio:16/10}
  .pie-grid{flex-direction:column;align-items:flex-start;gap:22px}
  .pie-legal{flex-direction:column;gap:8px}
  .cap-boton .fila{gap:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rev{opacity:1;transform:none}
  .hero h1 .linea i{transform:none}
  .hero-pie,.bajar{opacity:1}
  .regla-oro{transform:scaleX(1)}
  .marco:hover img{transform:none}
}

/* ═════════════════════════════════════════════════════
   PÁGINAS INTERIORES
   ═════════════════════════════════════════════════════ */

/* ── Hero interior ── */
.hero-int{
  position:relative;background:var(--verde);color:var(--blanco);overflow:hidden;
  min-height:clamp(400px,60vh,600px);display:flex;align-items:flex-end;
  padding:150px 0 clamp(48px,6vw,76px);
}
.hero-int .hero-fondo img{opacity:.3}
.hero-int .hero-fondo::after{
  background:linear-gradient(180deg,rgba(6,35,29,.7) 0%,rgba(13,66,56,.6) 40%,rgba(6,35,29,.94) 100%);
}
.hero-int .envoltura{position:relative;z-index:3;width:100%}
.hero-int h1{
  font-size:clamp(2rem,5vw,4rem);line-height:1.1;max-width:19ch;
  color:var(--blanco);margin-top:18px;
}
.hero-int h1 .h1-sub{
  display:block;font-family:var(--texto);font-weight:300;
  font-size:clamp(.98rem,1.3vw,1.15rem);line-height:1.65;letter-spacing:.01em;
  color:rgba(255,255,255,.78);max-width:52ch;margin-top:24px;
}
.hero-int .marca-agua{
  position:absolute;right:-5%;bottom:-14%;width:min(40%,430px);opacity:.07;z-index:1;pointer-events:none;
}

/* ── Migas de pan ── */
.miga{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.miga a{color:rgba(255,255,255,.6);transition:color .3s ease}
.miga a:hover{color:var(--oro)}
.miga span[aria-current]{color:var(--oro)}
.miga .sep{color:rgba(255,255,255,.3)}

/* ── Bloque de texto y media ── */
.doble{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(34px,5.5vw,80px);align-items:center}
.doble.invertido .media{order:-1}
.doble .media{aspect-ratio:4/5}
.doble .texto-bloque p + p{margin-top:20px}
.doble .texto-bloque p{color:var(--tinta-suave)}
.oscuro .doble .texto-bloque p{color:rgba(255,255,255,.78)}

.prosa{max-width:64ch}
.prosa p + p{margin-top:22px}
.prosa p{color:var(--tinta-suave)}
.oscuro .prosa p{color:rgba(255,255,255,.78)}
.prosa .destacado{
  font-family:var(--display);font-size:clamp(1.25rem,2.1vw,1.7rem);
  line-height:1.4;color:var(--verde);max-width:26ch;
}
.oscuro .prosa .destacado{color:var(--oro)}

/* ── El nombre / runa ── */
.runa-bloque{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.runa-glifo{
  font-family:var(--display);font-size:clamp(7rem,17vw,15rem);line-height:.8;
  color:var(--oro);opacity:.9;text-align:center;
}
.runa-glifo small{
  display:block;font-family:var(--texto);font-size:.085em;font-weight:500;
  letter-spacing:.42em;color:rgba(255,255,255,.5);margin-top:26px;padding-left:.42em;
}

/* ── Valores ── */
.valores{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0;margin-top:clamp(44px,6vw,68px);border-top:1px solid rgba(13,66,56,.15)}
.valor{padding:34px clamp(22px,3vw,40px) 34px 0;border-bottom:1px solid rgba(13,66,56,.12);border-right:1px solid rgba(13,66,56,.12)}
.valor .num{font-family:var(--display);font-size:.82rem;color:var(--oro);display:block;margin-bottom:14px}
.valor h3{font-size:clamp(1.12rem,1.6vw,1.35rem);color:var(--verde);margin-bottom:12px}
.valor p{font-size:.94rem;color:var(--tinta-suave);max-width:34ch}
.oscuro .valores{border-top-color:rgba(225,198,85,.22)}
.oscuro .valor{border-bottom-color:rgba(225,198,85,.16);border-right-color:rgba(225,198,85,.16)}
.oscuro .valor h3{color:var(--blanco)}
.oscuro .valor p{color:rgba(255,255,255,.68)}

/* ── Pilares misión / visión ── */
.pilares{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:clamp(44px,6vw,68px)}
.pilar{padding:clamp(32px,4vw,52px) clamp(28px,4vw,56px) clamp(32px,4vw,52px) 0}
.pilar:first-child{border-right:1px solid rgba(225,198,85,.22)}
.pilar:last-child{padding-left:clamp(28px,4vw,56px);padding-right:0}
.pilar .marca-pilar{width:34px;height:auto;margin-bottom:22px;opacity:.9}
.pilar h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:18px}
.pilar p{font-size:1rem}

/* ── Enlaces al final de página ── */
.siguientes{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.siguiente{
  padding:clamp(34px,4.5vw,56px) clamp(24px,3vw,44px) clamp(34px,4.5vw,56px) 0;
  display:block;position:relative;transition:background .5s ease,padding-left .5s var(--curva);
}
.siguiente:first-child{border-right:1px solid rgba(255,255,255,.14)}
.siguiente:last-child{padding-left:clamp(24px,3vw,44px);padding-right:0}
.siguiente:hover{background:rgba(255,255,255,.04);padding-left:18px}
.siguiente .rotulo{margin-bottom:14px}
.siguiente h2{font-family:var(--display);font-size:clamp(1.4rem,2.4vw,2rem);color:var(--blanco)}
.siguiente .flecha{display:inline-block;margin-top:18px;color:var(--oro);font-size:1.1rem;transition:transform .5s var(--curva)}
.siguiente:hover .flecha{transform:translateX(10px)}

@media (max-width:860px){
  .doble{grid-template-columns:1fr;gap:30px}
  .doble.invertido .media{order:0}
  .doble .media{aspect-ratio:16/10}
  .runa-bloque{grid-template-columns:1fr;gap:28px;text-align:center}
  .runa-bloque .prosa{max-width:none;text-align:left}
  .pilares,.siguientes{grid-template-columns:1fr}
  .pilar,.pilar:last-child{padding:32px 0;border-right:0;border-bottom:1px solid rgba(225,198,85,.22)}
  .pilar:last-child{border-bottom:0}
  .siguiente,.siguiente:last-child{padding:32px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .siguiente:last-child{border-bottom:0}
  .valor{padding-right:22px}
}
@media (max-width:520px){
  .valor{border-right:0;padding-right:0}
  .hero-int{min-height:0;padding-top:130px}
}

/* ═════════════════════════════════════════════════════
   PÁGINA DE EQUIPO
   ═════════════════════════════════════════════════════ */

.perfiles{display:grid;gap:clamp(60px,9vw,130px);margin-top:clamp(52px,7vw,90px)}
.perfil{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(30px,5vw,78px);align-items:center}
.perfil:nth-child(even) .retrato{order:2}

.retrato{position:relative;aspect-ratio:4/5;overflow:hidden}
.retrato .num{
  position:absolute;z-index:3;top:18px;left:18px;
  font-family:var(--display);font-size:.85rem;letter-spacing:.14em;
  color:var(--oro);background:rgba(6,35,29,.55);backdrop-filter:blur(4px);
  padding:7px 12px;
}

.perfil .ficha .cargo{
  font-size:.76rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--verde-medio);display:flex;align-items:center;gap:12px;margin-bottom:16px;
}
.perfil .ficha .cargo::before{content:"";width:26px;height:1px;background:var(--oro);flex:none}
.perfil .ficha h3{font-size:clamp(1.7rem,3.4vw,2.7rem);color:var(--verde);line-height:1.1}
.perfil .ficha .bio{margin-top:22px}
.perfil .ficha .bio p{color:var(--tinta-suave);font-size:1rem}
.perfil .ficha .bio p + p{margin-top:16px}

.responsabilidades{list-style:none;margin-top:28px;border-top:1px solid rgba(13,66,56,.14)}
.responsabilidades li{
  padding:13px 0;border-bottom:1px solid rgba(13,66,56,.1);
  font-size:.92rem;color:var(--tinta-suave);display:flex;gap:13px;align-items:flex-start;
}
.responsabilidades li::before{content:"—";color:var(--oro);flex:none}

.contacto-perfil{display:flex;flex-wrap:wrap;gap:22px;margin-top:26px}
.contacto-perfil a{
  font-size:.79rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:var(--verde);padding-bottom:5px;border-bottom:1px solid rgba(13,66,56,.22);
  transition:border-color .4s ease,color .4s ease;
}
.contacto-perfil a:hover{border-color:var(--oro)}

/* Nota de trabajo en equipo */
.equipo-nota{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:34px;margin-top:clamp(44px,6vw,68px);padding-top:32px;border-top:1px solid rgba(225,198,85,.28)}
.equipo-nota h3{font-size:1.08rem;color:var(--oro);margin-bottom:10px}
.equipo-nota p{font-size:.95rem;color:rgba(255,255,255,.7);max-width:34ch}

@media (max-width:860px){
  .perfil{grid-template-columns:1fr;gap:26px}
  .perfil:nth-child(even) .retrato{order:0}
  .retrato{aspect-ratio:4/3}
  .perfiles{gap:clamp(52px,10vw,80px)}
}

/* ═════════════════════════════════════════════════════
   PÁGINA DE PROYECTOS
   ═════════════════════════════════════════════════════ */

/* ── Proyecto destacado ── */
.proyecto-cabecera{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(32px,5vw,76px);align-items:end}
.proyecto-cabecera .datos .etiqueta{
  display:inline-flex;align-items:center;gap:9px;font-size:.72rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--verde-medio);
  border:1px solid rgba(13,66,56,.22);padding:7px 15px;margin-bottom:22px;
}
.proyecto-cabecera .datos .etiqueta::before{content:"";width:6px;height:6px;background:var(--oro);flex:none}
.proyecto-cabecera h2{font-size:clamp(2.1rem,4.6vw,3.8rem);color:var(--verde);line-height:1.06}
.proyecto-cabecera .ubicacion{
  font-size:.84rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tinta-suave);margin-top:16px;
}
.proyecto-cabecera .resumen p{color:var(--tinta-suave)}
.proyecto-cabecera .resumen p + p{margin-top:18px}

.lamina-principal{margin-top:clamp(38px,5vw,60px);aspect-ratio:16/9;position:relative}
.lamina-principal .marco{position:absolute;inset:0}

/* Botón sólido para enlace externo */
.boton-solido{
  display:inline-flex;align-items:center;gap:13px;margin-top:32px;
  background:var(--verde);color:var(--blanco);
  padding:17px 34px;font-size:.8rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  position:relative;overflow:hidden;transition:color .45s ease;
}
.boton-solido span{position:relative;z-index:2;display:inline-flex;align-items:center;gap:13px}
.boton-solido svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}
.boton-solido::before{content:"";position:absolute;inset:0;background:var(--oro);transform:translateY(101%);transition:transform .5s var(--curva)}
.boton-solido:hover{color:var(--verde-prof)}
.boton-solido:hover::before{transform:translateY(0)}

/* ── Ficha técnica ── */
.ficha-tecnica{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:0;margin-top:clamp(46px,6vw,72px);border-top:1px solid rgba(225,198,85,.28)}
.dato{padding:30px 26px 30px 0;border-right:1px solid rgba(255,255,255,.12)}
.dato:last-child{border-right:0}
.dato dt{font-size:.72rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:var(--oro);margin-bottom:12px}
.dato dd{font-family:var(--display);font-size:clamp(1.15rem,2vw,1.55rem);color:var(--blanco);line-height:1.25}

/* ── Galería mosaico ── */
.galeria{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.4vw,18px);margin-top:clamp(44px,6vw,66px)}
.pieza{position:relative;overflow:hidden;cursor:zoom-in;border:0;padding:0;background:none;display:block;width:100%}
.pieza img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--curva)}
.pieza::after{
  content:"";position:absolute;inset:0;background:rgba(6,35,29,.28);
  opacity:0;transition:opacity .5s ease;
}
.pieza:hover::after{opacity:1}
.pieza:hover img{transform:scale(1.05)}
.pieza .lupa{
  position:absolute;z-index:3;right:14px;bottom:14px;width:34px;height:34px;
  border:1px solid rgba(255,255,255,.6);color:var(--blanco);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s var(--curva);
}
.pieza:hover .lupa{opacity:1;transform:none}
.pieza.g1{grid-column:span 7;aspect-ratio:4/3}
.pieza.g2{grid-column:span 5;aspect-ratio:4/3}
.pieza.g3,.pieza.g4,.pieza.g5{grid-column:span 4;aspect-ratio:1/1}
.pieza.g6{grid-column:span 12;aspect-ratio:21/9}

/* ── Visor ampliado ── */
.visor{
  position:fixed;inset:0;z-index:9998;background:rgba(6,35,29,.96);
  display:flex;align-items:center;justify-content:center;padding:clamp(16px,5vw,64px);
  opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease;
}
.visor.abierto{opacity:1;visibility:visible}
.visor figure{max-width:1200px;width:100%;text-align:center}
.visor img{max-width:100%;max-height:78vh;width:auto;margin:0 auto;object-fit:contain}
.visor figcaption{margin-top:20px;font-size:.85rem;letter-spacing:.06em;color:rgba(255,255,255,.62)}
.visor .cerrar,.visor .nav{
  position:absolute;background:none;border:1px solid rgba(255,255,255,.28);
  color:var(--blanco);cursor:pointer;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
  transition:border-color .35s ease,color .35s ease,background .35s ease;
}
.visor .cerrar:hover,.visor .nav:hover{border-color:var(--oro);color:var(--oro)}
.visor .cerrar{top:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px)}
.visor .anterior{left:clamp(12px,2.5vw,32px);top:50%;transform:translateY(-50%)}
.visor .siguiente{right:clamp(12px,2.5vw,32px);top:50%;transform:translateY(-50%)}
.visor .conteo{
  position:absolute;bottom:clamp(16px,3vw,32px);left:50%;transform:translateX(-50%);
  font-size:.78rem;font-weight:500;letter-spacing:.2em;color:rgba(255,255,255,.5);
}

/* ── Próximos desarrollos ── */
.proximos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:0;margin-top:clamp(44px,6vw,66px);border-top:1px solid rgba(13,66,56,.15)}
.proximo{padding:34px clamp(22px,3vw,40px) 34px 0;border-right:1px solid rgba(13,66,56,.12)}
.proximo:last-child{border-right:0}
.proximo .estado{font-size:.72rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:var(--verde-medio);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.proximo .estado::before{content:"";width:6px;height:6px;background:var(--oro);flex:none}
.proximo h3{font-size:clamp(1.15rem,1.7vw,1.4rem);color:var(--verde);margin-bottom:11px}
.proximo p{font-size:.93rem;color:var(--tinta-suave);max-width:34ch}

@media (max-width:860px){
  .proyecto-cabecera{grid-template-columns:1fr;gap:28px}
  .lamina-principal{aspect-ratio:16/10}
  .pieza.g1,.pieza.g2{grid-column:span 12;aspect-ratio:16/10}
  .pieza.g3,.pieza.g4,.pieza.g5{grid-column:span 6;aspect-ratio:1/1}
  .pieza.g6{aspect-ratio:16/9}
  .dato{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:24px 0}
  .dato:last-child{border-bottom:0}
  .proximo{border-right:0;border-bottom:1px solid rgba(13,66,56,.12);padding:26px 0}
  .proximo:last-child{border-bottom:0}
  .visor .nav{width:42px;height:42px}
}
@media (max-width:520px){
  .pieza.g3,.pieza.g4,.pieza.g5{grid-column:span 12;aspect-ratio:4/3}
}

/* ═════════════════════════════════════════════════════
   PÁGINA DE CONTACTO
   ═════════════════════════════════════════════════════ */

.contacto-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,96px);align-items:start}

/* ── Formulario ── */
.formulario{margin-top:8px}
.campo{margin-bottom:30px;position:relative}
.campo label{
  display:block;font-size:.74rem;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--verde);margin-bottom:11px;
}
.campo label .req{color:var(--oro);margin-left:3px}
.campo input,.campo select,.campo textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid rgba(13,66,56,.26);
  padding:11px 2px;font-family:var(--texto);font-size:1rem;font-weight:300;
  color:var(--tinta);border-radius:0;transition:border-color .4s ease;
}
.campo textarea{resize:vertical;min-height:120px;line-height:1.7}
.campo select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--oro) 50%),linear-gradient(135deg,var(--oro) 50%,transparent 50%);background-position:calc(100% - 13px) 21px,calc(100% - 8px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0;border-bottom-color:var(--oro);border-bottom-width:2px;padding-bottom:10px}
.campo input::placeholder,.campo textarea::placeholder{color:rgba(24,41,36,.32)}
.campo.error input,.campo.error select,.campo.error textarea{border-bottom-color:#b23a2f}
.campo .aviso-campo{display:none;font-size:.82rem;color:#b23a2f;margin-top:8px}
.campo.error .aviso-campo{display:block}

.campo-doble{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,34px)}

.campo-check{display:flex;align-items:flex-start;gap:13px;margin-bottom:30px}
.campo-check input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--verde)}
.campo-check label{
  font-size:.88rem;letter-spacing:0;text-transform:none;font-weight:300;
  color:var(--tinta-suave);margin:0;line-height:1.55;
}
.campo-check a{color:var(--verde);border-bottom:1px solid rgba(13,66,56,.3)}

.enviar{
  display:inline-flex;align-items:center;gap:13px;background:var(--verde);color:var(--blanco);
  border:0;cursor:pointer;padding:18px 46px;font-family:var(--texto);
  font-size:.81rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  position:relative;overflow:hidden;transition:color .45s ease;
}
.enviar span{position:relative;z-index:2}
.enviar::before{content:"";position:absolute;inset:0;background:var(--oro);transform:translateY(101%);transition:transform .5s var(--curva)}
.enviar:hover{color:var(--verde-prof)}
.enviar:hover::before{transform:translateY(0)}
.enviar[disabled]{opacity:.55;cursor:wait}

.respuesta{display:none;margin-top:26px;padding:22px 26px;border-left:2px solid var(--oro);background:var(--nieve)}
.respuesta.visible{display:block}
.respuesta h3{font-size:1.15rem;color:var(--verde);margin-bottom:8px}
.respuesta p{font-size:.93rem;color:var(--tinta-suave)}
.respuesta.fallo{border-left-color:#b23a2f}

/* ── Datos de contacto ── */
.datos-contacto{border-top:1px solid rgba(13,66,56,.15)}
.dato-contacto{padding:26px 0;border-bottom:1px solid rgba(13,66,56,.12)}
.dato-contacto dt{font-size:.72rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:var(--verde-medio);margin-bottom:11px;display:flex;align-items:center;gap:11px}
.dato-contacto dt::before{content:"";width:16px;height:1px;background:var(--oro);flex:none}
.dato-contacto dd{font-family:var(--display);font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--verde);line-height:1.45}
.dato-contacto dd a{transition:color .35s ease;border-bottom:1px solid transparent}
.dato-contacto dd a:hover{border-bottom-color:var(--oro)}
.dato-contacto dd .menor{display:block;font-family:var(--texto);font-size:.9rem;font-weight:300;color:var(--tinta-suave);margin-top:7px}

.boton-whats{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-top:30px;padding:22px 26px;background:var(--verde);color:var(--blanco);
  transition:background .45s ease;
}
.boton-whats:hover{background:var(--verde-medio)}
.boton-whats .rot{font-size:.72rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:var(--oro);display:block;margin-bottom:6px}
.boton-whats .txt{font-family:var(--display);font-size:1.15rem}
.boton-whats .fl{color:var(--oro);font-size:1.3rem;transition:transform .45s var(--curva)}
.boton-whats:hover .fl{transform:translateX(8px)}

.redes{display:flex;flex-wrap:wrap;gap:24px;margin-top:30px}
.redes a{
  font-size:.78rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;
  color:var(--verde);padding-bottom:6px;border-bottom:1px solid rgba(13,66,56,.22);
  transition:border-color .4s ease;
}
.redes a:hover{border-color:var(--oro)}

/* ── Mapa ── */
.mapa{position:relative;height:clamp(320px,46vh,480px);background:var(--verde-osc);overflow:hidden}
.mapa iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(1) contrast(.95)}

@media (max-width:900px){
  .contacto-grid{grid-template-columns:1fr;gap:52px}
}
@media (max-width:520px){
  .campo-doble{grid-template-columns:1fr;gap:0}
  .enviar{width:100%;justify-content:center}
}

/* ═════════════════════════════════════════════════════
   PÁGINAS LEGALES
   ═════════════════════════════════════════════════════ */
.legal{max-width:74ch}
.legal h2{font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--verde);margin:clamp(40px,5vw,58px) 0 18px;padding-top:26px;border-top:1px solid rgba(13,66,56,.14)}
.legal h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.legal h3{font-size:1.1rem;color:var(--verde);margin:28px 0 12px}
.legal p{color:var(--tinta-suave);margin-bottom:16px}
.legal ul{margin:0 0 18px 0;padding-left:0;list-style:none}
.legal li{padding:9px 0 9px 26px;position:relative;color:var(--tinta-suave);font-size:.96rem;border-bottom:1px solid rgba(13,66,56,.08)}
.legal li::before{content:"—";position:absolute;left:0;color:var(--oro)}
.legal .fecha{font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-medio);margin-bottom:34px}
.legal .destacar{border-left:2px solid var(--oro);background:var(--nieve);padding:22px 26px;margin:26px 0}
.legal .destacar p{margin:0;font-size:.94rem}

/* ═════════════════════════════════════════════════════
   BOTÓN FLOTANTE DE WHATSAPP
   ═════════════════════════════════════════════════════ */
.wa-flotante{
  position:fixed;z-index:95;
  right:clamp(16px,2.4vw,30px);bottom:clamp(16px,2.4vw,30px);
  display:inline-flex;align-items:center;gap:0;
  height:58px;padding:0 17px;border-radius:999px;
  background:var(--verde);color:var(--blanco);
  box-shadow:0 8px 26px rgba(6,35,29,.3);
  transition:background .4s ease,color .4s ease,gap .5s var(--curva),padding .5s var(--curva),transform .5s var(--curva);
}
.wa-flotante svg{width:26px;height:26px;flex:none;fill:currentColor}
.wa-flotante .wa-texto{
  max-width:0;overflow:hidden;white-space:nowrap;opacity:0;
  font-size:.79rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  transition:max-width .5s var(--curva),opacity .35s ease;
}
.wa-flotante:hover,.wa-flotante:focus-visible{
  background:var(--oro);color:var(--verde-prof);gap:12px;padding:0 24px 0 19px;
}
.wa-flotante:hover .wa-texto,.wa-flotante:focus-visible .wa-texto{max-width:180px;opacity:1}
.wa-flotante::after{
  content:"";position:absolute;inset:0;border-radius:999px;
  border:1px solid rgba(225,198,85,.45);
  animation:pulso-wa 3.2s ease-out infinite;
}
@keyframes pulso-wa{
  0%{transform:scale(1);opacity:.7}
  70%{transform:scale(1.28);opacity:0}
  100%{transform:scale(1.28);opacity:0}
}
@media (max-width:520px){
  .wa-flotante{height:52px;padding:0 14px}
  .wa-flotante svg{width:24px;height:24px}
  .wa-flotante:hover .wa-texto,.wa-flotante:focus-visible .wa-texto{max-width:0;opacity:0}
  .wa-flotante:hover,.wa-flotante:focus-visible{gap:0;padding:0 14px}
}
@media (prefers-reduced-motion:reduce){
  .wa-flotante::after{animation:none}
}
